github.com/shadialtarsha/go-pcre@v0.0.0-20220904164957-b4f1834ceecc/lib/pcre2_linux_386.go (about)

     1  // Code generated by 'ccgo -o pcre2_linux_386.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 = int32 /* <builtin>:3:26 */
  2551  
  2552  type Tsize_t = uint32 /* <builtin>:9:23 */
  2553  
  2554  type Twchar_t = int32 /* <builtin>:15:24 */
  2555  
  2556  type T__int128_t = struct {
  2557  	Flo int32
  2558  	Fhi int32
  2559  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  2560  type T__uint128_t = struct {
  2561  	Flo uint32
  2562  	Fhi uint32
  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 = uint32  /* 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 = int32   /* types.h:44:25 */
  3610  type T__uint64_t = uint32 /* 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 = int32    /* types.h:63:18 */
  3624  type T__u_quad_t = uint32 /* types.h:64:27 */
  3625  
  3626  // Largest integral types.
  3627  type T__intmax_t = int32   /* types.h:72:18 */
  3628  type T__uintmax_t = uint32 /* 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 = uint32                     /* 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 = uint32                     /* types.h:148:25 */ // Type of file serial numbers.
  3723  type T__ino64_t = uint32                   /* 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 = uint32                   /* types.h:151:27 */ // Type of file link counts.
  3726  type T__off_t = int32                      /* types.h:152:25 */ // Type of file sizes and offsets.
  3727  type T__off64_t = int32                    /* 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 = int32                    /* types.h:156:27 */ // Type of CPU usage counts.
  3731  type T__rlim_t = uint32                    /* types.h:157:26 */ // Type for resource measurement.
  3732  type T__rlim64_t = uint32                  /* 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 = int32                     /* 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 = int32                /* types.h:162:31 */ // Signed count of microseconds.
  3737  type T__suseconds64_t = int32              /* 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 = int32 /* 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 = int32   /* types.h:180:28 */
  3755  type T__blkcnt64_t = int32 /* types.h:181:30 */
  3756  
  3757  // Type to count file system blocks.
  3758  type T__fsblkcnt_t = uint32   /* types.h:184:30 */
  3759  type T__fsblkcnt64_t = uint32 /* types.h:185:32 */
  3760  
  3761  // Type to count file system nodes.
  3762  type T__fsfilcnt_t = uint32   /* types.h:188:30 */
  3763  type T__fsfilcnt64_t = uint32 /* types.h:189:32 */
  3764  
  3765  // Type of miscellaneous file system fields.
  3766  type T__fsword_t = int32 /* types.h:192:28 */
  3767  
  3768  type T__ssize_t = int32 /* 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 = int32 /* types.h:197:33 */
  3772  // Unsigned long type used in system calls.
  3773  type T__syscall_ulong_t = uint32 /* 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 = int32 /* 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_IO_read_ptr    uintptr
  4180  	F_IO_read_end    uintptr
  4181  	F_IO_read_base   uintptr
  4182  	F_IO_write_base  uintptr
  4183  	F_IO_write_ptr   uintptr
  4184  	F_IO_write_end   uintptr
  4185  	F_IO_buf_base    uintptr
  4186  	F_IO_buf_end     uintptr
  4187  	F_IO_save_base   uintptr
  4188  	F_IO_backup_base uintptr
  4189  	F_IO_save_end    uintptr
  4190  	F_markers        uintptr
  4191  	F_chain          uintptr
  4192  	F_fileno         int32
  4193  	F_flags2         int32
  4194  	F_old_offset     T__off_t
  4195  	F_cur_column     uint16
  4196  	F_vtable_offset  int8
  4197  	F_shortbuf       [1]int8
  4198  	F_lock           uintptr
  4199  	F_offset         T__off64_t
  4200  	F_codecvt        uintptr
  4201  	F_wide_data      uintptr
  4202  	F_freeres_list   uintptr
  4203  	F_freeres_buf    uintptr
  4204  	F__pad5          Tsize_t
  4205  	F_mode           int32
  4206  	F_unused2        [40]int8
  4207  } /* __FILE.h:4:1 */
  4208  
  4209  type T__FILE = S_IO_FILE /* __FILE.h:5:25 */
  4210  
  4211  // The opaque type of streams.  This is the definition used elsewhere.
  4212  type TFILE = S_IO_FILE /* FILE.h:7:25 */
  4213  
  4214  // The structure with the cookie function pointers.
  4215  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4216  //    preserve historic C++ mangled names for functions taking
  4217  //    cookie_io_functions_t arguments.  That name should not be used in
  4218  //    new code.
  4219  type S_IO_cookie_io_functions_t = struct {
  4220  	Fread  uintptr
  4221  	Fwrite uintptr
  4222  	Fseek  uintptr
  4223  	Fclose uintptr
  4224  } /* cookie_io_functions_t.h:55:9 */
  4225  
  4226  // The structure with the cookie function pointers.
  4227  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4228  //    preserve historic C++ mangled names for functions taking
  4229  //    cookie_io_functions_t arguments.  That name should not be used in
  4230  //    new code.
  4231  type Tcookie_io_functions_t = S_IO_cookie_io_functions_t /* cookie_io_functions_t.h:61:3 */
  4232  
  4233  type Tva_list = T__gnuc_va_list /* stdio.h:52:24 */
  4234  
  4235  type Toff_t = T__off64_t   /* stdio.h:65:19 */
  4236  type Toff64_t = T__off64_t /* stdio.h:70:19 */
  4237  
  4238  type Tssize_t = T__ssize_t /* stdio.h:77:19 */
  4239  
  4240  // The type of the second argument to `fgetpos' and `fsetpos'.
  4241  type Tfpos_t = T__fpos64_t   /* stdio.h:86:20 */
  4242  type Tfpos64_t = T__fpos64_t /* stdio.h:89:20 */
  4243  
  4244  // If we are compiling with optimizing read this file.  It contains
  4245  //    several optimizing inline functions and macros.
  4246  
  4247  // Macros to control TS 18661-3 glibc features on x86.
  4248  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4249  //    This file is part of the GNU C Library.
  4250  //
  4251  //    The GNU C Library is free software; you can redistribute it and/or
  4252  //    modify it under the terms of the GNU Lesser General Public
  4253  //    License as published by the Free Software Foundation; either
  4254  //    version 2.1 of the License, or (at your option) any later version.
  4255  //
  4256  //    The GNU C Library is distributed in the hope that it will be useful,
  4257  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4258  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4259  //    Lesser General Public License for more details.
  4260  //
  4261  //    You should have received a copy of the GNU Lesser General Public
  4262  //    License along with the GNU C Library; if not, see
  4263  //    <https://www.gnu.org/licenses/>.
  4264  
  4265  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4266  //    Copyright The GNU Toolchain Authors.
  4267  //    This file is part of the GNU C Library.
  4268  //
  4269  //    The GNU C Library is free software; you can redistribute it and/or
  4270  //    modify it under the terms of the GNU Lesser General Public
  4271  //    License as published by the Free Software Foundation; either
  4272  //    version 2.1 of the License, or (at your option) any later version.
  4273  //
  4274  //    The GNU C Library is distributed in the hope that it will be useful,
  4275  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4276  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4277  //    Lesser General Public License for more details.
  4278  //
  4279  //    You should have received a copy of the GNU Lesser General Public
  4280  //    License along with the GNU C Library; if not, see
  4281  //    <https://www.gnu.org/licenses/>.
  4282  
  4283  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  4284  
  4285  // Handle feature test macros at the start of a header.
  4286  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  4287  //    This file is part of the GNU C Library.
  4288  //
  4289  //    The GNU C Library is free software; you can redistribute it and/or
  4290  //    modify it under the terms of the GNU Lesser General Public
  4291  //    License as published by the Free Software Foundation; either
  4292  //    version 2.1 of the License, or (at your option) any later version.
  4293  //
  4294  //    The GNU C Library is distributed in the hope that it will be useful,
  4295  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4296  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4297  //    Lesser General Public License for more details.
  4298  //
  4299  //    You should have received a copy of the GNU Lesser General Public
  4300  //    License along with the GNU C Library; if not, see
  4301  //    <https://www.gnu.org/licenses/>.
  4302  
  4303  // This header is internal to glibc and should not be included outside
  4304  //    of glibc headers.  Headers including it must define
  4305  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  4306  //    cannot have multiple include guards because ISO C feature test
  4307  //    macros depend on the definition of the macro when an affected
  4308  //    header is included, not when the first system header is
  4309  //    included.
  4310  
  4311  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4312  //    This file is part of the GNU C Library.
  4313  //
  4314  //    The GNU C Library is free software; you can redistribute it and/or
  4315  //    modify it under the terms of the GNU Lesser General Public
  4316  //    License as published by the Free Software Foundation; either
  4317  //    version 2.1 of the License, or (at your option) any later version.
  4318  //
  4319  //    The GNU C Library is distributed in the hope that it will be useful,
  4320  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4321  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4322  //    Lesser General Public License for more details.
  4323  //
  4324  //    You should have received a copy of the GNU Lesser General Public
  4325  //    License along with the GNU C Library; if not, see
  4326  //    <https://www.gnu.org/licenses/>.
  4327  
  4328  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4329  //    macro.
  4330  
  4331  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4332  //    macro.  Most but not all symbols enabled by that macro in TS
  4333  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  4334  //    Annex F still require a new feature test macro
  4335  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  4336  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  4337  //    18661-1 are not included in C2X (and thus should depend on
  4338  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  4339  //    enabled).
  4340  //
  4341  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  4342  //    18661-1 not included in C2X.
  4343  //
  4344  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  4345  //    18661-1 that are also included in C2X (with no feature test macro
  4346  //    required in C2X).
  4347  //
  4348  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  4349  //    that are included in C2X but conditional on
  4350  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  4351  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  4352  //    18661-1.)
  4353  
  4354  // ISO/IEC TS 18661-4:2015 defines the
  4355  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4356  //    functions, the symbols from this TS are enabled unconditionally in
  4357  //    C2X.
  4358  
  4359  // ISO/IEC TS 18661-3:2015 defines the
  4360  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4361  
  4362  // Get size_t, wchar_t and NULL from <stddef.h>.
  4363  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4364  //
  4365  // This file is part of GCC.
  4366  //
  4367  // GCC is free software; you can redistribute it and/or modify
  4368  // it under the terms of the GNU General Public License as published by
  4369  // the Free Software Foundation; either version 3, or (at your option)
  4370  // any later version.
  4371  //
  4372  // GCC is distributed in the hope that it will be useful,
  4373  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4374  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4375  // GNU General Public License for more details.
  4376  //
  4377  // Under Section 7 of GPL version 3, you are granted additional
  4378  // permissions described in the GCC Runtime Library Exception, version
  4379  // 3.1, as published by the Free Software Foundation.
  4380  //
  4381  // You should have received a copy of the GNU General Public License and
  4382  // a copy of the GCC Runtime Library Exception along with this program;
  4383  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4384  // <http://www.gnu.org/licenses/>.
  4385  
  4386  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4387  
  4388  // Any one of these symbols __need_* means that GNU libc
  4389  //    wants us just to define one data type.  So don't define
  4390  //    the symbols that indicate this file's entire job has been done.
  4391  
  4392  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4393  //    There's no way to win with the other order!  Sun lossage.
  4394  
  4395  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4396  //    Just ignore it.
  4397  
  4398  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4399  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4400  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4401  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4402  //    If we find that the macros are still defined at this point, we must
  4403  //    invoke them so that the type is defined as expected.
  4404  
  4405  // In case nobody has defined these types, but we aren't running under
  4406  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4407  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4408  //    parts of GCC is compiled by an older compiler, that actually
  4409  //    include gstddef.h, such as collect2.
  4410  
  4411  // Signed type of difference of two pointers.
  4412  
  4413  // Define this type if we are doing the whole job,
  4414  //    or if we want this type in particular.
  4415  
  4416  // If this symbol has done its job, get rid of it.
  4417  
  4418  // Unsigned type of `sizeof' something.
  4419  
  4420  // Define this type if we are doing the whole job,
  4421  //    or if we want this type in particular.
  4422  
  4423  // Wide character type.
  4424  //    Locale-writers should change this as necessary to
  4425  //    be big enough to hold unique values not between 0 and 127,
  4426  //    and not (wchar_t) -1, for each defined multibyte character.
  4427  
  4428  // Define this type if we are doing the whole job,
  4429  //    or if we want this type in particular.
  4430  
  4431  // A null pointer constant.
  4432  
  4433  // Offset of member MEMBER in a struct of type TYPE.
  4434  
  4435  // XPG requires a few symbols from <sys/wait.h> being defined.
  4436  // Definitions of flag bits for `waitpid' et al.
  4437  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4438  //    This file is part of the GNU C Library.
  4439  //
  4440  //    The GNU C Library is free software; you can redistribute it and/or
  4441  //    modify it under the terms of the GNU Lesser General Public
  4442  //    License as published by the Free Software Foundation; either
  4443  //    version 2.1 of the License, or (at your option) any later version.
  4444  //
  4445  //    The GNU C Library is distributed in the hope that it will be useful,
  4446  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4447  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4448  //    Lesser General Public License for more details.
  4449  //
  4450  //    You should have received a copy of the GNU Lesser General Public
  4451  //    License along with the GNU C Library; if not, see
  4452  //    <https://www.gnu.org/licenses/>.
  4453  
  4454  // Bits in the third argument to `waitpid'.
  4455  
  4456  // Bits in the fourth argument to `waitid'.
  4457  
  4458  // Definitions of status bits for `wait' et al.
  4459  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4460  //    This file is part of the GNU C Library.
  4461  //
  4462  //    The GNU C Library is free software; you can redistribute it and/or
  4463  //    modify it under the terms of the GNU Lesser General Public
  4464  //    License as published by the Free Software Foundation; either
  4465  //    version 2.1 of the License, or (at your option) any later version.
  4466  //
  4467  //    The GNU C Library is distributed in the hope that it will be useful,
  4468  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4469  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4470  //    Lesser General Public License for more details.
  4471  //
  4472  //    You should have received a copy of the GNU Lesser General Public
  4473  //    License along with the GNU C Library; if not, see
  4474  //    <https://www.gnu.org/licenses/>.
  4475  
  4476  // Everything extant so far uses these same bits.
  4477  
  4478  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  4479  
  4480  // If WIFSIGNALED(STATUS), the terminating signal.
  4481  
  4482  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  4483  
  4484  // Nonzero if STATUS indicates normal termination.
  4485  
  4486  // Nonzero if STATUS indicates termination by a signal.
  4487  
  4488  // Nonzero if STATUS indicates the child is stopped.
  4489  
  4490  // Nonzero if STATUS indicates the child continued after a stop.  We only
  4491  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  4492  
  4493  // Nonzero if STATUS indicates the child dumped core.
  4494  
  4495  // Macros for constructing status values.
  4496  
  4497  // Define the macros <sys/wait.h> also would define this way.
  4498  
  4499  // _FloatN API tests for enablement.
  4500  // Macros to control TS 18661-3 glibc features on x86.
  4501  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4502  //    This file is part of the GNU C Library.
  4503  //
  4504  //    The GNU C Library is free software; you can redistribute it and/or
  4505  //    modify it under the terms of the GNU Lesser General Public
  4506  //    License as published by the Free Software Foundation; either
  4507  //    version 2.1 of the License, or (at your option) any later version.
  4508  //
  4509  //    The GNU C Library is distributed in the hope that it will be useful,
  4510  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4511  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4512  //    Lesser General Public License for more details.
  4513  //
  4514  //    You should have received a copy of the GNU Lesser General Public
  4515  //    License along with the GNU C Library; if not, see
  4516  //    <https://www.gnu.org/licenses/>.
  4517  
  4518  // Returned by `div'.
  4519  type Tdiv_t = struct {
  4520  	Fquot int32
  4521  	Frem  int32
  4522  } /* stdlib.h:63:5 */
  4523  
  4524  // Returned by `ldiv'.
  4525  type Tldiv_t = struct {
  4526  	Fquot int32
  4527  	Frem  int32
  4528  } /* stdlib.h:71:5 */
  4529  
  4530  // Returned by `lldiv'.
  4531  type Tlldiv_t = struct {
  4532  	Fquot int64
  4533  	Frem  int64
  4534  } /* stdlib.h:81:5 */
  4535  
  4536  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4537  //    This file is part of the GNU C Library.
  4538  //
  4539  //    The GNU C Library is free software; you can redistribute it and/or
  4540  //    modify it under the terms of the GNU Lesser General Public
  4541  //    License as published by the Free Software Foundation; either
  4542  //    version 2.1 of the License, or (at your option) any later version.
  4543  //
  4544  //    The GNU C Library is distributed in the hope that it will be useful,
  4545  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4546  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4547  //    Lesser General Public License for more details.
  4548  //
  4549  //    You should have received a copy of the GNU Lesser General Public
  4550  //    License along with the GNU C Library; if not, see
  4551  //    <https://www.gnu.org/licenses/>.
  4552  
  4553  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4554  
  4555  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4556  //    This file is part of the GNU C Library.
  4557  //
  4558  //    The GNU C Library is free software; you can redistribute it and/or
  4559  //    modify it under the terms of the GNU Lesser General Public
  4560  //    License as published by the Free Software Foundation; either
  4561  //    version 2.1 of the License, or (at your option) any later version.
  4562  //
  4563  //    The GNU C Library is distributed in the hope that it will be useful,
  4564  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4565  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4566  //    Lesser General Public License for more details.
  4567  //
  4568  //    You should have received a copy of the GNU Lesser General Public
  4569  //    License along with the GNU C Library; if not, see
  4570  //    <https://www.gnu.org/licenses/>.
  4571  
  4572  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4573  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4574  //    This file is part of the GNU C Library.
  4575  //
  4576  //    The GNU C Library is free software; you can redistribute it and/or
  4577  //    modify it under the terms of the GNU Lesser General Public
  4578  //    License as published by the Free Software Foundation; either
  4579  //    version 2.1 of the License, or (at your option) any later version.
  4580  //
  4581  //    The GNU C Library is distributed in the hope that it will be useful,
  4582  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4583  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4584  //    Lesser General Public License for more details.
  4585  //
  4586  //    You should have received a copy of the GNU Lesser General Public
  4587  //    License along with the GNU C Library; if not, see
  4588  //    <https://www.gnu.org/licenses/>.
  4589  
  4590  // Never include this file directly; use <sys/types.h> instead.
  4591  
  4592  type Tu_char = T__u_char     /* types.h:33:18 */
  4593  type Tu_short = T__u_short   /* types.h:34:19 */
  4594  type Tu_int = T__u_int       /* types.h:35:17 */
  4595  type Tu_long = T__u_long     /* types.h:36:18 */
  4596  type Tquad_t = T__quad_t     /* types.h:37:18 */
  4597  type Tu_quad_t = T__u_quad_t /* types.h:38:20 */
  4598  type Tfsid_t = T__fsid_t     /* types.h:39:18 */
  4599  type Tloff_t = T__loff_t     /* types.h:42:18 */
  4600  
  4601  type Tino_t = T__ino64_t   /* types.h:49:19 */
  4602  type Tino64_t = T__ino64_t /* types.h:54:19 */
  4603  
  4604  type Tdev_t = T__dev_t /* types.h:59:17 */
  4605  
  4606  type Tgid_t = T__gid_t /* types.h:64:17 */
  4607  
  4608  type Tmode_t = T__mode_t /* types.h:69:18 */
  4609  
  4610  type Tnlink_t = T__nlink_t /* types.h:74:19 */
  4611  
  4612  type Tuid_t = T__uid_t /* types.h:79:17 */
  4613  
  4614  type Tpid_t = T__pid_t /* types.h:97:17 */
  4615  
  4616  type Tid_t = T__id_t /* types.h:103:16 */
  4617  
  4618  type Tdaddr_t = T__daddr_t /* types.h:114:19 */
  4619  type Tcaddr_t = T__caddr_t /* types.h:115:19 */
  4620  
  4621  type Tkey_t = T__key_t /* types.h:121:17 */
  4622  
  4623  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4624  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4625  //    This file is part of the GNU C Library.
  4626  //
  4627  //    The GNU C Library is free software; you can redistribute it and/or
  4628  //    modify it under the terms of the GNU Lesser General Public
  4629  //    License as published by the Free Software Foundation; either
  4630  //    version 2.1 of the License, or (at your option) any later version.
  4631  //
  4632  //    The GNU C Library is distributed in the hope that it will be useful,
  4633  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4634  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4635  //    Lesser General Public License for more details.
  4636  //
  4637  //    You should have received a copy of the GNU Lesser General Public
  4638  //    License along with the GNU C Library; if not, see
  4639  //    <https://www.gnu.org/licenses/>.
  4640  
  4641  // Never include this file directly; use <sys/types.h> instead.
  4642  
  4643  // Returned by `clock'.
  4644  type Tclock_t = T__clock_t /* clock_t.h:7:19 */
  4645  
  4646  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4647  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4648  //    This file is part of the GNU C Library.
  4649  //
  4650  //    The GNU C Library is free software; you can redistribute it and/or
  4651  //    modify it under the terms of the GNU Lesser General Public
  4652  //    License as published by the Free Software Foundation; either
  4653  //    version 2.1 of the License, or (at your option) any later version.
  4654  //
  4655  //    The GNU C Library is distributed in the hope that it will be useful,
  4656  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4657  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4658  //    Lesser General Public License for more details.
  4659  //
  4660  //    You should have received a copy of the GNU Lesser General Public
  4661  //    License along with the GNU C Library; if not, see
  4662  //    <https://www.gnu.org/licenses/>.
  4663  
  4664  // Never include this file directly; use <sys/types.h> instead.
  4665  
  4666  // Clock ID used in clock and timer functions.
  4667  type Tclockid_t = T__clockid_t /* clockid_t.h:7:21 */
  4668  
  4669  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4670  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4671  //    This file is part of the GNU C Library.
  4672  //
  4673  //    The GNU C Library is free software; you can redistribute it and/or
  4674  //    modify it under the terms of the GNU Lesser General Public
  4675  //    License as published by the Free Software Foundation; either
  4676  //    version 2.1 of the License, or (at your option) any later version.
  4677  //
  4678  //    The GNU C Library is distributed in the hope that it will be useful,
  4679  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4680  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4681  //    Lesser General Public License for more details.
  4682  //
  4683  //    You should have received a copy of the GNU Lesser General Public
  4684  //    License along with the GNU C Library; if not, see
  4685  //    <https://www.gnu.org/licenses/>.
  4686  
  4687  // Never include this file directly; use <sys/types.h> instead.
  4688  
  4689  // Returned by `time'.
  4690  type Ttime_t = T__time_t /* time_t.h:10:18 */
  4691  
  4692  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4693  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4694  //    This file is part of the GNU C Library.
  4695  //
  4696  //    The GNU C Library is free software; you can redistribute it and/or
  4697  //    modify it under the terms of the GNU Lesser General Public
  4698  //    License as published by the Free Software Foundation; either
  4699  //    version 2.1 of the License, or (at your option) any later version.
  4700  //
  4701  //    The GNU C Library is distributed in the hope that it will be useful,
  4702  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4703  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4704  //    Lesser General Public License for more details.
  4705  //
  4706  //    You should have received a copy of the GNU Lesser General Public
  4707  //    License along with the GNU C Library; if not, see
  4708  //    <https://www.gnu.org/licenses/>.
  4709  
  4710  // Never include this file directly; use <sys/types.h> instead.
  4711  
  4712  // Timer ID returned by `timer_create'.
  4713  type Ttimer_t = T__timer_t /* timer_t.h:7:19 */
  4714  
  4715  type Tuseconds_t = T__useconds_t   /* types.h:134:22 */
  4716  type Tsuseconds_t = T__suseconds_t /* types.h:138:23 */
  4717  
  4718  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4719  //
  4720  // This file is part of GCC.
  4721  //
  4722  // GCC is free software; you can redistribute it and/or modify
  4723  // it under the terms of the GNU General Public License as published by
  4724  // the Free Software Foundation; either version 3, or (at your option)
  4725  // any later version.
  4726  //
  4727  // GCC is distributed in the hope that it will be useful,
  4728  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4729  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4730  // GNU General Public License for more details.
  4731  //
  4732  // Under Section 7 of GPL version 3, you are granted additional
  4733  // permissions described in the GCC Runtime Library Exception, version
  4734  // 3.1, as published by the Free Software Foundation.
  4735  //
  4736  // You should have received a copy of the GNU General Public License and
  4737  // a copy of the GCC Runtime Library Exception along with this program;
  4738  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4739  // <http://www.gnu.org/licenses/>.
  4740  
  4741  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4742  
  4743  // Any one of these symbols __need_* means that GNU libc
  4744  //    wants us just to define one data type.  So don't define
  4745  //    the symbols that indicate this file's entire job has been done.
  4746  
  4747  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4748  //    There's no way to win with the other order!  Sun lossage.
  4749  
  4750  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4751  //    Just ignore it.
  4752  
  4753  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4754  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4755  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4756  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4757  //    If we find that the macros are still defined at this point, we must
  4758  //    invoke them so that the type is defined as expected.
  4759  
  4760  // In case nobody has defined these types, but we aren't running under
  4761  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4762  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4763  //    parts of GCC is compiled by an older compiler, that actually
  4764  //    include gstddef.h, such as collect2.
  4765  
  4766  // Signed type of difference of two pointers.
  4767  
  4768  // Define this type if we are doing the whole job,
  4769  //    or if we want this type in particular.
  4770  
  4771  // If this symbol has done its job, get rid of it.
  4772  
  4773  // Unsigned type of `sizeof' something.
  4774  
  4775  // Define this type if we are doing the whole job,
  4776  //    or if we want this type in particular.
  4777  
  4778  // Wide character type.
  4779  //    Locale-writers should change this as necessary to
  4780  //    be big enough to hold unique values not between 0 and 127,
  4781  //    and not (wchar_t) -1, for each defined multibyte character.
  4782  
  4783  // Define this type if we are doing the whole job,
  4784  //    or if we want this type in particular.
  4785  
  4786  // A null pointer constant.
  4787  
  4788  // Offset of member MEMBER in a struct of type TYPE.
  4789  
  4790  // Old compatibility names for C types.
  4791  type Tulong = uint32  /* types.h:148:27 */
  4792  type Tushort = uint16 /* types.h:149:28 */
  4793  type Tuint = uint32   /* types.h:150:22 */
  4794  
  4795  // These size-specific names are used by some of the inet code.
  4796  
  4797  // Define intN_t types.
  4798  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4799  //    This file is part of the GNU C Library.
  4800  //
  4801  //    The GNU C Library is free software; you can redistribute it and/or
  4802  //    modify it under the terms of the GNU Lesser General Public
  4803  //    License as published by the Free Software Foundation; either
  4804  //    version 2.1 of the License, or (at your option) any later version.
  4805  //
  4806  //    The GNU C Library is distributed in the hope that it will be useful,
  4807  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4808  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4809  //    Lesser General Public License for more details.
  4810  //
  4811  //    You should have received a copy of the GNU Lesser General Public
  4812  //    License along with the GNU C Library; if not, see
  4813  //    <https://www.gnu.org/licenses/>.
  4814  
  4815  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4816  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4817  //    This file is part of the GNU C Library.
  4818  //
  4819  //    The GNU C Library is free software; you can redistribute it and/or
  4820  //    modify it under the terms of the GNU Lesser General Public
  4821  //    License as published by the Free Software Foundation; either
  4822  //    version 2.1 of the License, or (at your option) any later version.
  4823  //
  4824  //    The GNU C Library is distributed in the hope that it will be useful,
  4825  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4826  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4827  //    Lesser General Public License for more details.
  4828  //
  4829  //    You should have received a copy of the GNU Lesser General Public
  4830  //    License along with the GNU C Library; if not, see
  4831  //    <https://www.gnu.org/licenses/>.
  4832  
  4833  // Never include this file directly; use <sys/types.h> instead.
  4834  
  4835  type Tint8_t = T__int8_t   /* stdint-intn.h:24:18 */
  4836  type Tint16_t = T__int16_t /* stdint-intn.h:25:19 */
  4837  type Tint32_t = T__int32_t /* stdint-intn.h:26:19 */
  4838  type Tint64_t = T__int64_t /* stdint-intn.h:27:19 */
  4839  
  4840  // These were defined by ISO C without the first `_'.
  4841  type Tu_int8_t = T__uint8_t   /* types.h:158:19 */
  4842  type Tu_int16_t = T__uint16_t /* types.h:159:20 */
  4843  type Tu_int32_t = T__uint32_t /* types.h:160:20 */
  4844  type Tu_int64_t = T__uint64_t /* types.h:161:20 */
  4845  
  4846  type Tregister_t = int32 /* types.h:164:13 */
  4847  
  4848  // It also defines `fd_set' and the FD_* macros for `select'.
  4849  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  4850  //    Copyright (C) 1996-2022 Free Software Foundation, Inc.
  4851  //    This file is part of the GNU C Library.
  4852  //
  4853  //    The GNU C Library is free software; you can redistribute it and/or
  4854  //    modify it under the terms of the GNU Lesser General Public
  4855  //    License as published by the Free Software Foundation; either
  4856  //    version 2.1 of the License, or (at your option) any later version.
  4857  //
  4858  //    The GNU C Library is distributed in the hope that it will be useful,
  4859  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4860  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4861  //    Lesser General Public License for more details.
  4862  //
  4863  //    You should have received a copy of the GNU Lesser General Public
  4864  //    License along with the GNU C Library; if not, see
  4865  //    <https://www.gnu.org/licenses/>.
  4866  
  4867  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  4868  
  4869  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4870  //    This file is part of the GNU C Library.
  4871  //
  4872  //    The GNU C Library is free software; you can redistribute it and/or
  4873  //    modify it under the terms of the GNU Lesser General Public
  4874  //    License as published by the Free Software Foundation; either
  4875  //    version 2.1 of the License, or (at your option) any later version.
  4876  //
  4877  //    The GNU C Library is distributed in the hope that it will be useful,
  4878  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4879  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4880  //    Lesser General Public License for more details.
  4881  //
  4882  //    You should have received a copy of the GNU Lesser General Public
  4883  //    License along with the GNU C Library; if not, see
  4884  //    <https://www.gnu.org/licenses/>.
  4885  
  4886  // Get definition of needed basic types.
  4887  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4888  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4889  //    This file is part of the GNU C Library.
  4890  //
  4891  //    The GNU C Library is free software; you can redistribute it and/or
  4892  //    modify it under the terms of the GNU Lesser General Public
  4893  //    License as published by the Free Software Foundation; either
  4894  //    version 2.1 of the License, or (at your option) any later version.
  4895  //
  4896  //    The GNU C Library is distributed in the hope that it will be useful,
  4897  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4898  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4899  //    Lesser General Public License for more details.
  4900  //
  4901  //    You should have received a copy of the GNU Lesser General Public
  4902  //    License along with the GNU C Library; if not, see
  4903  //    <https://www.gnu.org/licenses/>.
  4904  
  4905  // Never include this file directly; use <sys/types.h> instead.
  4906  
  4907  // Get __FD_* definitions.
  4908  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  4909  //    This file is part of the GNU C Library.
  4910  //
  4911  //    The GNU C Library is free software; you can redistribute it and/or
  4912  //    modify it under the terms of the GNU Lesser General Public
  4913  //    License as published by the Free Software Foundation; either
  4914  //    version 2.1 of the License, or (at your option) any later version.
  4915  //
  4916  //    The GNU C Library is distributed in the hope that it will be useful,
  4917  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4918  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4919  //    Lesser General Public License for more details.
  4920  //
  4921  //    You should have received a copy of the GNU Lesser General Public
  4922  //    License along with the GNU C Library; if not, see
  4923  //    <https://www.gnu.org/licenses/>.
  4924  
  4925  // We don't use `memset' because this would require a prototype and
  4926  //    the array isn't too big.
  4927  
  4928  // Get sigset_t.
  4929  
  4930  type T__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */
  4931  
  4932  // A set of signals to be blocked, unblocked, or waited for.
  4933  type Tsigset_t = T__sigset_t /* sigset_t.h:7:20 */
  4934  
  4935  // Get definition of timer specification structures.
  4936  
  4937  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4938  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4939  //    This file is part of the GNU C Library.
  4940  //
  4941  //    The GNU C Library is free software; you can redistribute it and/or
  4942  //    modify it under the terms of the GNU Lesser General Public
  4943  //    License as published by the Free Software Foundation; either
  4944  //    version 2.1 of the License, or (at your option) any later version.
  4945  //
  4946  //    The GNU C Library is distributed in the hope that it will be useful,
  4947  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4948  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4949  //    Lesser General Public License for more details.
  4950  //
  4951  //    You should have received a copy of the GNU Lesser General Public
  4952  //    License along with the GNU C Library; if not, see
  4953  //    <https://www.gnu.org/licenses/>.
  4954  
  4955  // Never include this file directly; use <sys/types.h> instead.
  4956  
  4957  // A time value that is accurate to the nearest
  4958  //    microsecond but also has a range of years.
  4959  type Stimeval = struct {
  4960  	Ftv_sec  T__time_t
  4961  	Ftv_usec T__suseconds_t
  4962  } /* struct_timeval.h:8:1 */
  4963  
  4964  // NB: Include guard matches what <linux/time.h> uses.
  4965  
  4966  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4967  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4968  //    This file is part of the GNU C Library.
  4969  //
  4970  //    The GNU C Library is free software; you can redistribute it and/or
  4971  //    modify it under the terms of the GNU Lesser General Public
  4972  //    License as published by the Free Software Foundation; either
  4973  //    version 2.1 of the License, or (at your option) any later version.
  4974  //
  4975  //    The GNU C Library is distributed in the hope that it will be useful,
  4976  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4977  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4978  //    Lesser General Public License for more details.
  4979  //
  4980  //    You should have received a copy of the GNU Lesser General Public
  4981  //    License along with the GNU C Library; if not, see
  4982  //    <https://www.gnu.org/licenses/>.
  4983  
  4984  // Never include this file directly; use <sys/types.h> instead.
  4985  
  4986  // Endian macros for string.h functions
  4987  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4988  //    This file is part of the GNU C Library.
  4989  //
  4990  //    The GNU C Library is free software; you can redistribute it and/or
  4991  //    modify it under the terms of the GNU Lesser General Public
  4992  //    License as published by the Free Software Foundation; either
  4993  //    version 2.1 of the License, or (at your option) any later version.
  4994  //
  4995  //    The GNU C Library is distributed in the hope that it will be useful,
  4996  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4997  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4998  //    Lesser General Public License for more details.
  4999  //
  5000  //    You should have received a copy of the GNU Lesser General Public
  5001  //    License along with the GNU C Library; if not, see
  5002  //    <http://www.gnu.org/licenses/>.
  5003  
  5004  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5005  //    has nanoseconds instead of microseconds.
  5006  type Stimespec = struct {
  5007  	Ftv_sec  T__time_t
  5008  	Ftv_nsec T__syscall_slong_t
  5009  } /* struct_timespec.h:11:1 */
  5010  
  5011  // The fd_set member is required to be an array of longs.
  5012  type T__fd_mask = int32 /* select.h:49:18 */
  5013  
  5014  // Some versions of <linux/posix_types.h> define this macros.
  5015  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5016  
  5017  // fd_set for select and pselect.
  5018  type Tfd_set = struct{ Ffds_bits [32]T__fd_mask } /* select.h:70:5 */
  5019  
  5020  // Maximum number of file descriptors in `fd_set'.
  5021  
  5022  // Sometimes the fd_set member is assumed to have this type.
  5023  type Tfd_mask = T__fd_mask /* select.h:77:19 */
  5024  
  5025  // Define some inlines helping to catch common problems.
  5026  
  5027  type Tblksize_t = T__blksize_t /* types.h:185:21 */
  5028  
  5029  // Types from the Large File Support interface.
  5030  type Tblkcnt_t = T__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5031  type Tfsblkcnt_t = T__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5032  type Tfsfilcnt_t = T__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5033  
  5034  type Tblkcnt64_t = T__blkcnt64_t     /* types.h:219:22 */ // Type to count number of disk blocks.
  5035  type Tfsblkcnt64_t = T__fsblkcnt64_t /* types.h:220:24 */ // Type to count file system blocks.
  5036  type Tfsfilcnt64_t = T__fsfilcnt64_t /* types.h:221:24 */ // Type to count file system inodes.
  5037  
  5038  // Now add the thread types.
  5039  // Declaration of common pthread types for all architectures.
  5040  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5041  //    This file is part of the GNU C Library.
  5042  //
  5043  //    The GNU C Library is free software; you can redistribute it and/or
  5044  //    modify it under the terms of the GNU Lesser General Public
  5045  //    License as published by the Free Software Foundation; either
  5046  //    version 2.1 of the License, or (at your option) any later version.
  5047  //
  5048  //    The GNU C Library is distributed in the hope that it will be useful,
  5049  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5050  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5051  //    Lesser General Public License for more details.
  5052  //
  5053  //    You should have received a copy of the GNU Lesser General Public
  5054  //    License along with the GNU C Library; if not, see
  5055  //    <https://www.gnu.org/licenses/>.
  5056  
  5057  // For internal mutex and condition variable definitions.
  5058  // Common threading primitives definitions for both POSIX and C11.
  5059  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5060  //    This file is part of the GNU C Library.
  5061  //
  5062  //    The GNU C Library is free software; you can redistribute it and/or
  5063  //    modify it under the terms of the GNU Lesser General Public
  5064  //    License as published by the Free Software Foundation; either
  5065  //    version 2.1 of the License, or (at your option) any later version.
  5066  //
  5067  //    The GNU C Library is distributed in the hope that it will be useful,
  5068  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5069  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5070  //    Lesser General Public License for more details.
  5071  //
  5072  //    You should have received a copy of the GNU Lesser General Public
  5073  //    License along with the GNU C Library; if not, see
  5074  //    <https://www.gnu.org/licenses/>.
  5075  
  5076  // Arch-specific definitions.  Each architecture must define the following
  5077  //    macros to define the expected sizes of pthread data types:
  5078  //
  5079  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5080  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5081  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5082  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5083  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5084  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5085  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5086  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5087  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5088  //
  5089  //    The additional macro defines any constraint for the lock alignment
  5090  //    inside the thread structures:
  5091  //
  5092  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5093  //
  5094  //    Same idea but for the once locking primitive:
  5095  //
  5096  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5097  
  5098  // Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5099  //    This file is part of the GNU C Library.
  5100  //
  5101  //    The GNU C Library is free software; you can redistribute it and/or
  5102  //    modify it under the terms of the GNU Lesser General Public
  5103  //    License as published by the Free Software Foundation; either
  5104  //    version 2.1 of the License, or (at your option) any later version.
  5105  //
  5106  //    The GNU C Library is distributed in the hope that it will be useful,
  5107  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5108  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5109  //    Lesser General Public License for more details.
  5110  //
  5111  //    You should have received a copy of the GNU Lesser General Public
  5112  //    License along with the GNU C Library; if not, see
  5113  //    <https://www.gnu.org/licenses/>.
  5114  
  5115  // Determine the wordsize from the preprocessor defines.
  5116  
  5117  // Both x86-64 and x32 use the 64-bit system call interface.
  5118  
  5119  // Monotonically increasing wide counters (at least 62 bits).
  5120  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5121  //    This file is part of the GNU C Library.
  5122  //
  5123  //    The GNU C Library is free software; you can redistribute it and/or
  5124  //    modify it under the terms of the GNU Lesser General Public
  5125  //    License as published by the Free Software Foundation; either
  5126  //    version 2.1 of the License, or (at your option) any later version.
  5127  //
  5128  //    The GNU C Library is distributed in the hope that it will be useful,
  5129  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5130  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5131  //    Lesser General Public License for more details.
  5132  //
  5133  //    You should have received a copy of the GNU Lesser General Public
  5134  //    License along with the GNU C Library; if not, see
  5135  //    <https://www.gnu.org/licenses/>.
  5136  
  5137  // Counter that is monotonically increasing (by less than 2**31 per
  5138  //    increment), with a single writer, and an arbitrary number of
  5139  //    readers.
  5140  type T__atomic_wide_counter = struct{ F__value64 uint64 } /* atomic_wide_counter.h:33:3 */
  5141  
  5142  // Common definition of pthread_mutex_t.
  5143  
  5144  type S__pthread_internal_list = struct {
  5145  	F__prev uintptr
  5146  	F__next uintptr
  5147  } /* thread-shared-types.h:51:9 */
  5148  
  5149  // Common definition of pthread_mutex_t.
  5150  
  5151  type T__pthread_list_t = S__pthread_internal_list /* thread-shared-types.h:55:3 */
  5152  
  5153  type S__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:57:9 */
  5154  
  5155  type T__pthread_slist_t = S__pthread_internal_slist /* thread-shared-types.h:60:3 */
  5156  
  5157  // Arch-specific mutex definitions.  A generic implementation is provided
  5158  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5159  //    can override it by defining:
  5160  //
  5161  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5162  //       definition).  It should contains at least the internal members
  5163  //       defined in the generic version.
  5164  //
  5165  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5166  //       atomic operations.
  5167  //
  5168  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5169  //       It should initialize the mutex internal flag.
  5170  
  5171  // x86 internal mutex struct definitions.
  5172  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5173  //    This file is part of the GNU C Library.
  5174  //
  5175  //    The GNU C Library is free software; you can redistribute it and/or
  5176  //    modify it under the terms of the GNU Lesser General Public
  5177  //    License as published by the Free Software Foundation; either
  5178  //    version 2.1 of the License, or (at your option) any later version.
  5179  //
  5180  //    The GNU C Library is distributed in the hope that it will be useful,
  5181  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5182  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5183  //    Lesser General Public License for more details.
  5184  //
  5185  //    You should have received a copy of the GNU Lesser General Public
  5186  //    License along with the GNU C Library; if not, see
  5187  //    <http://www.gnu.org/licenses/>.
  5188  
  5189  type S__pthread_mutex_s = struct {
  5190  	F__lock    int32
  5191  	F__count   uint32
  5192  	F__owner   int32
  5193  	F__nusers  uint32
  5194  	F__kind    int32
  5195  	F__spins   int16
  5196  	F__elision int16
  5197  	F__list    T__pthread_list_t
  5198  } /* struct_mutex.h:22:1 */
  5199  
  5200  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5201  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5202  //    by defining:
  5203  //
  5204  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5205  //       It should contain at least the internal members defined in the
  5206  //       generic version.
  5207  //
  5208  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5209  //       It should initialize the rwlock internal type.
  5210  
  5211  // x86 internal rwlock struct definitions.
  5212  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5213  //
  5214  //    This file is part of the GNU C Library.
  5215  //
  5216  //    The GNU C Library is free software; you can redistribute it and/or
  5217  //    modify it under the terms of the GNU Lesser General Public
  5218  //    License as published by the Free Software Foundation; either
  5219  //    version 2.1 of the License, or (at your option) any later version.
  5220  //
  5221  //    The GNU C Library is distributed in the hope that it will be useful,
  5222  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5223  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5224  //    Lesser General Public License for more details.
  5225  //
  5226  //    You should have received a copy of the GNU Lesser General Public
  5227  //    License along with the GNU C Library; if not, see
  5228  //    <http://www.gnu.org/licenses/>.
  5229  
  5230  type S__pthread_rwlock_arch_t = struct {
  5231  	F__readers       uint32
  5232  	F__writers       uint32
  5233  	F__wrphase_futex uint32
  5234  	F__writers_futex uint32
  5235  	F__pad3          uint32
  5236  	F__pad4          uint32
  5237  	F__cur_writer    int32
  5238  	F__shared        int32
  5239  	F__rwelision     int8
  5240  	F__pad1          [7]uint8
  5241  	F__pad2          uint32
  5242  	F__flags         uint32
  5243  } /* struct_rwlock.h:23:1 */
  5244  
  5245  // Common definition of pthread_cond_t.
  5246  
  5247  type S__pthread_cond_s = struct {
  5248  	F__wseq         T__atomic_wide_counter
  5249  	F__g1_start     T__atomic_wide_counter
  5250  	F__g_refs       [2]uint32
  5251  	F__g_size       [2]uint32
  5252  	F__g1_orig_size uint32
  5253  	F__wrefs        uint32
  5254  	F__g_signals    [2]uint32
  5255  } /* thread-shared-types.h:94:1 */
  5256  
  5257  type T__tss_t = uint32  /* thread-shared-types.h:105:22 */
  5258  type T__thrd_t = uint32 /* thread-shared-types.h:106:27 */
  5259  
  5260  type T__once_flag = struct{ F__data int32 } /* thread-shared-types.h:111:3 */
  5261  
  5262  // Thread identifiers.  The structure of the attribute type is not
  5263  //    exposed on purpose.
  5264  type Tpthread_t = uint32 /* pthreadtypes.h:27:27 */
  5265  
  5266  // Data structures for mutex handling.  The structure of the attribute
  5267  //    type is not exposed on purpose.
  5268  type Tpthread_mutexattr_t = struct {
  5269  	F__ccgo_pad1 [0]uint32
  5270  	F__size      [4]int8
  5271  } /* pthreadtypes.h:36:3 */
  5272  
  5273  // Data structure for condition variable handling.  The structure of
  5274  //    the attribute type is not exposed on purpose.
  5275  type Tpthread_condattr_t = struct {
  5276  	F__ccgo_pad1 [0]uint32
  5277  	F__size      [4]int8
  5278  } /* pthreadtypes.h:45:3 */
  5279  
  5280  // Keys for thread-specific data
  5281  type Tpthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5282  
  5283  // Once-only execution
  5284  type Tpthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5285  
  5286  type Spthread_attr_t = struct {
  5287  	F__ccgo_pad1 [0]uint32
  5288  	F__size      [56]int8
  5289  } /* pthreadtypes.h:56:1 */
  5290  
  5291  type Tpthread_attr_t = Spthread_attr_t /* pthreadtypes.h:62:30 */
  5292  
  5293  type Tpthread_mutex_t = struct {
  5294  	F__data      S__pthread_mutex_s
  5295  	F__ccgo_pad1 [8]byte
  5296  } /* 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 {
  5303  	F__data      S__pthread_rwlock_arch_t
  5304  	F__ccgo_pad1 [8]byte
  5305  } /* pthreadtypes.h:91:3 */
  5306  
  5307  type Tpthread_rwlockattr_t = struct {
  5308  	F__ccgo_pad1 [0]uint32
  5309  	F__size      [8]int8
  5310  } /* pthreadtypes.h:97:3 */
  5311  
  5312  // POSIX spinlock data type.
  5313  type Tpthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5314  
  5315  // POSIX barriers data type.  The structure of the type is
  5316  //    deliberately not exposed.
  5317  type Tpthread_barrier_t = struct {
  5318  	F__ccgo_pad1 [0]uint32
  5319  	F__size      [32]int8
  5320  } /* pthreadtypes.h:112:3 */
  5321  
  5322  type Tpthread_barrierattr_t = struct {
  5323  	F__ccgo_pad1 [0]uint32
  5324  	F__size      [4]int8
  5325  } /* pthreadtypes.h:118:3 */
  5326  
  5327  // Reentrant versions of the `random' family of functions.
  5328  //    These functions all use the following data structure to contain
  5329  //    state, rather than global state variables.
  5330  
  5331  type Srandom_data = struct {
  5332  	Ffptr      uintptr
  5333  	Frptr      uintptr
  5334  	Fstate     uintptr
  5335  	Frand_type int32
  5336  	Frand_deg  int32
  5337  	Frand_sep  int32
  5338  	Fend_ptr   uintptr
  5339  } /* stdlib.h:424:1 */
  5340  
  5341  // Data structure for communication with thread safe versions.  This
  5342  //    type is to be regarded as opaque.  It's only exported because users
  5343  //    have to allocate objects of this type.
  5344  type Sdrand48_data = struct {
  5345  	F__x     [3]uint16
  5346  	F__old_x [3]uint16
  5347  	F__c     uint16
  5348  	F__init  uint16
  5349  	F__a     uint64
  5350  } /* stdlib.h:491:1 */
  5351  
  5352  // Shorthand for type of comparison functions.
  5353  type T__compar_fn_t = uintptr /* stdlib.h:816:13 */
  5354  
  5355  type Tcomparison_fn_t = T__compar_fn_t /* stdlib.h:819:23 */
  5356  type T__compar_d_fn_t = uintptr        /* stdlib.h:823:13 */
  5357  
  5358  // Macros to make boolean values more obvious. The #ifndef is to pacify
  5359  // compiler warnings in environments where these macros are defined elsewhere.
  5360  // Unfortunately, there is no way to do the same for the typedef.
  5361  
  5362  type TBOOL = int32 /* pcre2_internal.h:67:13 */
  5363  
  5364  // Valgrind (memcheck) support
  5365  
  5366  // -ftrivial-auto-var-init support supports initializing all local variables
  5367  // to avoid some classes of bug, but this can cause an unacceptable slowdown
  5368  // for large on-stack arrays in hot functions. This macro lets us annotate
  5369  // such arrays.
  5370  
  5371  // Older versions of MSVC lack snprintf(). This define allows for
  5372  // warning/error-free compilation and testing with MSVC compilers back to at least
  5373  // MSVC 10/2010. Except for VC6 (which is missing some fundamentals and fails).
  5374  
  5375  // When compiling a DLL for Windows, the exported symbols have to be declared
  5376  // using some MS magic. I found some useful information on this web page:
  5377  // http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the
  5378  // information there, using __declspec(dllexport) without "extern" we have a
  5379  // definition; with "extern" we have a declaration. The settings here override the
  5380  // setting in pcre2.h (which is included below); it defines only PCRE2_EXP_DECL,
  5381  // which is all that is needed for applications (they just import the symbols). We
  5382  // use:
  5383  //
  5384  //   PCRE2_EXP_DECL    for declarations
  5385  //   PCRE2_EXP_DEFN    for definitions
  5386  //
  5387  // The reason for wrapping this in #ifndef PCRE2_EXP_DECL is so that pcre2test,
  5388  // which is an application, but needs to import this file in order to "peek" at
  5389  // internals, can #include pcre2.h first to get an application's-eye view.
  5390  //
  5391  // In principle, people compiling for non-Windows, non-Unix-like (i.e. uncommon,
  5392  // special-purpose environments) might want to stick other stuff in front of
  5393  // exported symbols. That's why, in the non-Windows case, we set PCRE2_EXP_DEFN
  5394  // only if it is not already set.
  5395  
  5396  // Include the public PCRE2 header and the definitions of UCP character
  5397  // property values. This must follow the setting of PCRE2_EXP_DECL above.
  5398  
  5399  // ************************************************
  5400  //
  5401  //       Perl-Compatible Regular Expressions      *
  5402  //
  5403  
  5404  // This is the public header file for the PCRE library, second API, to be
  5405  // #included by applications that call PCRE2 functions.
  5406  //
  5407  //            Copyright (c) 2016-2021 University of Cambridge
  5408  //
  5409  // -----------------------------------------------------------------------------
  5410  // Redistribution and use in source and binary forms, with or without
  5411  // modification, are permitted provided that the following conditions are met:
  5412  //
  5413  //     * Redistributions of source code must retain the above copyright notice,
  5414  //       this list of conditions and the following disclaimer.
  5415  //
  5416  //     * Redistributions in binary form must reproduce the above copyright
  5417  //       notice, this list of conditions and the following disclaimer in the
  5418  //       documentation and/or other materials provided with the distribution.
  5419  //
  5420  //     * Neither the name of the University of Cambridge nor the names of its
  5421  //       contributors may be used to endorse or promote products derived from
  5422  //       this software without specific prior written permission.
  5423  //
  5424  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  5425  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  5426  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  5427  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  5428  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  5429  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  5430  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  5431  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  5432  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  5433  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  5434  // POSSIBILITY OF SUCH DAMAGE.
  5435  // -----------------------------------------------------------------------------
  5436  
  5437  // The current PCRE version information.
  5438  
  5439  // When an application links to a PCRE DLL in Windows, the symbols that are
  5440  // imported have to be identified as such. When building PCRE2, the appropriate
  5441  // export setting is defined in pcre2_internal.h, which includes this file. So we
  5442  // don't change existing definitions of PCRE2_EXP_DECL.
  5443  
  5444  // By default, we use the standard "extern" declarations.
  5445  
  5446  // When compiling with the MSVC compiler, it is sometimes necessary to include
  5447  // a "calling convention" before exported function names. (This is secondhand
  5448  // information; I know nothing about MSVC myself). For example, something like
  5449  //
  5450  //   void __cdecl function(....)
  5451  //
  5452  // might be needed. In order so make this easy, all the exported functions have
  5453  // PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not
  5454  // set, we ensure here that it has no effect.
  5455  
  5456  // Have to include limits.h, stdlib.h, and inttypes.h to ensure that size_t and
  5457  // uint8_t, UCHAR_MAX, etc are defined. Some systems that do have inttypes.h do
  5458  // not have stdint.h, which is why we use inttypes.h, which according to the C
  5459  // standard is a superset of stdint.h. If inttypes.h is not available the build
  5460  // will break and the relevant values must be provided by some other means.
  5461  
  5462  // Copyright (C) 1992-2021 Free Software Foundation, Inc.
  5463  //
  5464  // This file is part of GCC.
  5465  //
  5466  // GCC is free software; you can redistribute it and/or modify it under
  5467  // the terms of the GNU General Public License as published by the Free
  5468  // Software Foundation; either version 3, or (at your option) any later
  5469  // version.
  5470  //
  5471  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  5472  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
  5473  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  5474  // for more details.
  5475  //
  5476  // Under Section 7 of GPL version 3, you are granted additional
  5477  // permissions described in the GCC Runtime Library Exception, version
  5478  // 3.1, as published by the Free Software Foundation.
  5479  //
  5480  // You should have received a copy of the GNU General Public License and
  5481  // a copy of the GCC Runtime Library Exception along with this program;
  5482  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  5483  // <http://www.gnu.org/licenses/>.
  5484  
  5485  // This administrivia gets added to the beginning of limits.h
  5486  //    if the system has its own version of limits.h.
  5487  
  5488  // We use _GCC_LIMITS_H_ because we want this not to match
  5489  //    any macros that the system's limits.h uses for its own purposes.
  5490  
  5491  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5492  //    Copyright The GNU Toolchain Authors.
  5493  //    This file is part of the GNU C Library.
  5494  //
  5495  //    The GNU C Library is free software; you can redistribute it and/or
  5496  //    modify it under the terms of the GNU Lesser General Public
  5497  //    License as published by the Free Software Foundation; either
  5498  //    version 2.1 of the License, or (at your option) any later version.
  5499  //
  5500  //    The GNU C Library is distributed in the hope that it will be useful,
  5501  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5502  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5503  //    Lesser General Public License for more details.
  5504  //
  5505  //    You should have received a copy of the GNU Lesser General Public
  5506  //    License along with the GNU C Library; if not, see
  5507  //    <https://www.gnu.org/licenses/>.
  5508  
  5509  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  5510  
  5511  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5512  //    This file is part of the GNU C Library.
  5513  //
  5514  //    The GNU C Library is free software; you can redistribute it and/or
  5515  //    modify it under the terms of the GNU Lesser General Public
  5516  //    License as published by the Free Software Foundation; either
  5517  //    version 2.1 of the License, or (at your option) any later version.
  5518  //
  5519  //    The GNU C Library is distributed in the hope that it will be useful,
  5520  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5521  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5522  //    Lesser General Public License for more details.
  5523  //
  5524  //    You should have received a copy of the GNU Lesser General Public
  5525  //    License along with the GNU C Library; if not, see
  5526  //    <https://www.gnu.org/licenses/>.
  5527  
  5528  //	ISO C99: 7.8 Format conversion of integer types	<inttypes.h>
  5529  
  5530  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5531  //    This file is part of the GNU C Library.
  5532  //
  5533  //    The GNU C Library is free software; you can redistribute it and/or
  5534  //    modify it under the terms of the GNU Lesser General Public
  5535  //    License as published by the Free Software Foundation; either
  5536  //    version 2.1 of the License, or (at your option) any later version.
  5537  //
  5538  //    The GNU C Library is distributed in the hope that it will be useful,
  5539  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5540  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5541  //    Lesser General Public License for more details.
  5542  //
  5543  //    You should have received a copy of the GNU Lesser General Public
  5544  //    License along with the GNU C Library; if not, see
  5545  //    <https://www.gnu.org/licenses/>.
  5546  
  5547  // Get the type definitions.
  5548  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5549  //    This file is part of the GNU C Library.
  5550  //
  5551  //    The GNU C Library is free software; you can redistribute it and/or
  5552  //    modify it under the terms of the GNU Lesser General Public
  5553  //    License as published by the Free Software Foundation; either
  5554  //    version 2.1 of the License, or (at your option) any later version.
  5555  //
  5556  //    The GNU C Library is distributed in the hope that it will be useful,
  5557  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5558  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5559  //    Lesser General Public License for more details.
  5560  //
  5561  //    You should have received a copy of the GNU Lesser General Public
  5562  //    License along with the GNU C Library; if not, see
  5563  //    <https://www.gnu.org/licenses/>.
  5564  
  5565  //	ISO C99: 7.18 Integer types <stdint.h>
  5566  
  5567  // Handle feature test macros at the start of a header.
  5568  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5569  //    This file is part of the GNU C Library.
  5570  //
  5571  //    The GNU C Library is free software; you can redistribute it and/or
  5572  //    modify it under the terms of the GNU Lesser General Public
  5573  //    License as published by the Free Software Foundation; either
  5574  //    version 2.1 of the License, or (at your option) any later version.
  5575  //
  5576  //    The GNU C Library is distributed in the hope that it will be useful,
  5577  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5578  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5579  //    Lesser General Public License for more details.
  5580  //
  5581  //    You should have received a copy of the GNU Lesser General Public
  5582  //    License along with the GNU C Library; if not, see
  5583  //    <https://www.gnu.org/licenses/>.
  5584  
  5585  // This header is internal to glibc and should not be included outside
  5586  //    of glibc headers.  Headers including it must define
  5587  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  5588  //    cannot have multiple include guards because ISO C feature test
  5589  //    macros depend on the definition of the macro when an affected
  5590  //    header is included, not when the first system header is
  5591  //    included.
  5592  
  5593  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5594  //    This file is part of the GNU C Library.
  5595  //
  5596  //    The GNU C Library is free software; you can redistribute it and/or
  5597  //    modify it under the terms of the GNU Lesser General Public
  5598  //    License as published by the Free Software Foundation; either
  5599  //    version 2.1 of the License, or (at your option) any later version.
  5600  //
  5601  //    The GNU C Library is distributed in the hope that it will be useful,
  5602  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5603  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5604  //    Lesser General Public License for more details.
  5605  //
  5606  //    You should have received a copy of the GNU Lesser General Public
  5607  //    License along with the GNU C Library; if not, see
  5608  //    <https://www.gnu.org/licenses/>.
  5609  
  5610  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  5611  //    macro.
  5612  
  5613  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  5614  //    macro.  Most but not all symbols enabled by that macro in TS
  5615  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  5616  //    Annex F still require a new feature test macro
  5617  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  5618  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  5619  //    18661-1 are not included in C2X (and thus should depend on
  5620  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  5621  //    enabled).
  5622  //
  5623  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  5624  //    18661-1 not included in C2X.
  5625  //
  5626  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  5627  //    18661-1 that are also included in C2X (with no feature test macro
  5628  //    required in C2X).
  5629  //
  5630  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  5631  //    that are included in C2X but conditional on
  5632  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  5633  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  5634  //    18661-1.)
  5635  
  5636  // ISO/IEC TS 18661-4:2015 defines the
  5637  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  5638  //    functions, the symbols from this TS are enabled unconditionally in
  5639  //    C2X.
  5640  
  5641  // ISO/IEC TS 18661-3:2015 defines the
  5642  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  5643  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5644  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5645  //    This file is part of the GNU C Library.
  5646  //
  5647  //    The GNU C Library is free software; you can redistribute it and/or
  5648  //    modify it under the terms of the GNU Lesser General Public
  5649  //    License as published by the Free Software Foundation; either
  5650  //    version 2.1 of the License, or (at your option) any later version.
  5651  //
  5652  //    The GNU C Library is distributed in the hope that it will be useful,
  5653  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5654  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5655  //    Lesser General Public License for more details.
  5656  //
  5657  //    You should have received a copy of the GNU Lesser General Public
  5658  //    License along with the GNU C Library; if not, see
  5659  //    <https://www.gnu.org/licenses/>.
  5660  
  5661  // Never include this file directly; use <sys/types.h> instead.
  5662  
  5663  // wchar_t type related definitions.
  5664  //    Copyright (C) 2000-2022 Free Software Foundation, Inc.
  5665  //    This file is part of the GNU C Library.
  5666  //
  5667  //    The GNU C Library is free software; you can redistribute it and/or
  5668  //    modify it under the terms of the GNU Lesser General Public
  5669  //    License as published by the Free Software Foundation; either
  5670  //    version 2.1 of the License, or (at your option) any later version.
  5671  //
  5672  //    The GNU C Library is distributed in the hope that it will be useful,
  5673  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5674  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5675  //    Lesser General Public License for more details.
  5676  //
  5677  //    You should have received a copy of the GNU Lesser General Public
  5678  //    License along with the GNU C Library; if not, see
  5679  //    <https://www.gnu.org/licenses/>.
  5680  
  5681  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  5682  //    are not defined, give the right value and type as long as both int
  5683  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  5684  //    ensures that the type is correct; it is necessary to use (L'\0' +
  5685  //    0) rather than just L'\0' so that the type in C++ is the promoted
  5686  //    version of wchar_t rather than the distinct wchar_t type itself.
  5687  //    Because wchar_t in preprocessor #if expressions is treated as
  5688  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  5689  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  5690  //    to define __WCHAR_MAX in the unsigned case.
  5691  
  5692  // Determine the wordsize from the preprocessor defines.
  5693  
  5694  // Both x86-64 and x32 use the 64-bit system call interface.
  5695  
  5696  // Exact integral types.
  5697  
  5698  // Signed.
  5699  // Define intN_t types.
  5700  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5701  //    This file is part of the GNU C Library.
  5702  //
  5703  //    The GNU C Library is free software; you can redistribute it and/or
  5704  //    modify it under the terms of the GNU Lesser General Public
  5705  //    License as published by the Free Software Foundation; either
  5706  //    version 2.1 of the License, or (at your option) any later version.
  5707  //
  5708  //    The GNU C Library is distributed in the hope that it will be useful,
  5709  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5710  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5711  //    Lesser General Public License for more details.
  5712  //
  5713  //    You should have received a copy of the GNU Lesser General Public
  5714  //    License along with the GNU C Library; if not, see
  5715  //    <https://www.gnu.org/licenses/>.
  5716  
  5717  // Unsigned.
  5718  // Define uintN_t types.
  5719  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5720  //    This file is part of the GNU C Library.
  5721  //
  5722  //    The GNU C Library is free software; you can redistribute it and/or
  5723  //    modify it under the terms of the GNU Lesser General Public
  5724  //    License as published by the Free Software Foundation; either
  5725  //    version 2.1 of the License, or (at your option) any later version.
  5726  //
  5727  //    The GNU C Library is distributed in the hope that it will be useful,
  5728  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5729  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5730  //    Lesser General Public License for more details.
  5731  //
  5732  //    You should have received a copy of the GNU Lesser General Public
  5733  //    License along with the GNU C Library; if not, see
  5734  //    <https://www.gnu.org/licenses/>.
  5735  
  5736  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5737  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5738  //    This file is part of the GNU C Library.
  5739  //
  5740  //    The GNU C Library is free software; you can redistribute it and/or
  5741  //    modify it under the terms of the GNU Lesser General Public
  5742  //    License as published by the Free Software Foundation; either
  5743  //    version 2.1 of the License, or (at your option) any later version.
  5744  //
  5745  //    The GNU C Library is distributed in the hope that it will be useful,
  5746  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5747  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5748  //    Lesser General Public License for more details.
  5749  //
  5750  //    You should have received a copy of the GNU Lesser General Public
  5751  //    License along with the GNU C Library; if not, see
  5752  //    <https://www.gnu.org/licenses/>.
  5753  
  5754  // Never include this file directly; use <sys/types.h> instead.
  5755  
  5756  type Tuint8_t = T__uint8_t   /* stdint-uintn.h:24:19 */
  5757  type Tuint16_t = T__uint16_t /* stdint-uintn.h:25:20 */
  5758  type Tuint32_t = T__uint32_t /* stdint-uintn.h:26:20 */
  5759  type Tuint64_t = T__uint64_t /* stdint-uintn.h:27:20 */
  5760  
  5761  // Small types.
  5762  
  5763  // Signed.
  5764  type Tint_least8_t = T__int_least8_t   /* stdint.h:43:24 */
  5765  type Tint_least16_t = T__int_least16_t /* stdint.h:44:25 */
  5766  type Tint_least32_t = T__int_least32_t /* stdint.h:45:25 */
  5767  type Tint_least64_t = T__int_least64_t /* stdint.h:46:25 */
  5768  
  5769  // Unsigned.
  5770  type Tuint_least8_t = T__uint_least8_t   /* stdint.h:49:25 */
  5771  type Tuint_least16_t = T__uint_least16_t /* stdint.h:50:26 */
  5772  type Tuint_least32_t = T__uint_least32_t /* stdint.h:51:26 */
  5773  type Tuint_least64_t = T__uint_least64_t /* stdint.h:52:26 */
  5774  
  5775  // Fast types.
  5776  
  5777  // Signed.
  5778  type Tint_fast8_t = int8   /* stdint.h:58:22 */
  5779  type Tint_fast16_t = int32 /* stdint.h:60:19 */
  5780  type Tint_fast32_t = int32 /* stdint.h:61:19 */
  5781  type Tint_fast64_t = int32 /* stdint.h:62:19 */
  5782  
  5783  // Unsigned.
  5784  type Tuint_fast8_t = uint8   /* stdint.h:71:24 */
  5785  type Tuint_fast16_t = uint32 /* stdint.h:73:27 */
  5786  type Tuint_fast32_t = uint32 /* stdint.h:74:27 */
  5787  type Tuint_fast64_t = uint32 /* stdint.h:75:27 */
  5788  
  5789  // Types for `void *' pointers.
  5790  type Tintptr_t = int32   /* stdint.h:87:19 */
  5791  type Tuintptr_t = uint32 /* stdint.h:90:27 */
  5792  
  5793  // Largest integral types.
  5794  type Tintmax_t = T__intmax_t   /* stdint.h:101:21 */
  5795  type Tuintmax_t = T__uintmax_t /* stdint.h:102:22 */
  5796  
  5797  // Limits of integral types.
  5798  
  5799  // Minimum of signed integral types.
  5800  // Maximum of signed integral types.
  5801  
  5802  // Maximum of unsigned integral types.
  5803  
  5804  // Minimum of signed integral types having a minimum size.
  5805  // Maximum of signed integral types having a minimum size.
  5806  
  5807  // Maximum of unsigned integral types having a minimum size.
  5808  
  5809  // Minimum of fast signed integral types having a minimum size.
  5810  // Maximum of fast signed integral types having a minimum size.
  5811  
  5812  // Maximum of fast unsigned integral types having a minimum size.
  5813  
  5814  // Values to test for integral types holding `void *' pointer.
  5815  
  5816  // Minimum for largest signed integral type.
  5817  // Maximum for largest signed integral type.
  5818  
  5819  // Maximum for largest unsigned integral type.
  5820  
  5821  // Limits of other integer types.
  5822  
  5823  // Limits of `ptrdiff_t' type.
  5824  
  5825  // Limits of `sig_atomic_t'.
  5826  
  5827  // Limit of `size_t' type.
  5828  
  5829  // Limits of `wchar_t'.
  5830  // These constants might also be defined in <wchar.h>.
  5831  
  5832  // Limits of `wint_t'.
  5833  
  5834  // Signed.
  5835  
  5836  // Unsigned.
  5837  
  5838  // Maximal type.
  5839  
  5840  // Get a definition for wchar_t.  But we must not define wchar_t itself.
  5841  type T__gwchar_t = int32 /* inttypes.h:34:24 */
  5842  
  5843  // Macros for printing format specifiers.
  5844  
  5845  // Decimal notation.
  5846  
  5847  // Octal notation.
  5848  
  5849  // Unsigned integers.
  5850  
  5851  // lowercase hexadecimal notation.
  5852  
  5853  // UPPERCASE hexadecimal notation.
  5854  
  5855  // Macros for printing `intmax_t' and `uintmax_t'.
  5856  
  5857  // Macros for printing `intptr_t' and `uintptr_t'.
  5858  
  5859  // Macros for scanning format specifiers.
  5860  
  5861  // Signed decimal notation.
  5862  
  5863  // Signed decimal notation.
  5864  
  5865  // Unsigned decimal notation.
  5866  
  5867  // Octal notation.
  5868  
  5869  // Hexadecimal notation.
  5870  
  5871  // Macros for scanning `intmax_t' and `uintmax_t'.
  5872  
  5873  // Macros for scaning `intptr_t' and `uintptr_t'.
  5874  
  5875  // We have to define the `uintmax_t' type using `ldiv_t'.
  5876  type Timaxdiv_t = struct {
  5877  	Fquot int32
  5878  	Frem  int32
  5879  } /* inttypes.h:275:5 */
  5880  
  5881  // Allow for C++ users compiling this directly.
  5882  
  5883  // The following option bits can be passed to pcre2_compile(), pcre2_match(),
  5884  // or pcre2_dfa_match(). PCRE2_NO_UTF_CHECK affects only the function to which it
  5885  // is passed. Put these bits at the most significant end of the options word so
  5886  // others can be added next to them
  5887  
  5888  // The following option bits can be passed only to pcre2_compile(). However,
  5889  // they may affect compilation, JIT compilation, and/or interpretive execution.
  5890  // The following tags indicate which:
  5891  //
  5892  // C   alters what is compiled by pcre2_compile()
  5893  // J   alters what is compiled by pcre2_jit_compile()
  5894  // M   is inspected during pcre2_match() execution
  5895  // D   is inspected during pcre2_dfa_match() execution
  5896  
  5897  // An additional compile options word is available in the compile context.
  5898  
  5899  // These are for pcre2_jit_compile().
  5900  
  5901  // These are for pcre2_match(), pcre2_dfa_match(), pcre2_jit_match(), and
  5902  // pcre2_substitute(). Some are allowed only for one of the functions, and in
  5903  // these cases it is noted below. Note that PCRE2_ANCHORED, PCRE2_ENDANCHORED and
  5904  // PCRE2_NO_UTF_CHECK can also be passed to these functions (though
  5905  // pcre2_jit_match() ignores the latter since it bypasses all sanity checks).
  5906  
  5907  // Options for pcre2_pattern_convert().
  5908  
  5909  // Newline and \R settings, for use in compile contexts. The newline values
  5910  // must be kept in step with values set in config.h and both sets must all be
  5911  // greater than zero.
  5912  
  5913  // Error codes for pcre2_compile(). Some of these are also used by
  5914  // pcre2_pattern_convert().
  5915  
  5916  // Error 159 is obsolete and should now never occur
  5917  
  5918  // "Expected" matching error codes: no match and partial match.
  5919  
  5920  // Error codes for UTF-8 validity checks
  5921  
  5922  // Error codes for UTF-16 validity checks
  5923  
  5924  // Error codes for UTF-32 validity checks
  5925  
  5926  // Miscellaneous error codes for pcre2[_dfa]_match(), substring extraction
  5927  // functions, context functions, and serializing functions. They are in numerical
  5928  // order. Originally they were in alphabetical order too, but now that PCRE2 is
  5929  // released, the numbers must not be changed.
  5930  
  5931  // Request types for pcre2_pattern_info()
  5932  
  5933  // Request types for pcre2_config().
  5934  
  5935  // Types for code units in patterns and subject strings.
  5936  
  5937  type TPCRE2_UCHAR8 = Tuint8_t   /* pcre2.h:458:18 */
  5938  type TPCRE2_UCHAR16 = Tuint16_t /* pcre2.h:459:18 */
  5939  type TPCRE2_UCHAR32 = Tuint32_t /* pcre2.h:460:18 */
  5940  
  5941  type TPCRE2_SPTR8 = uintptr  /* pcre2.h:462:29 */
  5942  type TPCRE2_SPTR16 = uintptr /* pcre2.h:463:29 */
  5943  type TPCRE2_SPTR32 = uintptr /* pcre2.h:464:29 */
  5944  
  5945  // The PCRE2_SIZE type is used for all string lengths and offsets in PCRE2,
  5946  // including pattern offsets for errors and subject offsets after a match. We
  5947  // define special values to indicate zero-terminated strings and unset offsets in
  5948  // the offset vector (ovector).
  5949  
  5950  // Generic types for opaque structures and JIT callback functions. These
  5951  // declarations are defined in a macro that is expanded for each width later.
  5952  
  5953  // The structures for passing out data via callout functions. We use structures
  5954  // so that new fields can be added on the end in future versions, without changing
  5955  // the API of the function, thereby allowing old clients to work without
  5956  // modification. Define the generic versions in a macro; the width-specific
  5957  // versions are generated from this macro below.
  5958  
  5959  // Flags for the callout_flags field. These are cleared after a callout.
  5960  
  5961  // List the generic forms of all other functions in macros, which will be
  5962  // expanded for each width below. Start with functions that give general
  5963  // information.
  5964  
  5965  // Functions for manipulating contexts.
  5966  
  5967  // Functions concerned with compiling a pattern to PCRE internal code.
  5968  
  5969  // Functions that give information about a compiled pattern.
  5970  
  5971  // Functions for running a match and inspecting the result.
  5972  
  5973  // Convenience functions for handling matched substrings.
  5974  
  5975  // Functions for serializing / deserializing compiled patterns.
  5976  
  5977  // Convenience function for match + substitute.
  5978  
  5979  // Functions for converting pattern source strings.
  5980  
  5981  // Functions for JIT processing
  5982  
  5983  // Other miscellaneous functions.
  5984  
  5985  // Define macros that generate width-specific names from generic versions. The
  5986  // three-level macro scheme is necessary to get the macros expanded when we want
  5987  // them to be. First we get the width from PCRE2_LOCAL_WIDTH, which is used for
  5988  // generating three versions of everything below. After that, PCRE2_SUFFIX will be
  5989  // re-defined to use PCRE2_CODE_UNIT_WIDTH, for use when macros such as
  5990  // pcre2_compile are called by application code.
  5991  
  5992  // Data types
  5993  
  5994  // Data blocks
  5995  
  5996  // Functions: the complete list in alphabetical order
  5997  
  5998  // Keep this old function name for backwards compatibility
  5999  
  6000  // Keep this obsolete function for backwards compatibility: it is now a noop.
  6001  
  6002  // Now generate all three sets of width-specific structures and function
  6003  // prototypes.
  6004  
  6005  type Spcre2_real_general_context_8 = struct{ Fmemctl Tpcre2_memctl } /* pcre2.h:935:1 */
  6006  
  6007  type Tpcre2_general_context_8 = Spcre2_real_general_context_8 /* pcre2.h:935:1 */
  6008  type Spcre2_real_compile_context_8 = struct {
  6009  	Fmemctl             Tpcre2_memctl
  6010  	Fstack_guard        uintptr
  6011  	Fstack_guard_data   uintptr
  6012  	Ftables             uintptr
  6013  	Fmax_pattern_length Tsize_t
  6014  	Fbsr_convention     Tuint16_t
  6015  	Fnewline_convention Tuint16_t
  6016  	Fparens_nest_limit  Tuint32_t
  6017  	Fextra_options      Tuint32_t
  6018  } /* pcre2.h:935:1 */
  6019  
  6020  type Tpcre2_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2.h:935:1 */
  6021  type Spcre2_real_match_context_8 = struct {
  6022  	Fmemctl                  Tpcre2_memctl
  6023  	Fcallout                 uintptr
  6024  	Fcallout_data            uintptr
  6025  	Fsubstitute_callout      uintptr
  6026  	Fsubstitute_callout_data uintptr
  6027  	Foffset_limit            Tsize_t
  6028  	Fheap_limit              Tuint32_t
  6029  	Fmatch_limit             Tuint32_t
  6030  	Fdepth_limit             Tuint32_t
  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  } /* pcre2.h:935:1 */
  6109  
  6110  type Tpcre2_callout_block_8 = Spcre2_callout_block_8 /* pcre2.h:935:1 */
  6111  type Spcre2_callout_enumerate_block_8 = struct {
  6112  	Fversion               Tuint32_t
  6113  	Fpattern_position      Tsize_t
  6114  	Fnext_item_length      Tsize_t
  6115  	Fcallout_number        Tuint32_t
  6116  	Fcallout_string_offset Tsize_t
  6117  	Fcallout_string_length Tsize_t
  6118  	Fcallout_string        TPCRE2_SPTR8
  6119  } /* pcre2.h:935:1 */
  6120  
  6121  type Tpcre2_callout_enumerate_block_8 = Spcre2_callout_enumerate_block_8 /* pcre2.h:935:1 */
  6122  type Spcre2_substitute_callout_block_8 = struct {
  6123  	Fversion        Tuint32_t
  6124  	Finput          TPCRE2_SPTR8
  6125  	Foutput         TPCRE2_SPTR8
  6126  	Foutput_offsets [2]Tsize_t
  6127  	Fovector        uintptr
  6128  	Foveccount      Tuint32_t
  6129  	Fsubscount      Tuint32_t
  6130  } /* pcre2.h:935:1 */
  6131  
  6132  type Tpcre2_substitute_callout_block_8 = Spcre2_substitute_callout_block_8 /* pcre2.h:935:1 */
  6133  type Tpcre2_jit_callback_16 = uintptr                                      /* pcre2.h:939:1 */
  6134  type Spcre2_callout_block_16 = struct {
  6135  	Fversion               Tuint32_t
  6136  	Fcallout_number        Tuint32_t
  6137  	Fcapture_top           Tuint32_t
  6138  	Fcapture_last          Tuint32_t
  6139  	Foffset_vector         uintptr
  6140  	Fmark                  TPCRE2_SPTR16
  6141  	Fsubject               TPCRE2_SPTR16
  6142  	Fsubject_length        Tsize_t
  6143  	Fstart_match           Tsize_t
  6144  	Fcurrent_position      Tsize_t
  6145  	Fpattern_position      Tsize_t
  6146  	Fnext_item_length      Tsize_t
  6147  	Fcallout_string_offset Tsize_t
  6148  	Fcallout_string_length Tsize_t
  6149  	Fcallout_string        TPCRE2_SPTR16
  6150  	Fcallout_flags         Tuint32_t
  6151  } /* pcre2.h:939:1 */
  6152  
  6153  type Tpcre2_callout_block_16 = Spcre2_callout_block_16 /* pcre2.h:939:1 */
  6154  type Spcre2_callout_enumerate_block_16 = struct {
  6155  	Fversion               Tuint32_t
  6156  	Fpattern_position      Tsize_t
  6157  	Fnext_item_length      Tsize_t
  6158  	Fcallout_number        Tuint32_t
  6159  	Fcallout_string_offset Tsize_t
  6160  	Fcallout_string_length Tsize_t
  6161  	Fcallout_string        TPCRE2_SPTR16
  6162  } /* pcre2.h:939:1 */
  6163  
  6164  type Tpcre2_callout_enumerate_block_16 = Spcre2_callout_enumerate_block_16 /* pcre2.h:939:1 */
  6165  type Spcre2_substitute_callout_block_16 = struct {
  6166  	Fversion        Tuint32_t
  6167  	Finput          TPCRE2_SPTR16
  6168  	Foutput         TPCRE2_SPTR16
  6169  	Foutput_offsets [2]Tsize_t
  6170  	Fovector        uintptr
  6171  	Foveccount      Tuint32_t
  6172  	Fsubscount      Tuint32_t
  6173  } /* pcre2.h:939:1 */
  6174  
  6175  type Tpcre2_substitute_callout_block_16 = Spcre2_substitute_callout_block_16 /* pcre2.h:939:1 */
  6176  type Tpcre2_jit_callback_32 = uintptr                                        /* pcre2.h:943:1 */
  6177  type Spcre2_callout_block_32 = struct {
  6178  	Fversion               Tuint32_t
  6179  	Fcallout_number        Tuint32_t
  6180  	Fcapture_top           Tuint32_t
  6181  	Fcapture_last          Tuint32_t
  6182  	Foffset_vector         uintptr
  6183  	Fmark                  TPCRE2_SPTR32
  6184  	Fsubject               TPCRE2_SPTR32
  6185  	Fsubject_length        Tsize_t
  6186  	Fstart_match           Tsize_t
  6187  	Fcurrent_position      Tsize_t
  6188  	Fpattern_position      Tsize_t
  6189  	Fnext_item_length      Tsize_t
  6190  	Fcallout_string_offset Tsize_t
  6191  	Fcallout_string_length Tsize_t
  6192  	Fcallout_string        TPCRE2_SPTR32
  6193  	Fcallout_flags         Tuint32_t
  6194  } /* pcre2.h:943:1 */
  6195  
  6196  type Tpcre2_callout_block_32 = Spcre2_callout_block_32 /* pcre2.h:943:1 */
  6197  type Spcre2_callout_enumerate_block_32 = struct {
  6198  	Fversion               Tuint32_t
  6199  	Fpattern_position      Tsize_t
  6200  	Fnext_item_length      Tsize_t
  6201  	Fcallout_number        Tuint32_t
  6202  	Fcallout_string_offset Tsize_t
  6203  	Fcallout_string_length Tsize_t
  6204  	Fcallout_string        TPCRE2_SPTR32
  6205  } /* pcre2.h:943:1 */
  6206  
  6207  type Tpcre2_callout_enumerate_block_32 = Spcre2_callout_enumerate_block_32 /* pcre2.h:943:1 */
  6208  type Spcre2_substitute_callout_block_32 = struct {
  6209  	Fversion        Tuint32_t
  6210  	Finput          TPCRE2_SPTR32
  6211  	Foutput         TPCRE2_SPTR32
  6212  	Foutput_offsets [2]Tsize_t
  6213  	Fovector        uintptr
  6214  	Foveccount      Tuint32_t
  6215  	Fsubscount      Tuint32_t
  6216  } /* pcre2.h:943:1 */
  6217  
  6218  type Tpcre2_substitute_callout_block_32 = Spcre2_substitute_callout_block_32 /* pcre2.h:943:1 */
  6219  
  6220  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6221  // definitions that follow must also be updated to match. There are also tables
  6222  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6223  // pcre2_dfa_match.c that must be updated.
  6224  
  6225  // This macro defines textual names for all the opcodes. These are used only
  6226  // for debugging, and some of them are only partial names. The macro is referenced
  6227  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6228  // some cases doesn't actually use these names at all).
  6229  
  6230  // This macro defines the length of fixed length operations in the compiled
  6231  // regex. The lengths are used when searching for specific things, and also in the
  6232  // debugging printing of a compiled regex. We use a macro so that it can be
  6233  // defined close to the definitions of the opcodes themselves.
  6234  //
  6235  // As things have been extended, some of these are no longer fixed lenths, but are
  6236  // minima instead. For example, the length of a single-character repeat may vary
  6237  // in UTF-8 mode. The code that uses this table must know about such things.
  6238  
  6239  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6240  
  6241  // ---------- Private structures that are mode-independent. ----------
  6242  
  6243  // Structure to hold data for custom memory management.
  6244  
  6245  type Spcre2_memctl = struct {
  6246  	Fmalloc      uintptr
  6247  	Ffree        uintptr
  6248  	Fmemory_data uintptr
  6249  } /* pcre2.h:935:1 */
  6250  
  6251  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6252  // definitions that follow must also be updated to match. There are also tables
  6253  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6254  // pcre2_dfa_match.c that must be updated.
  6255  
  6256  // This macro defines textual names for all the opcodes. These are used only
  6257  // for debugging, and some of them are only partial names. The macro is referenced
  6258  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6259  // some cases doesn't actually use these names at all).
  6260  
  6261  // This macro defines the length of fixed length operations in the compiled
  6262  // regex. The lengths are used when searching for specific things, and also in the
  6263  // debugging printing of a compiled regex. We use a macro so that it can be
  6264  // defined close to the definitions of the opcodes themselves.
  6265  //
  6266  // As things have been extended, some of these are no longer fixed lenths, but are
  6267  // minima instead. For example, the length of a single-character repeat may vary
  6268  // in UTF-8 mode. The code that uses this table must know about such things.
  6269  
  6270  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6271  
  6272  // ---------- Private structures that are mode-independent. ----------
  6273  
  6274  // Structure to hold data for custom memory management.
  6275  
  6276  type Tpcre2_memctl = Spcre2_memctl /* pcre2_internal.h:1794:3 */
  6277  
  6278  // Structure for building a chain of open capturing subpatterns during
  6279  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6280  // encountered.
  6281  
  6282  type Sopen_capitem = struct {
  6283  	Fnext         uintptr
  6284  	Fnumber       Tuint16_t
  6285  	Fassert_depth Tuint16_t
  6286  } /* pcre2_internal.h:1800:9 */
  6287  
  6288  // Structure for building a chain of open capturing subpatterns during
  6289  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6290  // encountered.
  6291  
  6292  type Topen_capitem = Sopen_capitem /* pcre2_internal.h:1804:3 */
  6293  
  6294  // Layout of the UCP type table that translates property names into types and
  6295  // codes. Each entry used to point directly to a name, but to reduce the number of
  6296  // relocations in shared libraries, it now has an offset into a single string
  6297  // instead.
  6298  
  6299  type Tucp_type_table = struct {
  6300  	Fname_offset Tuint16_t
  6301  	Ftype        Tuint16_t
  6302  	Fvalue       Tuint16_t
  6303  } /* pcre2_internal.h:1815:3 */
  6304  
  6305  // Unicode character database (UCD) record format
  6306  
  6307  type Tucd_record = struct {
  6308  	Fscript            Tuint8_t
  6309  	Fchartype          Tuint8_t
  6310  	Fgbprop            Tuint8_t
  6311  	Fcaseset           Tuint8_t
  6312  	Fother_case        Tint32_t
  6313  	Fscriptx_bidiclass Tuint16_t
  6314  	Fbprops            Tuint16_t
  6315  } /* pcre2_internal.h:1827:3 */
  6316  
  6317  // UCD access macros
  6318  
  6319  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6320  // that form a bitmap representing a list of scripts or boolean properties. These
  6321  // macros test or set a bit in the map by number.
  6322  
  6323  // Header for serialized pcre2 codes.
  6324  
  6325  type Spcre2_serialized_data = struct {
  6326  	Fmagic           Tuint32_t
  6327  	Fversion         Tuint32_t
  6328  	Fconfig          Tuint32_t
  6329  	Fnumber_of_codes Tint32_t
  6330  } /* pcre2_internal.h:1870:9 */
  6331  
  6332  // UCD access macros
  6333  
  6334  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6335  // that form a bitmap representing a list of scripts or boolean properties. These
  6336  // macros test or set a bit in the map by number.
  6337  
  6338  // Header for serialized pcre2 codes.
  6339  
  6340  type Tpcre2_serialized_data = Spcre2_serialized_data /* pcre2_internal.h:1875:3 */
  6341  
  6342  // Mode-dependent macros and hidden and private structures are defined in a
  6343  // separate file so that pcre2test can include them at all supported widths. When
  6344  // compiling the library, PCRE2_CODE_UNIT_WIDTH will be defined, and we can
  6345  // include them at the appropriate width, after setting up suffix macros for the
  6346  // private structures.
  6347  
  6348  // ************************************************
  6349  //
  6350  //      Perl-Compatible Regular Expressions       *
  6351  //
  6352  
  6353  // PCRE is a library of functions to support regular expressions whose syntax
  6354  // and semantics are as close as possible to those of the Perl 5 language.
  6355  //
  6356  //                        Written by Philip Hazel
  6357  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  6358  //           New API code Copyright (c) 2016-2018 University of Cambridge
  6359  //
  6360  // -----------------------------------------------------------------------------
  6361  // Redistribution and use in source and binary forms, with or without
  6362  // modification, are permitted provided that the following conditions are met:
  6363  //
  6364  //     * Redistributions of source code must retain the above copyright notice,
  6365  //       this list of conditions and the following disclaimer.
  6366  //
  6367  //     * Redistributions in binary form must reproduce the above copyright
  6368  //       notice, this list of conditions and the following disclaimer in the
  6369  //       documentation and/or other materials provided with the distribution.
  6370  //
  6371  //     * Neither the name of the University of Cambridge nor the names of its
  6372  //       contributors may be used to endorse or promote products derived from
  6373  //       this software without specific prior written permission.
  6374  //
  6375  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  6376  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6377  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6378  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  6379  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  6380  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  6381  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  6382  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  6383  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  6384  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  6385  // POSSIBILITY OF SUCH DAMAGE.
  6386  // -----------------------------------------------------------------------------
  6387  
  6388  // This module contains mode-dependent macro and structure definitions. The
  6389  // file is #included by pcre2_internal.h if PCRE2_CODE_UNIT_WIDTH is defined.
  6390  // These mode-dependent items are kept in a separate file so that they can also be
  6391  // #included multiple times for different code unit widths by pcre2test in order
  6392  // to have access to the hidden structures at all supported widths.
  6393  //
  6394  // Some of the mode-dependent macros are required at different widths for
  6395  // different parts of the pcre2test code (in particular, the included
  6396  // pcre_printint.c file). We undefine them here so that they can be re-defined for
  6397  // multiple inclusions. Not all of these are used in pcre2test, but it's easier
  6398  // just to undefine them all.
  6399  
  6400  // -------------------------- MACROS -----------------------------
  6401  
  6402  // PCRE keeps offsets in its compiled code as at least 16-bit quantities
  6403  // (always stored in big-endian order in 8-bit mode) by default. These are used,
  6404  // for example, to link from the start of a subpattern to its alternatives and its
  6405  // end. The use of 16 bits per offset limits the size of an 8-bit compiled regex
  6406  // to around 64K, which is big enough for almost everybody. However, I received a
  6407  // request for an even bigger limit. For this reason, and also to make the code
  6408  // easier to maintain, the storing and loading of offsets from the compiled code
  6409  // unit string is now handled by the macros that are defined here.
  6410  //
  6411  // The macros are controlled by the value of LINK_SIZE. This defaults to 2, but
  6412  // values of 3 or 4 are also supported.
  6413  
  6414  // ------------------- 8-bit support  ------------------
  6415  
  6416  // ------------------- 16-bit support  ------------------
  6417  
  6418  // --------------- Other mode-specific macros -----------------
  6419  
  6420  // PCRE uses some other (at least) 16-bit quantities that do not change when
  6421  // the size of offsets changes. There are used for repeat counts and for other
  6422  // things such as capturing parenthesis numbers in back references.
  6423  //
  6424  // Define the number of code units required to hold a 16-bit count/offset, and
  6425  // macros to load and store such a value. For reasons that I do not understand,
  6426  // the expression in the 8-bit GET2 macro is treated by gcc as a signed
  6427  // expression, even when a is declared as unsigned. It seems that any kind of
  6428  // arithmetic results in a signed value. Hence the cast.
  6429  
  6430  // Other macros that are different for 8-bit mode. The MAX_255 macro checks
  6431  // whether its argument, which is assumed to be one code unit, is less than 256.
  6432  // The CHMAX_255 macro does not assume one code unit. The maximum length of a MARK
  6433  // name must fit in one code unit; currently it is set to 255 or 65535. The
  6434  // TABLE_GET macro is used to access elements of tables containing exactly 256
  6435  // items. Its argument is a code unit. When code points can be greater than 255, a
  6436  // check is needed before accessing these tables.
  6437  
  6438  // ----------------- Character-handling macros -----------------
  6439  
  6440  // There is a proposed future special "UTF-21" mode, in which only the lowest
  6441  // 21 bits of a 32-bit character are interpreted as UTF, with the remaining 11
  6442  // high-order bits available to the application for other uses. In preparation for
  6443  // the future implementation of this mode, there are macros that load a data item
  6444  // and, if in this special mode, mask it to 21 bits. These macros all have names
  6445  // starting with UCHAR21. In all other modes, including the normal 32-bit
  6446  // library, the macros all have the same simple definitions. When the new mode is
  6447  // implemented, it is expected that these definitions will be varied appropriately
  6448  // using #ifdef when compiling the library that supports the special mode.
  6449  
  6450  // When UTF encoding is being used, a character is no longer just a single
  6451  // byte in 8-bit mode or a single short in 16-bit mode. The macros for character
  6452  // handling generate simple sequences when used in the basic mode, and more
  6453  // complicated ones for UTF characters. GETCHARLENTEST and other macros are not
  6454  // used when UTF is not supported. To make sure they can never even appear when
  6455  // UTF support is omitted, we don't even define them.
  6456  
  6457  // ------------------- 8-bit support  ------------------
  6458  
  6459  // The largest UTF code point that can be encoded as a single code unit.
  6460  
  6461  // Tests whether the code point needs extra characters to decode.
  6462  
  6463  // Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE.
  6464  // Otherwise it has an undefined behaviour.
  6465  
  6466  // Returns TRUE, if the given value is not the first code unit of a UTF
  6467  // sequence.
  6468  
  6469  // Get the next UTF-8 character, not advancing the pointer. This is called when
  6470  // we know we are in UTF-8 mode.
  6471  
  6472  // Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the
  6473  // pointer.
  6474  
  6475  // Get the next UTF-8 character, advancing the pointer. This is called when we
  6476  // know we are in UTF-8 mode.
  6477  
  6478  // Get the next character, testing for UTF-8 mode, and advancing the pointer.
  6479  // This is called when we don't know if we are in UTF-8 mode.
  6480  
  6481  // Get the next UTF-8 character, not advancing the pointer, incrementing length
  6482  // if there are extra bytes. This is called when we know we are in UTF-8 mode.
  6483  
  6484  // Get the next UTF-8 character, testing for UTF-8 mode, not advancing the
  6485  // pointer, incrementing length if there are extra bytes. This is called when we
  6486  // do not know if we are in UTF-8 mode.
  6487  
  6488  // If the pointer is not at the start of a character, move it back until
  6489  // it is. This is called only in UTF-8 mode - we don't put a test within the macro
  6490  // because almost all calls are already within a block of UTF-8 only code.
  6491  
  6492  // Same as above, just in the other direction.
  6493  
  6494  // Same as above, but it allows a fully customizable form.
  6495  
  6496  // Deposit a character into memory, returning the number of code units.
  6497  
  6498  // ------------------- 16-bit support  ------------------
  6499  
  6500  // Mode-dependent macros that have the same definition in all modes.
  6501  
  6502  // ----------------------- HIDDEN STRUCTURES -----------------------------
  6503  
  6504  // NOTE: All these structures *must* start with a pcre2_memctl structure. The
  6505  // code that uses them is simpler because it assumes this.
  6506  
  6507  // The real general context structure. At present it holds only data for custom
  6508  // memory control.
  6509  
  6510  type Tpcre2_real_general_context_8 = Spcre2_real_general_context_8 /* pcre2_intmodedep.h:561:3 */
  6511  
  6512  // The real compile context structure
  6513  
  6514  type Tpcre2_real_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2_intmodedep.h:575:3 */
  6515  
  6516  // The real match context structure.
  6517  
  6518  type Tpcre2_real_match_context_8 = Spcre2_real_match_context_8 /* pcre2_intmodedep.h:593:3 */
  6519  
  6520  // The real convert context structure.
  6521  
  6522  type Tpcre2_real_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2_intmodedep.h:601:3 */
  6523  
  6524  // The real compiled code structure. The type for the blocksize field is
  6525  // defined specially because it is required in pcre2_serialize_decode() when
  6526  // copying the size from possibly unaligned memory into a variable of the same
  6527  // type. Use a macro rather than a typedef to avoid compiler warnings when this
  6528  // file is included multiple times by pcre2test. LOOKBEHIND_MAX specifies the
  6529  // largest lookbehind that is supported. (OP_REVERSE in a pattern has a 16-bit
  6530  // argument in 8-bit and 16-bit modes, so we need no more than a 16-bit field
  6531  // here.)
  6532  
  6533  type Tpcre2_real_code_8 = Spcre2_real_code_8 /* pcre2_intmodedep.h:642:3 */
  6534  
  6535  // The real match data structure. Define ovector as large as it can ever
  6536  // actually be so that array bound checkers don't grumble. Memory for this
  6537  // structure is obtained by calling pcre2_match_data_create(), which sets the size
  6538  // as the offset of ovector plus a pair of elements for each capturable string, so
  6539  // the size varies from call to call. As the maximum number of capturing
  6540  // subpatterns is 65535 we must allow for 65536 strings to include the overall
  6541  // match. (See also the heapframe structure below.)
  6542  
  6543  type Tpcre2_real_match_data_8 = Spcre2_real_match_data_8 /* pcre2_intmodedep.h:665:3 */
  6544  
  6545  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6546  
  6547  // These structures are not needed for pcre2test.
  6548  
  6549  // Structures for checking for mutual recursion when scanning compiled or
  6550  // parsed code.
  6551  
  6552  type Srecurse_check = struct {
  6553  	Fprev  uintptr
  6554  	Fgroup TPCRE2_SPTR8
  6555  } /* pcre2_intmodedep.h:677:9 */
  6556  
  6557  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6558  
  6559  // These structures are not needed for pcre2test.
  6560  
  6561  // Structures for checking for mutual recursion when scanning compiled or
  6562  // parsed code.
  6563  
  6564  type Trecurse_check = Srecurse_check /* pcre2_intmodedep.h:680:3 */
  6565  
  6566  type Sparsed_recurse_check = struct {
  6567  	Fprev     uintptr
  6568  	Fgroupptr uintptr
  6569  } /* pcre2_intmodedep.h:682:9 */
  6570  
  6571  type Tparsed_recurse_check = Sparsed_recurse_check /* pcre2_intmodedep.h:685:3 */
  6572  
  6573  // Structure for building a cache when filling in recursion offsets.
  6574  
  6575  type Srecurse_cache = struct {
  6576  	Fgroup       TPCRE2_SPTR8
  6577  	Fgroupnumber int32
  6578  } /* pcre2_intmodedep.h:689:9 */
  6579  
  6580  // Structure for building a cache when filling in recursion offsets.
  6581  
  6582  type Trecurse_cache = Srecurse_cache /* pcre2_intmodedep.h:692:3 */
  6583  
  6584  // Structure for maintaining a chain of pointers to the currently incomplete
  6585  // branches, for testing for left recursion while compiling.
  6586  
  6587  type Sbranch_chain_8 = struct {
  6588  	Fouter          uintptr
  6589  	Fcurrent_branch uintptr
  6590  } /* pcre2_intmodedep.h:697:9 */
  6591  
  6592  // Structure for maintaining a chain of pointers to the currently incomplete
  6593  // branches, for testing for left recursion while compiling.
  6594  
  6595  type Tbranch_chain_8 = Sbranch_chain_8 /* pcre2_intmodedep.h:700:3 */
  6596  
  6597  // Structure for building a list of named groups during the first pass of
  6598  // compiling.
  6599  
  6600  type Snamed_group_8 = struct {
  6601  	Fname   TPCRE2_SPTR8
  6602  	Fnumber Tuint32_t
  6603  	Flength Tuint16_t
  6604  	Fisdup  Tuint16_t
  6605  } /* pcre2_intmodedep.h:705:9 */
  6606  
  6607  // Structure for building a list of named groups during the first pass of
  6608  // compiling.
  6609  
  6610  type Tnamed_group_8 = Snamed_group_8 /* pcre2_intmodedep.h:710:3 */
  6611  
  6612  // Structure for passing "static" information around between the functions
  6613  // doing the compiling, so that they are thread-safe.
  6614  
  6615  type Scompile_block_8 = struct {
  6616  	Fcx                    uintptr
  6617  	Flcc                   uintptr
  6618  	Ffcc                   uintptr
  6619  	Fcbits                 uintptr
  6620  	Fctypes                uintptr
  6621  	Fstart_workspace       TPCRE2_SPTR8
  6622  	Fstart_code            TPCRE2_SPTR8
  6623  	Fstart_pattern         TPCRE2_SPTR8
  6624  	Fend_pattern           TPCRE2_SPTR8
  6625  	Fname_table            uintptr
  6626  	Fworkspace_size        Tsize_t
  6627  	Fsmall_ref_offset      [10]Tsize_t
  6628  	Ferroroffset           Tsize_t
  6629  	Fnames_found           Tuint16_t
  6630  	Fname_entry_size       Tuint16_t
  6631  	Fparens_depth          Tuint16_t
  6632  	Fassert_depth          Tuint16_t
  6633  	Fopen_caps             uintptr
  6634  	Fnamed_groups          uintptr
  6635  	Fnamed_group_list_size Tuint32_t
  6636  	Fexternal_options      Tuint32_t
  6637  	Fexternal_flags        Tuint32_t
  6638  	Fbracount              Tuint32_t
  6639  	Flastcapture           Tuint32_t
  6640  	Fparsed_pattern        uintptr
  6641  	Fparsed_pattern_end    uintptr
  6642  	Fgroupinfo             uintptr
  6643  	Ftop_backref           Tuint32_t
  6644  	Fbackref_map           Tuint32_t
  6645  	Fnltype                Tuint32_t
  6646  	Fnllen                 Tuint32_t
  6647  	Fclass_range_start     Tuint32_t
  6648  	Fclass_range_end       Tuint32_t
  6649  	Fnl                    [4]TPCRE2_UCHAR8
  6650  	Freq_varyopt           Tuint32_t
  6651  	Fmax_lookbehind        int32
  6652  	Fhad_accept            TBOOL
  6653  	Fhad_pruneorskip       TBOOL
  6654  	Fhad_recurse           TBOOL
  6655  	Fdupnames              TBOOL
  6656  } /* pcre2_intmodedep.h:715:9 */
  6657  
  6658  // Structure for passing "static" information around between the functions
  6659  // doing the compiling, so that they are thread-safe.
  6660  
  6661  type Tcompile_block_8 = Scompile_block_8 /* pcre2_intmodedep.h:756:3 */
  6662  
  6663  // Structure for keeping the properties of the in-memory stack used
  6664  // by the JIT matcher.
  6665  
  6666  type Tpcre2_real_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2_intmodedep.h:764:3 */
  6667  
  6668  // Structure for items in a linked list that represents an explicit recursive
  6669  // call within the pattern when running pcre2_dfa_match().
  6670  
  6671  type Sdfa_recursion_info = struct {
  6672  	Fprevrec          uintptr
  6673  	Fsubject_position TPCRE2_SPTR8
  6674  	Fgroup_num        Tuint32_t
  6675  } /* pcre2_intmodedep.h:769:9 */
  6676  
  6677  // Structure for items in a linked list that represents an explicit recursive
  6678  // call within the pattern when running pcre2_dfa_match().
  6679  
  6680  type Tdfa_recursion_info = Sdfa_recursion_info /* pcre2_intmodedep.h:773:3 */
  6681  
  6682  // Structure for "stack" frames that are used for remembering backtracking
  6683  // positions during matching. As these are used in a vector, with the ovector item
  6684  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6685  // only way to check this at compile time is to force an error by generating an
  6686  // array with a negative size. By putting this in a typedef (which is never used),
  6687  // we don't generate any code when all is well.
  6688  
  6689  type Sheapframe = struct {
  6690  	Fecode             TPCRE2_SPTR8
  6691  	Ftemp_sptr         [2]TPCRE2_SPTR8
  6692  	Flength            Tsize_t
  6693  	Fback_frame        Tsize_t
  6694  	Ftemp_size         Tsize_t
  6695  	Frdepth            Tuint32_t
  6696  	Fgroup_frame_type  Tuint32_t
  6697  	Ftemp_32           [4]Tuint32_t
  6698  	Freturn_id         Tuint8_t
  6699  	Fop                Tuint8_t
  6700  	Foccu              [6]TPCRE2_UCHAR8
  6701  	Feptr              TPCRE2_SPTR8
  6702  	Fstart_match       TPCRE2_SPTR8
  6703  	Fmark              TPCRE2_SPTR8
  6704  	Fcurrent_recurse   Tuint32_t
  6705  	Fcapture_last      Tuint32_t
  6706  	Flast_group_offset Tsize_t
  6707  	Foffset_top        Tsize_t
  6708  	Fovector           [131072]Tsize_t
  6709  } /* pcre2_intmodedep.h:782:9 */
  6710  
  6711  // Structure for "stack" frames that are used for remembering backtracking
  6712  // positions during matching. As these are used in a vector, with the ovector item
  6713  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6714  // only way to check this at compile time is to force an error by generating an
  6715  // array with a negative size. By putting this in a typedef (which is never used),
  6716  // we don't generate any code when all is well.
  6717  
  6718  type Theapframe = Sheapframe /* pcre2_intmodedep.h:833:3 */
  6719  
  6720  // This typedef is a check that the size of the heapframe structure is a
  6721  // multiple of PCRE2_SIZE. See various comments above.
  6722  
  6723  type Tcheck_heapframe_size = [1]int8 /* pcre2_intmodedep.h:838:14 */
  6724  
  6725  // Structure for computing the alignment of heapframe.
  6726  
  6727  type Sheapframe_align = struct {
  6728  	Funalign     int8
  6729  	F__ccgo_pad1 [3]byte
  6730  	Fframe       Theapframe
  6731  } /* pcre2_intmodedep.h:843:9 */
  6732  
  6733  // Structure for computing the alignment of heapframe.
  6734  
  6735  type Theapframe_align = Sheapframe_align /* pcre2_intmodedep.h:846:3 */
  6736  
  6737  // This define is the minimum alignment required for a heapframe, in bytes.
  6738  
  6739  // Structure for passing "static" information around between the functions
  6740  // doing traditional NFA matching (pcre2_match() and friends).
  6741  
  6742  type Smatch_block_8 = struct {
  6743  	Fmemctl               Tpcre2_memctl
  6744  	Fframe_vector_size    Tsize_t
  6745  	Fmatch_frames         uintptr
  6746  	Fmatch_frames_top     uintptr
  6747  	Fstack_frames         uintptr
  6748  	Fheap_limit           Tsize_t
  6749  	Fmatch_limit          Tuint32_t
  6750  	Fmatch_limit_depth    Tuint32_t
  6751  	Fmatch_call_count     Tuint32_t
  6752  	Fhitend               TBOOL
  6753  	Fhasthen              TBOOL
  6754  	Fallowemptypartial    TBOOL
  6755  	Flcc                  uintptr
  6756  	Ffcc                  uintptr
  6757  	Fctypes               uintptr
  6758  	Fstart_offset         Tsize_t
  6759  	Fend_offset_top       Tsize_t
  6760  	Fpartial              Tuint16_t
  6761  	Fbsr_convention       Tuint16_t
  6762  	Fname_count           Tuint16_t
  6763  	Fname_entry_size      Tuint16_t
  6764  	Fname_table           TPCRE2_SPTR8
  6765  	Fstart_code           TPCRE2_SPTR8
  6766  	Fstart_subject        TPCRE2_SPTR8
  6767  	Fcheck_subject        TPCRE2_SPTR8
  6768  	Fend_subject          TPCRE2_SPTR8
  6769  	Fend_match_ptr        TPCRE2_SPTR8
  6770  	Fstart_used_ptr       TPCRE2_SPTR8
  6771  	Flast_used_ptr        TPCRE2_SPTR8
  6772  	Fmark                 TPCRE2_SPTR8
  6773  	Fnomatch_mark         TPCRE2_SPTR8
  6774  	Fverb_ecode_ptr       TPCRE2_SPTR8
  6775  	Fverb_skip_ptr        TPCRE2_SPTR8
  6776  	Fverb_current_recurse Tuint32_t
  6777  	Fmoptions             Tuint32_t
  6778  	Fpoptions             Tuint32_t
  6779  	Fskip_arg_count       Tuint32_t
  6780  	Fignore_skip_arg      Tuint32_t
  6781  	Fnltype               Tuint32_t
  6782  	Fnllen                Tuint32_t
  6783  	Fnl                   [4]TPCRE2_UCHAR8
  6784  	Fcb                   uintptr
  6785  	Fcallout_data         uintptr
  6786  	Fcallout              uintptr
  6787  } /* pcre2_intmodedep.h:855:9 */
  6788  
  6789  // This define is the minimum alignment required for a heapframe, in bytes.
  6790  
  6791  // Structure for passing "static" information around between the functions
  6792  // doing traditional NFA matching (pcre2_match() and friends).
  6793  
  6794  type Tmatch_block_8 = Smatch_block_8 /* pcre2_intmodedep.h:900:3 */
  6795  
  6796  // A similar structure is used for the same purpose by the DFA matching
  6797  // functions.
  6798  
  6799  type Sdfa_match_block_8 = struct {
  6800  	Fmemctl            Tpcre2_memctl
  6801  	Fstart_code        TPCRE2_SPTR8
  6802  	Fstart_subject     TPCRE2_SPTR8
  6803  	Fend_subject       TPCRE2_SPTR8
  6804  	Fstart_used_ptr    TPCRE2_SPTR8
  6805  	Flast_used_ptr     TPCRE2_SPTR8
  6806  	Ftables            uintptr
  6807  	Fstart_offset      Tsize_t
  6808  	Fheap_limit        Tsize_t
  6809  	Fheap_used         Tsize_t
  6810  	Fmatch_limit       Tuint32_t
  6811  	Fmatch_limit_depth Tuint32_t
  6812  	Fmatch_call_count  Tuint32_t
  6813  	Fmoptions          Tuint32_t
  6814  	Fpoptions          Tuint32_t
  6815  	Fnltype            Tuint32_t
  6816  	Fnllen             Tuint32_t
  6817  	Fallowemptypartial TBOOL
  6818  	Fnl                [4]TPCRE2_UCHAR8
  6819  	Fbsr_convention    Tuint16_t
  6820  	F__ccgo_pad1       [2]byte
  6821  	Fcb                uintptr
  6822  	Fcallout_data      uintptr
  6823  	Fcallout           uintptr
  6824  	Frecursive         uintptr
  6825  } /* pcre2_intmodedep.h:905:9 */
  6826  
  6827  // A similar structure is used for the same purpose by the DFA matching
  6828  // functions.
  6829  
  6830  type Tdfa_match_block_8 = Sdfa_match_block_8 /* pcre2_intmodedep.h:930:3 */
  6831  
  6832  // This function is needed only when memmove() is not available.
  6833  
  6834  // End of pcre2_internal.h
  6835  
  6836  // ************************************************
  6837  //
  6838  //        Tables for auto-possessification        *
  6839  //
  6840  
  6841  // This table is used to check whether auto-possessification is possible
  6842  // between adjacent character-type opcodes. The left-hand (repeated) opcode is
  6843  // used to select the row, and the right-hand opcode is use to select the column.
  6844  // A value of 1 means that auto-possessification is OK. For example, the second
  6845  // value in the first row means that \D+\d can be turned into \D++\d.
  6846  //
  6847  // The Unicode property types (\P and \p) have to be present to fill out the table
  6848  // because of what their opcode values are, but the table values should always be
  6849  // zero because property types are handled separately in the code. The last four
  6850  // columns apply to items that cannot be repeated, so there is no need to have
  6851  // rows for them. Note that OP_DIGIT etc. are generated only when PCRE_UCP is
  6852  // *not* set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  6853  
  6854  var autoposstab = [17][21]Tuint8_t{
  6855  	// \D \d \S \s \W \w  . .+ \C \P \p \R \H \h \V \v \X \Z \z  $ $M
  6856  	{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
  6857  	{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
  6858  	{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
  6859  	{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
  6860  	{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
  6861  	{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
  6862  	{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)}, // .
  6863  	{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)}, // .+
  6864  	{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
  6865  	{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
  6866  	{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
  6867  	{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
  6868  	{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
  6869  	{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
  6870  	{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
  6871  	{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
  6872  	{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
  6873  } /* pcre2_auto_possess.c:73:22 */
  6874  
  6875  // This table is used to check whether auto-possessification is possible
  6876  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP). The
  6877  // left-hand (repeated) opcode is used to select the row, and the right-hand
  6878  // opcode is used to select the column. The values are as follows:
  6879  //
  6880  //   0   Always return FALSE (never auto-possessify)
  6881  //   1   Character groups are distinct (possessify if both are OP_PROP)
  6882  //   2   Check character categories in the same group (general or particular)
  6883  //   3   TRUE if the two opcodes are not the same (PROP vs NOTPROP)
  6884  //
  6885  //   4   Check left general category vs right particular category
  6886  //   5   Check right general category vs left particular category
  6887  //
  6888  //   6   Left alphanum vs right general category
  6889  //   7   Left space vs right general category
  6890  //   8   Left word vs right general category
  6891  //
  6892  //   9   Right alphanum vs left general category
  6893  //  10   Right space vs left general category
  6894  //  11   Right word vs left general category
  6895  //
  6896  //  12   Left alphanum vs right particular category
  6897  //  13   Left space vs right particular category
  6898  //  14   Left word vs right particular category
  6899  //
  6900  //  15   Right alphanum vs left particular category
  6901  //  16   Right space vs left particular category
  6902  //  17   Right word vs left particular category
  6903  
  6904  var propposstab = [14][14]Tuint8_t{
  6905  	// ANY LAMP GC  PC  SC  SCX ALNUM SPACE PXSPACE WORD CLIST UCNC BIDICL BOOL
  6906  	{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
  6907  	{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
  6908  	{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
  6909  	{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
  6910  	{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
  6911  	{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
  6912  	{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
  6913  	{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
  6914  	{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
  6915  	{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
  6916  	{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
  6917  	{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
  6918  	{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
  6919  	{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
  6920  } /* pcre2_auto_possess.c:125:22 */
  6921  
  6922  // This table is used to check whether auto-possessification is possible
  6923  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP) when one
  6924  // specifies a general category and the other specifies a particular category. The
  6925  // row is selected by the general category and the column by the particular
  6926  // category. The value is 1 if the particular category is not part of the general
  6927  // category.
  6928  
  6929  var catposstab = [7][30]Tuint8_t{
  6930  	// 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
  6931  	{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
  6932  	{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
  6933  	{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
  6934  	{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
  6935  	{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
  6936  	{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
  6937  	{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
  6938  } /* pcre2_auto_possess.c:150:22 */
  6939  
  6940  // This table is used when checking ALNUM, (PX)SPACE, SPACE, and WORD against
  6941  // a general or particular category. The properties in each row are those
  6942  // that apply to the character set in question. Duplication means that a little
  6943  // unnecessary work is done when checking, but this keeps things much simpler
  6944  // because they can all use the same code. For more details see the comment where
  6945  // this table is used.
  6946  //
  6947  // Note: SPACE and PXSPACE used to be different because Perl excluded VT from
  6948  // "space", but from Perl 5.18 it's included, so both categories are treated the
  6949  // same here.
  6950  
  6951  var posspropstab = [3][4]Tuint8_t{
  6952  	{ucp_L, ucp_N, ucp_N, ucp_Nl}, // ALNUM, 3rd and 4th values redundant
  6953  	{ucp_Z, ucp_Z, ucp_C, ucp_Cc}, // SPACE and PXSPACE, 2nd value redundant
  6954  	{ucp_L, ucp_N, ucp_P, ucp_Po}, // WORD
  6955  } /* pcre2_auto_possess.c:172:22 */
  6956  
  6957  // ************************************************
  6958  //
  6959  //        Check a character and a property        *
  6960  //
  6961  
  6962  // This function is called by compare_opcodes() when a property item is
  6963  // adjacent to a fixed character.
  6964  //
  6965  // Arguments:
  6966  //   c            the character
  6967  //   ptype        the property type
  6968  //   pdata        the data for the type
  6969  //   negated      TRUE if it's a negated property (\P or \p{^)
  6970  //
  6971  // Returns:       TRUE if auto-possessifying is OK
  6972  
  6973  func check_char_prop(tls *libc.TLS, c Tuint32_t, ptype uint32, pdata uint32, negated TBOOL) TBOOL { /* pcre2_auto_possess.c:199:1: */
  6974  	var ok TBOOL
  6975  	var p uintptr
  6976  	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
  6977  
  6978  	switch ptype {
  6979  	case uint32(DPT_LAMP):
  6980  		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)
  6981  
  6982  	case uint32(DPT_GC):
  6983  		return libc.Bool32(libc.Bool32(pdata == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == negated)
  6984  
  6985  	case uint32(DPT_PC):
  6986  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == negated)
  6987  
  6988  	case uint32(DPT_SC):
  6989  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == negated)
  6990  
  6991  	case uint32(DPT_SCX):
  6992  		ok = libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) ||
  6993  			*(*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))
  6994  		return libc.Bool32(ok == negated)
  6995  
  6996  	// These are specials
  6997  
  6998  	case uint32(DPT_ALNUM):
  6999  		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)
  7000  
  7001  	// Perl space used to exclude VT, but from Perl 5.18 it is included, which
  7002  	//   means that Perl space and POSIX space are now identical. PCRE was changed
  7003  	//   at release 8.34.
  7004  
  7005  	case uint32(DPT_SPACE):
  7006  		fallthrough // Perl space
  7007  	case uint32(DPT_PXSPACE): // POSIX space
  7008  		switch c {
  7009  		case Tuint32_t('\011'):
  7010  			fallthrough
  7011  		case Tuint32_t('\040'):
  7012  			fallthrough
  7013  		case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7014  			fallthrough
  7015  		case Tuint32_t(0x1680):
  7016  			fallthrough /* OGHAM SPACE MARK */
  7017  		case Tuint32_t(0x180e):
  7018  			fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7019  		case Tuint32_t(0x2000):
  7020  			fallthrough /* EN QUAD */
  7021  		case Tuint32_t(0x2001):
  7022  			fallthrough /* EM QUAD */
  7023  		case Tuint32_t(0x2002):
  7024  			fallthrough /* EN SPACE */
  7025  		case Tuint32_t(0x2003):
  7026  			fallthrough /* EM SPACE */
  7027  		case Tuint32_t(0x2004):
  7028  			fallthrough /* THREE-PER-EM SPACE */
  7029  		case Tuint32_t(0x2005):
  7030  			fallthrough /* FOUR-PER-EM SPACE */
  7031  		case Tuint32_t(0x2006):
  7032  			fallthrough /* SIX-PER-EM SPACE */
  7033  		case Tuint32_t(0x2007):
  7034  			fallthrough /* FIGURE SPACE */
  7035  		case Tuint32_t(0x2008):
  7036  			fallthrough /* PUNCTUATION SPACE */
  7037  		case Tuint32_t(0x2009):
  7038  			fallthrough /* THIN SPACE */
  7039  		case Tuint32_t(0x200A):
  7040  			fallthrough /* HAIR SPACE */
  7041  		case Tuint32_t(0x202f):
  7042  			fallthrough /* NARROW NO-BREAK SPACE */
  7043  		case Tuint32_t(0x205f):
  7044  			fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7045  		case Tuint32_t(0x3000):
  7046  			fallthrough
  7047  		case Tuint32_t('\012'):
  7048  			fallthrough
  7049  		case Tuint32_t('\013'):
  7050  			fallthrough
  7051  		case Tuint32_t('\014'):
  7052  			fallthrough
  7053  		case Tuint32_t('\015'):
  7054  			fallthrough
  7055  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  7056  			fallthrough
  7057  		case Tuint32_t(0x2028):
  7058  			fallthrough /* LINE SEPARATOR */
  7059  		case Tuint32_t(0x2029):
  7060  			return negated
  7061  
  7062  		default:
  7063  			return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == negated)
  7064  		}
  7065  		break // Control never reaches here
  7066  
  7067  	case uint32(DPT_WORD):
  7068  		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)
  7069  
  7070  	case uint32(DPT_CLIST):
  7071  		p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(prop)).Fcaseset)*4
  7072  		for {
  7073  			if c < *(*Tuint32_t)(unsafe.Pointer(p)) {
  7074  				return libc.BoolInt32(!(negated != 0))
  7075  			}
  7076  			if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4))) {
  7077  				return negated
  7078  			}
  7079  		}
  7080  		break // Control never reaches here
  7081  
  7082  	// Haven't yet thought these through.
  7083  
  7084  	case uint32(DPT_BIDICL):
  7085  		return DFALSE
  7086  
  7087  	case uint32(DPT_BOOL):
  7088  		return DFALSE
  7089  	}
  7090  
  7091  	return DFALSE
  7092  }
  7093  
  7094  // ************************************************
  7095  //
  7096  //        Base opcode of repeated opcodes         *
  7097  //
  7098  
  7099  // Returns the base opcode for repeated single character type opcodes. If the
  7100  // opcode is not a repeated character type, it returns with the original value.
  7101  //
  7102  // Arguments:  c opcode
  7103  // Returns:    base opcode for the type
  7104  
  7105  func get_repeat_base(tls *libc.TLS, c TPCRE2_UCHAR8) TPCRE2_UCHAR8 { /* pcre2_auto_possess.c:291:1: */
  7106  	if int32(c) > OP_TYPEPOSUPTO {
  7107  		return c
  7108  	}
  7109  	if int32(c) >= OP_TYPESTAR {
  7110  		return OP_TYPESTAR
  7111  	}
  7112  	if int32(c) >= OP_NOTSTARI {
  7113  		return OP_NOTSTARI
  7114  	}
  7115  	if int32(c) >= OP_NOTSTAR {
  7116  		return OP_NOTSTAR
  7117  	}
  7118  	if int32(c) >= OP_STARI {
  7119  		return OP_STARI
  7120  	}
  7121  	return OP_STAR
  7122  }
  7123  
  7124  // ************************************************
  7125  //
  7126  //        Fill the character property list        *
  7127  //
  7128  
  7129  // Checks whether the code points to an opcode that can take part in auto-
  7130  // possessification, and if so, fills a list with its properties.
  7131  //
  7132  // Arguments:
  7133  //   code        points to start of expression
  7134  //   utf         TRUE if in UTF mode
  7135  //   ucp         TRUE if in UCP mode
  7136  //   fcc         points to the case-flipping table
  7137  //   list        points to output list
  7138  //               list[0] will be filled with the opcode
  7139  //               list[1] will be non-zero if this opcode
  7140  //                 can match an empty character string
  7141  //               list[2..7] depends on the opcode
  7142  //
  7143  // Returns:      points to the start of the next opcode if *code is accepted
  7144  //               NULL if *code is not accepted
  7145  
  7146  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: */
  7147  	var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7148  	var base TPCRE2_UCHAR8
  7149  	var end TPCRE2_SPTR8
  7150  	var chr Tuint32_t
  7151  	var clist_dest uintptr
  7152  	var clist_src uintptr
  7153  
  7154  	*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(c)
  7155  	*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DFALSE)
  7156  	code++
  7157  
  7158  	if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  7159  		base = get_repeat_base(tls, c)
  7160  		c = TPCRE2_UCHAR8(int32(c) - (int32(base) - OP_STAR))
  7161  
  7162  		if int32(c) == OP_UPTO || int32(c) == OP_MINUPTO || int32(c) == OP_EXACT || int32(c) == OP_POSUPTO {
  7163  			code += TPCRE2_SPTR8(DIMM2_SIZE)
  7164  		}
  7165  
  7166  		*(*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))
  7167  
  7168  		switch int32(base) {
  7169  		case OP_STAR:
  7170  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHAR
  7171  			break
  7172  			fallthrough
  7173  
  7174  		case OP_STARI:
  7175  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHARI
  7176  			break
  7177  			fallthrough
  7178  
  7179  		case OP_NOTSTAR:
  7180  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOT
  7181  			break
  7182  			fallthrough
  7183  
  7184  		case OP_NOTSTARI:
  7185  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOTI
  7186  			break
  7187  			fallthrough
  7188  
  7189  		case OP_TYPESTAR:
  7190  			*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7191  			code++
  7192  			break
  7193  		}
  7194  		c = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(list)))
  7195  	}
  7196  
  7197  	switch int32(c) {
  7198  	case OP_NOT_DIGIT:
  7199  		fallthrough
  7200  	case OP_DIGIT:
  7201  		fallthrough
  7202  	case OP_NOT_WHITESPACE:
  7203  		fallthrough
  7204  	case OP_WHITESPACE:
  7205  		fallthrough
  7206  	case OP_NOT_WORDCHAR:
  7207  		fallthrough
  7208  	case OP_WORDCHAR:
  7209  		fallthrough
  7210  	case OP_ANY:
  7211  		fallthrough
  7212  	case OP_ALLANY:
  7213  		fallthrough
  7214  	case OP_ANYNL:
  7215  		fallthrough
  7216  	case OP_NOT_HSPACE:
  7217  		fallthrough
  7218  	case OP_HSPACE:
  7219  		fallthrough
  7220  	case OP_NOT_VSPACE:
  7221  		fallthrough
  7222  	case OP_VSPACE:
  7223  		fallthrough
  7224  	case OP_EXTUNI:
  7225  		fallthrough
  7226  	case OP_EODN:
  7227  		fallthrough
  7228  	case OP_EOD:
  7229  		fallthrough
  7230  	case OP_DOLL:
  7231  		fallthrough
  7232  	case OP_DOLLM:
  7233  		return code
  7234  
  7235  	case OP_CHAR:
  7236  		fallthrough
  7237  	case OP_NOT:
  7238  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7239  		if utf != 0 && chr >= 0xc0 {
  7240  			if chr&0x20 == Tuint32_t(0) {
  7241  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7242  			} else if chr&0x10 == Tuint32_t(0) {
  7243  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7244  				code += uintptr(2)
  7245  			} else if chr&0x08 == Tuint32_t(0) {
  7246  				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
  7247  				code += uintptr(3)
  7248  			} else if chr&0x04 == Tuint32_t(0) {
  7249  				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
  7250  				code += uintptr(4)
  7251  			} else {
  7252  				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
  7253  				code += uintptr(5)
  7254  			}
  7255  		}
  7256  
  7257  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7258  		*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7259  		return code
  7260  
  7261  	case OP_CHARI:
  7262  		fallthrough
  7263  	case OP_NOTI:
  7264  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7265  			if int32(c) == OP_CHARI {
  7266  				return OP_CHAR
  7267  			}
  7268  			return OP_NOT
  7269  		}()
  7270  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7271  		if utf != 0 && chr >= 0xc0 {
  7272  			if chr&0x20 == Tuint32_t(0) {
  7273  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7274  			} else if chr&0x10 == Tuint32_t(0) {
  7275  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7276  				code += uintptr(2)
  7277  			} else if chr&0x08 == Tuint32_t(0) {
  7278  				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
  7279  				code += uintptr(3)
  7280  			} else if chr&0x04 == Tuint32_t(0) {
  7281  				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
  7282  				code += uintptr(4)
  7283  			} else {
  7284  				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
  7285  				code += uintptr(5)
  7286  			}
  7287  		}
  7288  
  7289  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7290  
  7291  		if chr < Tuint32_t(128) || chr < Tuint32_t(256) && !(utf != 0) && !(ucp != 0) {
  7292  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(chr))))
  7293  		} else {
  7294  			*(*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)
  7295  		}
  7296  
  7297  		// The othercase might be the same value.
  7298  
  7299  		if chr == *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) {
  7300  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7301  		} else {
  7302  			*(*Tuint32_t)(unsafe.Pointer(list + 4*4)) = DNOTACHAR
  7303  		}
  7304  		return code
  7305  
  7306  	case OP_PROP:
  7307  		fallthrough
  7308  	case OP_NOTPROP:
  7309  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) != DPT_CLIST {
  7310  			*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7311  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7312  			return code + uintptr(2)
  7313  		}
  7314  
  7315  		// Convert only if we have enough space.
  7316  
  7317  		clist_src = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))*4
  7318  		clist_dest = list + uintptr(2)*4
  7319  		code += uintptr(2)
  7320  
  7321  		for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_src, 4))) != DNOTACHAR {
  7322  			if clist_dest >= list+uintptr(8)*4 {
  7323  				// Early return if there is not enough space. This should never
  7324  				//        happen, since all clists are shorter than 5 character now.
  7325  				*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7326  				*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7327  				return code
  7328  			}
  7329  			*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_dest, 4))) = *(*Tuint32_t)(unsafe.Pointer(clist_src))
  7330  		}
  7331  
  7332  		// All characters are stored. The terminating NOTACHAR is copied from the
  7333  		//   clist itself.
  7334  
  7335  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7336  			if int32(c) == OP_PROP {
  7337  				return OP_CHAR
  7338  			}
  7339  			return OP_NOT
  7340  		}()
  7341  		return code
  7342  
  7343  	case OP_NCLASS:
  7344  		fallthrough
  7345  	case OP_CLASS:
  7346  		fallthrough
  7347  	case OP_XCLASS:
  7348  		if int32(c) == OP_XCLASS {
  7349  			end = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))))) - uintptr(1)
  7350  		} else {
  7351  			end = code + uintptr(uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  7352  		}
  7353  
  7354  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end))) {
  7355  		case OP_CRSTAR:
  7356  			fallthrough
  7357  		case OP_CRMINSTAR:
  7358  			fallthrough
  7359  		case OP_CRQUERY:
  7360  			fallthrough
  7361  		case OP_CRMINQUERY:
  7362  			fallthrough
  7363  		case OP_CRPOSSTAR:
  7364  			fallthrough
  7365  		case OP_CRPOSQUERY:
  7366  			*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DTRUE)
  7367  			end++
  7368  			break
  7369  
  7370  		case OP_CRPLUS:
  7371  			fallthrough
  7372  		case OP_CRMINPLUS:
  7373  			fallthrough
  7374  		case OP_CRPOSPLUS:
  7375  			end++
  7376  			break
  7377  
  7378  		case OP_CRRANGE:
  7379  			fallthrough
  7380  		case OP_CRMINRANGE:
  7381  			fallthrough
  7382  		case OP_CRPOSRANGE:
  7383  			*(*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)))
  7384  			end += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
  7385  			break
  7386  		}
  7387  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t((int32(end) - int32(code)) / 1)
  7388  		return end
  7389  	}
  7390  
  7391  	return uintptr(0) // Opcode not accepted
  7392  }
  7393  
  7394  // ************************************************
  7395  //
  7396  //    Scan further character sets for match       *
  7397  //
  7398  
  7399  // Checks whether the base and the current opcode have a common character, in
  7400  // which case the base cannot be possessified.
  7401  //
  7402  // Arguments:
  7403  //   code        points to the byte code
  7404  //   utf         TRUE in UTF mode
  7405  //   ucp         TRUE in UCP mode
  7406  //   cb          compile data block
  7407  //   base_list   the data list of the base opcode
  7408  //   base_end    the end of the base opcode
  7409  //   rec_limit   points to recursion depth counter
  7410  //
  7411  // Returns:      TRUE if the auto-possessification is possible
  7412  
  7413  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: */
  7414  	bp := tls.Alloc(32)
  7415  	defer tls.Free(32)
  7416  
  7417  	var c TPCRE2_UCHAR8
  7418  	// var list [8]Tuint32_t at bp, 32
  7419  
  7420  	var chr_ptr uintptr
  7421  	var ochr_ptr uintptr
  7422  	var list_ptr uintptr
  7423  	var next_code TPCRE2_SPTR8
  7424  	var xclass_flags TPCRE2_SPTR8
  7425  	var class_bitset uintptr
  7426  	var set1 uintptr
  7427  	var set2 uintptr
  7428  	var set_end uintptr
  7429  	var chr Tuint32_t
  7430  	var accepted TBOOL
  7431  	var invert_bits TBOOL
  7432  	var entered_a_group TBOOL = DFALSE
  7433  
  7434  	if libc.PreDecInt32(&*(*int32)(unsafe.Pointer(rec_limit)), 1) <= 0 {
  7435  		return DFALSE
  7436  	} // Recursion has gone too deep
  7437  
  7438  	// Note: the base_list[1] contains whether the current opcode has a greedy
  7439  	// (represented by a non-zero value) quantifier. This is a different from
  7440  	// other character type lists, which store here that the character iterator
  7441  	// matches to an empty string (also represented by a non-zero value).
  7442  
  7443  	for {
  7444  		// All operations move the code pointer forward.
  7445  		//   Therefore infinite recursions are not possible.
  7446  
  7447  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7448  
  7449  		// Skip over callouts
  7450  
  7451  		if int32(c) == OP_CALLOUT {
  7452  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7453  			continue
  7454  		}
  7455  
  7456  		if int32(c) == OP_CALLOUT_STR {
  7457  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  7458  			continue
  7459  		}
  7460  
  7461  		// At the end of a branch, skip to the end of the group.
  7462  
  7463  		if int32(c) == OP_ALT {
  7464  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
  7465  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7466  			}
  7467  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7468  		}
  7469  
  7470  		// Inspect the next opcode.
  7471  
  7472  		switch int32(c) {
  7473  		// We can always possessify a greedy iterator at the end of the pattern,
  7474  		//     which is reached after skipping over the final OP_KET. A non-greedy
  7475  		//     iterator must never be possessified.
  7476  
  7477  		case OP_END:
  7478  			return libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) != Tuint32_t(0))
  7479  
  7480  		// When an iterator is at the end of certain kinds of group we can inspect
  7481  		//     what follows the group by skipping over the closing ket. Note that this
  7482  		//     does not apply to OP_KETRMAX or OP_KETRMIN because what follows any given
  7483  		//     iteration is variable (could be another iteration or could be the next
  7484  		//     item). As these two opcodes are not listed in the next switch, they will
  7485  		//     end up as the next code to inspect, and return FALSE by virtue of being
  7486  		//     unsupported.
  7487  
  7488  		case OP_KET:
  7489  			fallthrough
  7490  		case OP_KETRPOS:
  7491  			// The non-greedy case cannot be converted to a possessive form.
  7492  
  7493  			if *(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) == Tuint32_t(0) {
  7494  				return DFALSE
  7495  			}
  7496  
  7497  			// If the bracket is capturing it might be referenced by an OP_RECURSE
  7498  			//     so its last iterator can never be possessified if the pattern contains
  7499  			//     recursions. (This could be improved by keeping a list of group numbers that
  7500  			//     are called by recursion.)
  7501  
  7502  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) {
  7503  			case OP_CBRA:
  7504  				fallthrough
  7505  			case OP_SCBRA:
  7506  				fallthrough
  7507  			case OP_CBRAPOS:
  7508  				fallthrough
  7509  			case OP_SCBRAPOS:
  7510  				if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse != 0 {
  7511  					return DFALSE
  7512  				}
  7513  				break
  7514  
  7515  			// A script run might have to backtrack if the iterated item can match
  7516  			//       characters from more than one script. So give up unless repeating an
  7517  			//       explicit character.
  7518  
  7519  			case OP_SCRIPT_RUN:
  7520  				if *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHAR && *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHARI {
  7521  					return DFALSE
  7522  				}
  7523  				break
  7524  
  7525  			// Atomic sub-patterns and assertions can always auto-possessify their
  7526  			//       last iterator. However, if the group was entered as a result of checking
  7527  			//       a previous iterator, this is not possible.
  7528  
  7529  			case OP_ASSERT:
  7530  				fallthrough
  7531  			case OP_ASSERT_NOT:
  7532  				fallthrough
  7533  			case OP_ASSERTBACK:
  7534  				fallthrough
  7535  			case OP_ASSERTBACK_NOT:
  7536  				fallthrough
  7537  			case OP_ONCE:
  7538  				return libc.BoolInt32(!(entered_a_group != 0))
  7539  
  7540  			// Non-atomic assertions - don't possessify last iterator. This needs
  7541  			//       more thought.
  7542  
  7543  			case OP_ASSERT_NA:
  7544  				fallthrough
  7545  			case OP_ASSERTBACK_NA:
  7546  				return DFALSE
  7547  			}
  7548  
  7549  			// Skip over the bracket and inspect what comes next.
  7550  
  7551  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7552  			continue
  7553  
  7554  		// Handle cases where the next item is a group.
  7555  
  7556  		case OP_ONCE:
  7557  			fallthrough
  7558  		case OP_BRA:
  7559  			fallthrough
  7560  		case OP_CBRA:
  7561  			next_code = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7562  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7563  
  7564  			// Check each branch. We have to recurse a level for all but the last
  7565  			//     branch.
  7566  
  7567  			for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7568  				if !(compare_opcodes(tls, code, utf, ucp, cb, base_list, base_end, rec_limit) != 0) {
  7569  					return DFALSE
  7570  				}
  7571  				code = next_code + uintptr(1) + uintptr(DLINK_SIZE)
  7572  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7573  			}
  7574  
  7575  			entered_a_group = DTRUE
  7576  			continue
  7577  
  7578  		case OP_BRAZERO:
  7579  			fallthrough
  7580  		case OP_BRAMINZERO:
  7581  
  7582  			next_code = code + uintptr(1)
  7583  			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 {
  7584  				return DFALSE
  7585  			}
  7586  
  7587  			for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7588  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7589  			}
  7590  
  7591  			// The bracket content will be checked by the OP_BRA/OP_CBRA case above.
  7592  
  7593  			next_code += TPCRE2_SPTR8(1 + DLINK_SIZE)
  7594  			if !(compare_opcodes(tls, next_code, utf, ucp, cb, base_list, base_end,
  7595  				rec_limit) != 0) {
  7596  				return DFALSE
  7597  			}
  7598  
  7599  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7600  			continue
  7601  
  7602  		// The next opcode does not need special handling; fall through and use it
  7603  		//     to see if the base can be possessified.
  7604  
  7605  		default:
  7606  			break
  7607  		}
  7608  
  7609  		// We now have the next appropriate opcode to compare with the base. Check
  7610  		//   for a supported opcode, and load its properties.
  7611  
  7612  		code = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  7613  		if code == uintptr(0) {
  7614  			return DFALSE
  7615  		} // Unsupported
  7616  
  7617  		// If either opcode is a small character list, set pointers for comparing
  7618  		//   characters from that list with another list, or with a property.
  7619  
  7620  		if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CHAR {
  7621  			chr_ptr = base_list + uintptr(2)*4
  7622  			list_ptr = bp /* &list[0] */
  7623  		} else if *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CHAR {
  7624  			chr_ptr = bp + uintptr(2)*4
  7625  			list_ptr = base_list
  7626  		} else if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CLASS ||
  7627  
  7628  			!(utf != 0) && (*(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_NCLASS) {
  7629  			if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS {
  7630  				set1 = base_end - uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))
  7631  				list_ptr = bp /* &list[0] */
  7632  			} else {
  7633  				set1 = code - uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4)))
  7634  				list_ptr = base_list
  7635  			}
  7636  
  7637  			invert_bits = DFALSE
  7638  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7639  			case OP_CLASS:
  7640  				fallthrough
  7641  			case OP_NCLASS:
  7642  				set2 = func() uintptr {
  7643  					if list_ptr == bp {
  7644  						return code
  7645  					}
  7646  					return base_end
  7647  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  7648  				break
  7649  				fallthrough
  7650  
  7651  			case OP_XCLASS:
  7652  				xclass_flags = func() uintptr {
  7653  					if list_ptr == bp {
  7654  						return code
  7655  					}
  7656  					return base_end
  7657  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) + uintptr(DLINK_SIZE)
  7658  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_HASPROP != 0 {
  7659  					return DFALSE
  7660  				}
  7661  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_MAP == 0 {
  7662  					// No bits are set for characters < 256.
  7663  					if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7664  						return libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_NOT == 0)
  7665  					}
  7666  					// Might be an empty repeat.
  7667  					continue
  7668  				}
  7669  				set2 = xclass_flags + uintptr(1)
  7670  				break
  7671  				fallthrough
  7672  
  7673  			case OP_NOT_DIGIT:
  7674  				invert_bits = DTRUE
  7675  				fallthrough
  7676  			// Fall through
  7677  			case OP_DIGIT:
  7678  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_digit)
  7679  				break
  7680  				fallthrough
  7681  
  7682  			case OP_NOT_WHITESPACE:
  7683  				invert_bits = DTRUE
  7684  				fallthrough
  7685  			// Fall through
  7686  			case OP_WHITESPACE:
  7687  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_space)
  7688  				break
  7689  				fallthrough
  7690  
  7691  			case OP_NOT_WORDCHAR:
  7692  				invert_bits = DTRUE
  7693  				fallthrough
  7694  			// Fall through
  7695  			case OP_WORDCHAR:
  7696  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_word)
  7697  				break
  7698  				fallthrough
  7699  
  7700  			default:
  7701  				return DFALSE
  7702  			}
  7703  
  7704  			// Because the bit sets are unaligned bytes, we need to perform byte
  7705  			//     comparison here.
  7706  
  7707  			set_end = set1 + uintptr(32)
  7708  			if invert_bits != 0 {
  7709  				for __ccgo2 := true; __ccgo2; __ccgo2 = set1 < set_end {
  7710  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1)))) & ^int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7711  						return DFALSE
  7712  					}
  7713  				}
  7714  			} else {
  7715  				for __ccgo3 := true; __ccgo3; __ccgo3 = set1 < set_end {
  7716  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1))))&int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7717  						return DFALSE
  7718  					}
  7719  				}
  7720  			}
  7721  
  7722  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7723  				return DTRUE
  7724  			}
  7725  			// Might be an empty repeat.
  7726  			continue
  7727  		} else {
  7728  			var leftop Tuint32_t
  7729  			var rightop Tuint32_t
  7730  
  7731  			leftop = *(*Tuint32_t)(unsafe.Pointer(base_list))
  7732  			rightop = *(*Tuint32_t)(unsafe.Pointer(bp))
  7733  
  7734  			accepted = DFALSE // Always set in non-unicode case.
  7735  			if leftop == OP_PROP || leftop == OP_NOTPROP {
  7736  				if rightop == OP_EOD {
  7737  					accepted = DTRUE
  7738  				} else if rightop == OP_PROP || rightop == OP_NOTPROP {
  7739  					var n int32
  7740  					var p uintptr
  7741  					var same TBOOL = libc.Bool32(leftop == rightop)
  7742  					var lisprop TBOOL = libc.Bool32(leftop == OP_PROP)
  7743  					var risprop TBOOL = libc.Bool32(rightop == OP_PROP)
  7744  					var bothprop TBOOL = libc.Bool32(lisprop != 0 && risprop != 0)
  7745  
  7746  					// There's a table that specifies how each combination is to be
  7747  					//         processed:
  7748  					//           0   Always return FALSE (never auto-possessify)
  7749  					//           1   Character groups are distinct (possessify if both are OP_PROP)
  7750  					//           2   Check character categories in the same group (general or particular)
  7751  					//           3   Return TRUE if the two opcodes are not the same
  7752  					//           ... see comments below
  7753  					//
  7754  
  7755  					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))))))
  7756  					switch n {
  7757  					case 0:
  7758  						break
  7759  						fallthrough
  7760  					case 1:
  7761  						accepted = bothprop
  7762  						break
  7763  						fallthrough
  7764  					case 2:
  7765  						accepted = libc.Bool32(libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 3*4))) != same)
  7766  						break
  7767  						fallthrough
  7768  					case 3:
  7769  						accepted = libc.BoolInt32(!(same != 0))
  7770  						break
  7771  						fallthrough
  7772  
  7773  					case 4: // Left general category, right particular category
  7774  						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)
  7775  						break
  7776  						fallthrough
  7777  
  7778  					case 5: // Right general category, left particular category
  7779  						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)
  7780  						break
  7781  						fallthrough
  7782  
  7783  					// This code is logically tricky. Think hard before fiddling with it.
  7784  					//           The posspropstab table has four entries per row. Each row relates to
  7785  					//           one of PCRE's special properties such as ALNUM or SPACE or WORD.
  7786  					//           Only WORD actually needs all four entries, but using repeats for the
  7787  					//           others means they can all use the same code below.
  7788  					//
  7789  					//           The first two entries in each row are Unicode general categories, and
  7790  					//           apply always, because all the characters they include are part of the
  7791  					//           PCRE character set. The third and fourth entries are a general and a
  7792  					//           particular category, respectively, that include one or more relevant
  7793  					//           characters. One or the other is used, depending on whether the check
  7794  					//           is for a general or a particular category. However, in both cases the
  7795  					//           category contains more characters than the specials that are defined
  7796  					//           for the property being tested against. Therefore, it cannot be used
  7797  					//           in a NOTPROP case.
  7798  					//
  7799  					//           Example: the row for WORD contains ucp_L, ucp_N, ucp_P, ucp_Po.
  7800  					//           Underscore is covered by ucp_P or ucp_Po.
  7801  
  7802  					case 6:
  7803  						fallthrough // Left alphanum vs right general category
  7804  					case 7:
  7805  						fallthrough // Left space vs right general category
  7806  					case 8: // Left word vs right general category
  7807  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-6)*4
  7808  						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))))
  7809  						break
  7810  						fallthrough
  7811  
  7812  					case 9:
  7813  						fallthrough // Right alphanum vs left general category
  7814  					case 10:
  7815  						fallthrough // Right space vs left general category
  7816  					case 11: // Right word vs left general category
  7817  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-9)*4
  7818  						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))))
  7819  						break
  7820  						fallthrough
  7821  
  7822  					case 12:
  7823  						fallthrough // Left alphanum vs right particular category
  7824  					case 13:
  7825  						fallthrough // Left space vs right particular category
  7826  					case 14: // Left word vs right particular category
  7827  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-12)*4
  7828  						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))))
  7829  						break
  7830  						fallthrough
  7831  
  7832  					case 15:
  7833  						fallthrough // Right alphanum vs left particular category
  7834  					case 16:
  7835  						fallthrough // Right space vs left particular category
  7836  					case 17: // Right word vs left particular category
  7837  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-15)*4
  7838  						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))))
  7839  						break
  7840  					}
  7841  				}
  7842  			} else {
  7843  
  7844  				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)
  7845  			}
  7846  
  7847  			if !(accepted != 0) {
  7848  				return DFALSE
  7849  			}
  7850  
  7851  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7852  				return DTRUE
  7853  			}
  7854  			// Might be an empty repeat.
  7855  			continue
  7856  		}
  7857  
  7858  		// Control reaches here only if one of the items is a small character list.
  7859  		//   All characters are checked against the other side.
  7860  
  7861  		for __ccgo4 := true; __ccgo4; __ccgo4 = *(*Tuint32_t)(unsafe.Pointer(chr_ptr)) != DNOTACHAR {
  7862  			chr = *(*Tuint32_t)(unsafe.Pointer(chr_ptr))
  7863  
  7864  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7865  			case OP_CHAR:
  7866  				ochr_ptr = list_ptr + uintptr(2)*4
  7867  				for __ccgo5 := true; __ccgo5; __ccgo5 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7868  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7869  						return DFALSE
  7870  					}
  7871  					ochr_ptr += 4
  7872  				}
  7873  				break
  7874  
  7875  			case OP_NOT:
  7876  				ochr_ptr = list_ptr + uintptr(2)*4
  7877  				for __ccgo6 := true; __ccgo6; __ccgo6 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7878  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7879  						break
  7880  					}
  7881  					ochr_ptr += 4
  7882  				}
  7883  				if *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) == DNOTACHAR {
  7884  					return DFALSE
  7885  				} // Not found
  7886  				break
  7887  
  7888  			// Note that OP_DIGIT etc. are generated only when PCRE2_UCP is *not*
  7889  			//       set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  7890  
  7891  			case OP_DIGIT:
  7892  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit != 0 {
  7893  					return DFALSE
  7894  				}
  7895  				break
  7896  
  7897  			case OP_NOT_DIGIT:
  7898  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit == 0 {
  7899  					return DFALSE
  7900  				}
  7901  				break
  7902  
  7903  			case OP_WHITESPACE:
  7904  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space != 0 {
  7905  					return DFALSE
  7906  				}
  7907  				break
  7908  
  7909  			case OP_NOT_WHITESPACE:
  7910  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space == 0 {
  7911  					return DFALSE
  7912  				}
  7913  				break
  7914  
  7915  			case OP_WORDCHAR:
  7916  				if chr < Tuint32_t(255) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word != 0 {
  7917  					return DFALSE
  7918  				}
  7919  				break
  7920  
  7921  			case OP_NOT_WORDCHAR:
  7922  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word == 0 {
  7923  					return DFALSE
  7924  				}
  7925  				break
  7926  
  7927  			case OP_HSPACE:
  7928  				switch chr {
  7929  				case Tuint32_t('\011'):
  7930  					fallthrough
  7931  				case Tuint32_t('\040'):
  7932  					fallthrough
  7933  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7934  					fallthrough
  7935  				case Tuint32_t(0x1680):
  7936  					fallthrough /* OGHAM SPACE MARK */
  7937  				case Tuint32_t(0x180e):
  7938  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7939  				case Tuint32_t(0x2000):
  7940  					fallthrough /* EN QUAD */
  7941  				case Tuint32_t(0x2001):
  7942  					fallthrough /* EM QUAD */
  7943  				case Tuint32_t(0x2002):
  7944  					fallthrough /* EN SPACE */
  7945  				case Tuint32_t(0x2003):
  7946  					fallthrough /* EM SPACE */
  7947  				case Tuint32_t(0x2004):
  7948  					fallthrough /* THREE-PER-EM SPACE */
  7949  				case Tuint32_t(0x2005):
  7950  					fallthrough /* FOUR-PER-EM SPACE */
  7951  				case Tuint32_t(0x2006):
  7952  					fallthrough /* SIX-PER-EM SPACE */
  7953  				case Tuint32_t(0x2007):
  7954  					fallthrough /* FIGURE SPACE */
  7955  				case Tuint32_t(0x2008):
  7956  					fallthrough /* PUNCTUATION SPACE */
  7957  				case Tuint32_t(0x2009):
  7958  					fallthrough /* THIN SPACE */
  7959  				case Tuint32_t(0x200A):
  7960  					fallthrough /* HAIR SPACE */
  7961  				case Tuint32_t(0x202f):
  7962  					fallthrough /* NARROW NO-BREAK SPACE */
  7963  				case Tuint32_t(0x205f):
  7964  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7965  				case Tuint32_t(0x3000):
  7966  					return DFALSE
  7967  				default:
  7968  					break
  7969  				}
  7970  				break
  7971  
  7972  			case OP_NOT_HSPACE:
  7973  				switch chr {
  7974  				case Tuint32_t('\011'):
  7975  					fallthrough
  7976  				case Tuint32_t('\040'):
  7977  					fallthrough
  7978  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7979  					fallthrough
  7980  				case Tuint32_t(0x1680):
  7981  					fallthrough /* OGHAM SPACE MARK */
  7982  				case Tuint32_t(0x180e):
  7983  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7984  				case Tuint32_t(0x2000):
  7985  					fallthrough /* EN QUAD */
  7986  				case Tuint32_t(0x2001):
  7987  					fallthrough /* EM QUAD */
  7988  				case Tuint32_t(0x2002):
  7989  					fallthrough /* EN SPACE */
  7990  				case Tuint32_t(0x2003):
  7991  					fallthrough /* EM SPACE */
  7992  				case Tuint32_t(0x2004):
  7993  					fallthrough /* THREE-PER-EM SPACE */
  7994  				case Tuint32_t(0x2005):
  7995  					fallthrough /* FOUR-PER-EM SPACE */
  7996  				case Tuint32_t(0x2006):
  7997  					fallthrough /* SIX-PER-EM SPACE */
  7998  				case Tuint32_t(0x2007):
  7999  					fallthrough /* FIGURE SPACE */
  8000  				case Tuint32_t(0x2008):
  8001  					fallthrough /* PUNCTUATION SPACE */
  8002  				case Tuint32_t(0x2009):
  8003  					fallthrough /* THIN SPACE */
  8004  				case Tuint32_t(0x200A):
  8005  					fallthrough /* HAIR SPACE */
  8006  				case Tuint32_t(0x202f):
  8007  					fallthrough /* NARROW NO-BREAK SPACE */
  8008  				case Tuint32_t(0x205f):
  8009  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  8010  				case Tuint32_t(0x3000):
  8011  					break
  8012  				default:
  8013  					return DFALSE
  8014  				}
  8015  				break
  8016  
  8017  			case OP_ANYNL:
  8018  				fallthrough
  8019  			case OP_VSPACE:
  8020  				switch chr {
  8021  				case Tuint32_t('\012'):
  8022  					fallthrough
  8023  				case Tuint32_t('\013'):
  8024  					fallthrough
  8025  				case Tuint32_t('\014'):
  8026  					fallthrough
  8027  				case Tuint32_t('\015'):
  8028  					fallthrough
  8029  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8030  					fallthrough
  8031  				case Tuint32_t(0x2028):
  8032  					fallthrough /* LINE SEPARATOR */
  8033  				case Tuint32_t(0x2029):
  8034  					return DFALSE
  8035  				default:
  8036  					break
  8037  				}
  8038  				break
  8039  
  8040  			case OP_NOT_VSPACE:
  8041  				switch chr {
  8042  				case Tuint32_t('\012'):
  8043  					fallthrough
  8044  				case Tuint32_t('\013'):
  8045  					fallthrough
  8046  				case Tuint32_t('\014'):
  8047  					fallthrough
  8048  				case Tuint32_t('\015'):
  8049  					fallthrough
  8050  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8051  					fallthrough
  8052  				case Tuint32_t(0x2028):
  8053  					fallthrough /* LINE SEPARATOR */
  8054  				case Tuint32_t(0x2029):
  8055  					break
  8056  				default:
  8057  					return DFALSE
  8058  				}
  8059  				break
  8060  
  8061  			case OP_DOLL:
  8062  				fallthrough
  8063  			case OP_EODN:
  8064  				switch chr {
  8065  				case Tuint32_t('\015'):
  8066  					fallthrough
  8067  				case Tuint32_t('\012'):
  8068  					fallthrough
  8069  				case Tuint32_t('\013'):
  8070  					fallthrough
  8071  				case Tuint32_t('\014'):
  8072  					fallthrough
  8073  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8074  					fallthrough
  8075  				case Tuint32_t(0x2028):
  8076  					fallthrough
  8077  				case Tuint32_t(0x2029):
  8078  					return DFALSE
  8079  				}
  8080  				break
  8081  
  8082  			case OP_EOD: // Can always possessify before \z
  8083  				break
  8084  
  8085  			case OP_PROP:
  8086  				fallthrough
  8087  			case OP_NOTPROP:
  8088  				if !(check_char_prop(tls, chr, *(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)), *(*Tuint32_t)(unsafe.Pointer(list_ptr + 3*4)),
  8089  					libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(list_ptr)) == OP_NOTPROP)) != 0) {
  8090  					return DFALSE
  8091  				}
  8092  				break
  8093  
  8094  			case OP_NCLASS:
  8095  				if chr > Tuint32_t(255) {
  8096  					return DFALSE
  8097  				}
  8098  				fallthrough
  8099  			// Fall through
  8100  
  8101  			case OP_CLASS:
  8102  				if chr > Tuint32_t(255) {
  8103  					break
  8104  				}
  8105  				class_bitset = func() uintptr {
  8106  					if list_ptr == bp {
  8107  						return code
  8108  					}
  8109  					return base_end
  8110  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  8111  				if uint32(*(*Tuint8_t)(unsafe.Pointer(class_bitset + uintptr(chr>>3))))&(uint32(1)<<(chr&Tuint32_t(7))) != uint32(0) {
  8112  					return DFALSE
  8113  				}
  8114  				break
  8115  
  8116  			case OP_XCLASS:
  8117  				if X_pcre2_xclass_8(tls, chr, func() uintptr {
  8118  					if list_ptr == bp {
  8119  						return code
  8120  					}
  8121  					return base_end
  8122  				}()-uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))+uintptr(DLINK_SIZE), utf) != 0 {
  8123  					return DFALSE
  8124  				}
  8125  				break
  8126  
  8127  			default:
  8128  				return DFALSE
  8129  			}
  8130  
  8131  			chr_ptr += 4
  8132  		}
  8133  
  8134  		// At least one character must be matched from this opcode.
  8135  
  8136  		if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  8137  			return DTRUE
  8138  		}
  8139  	}
  8140  	return TBOOL(0)
  8141  
  8142  	// Control never reaches here. There used to be a fail-save return FALSE; here,
  8143  	// but some compilers complain about an unreachable statement.
  8144  }
  8145  
  8146  // ************************************************
  8147  //
  8148  //    Scan compiled regex for auto-possession     *
  8149  //
  8150  
  8151  // Replaces single character iterations with their possessive alternatives
  8152  // if appropriate. This function modifies the compiled opcode! Hitting a
  8153  // non-existent opcode may indicate a bug in PCRE2, but it can also be caused if a
  8154  // bad UTF string was compiled with PCRE2_NO_UTF_CHECK. The rec_limit catches
  8155  // overly complicated or large patterns. In these cases, the check just stops,
  8156  // leaving the remainder of the pattern unpossessified.
  8157  //
  8158  // Arguments:
  8159  //   code        points to start of the byte code
  8160  //   cb          compile data block
  8161  //
  8162  // Returns:      0 for success
  8163  //               -1 if a non-existant opcode is encountered
  8164  
  8165  func X_pcre2_auto_possessify_8(tls *libc.TLS, code uintptr, cb uintptr) int32 { /* pcre2_auto_possess.c:1132:1: */
  8166  	bp := tls.Alloc(36)
  8167  	defer tls.Free(36)
  8168  
  8169  	var c TPCRE2_UCHAR8
  8170  	var end TPCRE2_SPTR8
  8171  	var repeat_opcode uintptr
  8172  	// var list [8]Tuint32_t at bp, 32
  8173  
  8174  	*(*int32)(unsafe.Pointer(bp + 32 /* rec_limit */)) = 1000 // Was 10,000 but clang+ASAN uses a lot of stack.
  8175  	var utf TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
  8176  	var ucp TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
  8177  
  8178  	for {
  8179  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8180  
  8181  		if int32(c) >= OP_TABLE_LENGTH {
  8182  			return -1
  8183  		} // Something gone wrong
  8184  
  8185  		if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  8186  			c = TPCRE2_UCHAR8(int32(c) - (int32(get_repeat_base(tls, c)) - OP_STAR))
  8187  			if int32(c) <= OP_MINUPTO {
  8188  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8189  			} else {
  8190  				end = uintptr(0)
  8191  			}
  8192  			*(*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))
  8193  
  8194  			if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end,
  8195  				bp+32) != 0 {
  8196  				switch int32(c) {
  8197  				case OP_STAR:
  8198  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_STAR)
  8199  					break
  8200  					fallthrough
  8201  
  8202  				case OP_MINSTAR:
  8203  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_MINSTAR)
  8204  					break
  8205  					fallthrough
  8206  
  8207  				case OP_PLUS:
  8208  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_PLUS)
  8209  					break
  8210  					fallthrough
  8211  
  8212  				case OP_MINPLUS:
  8213  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_MINPLUS)
  8214  					break
  8215  					fallthrough
  8216  
  8217  				case OP_QUERY:
  8218  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_QUERY)
  8219  					break
  8220  					fallthrough
  8221  
  8222  				case OP_MINQUERY:
  8223  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_MINQUERY)
  8224  					break
  8225  					fallthrough
  8226  
  8227  				case OP_UPTO:
  8228  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_UPTO)
  8229  					break
  8230  					fallthrough
  8231  
  8232  				case OP_MINUPTO:
  8233  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_MINUPTO)
  8234  					break
  8235  				}
  8236  			}
  8237  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8238  		} else if int32(c) == OP_CLASS || int32(c) == OP_NCLASS || int32(c) == OP_XCLASS {
  8239  			if int32(c) == OP_XCLASS {
  8240  				repeat_opcode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8241  			} else {
  8242  				repeat_opcode = code + uintptr(1) + uintptr(uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  8243  			}
  8244  
  8245  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode))
  8246  			if int32(c) >= OP_CRSTAR && int32(c) <= OP_CRMINRANGE {
  8247  				// The return from get_chr_property_list() will never be NULL when
  8248  				// code (aka c) is one of the three class opcodes. However, gcc with
  8249  				//       -fanalyzer notes that a NULL return is possible, and grumbles. Hence we
  8250  				//       put in a check.
  8251  
  8252  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8253  				*(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c)&1 == 0))
  8254  
  8255  				if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end, bp+32) != 0 {
  8256  					switch int32(c) {
  8257  					case OP_CRSTAR:
  8258  						fallthrough
  8259  					case OP_CRMINSTAR:
  8260  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSSTAR
  8261  						break
  8262  						fallthrough
  8263  
  8264  					case OP_CRPLUS:
  8265  						fallthrough
  8266  					case OP_CRMINPLUS:
  8267  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSPLUS
  8268  						break
  8269  						fallthrough
  8270  
  8271  					case OP_CRQUERY:
  8272  						fallthrough
  8273  					case OP_CRMINQUERY:
  8274  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSQUERY
  8275  						break
  8276  						fallthrough
  8277  
  8278  					case OP_CRRANGE:
  8279  						fallthrough
  8280  					case OP_CRMINRANGE:
  8281  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSRANGE
  8282  						break
  8283  					}
  8284  				}
  8285  			}
  8286  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8287  		}
  8288  
  8289  		switch int32(c) {
  8290  		case OP_END:
  8291  			return 0
  8292  
  8293  		case OP_TYPESTAR:
  8294  			fallthrough
  8295  		case OP_TYPEMINSTAR:
  8296  			fallthrough
  8297  		case OP_TYPEPLUS:
  8298  			fallthrough
  8299  		case OP_TYPEMINPLUS:
  8300  			fallthrough
  8301  		case OP_TYPEQUERY:
  8302  			fallthrough
  8303  		case OP_TYPEMINQUERY:
  8304  			fallthrough
  8305  		case OP_TYPEPOSSTAR:
  8306  			fallthrough
  8307  		case OP_TYPEPOSPLUS:
  8308  			fallthrough
  8309  		case OP_TYPEPOSQUERY:
  8310  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
  8311  				code += uintptr(2)
  8312  			}
  8313  			break
  8314  
  8315  		case OP_TYPEUPTO:
  8316  			fallthrough
  8317  		case OP_TYPEMINUPTO:
  8318  			fallthrough
  8319  		case OP_TYPEEXACT:
  8320  			fallthrough
  8321  		case OP_TYPEPOSUPTO:
  8322  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
  8323  				code += uintptr(2)
  8324  			}
  8325  			break
  8326  
  8327  		case OP_CALLOUT_STR:
  8328  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  8329  			break
  8330  
  8331  		case OP_XCLASS:
  8332  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8333  			break
  8334  
  8335  		case OP_MARK:
  8336  			fallthrough
  8337  		case OP_COMMIT_ARG:
  8338  			fallthrough
  8339  		case OP_PRUNE_ARG:
  8340  			fallthrough
  8341  		case OP_SKIP_ARG:
  8342  			fallthrough
  8343  		case OP_THEN_ARG:
  8344  			code += uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  8345  			break
  8346  		}
  8347  
  8348  		// Add in the fixed length from the table
  8349  
  8350  		code += uintptr(X_pcre2_OP_lengths_8[c])
  8351  
  8352  		// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
  8353  		//   followed by a multi-byte character. The length in the table is a minimum, so
  8354  		//   we have to arrange to skip the extra code units.
  8355  
  8356  		if utf != 0 {
  8357  			switch int32(c) {
  8358  			case OP_CHAR:
  8359  				fallthrough
  8360  			case OP_CHARI:
  8361  				fallthrough
  8362  			case OP_NOT:
  8363  				fallthrough
  8364  			case OP_NOTI:
  8365  				fallthrough
  8366  			case OP_STAR:
  8367  				fallthrough
  8368  			case OP_MINSTAR:
  8369  				fallthrough
  8370  			case OP_PLUS:
  8371  				fallthrough
  8372  			case OP_MINPLUS:
  8373  				fallthrough
  8374  			case OP_QUERY:
  8375  				fallthrough
  8376  			case OP_MINQUERY:
  8377  				fallthrough
  8378  			case OP_UPTO:
  8379  				fallthrough
  8380  			case OP_MINUPTO:
  8381  				fallthrough
  8382  			case OP_EXACT:
  8383  				fallthrough
  8384  			case OP_POSSTAR:
  8385  				fallthrough
  8386  			case OP_POSPLUS:
  8387  				fallthrough
  8388  			case OP_POSQUERY:
  8389  				fallthrough
  8390  			case OP_POSUPTO:
  8391  				fallthrough
  8392  			case OP_STARI:
  8393  				fallthrough
  8394  			case OP_MINSTARI:
  8395  				fallthrough
  8396  			case OP_PLUSI:
  8397  				fallthrough
  8398  			case OP_MINPLUSI:
  8399  				fallthrough
  8400  			case OP_QUERYI:
  8401  				fallthrough
  8402  			case OP_MINQUERYI:
  8403  				fallthrough
  8404  			case OP_UPTOI:
  8405  				fallthrough
  8406  			case OP_MINUPTOI:
  8407  				fallthrough
  8408  			case OP_EXACTI:
  8409  				fallthrough
  8410  			case OP_POSSTARI:
  8411  				fallthrough
  8412  			case OP_POSPLUSI:
  8413  				fallthrough
  8414  			case OP_POSQUERYI:
  8415  				fallthrough
  8416  			case OP_POSUPTOI:
  8417  				fallthrough
  8418  			case OP_NOTSTAR:
  8419  				fallthrough
  8420  			case OP_NOTMINSTAR:
  8421  				fallthrough
  8422  			case OP_NOTPLUS:
  8423  				fallthrough
  8424  			case OP_NOTMINPLUS:
  8425  				fallthrough
  8426  			case OP_NOTQUERY:
  8427  				fallthrough
  8428  			case OP_NOTMINQUERY:
  8429  				fallthrough
  8430  			case OP_NOTUPTO:
  8431  				fallthrough
  8432  			case OP_NOTMINUPTO:
  8433  				fallthrough
  8434  			case OP_NOTEXACT:
  8435  				fallthrough
  8436  			case OP_NOTPOSSTAR:
  8437  				fallthrough
  8438  			case OP_NOTPOSPLUS:
  8439  				fallthrough
  8440  			case OP_NOTPOSQUERY:
  8441  				fallthrough
  8442  			case OP_NOTPOSUPTO:
  8443  				fallthrough
  8444  			case OP_NOTSTARI:
  8445  				fallthrough
  8446  			case OP_NOTMINSTARI:
  8447  				fallthrough
  8448  			case OP_NOTPLUSI:
  8449  				fallthrough
  8450  			case OP_NOTMINPLUSI:
  8451  				fallthrough
  8452  			case OP_NOTQUERYI:
  8453  				fallthrough
  8454  			case OP_NOTMINQUERYI:
  8455  				fallthrough
  8456  			case OP_NOTUPTOI:
  8457  				fallthrough
  8458  			case OP_NOTMINUPTOI:
  8459  				fallthrough
  8460  			case OP_NOTEXACTI:
  8461  				fallthrough
  8462  			case OP_NOTPOSSTARI:
  8463  				fallthrough
  8464  			case OP_NOTPOSPLUSI:
  8465  				fallthrough
  8466  			case OP_NOTPOSQUERYI:
  8467  				fallthrough
  8468  			case OP_NOTPOSUPTOI:
  8469  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
  8470  					code += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
  8471  				}
  8472  				break
  8473  			}
  8474  		}
  8475  	}
  8476  	return int32(0)
  8477  }
  8478  
  8479  // End of pcre2_auto_possess.c
  8480  
  8481  // This function is needed only when memmove() is not available.
  8482  
  8483  // End of pcre2_internal.h
  8484  
  8485  var X_pcre2_default_tables_8 = [1088]Tuint8_t{
  8486  
  8487  	// This table is a lower casing table.
  8488  
  8489  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8490  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8491  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8492  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8493  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8494  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8495  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8496  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8497  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8498  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8499  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8500  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8501  	Tuint8_t(96), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8502  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8503  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8504  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8505  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8506  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8507  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8508  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8509  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8510  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8511  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8512  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8513  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8514  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8515  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8516  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8517  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8518  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8519  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8520  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8521  
  8522  	// This table is a case flipping table.
  8523  
  8524  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8525  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8526  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8527  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8528  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8529  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8530  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8531  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8532  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8533  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8534  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8535  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8536  	Tuint8_t(96), Tuint8_t(65), Tuint8_t(66), Tuint8_t(67), Tuint8_t(68), Tuint8_t(69), Tuint8_t(70), Tuint8_t(71),
  8537  	Tuint8_t(72), Tuint8_t(73), Tuint8_t(74), Tuint8_t(75), Tuint8_t(76), Tuint8_t(77), Tuint8_t(78), Tuint8_t(79),
  8538  	Tuint8_t(80), Tuint8_t(81), Tuint8_t(82), Tuint8_t(83), Tuint8_t(84), Tuint8_t(85), Tuint8_t(86), Tuint8_t(87),
  8539  	Tuint8_t(88), Tuint8_t(89), Tuint8_t(90), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8540  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8541  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8542  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8543  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8544  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8545  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8546  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8547  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8548  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8549  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8550  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8551  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8552  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8553  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8554  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8555  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8556  
  8557  	// This table contains bit maps for various character classes. Each map is 32
  8558  	// bytes long and the bits run from the least significant end of each byte. The
  8559  	// classes that have their own maps are: space, xdigit, digit, upper, lower, word,
  8560  	// graph, print, punct, and cntrl. Other classes are built from combinations.
  8561  
  8562  	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
  8563  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8564  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8565  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8566  
  8567  	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
  8568  	Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8569  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8570  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8571  
  8572  	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
  8573  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8574  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8575  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8576  
  8577  	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
  8578  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8579  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  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  
  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), // lower
  8583  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8584  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8585  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8586  
  8587  	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
  8588  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x87), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8589  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  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  
  8592  	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
  8593  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  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),
  8595  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8596  
  8597  	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
  8598  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  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),
  8600  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8601  
  8602  	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
  8603  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xf8), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x78),
  8604  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8605  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8606  
  8607  	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
  8608  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x80),
  8609  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8610  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8611  
  8612  	// This table identifies various classes of character by individual bits:
  8613  	//   0x01   white space character
  8614  	//   0x02   letter
  8615  	//   0x04   lower case letter
  8616  	//   0x08   decimal digit
  8617  	//   0x10   alphanumeric or '_'
  8618  
  8619  	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
  8620  	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
  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), //  16- 23
  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), //  24- 31
  8623  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //    - '
  8624  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  ( - /
  8625  	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
  8626  	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 - ?
  8627  	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
  8628  	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
  8629  	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
  8630  	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 - _
  8631  	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
  8632  	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
  8633  	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
  8634  	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
  8635  	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
  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), // 136-143
  8637  	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
  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), // 152-159
  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), // 160-167
  8640  	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
  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), // 176-183
  8642  	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
  8643  	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
  8644  	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
  8645  	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
  8646  	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
  8647  	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
  8648  	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
  8649  	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
  8650  	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
  8651  
  8652  // End of pcre2_chartables.c
  8653  
  8654  // ************************************************
  8655  //
  8656  //      Code parameters and static tables         *
  8657  //
  8658  
  8659  // COMPILE_WORK_SIZE specifies the size of stack workspace, which is used in
  8660  // different ways in the different pattern scans. The parsing and group-
  8661  // identifying pre-scan uses it to handle nesting, and needs it to be 16-bit
  8662  // aligned for this. Having defined the size in code units, we set up
  8663  // C16_WORK_SIZE as the number of elements in the 16-bit vector.
  8664  //
  8665  // During the first compiling phase, when determining how much memory is required,
  8666  // the regex is partly compiled into this space, but the compiled parts are
  8667  // discarded as soon as they can be, so that hopefully there will never be an
  8668  // overrun. The code does, however, check for an overrun, which can occur for
  8669  // pathological patterns. The size of the workspace depends on LINK_SIZE because
  8670  // the length of compiled items varies with this.
  8671  //
  8672  // In the real compile phase, this workspace is not currently used.
  8673  
  8674  // A uint32_t vector is used for caching information about the size of
  8675  // capturing groups, to improve performance. A default is created on the stack of
  8676  // this size.
  8677  
  8678  // The overrun tests check for a slightly smaller size so that they detect the
  8679  // overrun before it actually does run off the end of the data block.
  8680  
  8681  // This value determines the size of the initial vector that is used for
  8682  // remembering named groups during the pre-compile. It is allocated on the stack,
  8683  // but if it is too small, it is expanded, in a similar way to the workspace. The
  8684  // value is the number of slots in the list.
  8685  
  8686  // The pre-compiling pass over the pattern creates a parsed pattern in a vector
  8687  // of uint32_t. For short patterns this lives on the stack, with this size. Heap
  8688  // memory is used for longer patterns.
  8689  
  8690  // Maximum length value to check against when making sure that the variable
  8691  // that holds the compiled pattern length does not overflow. We make it a bit less
  8692  // than INT_MAX to allow for adding in group terminating code units, so that we
  8693  // don't have to check them every time.
  8694  
  8695  // Code values for parsed patterns, which are stored in a vector of 32-bit
  8696  // unsigned ints. Values less than META_END are literal data values. The coding
  8697  // for identifying the item is in the top 16-bits, leaving 16 bits for the
  8698  // additional data that some of them need. The META_CODE, META_DATA, and META_DIFF
  8699  // macros are used to manipulate parsed pattern elements.
  8700  //
  8701  // NOTE: When these definitions are changed, the table of extra lengths for each
  8702  // code (meta_extra_lengths, just below) must be updated to remain in step.
  8703  
  8704  // These must be kept together to make it easy to check that an assertion
  8705  // is present where expected in a conditional group.
  8706  
  8707  // These cannot be conditions
  8708  
  8709  // These must be kept in this order, with consecutive values, and the _ARG
  8710  // versions of COMMIT, PRUNE, SKIP, and THEN immediately after their non-argument
  8711  // versions.
  8712  
  8713  // These must be kept in groups of adjacent 3 values, and all together.
  8714  
  8715  // This is a special "meta code" that is used only to distinguish (*asr: from
  8716  // (*sr: in the table of aphabetic assertions. It is never stored in the parsed
  8717  // pattern because (*asr: is turned into (*sr:(*atomic: at that stage. There is
  8718  // therefore no need for it to have a length entry, so use a high value.
  8719  
  8720  // Table of extra lengths for each of the meta codes. Must be kept in step with
  8721  // the definitions above. For some items these values are a basic length to which
  8722  // a variable amount has to be added.
  8723  
  8724  var meta_extra_lengths = [64]uint8{
  8725  	uint8(0), // META_END
  8726  	uint8(0), // META_ALT
  8727  	uint8(0), // META_ATOMIC
  8728  	uint8(0), // META_BACKREF - more if group is >= 10
  8729  	uint8(1 + DSIZEOFFSET),
  8730  	uint8(1), // META_BIGVALUE
  8731  	uint8(3), // META_CALLOUT_NUMBER
  8732  	uint8(3 + DSIZEOFFSET),
  8733  	uint8(0),           // META_CAPTURE
  8734  	uint8(0),           // META_CIRCUMFLEX
  8735  	uint8(0),           // META_CLASS
  8736  	uint8(0),           // META_CLASS_EMPTY
  8737  	uint8(0),           // META_CLASS_EMPTY_NOT
  8738  	uint8(0),           // META_CLASS_END
  8739  	uint8(0),           // META_CLASS_NOT
  8740  	uint8(0),           // META_COND_ASSERT
  8741  	uint8(DSIZEOFFSET), // META_COND_DEFINE
  8742  	uint8(1 + DSIZEOFFSET),
  8743  	uint8(1 + DSIZEOFFSET),
  8744  	uint8(1 + DSIZEOFFSET),
  8745  	uint8(1 + DSIZEOFFSET),
  8746  	uint8(3),           // META_COND_VERSION
  8747  	uint8(0),           // META_DOLLAR
  8748  	uint8(0),           // META_DOT
  8749  	uint8(0),           // META_ESCAPE - more for ESC_P, ESC_p, ESC_g, ESC_k
  8750  	uint8(0),           // META_KET
  8751  	uint8(0),           // META_NOCAPTURE
  8752  	uint8(1),           // META_OPTIONS
  8753  	uint8(1),           // META_POSIX
  8754  	uint8(1),           // META_POSIX_NEG
  8755  	uint8(0),           // META_RANGE_ESCAPED
  8756  	uint8(0),           // META_RANGE_LITERAL
  8757  	uint8(DSIZEOFFSET), // META_RECURSE
  8758  	uint8(1 + DSIZEOFFSET),
  8759  	uint8(0),           // META_SCRIPT_RUN
  8760  	uint8(0),           // META_LOOKAHEAD
  8761  	uint8(0),           // META_LOOKAHEADNOT
  8762  	uint8(DSIZEOFFSET), // META_LOOKBEHIND
  8763  	uint8(DSIZEOFFSET), // META_LOOKBEHINDNOT
  8764  	uint8(0),           // META_LOOKAHEAD_NA
  8765  	uint8(DSIZEOFFSET), // META_LOOKBEHIND_NA
  8766  	uint8(1),           // META_MARK - plus the string length
  8767  	uint8(0),           // META_ACCEPT
  8768  	uint8(0),           // META_FAIL
  8769  	uint8(0),           // META_COMMIT
  8770  	uint8(1),           // META_COMMIT_ARG - plus the string length
  8771  	uint8(0),           // META_PRUNE
  8772  	uint8(1),           // META_PRUNE_ARG - plus the string length
  8773  	uint8(0),           // META_SKIP
  8774  	uint8(1),           // META_SKIP_ARG - plus the string length
  8775  	uint8(0),           // META_THEN
  8776  	uint8(1),           // META_THEN_ARG - plus the string length
  8777  	uint8(0),           // META_ASTERISK
  8778  	uint8(0),           // META_ASTERISK_PLUS
  8779  	uint8(0),           // META_ASTERISK_QUERY
  8780  	uint8(0),           // META_PLUS
  8781  	uint8(0),           // META_PLUS_PLUS
  8782  	uint8(0),           // META_PLUS_QUERY
  8783  	uint8(0),           // META_QUERY
  8784  	uint8(0),           // META_QUERY_PLUS
  8785  	uint8(0),           // META_QUERY_QUERY
  8786  	uint8(2),           // META_MINMAX
  8787  	uint8(2),           // META_MINMAX_PLUS
  8788  	uint8(2),           // META_MINMAX_QUERY
  8789  } /* pcre2_compile.c:306:22 */
  8790  
  8791  // Macro for setting individual bits in class bitmaps. It took some
  8792  // experimenting to figure out how to stop gcc 5.3.0 from warning with
  8793  // -Wconversion. This version gets a warning:
  8794  //
  8795  //   #define SETBIT(a,b) a[(b)/8] |= (uint8_t)(1u << ((b)&7))
  8796  //
  8797  // Let's hope the apparently less efficient version isn't actually so bad if the
  8798  // compiler is clever with identical subexpressions.
  8799  
  8800  // Values and flags for the unsigned xxcuflags variables that accompany xxcu
  8801  // variables, which are concerned with first and required code units. A value
  8802  // greater than or equal to REQ_NONE means "no code unit set"; otherwise the
  8803  // matching xxcu variable is set, and the low valued bits are relevant.
  8804  
  8805  // These flags are used in the groupinfo vector.
  8806  
  8807  // This simple test for a decimal digit works for both ASCII/Unicode and EBCDIC
  8808  // and is fast (a good compiler can turn it into a subtraction and unsigned
  8809  // comparison).
  8810  
  8811  // Table to identify hex digits. The tables in chartables are dependent on the
  8812  // locale, and may mark arbitrary characters as digits. We want to recognize only
  8813  // 0-9, a-z, and A-Z as hex digits, which is why we have a private table here. It
  8814  // costs 256 bytes, but it is a lot faster than doing character value tests (at
  8815  // least in some simple cases I timed), and in some applications one wants PCRE2
  8816  // to compile efficiently as well as match efficiently. The value in the table is
  8817  // the binary hex digit value, or 0xff for non-hex digits.
  8818  
  8819  // This is the "normal" case, for ASCII systems, and EBCDIC systems running in
  8820  // UTF-8 mode.
  8821  
  8822  var xdigitab = [256]Tuint8_t{
  8823  	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
  8824  	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
  8825  	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
  8826  	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
  8827  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //    - '
  8828  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  ( - /
  8829  	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
  8830  	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 - ?
  8831  	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
  8832  	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
  8833  	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
  8834  	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 - _
  8835  	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
  8836  	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
  8837  	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
  8838  	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
  8839  	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
  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), // 136-143
  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), // 144-151
  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), // 152-159
  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), // 160-167
  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), // 168-175
  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), // 176-183
  8846  	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
  8847  	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
  8848  	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
  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), // 208-215
  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), // 216-223
  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), // 224-231
  8852  	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
  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), // 240-247
  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)} /* pcre2_compile.c:422:22 */ // 248-255
  8855  
  8856  // Table for handling alphanumeric escaped characters. Positive returns are
  8857  // simple data values; negative values are for special things like \d and so on.
  8858  // Zero means further processing is needed (for things like \x), or the escape is
  8859  // invalid.
  8860  
  8861  // This is the "normal" table for ASCII systems or for EBCDIC systems running
  8862  // in UTF-8 mode. It runs from '0' to 'z'.
  8863  
  8864  var escapes = [75]int16{
  8865  	int16(0), int16(0),
  8866  	int16(0), int16(0),
  8867  	int16(0), int16(0),
  8868  	int16(0), int16(0),
  8869  	int16(0), int16(0),
  8870  	int16('\072'), int16('\073'),
  8871  	int16('\074'), int16('\075'),
  8872  	int16('\076'), int16('\077'),
  8873  	int16('\100'), int16(-ESC_A),
  8874  	int16(-ESC_B), int16(-ESC_C),
  8875  	int16(-ESC_D), int16(-ESC_E),
  8876  	int16(0), int16(-ESC_G),
  8877  	int16(-ESC_H), int16(0),
  8878  	int16(0), int16(-ESC_K),
  8879  	int16(0), int16(0),
  8880  	int16(-ESC_N), int16(0),
  8881  	int16(-ESC_P), int16(-ESC_Q),
  8882  	int16(-ESC_R), int16(-ESC_S),
  8883  	int16(0), int16(0),
  8884  	int16(-ESC_V), int16(-ESC_W),
  8885  	int16(-ESC_X), int16(0),
  8886  	int16(-ESC_Z), int16('\133'),
  8887  	int16('\134'), int16('\135'),
  8888  	int16('\136'), int16('\137'),
  8889  	int16('\140'), int16('\007'),
  8890  	int16(-ESC_b), int16(0),
  8891  	int16(-ESC_d), int16('\033'),
  8892  	int16('\014'), int16(0),
  8893  	int16(-ESC_h), int16(0),
  8894  	int16(0), int16(-ESC_k),
  8895  	int16(0), int16(0),
  8896  	int16('\012'), int16(0),
  8897  	int16(-ESC_p), int16(0),
  8898  	int16('\015'), int16(-ESC_s),
  8899  	int16('\011'), int16(0),
  8900  	int16(-ESC_v), int16(-ESC_w),
  8901  	int16(0), int16(0),
  8902  	int16(-ESC_z),
  8903  } /* pcre2_compile.c:511:24 */
  8904  
  8905  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8906  // searched linearly. Put all the names into a single string, in order to reduce
  8907  // the number of relocations when a shared library is dynamically linked. The
  8908  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8909  // platforms.
  8910  
  8911  type Sverbitem = struct {
  8912  	Flen     uint32
  8913  	Fmeta    Tuint32_t
  8914  	Fhas_arg int32
  8915  } /* pcre2_compile.c:602:9 */
  8916  
  8917  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8918  // searched linearly. Put all the names into a single string, in order to reduce
  8919  // the number of relocations when a shared library is dynamically linked. The
  8920  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8921  // platforms.
  8922  
  8923  type Tverbitem = Sverbitem /* pcre2_compile.c:606:3 */
  8924  
  8925  var verbnames =
  8926  // Empty name is a shorthand for MARK
  8927  
  8928  *(*[43]int8)(unsafe.Pointer(ts)) /* pcre2_compile.c:608:19 */
  8929  
  8930  var verbs = [9]Tverbitem{
  8931  	{Fmeta: DMETA_MARK, Fhas_arg: +1}, // > 0 => must have an argument
  8932  	{Flen: uint32(4), Fmeta: DMETA_MARK, Fhas_arg: +1},
  8933  	{Flen: uint32(6), Fmeta: DMETA_ACCEPT, Fhas_arg: -1}, // < 0 => Optional argument, convert to pre-MARK
  8934  	{Flen: uint32(1), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8935  	{Flen: uint32(4), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8936  	{Flen: uint32(6), Fmeta: DMETA_COMMIT},
  8937  	{Flen: uint32(5), Fmeta: DMETA_PRUNE}, // Optional argument; bump META code if found
  8938  	{Flen: uint32(4), Fmeta: DMETA_SKIP},
  8939  	{Flen: uint32(4), Fmeta: DMETA_THEN},
  8940  } /* pcre2_compile.c:619:23 */
  8941  
  8942  var verbcount int32 = int32(uint32(unsafe.Sizeof(verbs)) / uint32(unsafe.Sizeof(Tverbitem{}))) /* pcre2_compile.c:631:18 */
  8943  
  8944  // Verb opcodes, indexed by their META code offset from META_MARK.
  8945  
  8946  var verbops = [11]Tuint32_t{
  8947  	OP_MARK, OP_ACCEPT, OP_FAIL, OP_COMMIT, OP_COMMIT_ARG, OP_PRUNE,
  8948  	OP_PRUNE_ARG, OP_SKIP, OP_SKIP_ARG, OP_THEN, OP_THEN_ARG} /* pcre2_compile.c:635:23 */
  8949  
  8950  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8951  
  8952  type Salasitem = struct {
  8953  	Flen  uint32
  8954  	Fmeta Tuint32_t
  8955  } /* pcre2_compile.c:641:9 */
  8956  
  8957  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8958  
  8959  type Talasitem = Salasitem /* pcre2_compile.c:644:3 */
  8960  
  8961  var alasnames = *(*[210]int8)(unsafe.Pointer(ts + 43)) /* pcre2_compile.c:646:19 */
  8962  
  8963  var alasmeta = [17]Talasitem{
  8964  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEAD},
  8965  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHIND},
  8966  	{Flen: uint32(5), Fmeta: DMETA_LOOKAHEAD_NA},
  8967  	{Flen: uint32(5), Fmeta: DMETA_LOOKBEHIND_NA},
  8968  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEADNOT},
  8969  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHINDNOT},
  8970  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEAD},
  8971  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHIND},
  8972  	{Flen: uint32(29), Fmeta: DMETA_LOOKAHEAD_NA},
  8973  	{Flen: uint32(30), Fmeta: DMETA_LOOKBEHIND_NA},
  8974  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEADNOT},
  8975  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHINDNOT},
  8976  	{Flen: uint32(6), Fmeta: DMETA_ATOMIC},
  8977  	{Flen: uint32(2), Fmeta: DMETA_SCRIPT_RUN},         // sr = script run
  8978  	{Flen: uint32(3), Fmeta: DMETA_ATOMIC_SCRIPT_RUN},  // asr = atomic script run
  8979  	{Flen: uint32(10), Fmeta: DMETA_SCRIPT_RUN},        // script run
  8980  	{Flen: uint32(17), Fmeta: DMETA_ATOMIC_SCRIPT_RUN}, // atomic script run
  8981  } /* pcre2_compile.c:665:23 */
  8982  
  8983  var alascount int32 = int32(uint32(unsafe.Sizeof(alasmeta)) / uint32(unsafe.Sizeof(Talasitem{}))) /* pcre2_compile.c:685:18 */
  8984  
  8985  // Offsets from OP_STAR for case-independent and negative repeat opcodes.
  8986  
  8987  var chartypeoffset = [4]Tuint32_t{
  8988  	Tuint32_t(OP_STAR - OP_STAR), Tuint32_t(OP_STARI - OP_STAR),
  8989  	Tuint32_t(OP_NOTSTAR - OP_STAR), Tuint32_t(OP_NOTSTARI - OP_STAR)} /* pcre2_compile.c:689:17 */
  8990  
  8991  // Tables of names of POSIX character classes and their lengths. The names are
  8992  // now all in a single string, to reduce the number of relocations when a shared
  8993  // library is dynamically loaded. The list of lengths is terminated by a zero
  8994  // length entry. The first three must be alpha, lower, upper, as this is assumed
  8995  // for handling case independence. The indices for graph, print, and punct are
  8996  // needed, so identify them.
  8997  
  8998  var posix_names = *(*[84]int8)(unsafe.Pointer(ts + 253)) /* pcre2_compile.c:700:19 */
  8999  
  9000  var posix_name_lengths = [15]Tuint8_t{
  9001  	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 */
  9002  
  9003  // Table of class bit maps for each POSIX class. Each class is formed from a
  9004  // base map, with an optional addition or removal of another map. Then, for some
  9005  // classes, there is some additional tweaking: for [:blank:] the vertical space
  9006  // characters are removed, and for [:alpha:] and [:alnum:] the underscore
  9007  // character is removed. The triples in the table consist of the base map offset,
  9008  // second map offset or -1 if no second map, and a non-negative value for map
  9009  // addition or a negative value for map subtraction (if there are two maps). The
  9010  // absolute value of the third field has these meanings: 0 => no tweaking, 1 =>
  9011  // remove vertical space characters, 2 => remove underscore.
  9012  
  9013  var posix_class_maps = [42]int32{
  9014  	Dcbit_word, Dcbit_digit, -2, // alpha
  9015  	Dcbit_lower, -1, 0, // lower
  9016  	Dcbit_upper, -1, 0, // upper
  9017  	Dcbit_word, -1, 2, // alnum - word without underscore
  9018  	Dcbit_print, Dcbit_cntrl, 0, // ascii
  9019  	Dcbit_space, -1, 1, // blank - a GNU extension
  9020  	Dcbit_cntrl, -1, 0, // cntrl
  9021  	Dcbit_digit, -1, 0, // digit
  9022  	Dcbit_graph, -1, 0, // graph
  9023  	Dcbit_print, -1, 0, // print
  9024  	Dcbit_punct, -1, 0, // punct
  9025  	Dcbit_space, -1, 0, // space
  9026  	Dcbit_word, -1, 0, // word - a Perl extension
  9027  	Dcbit_xdigit, -1, 0, // xdigit
  9028  } /* pcre2_compile.c:723:18 */
  9029  
  9030  // The POSIX class Unicode property substitutes that are used in UCP mode must
  9031  // be in the order of the POSIX class names, defined above.
  9032  
  9033  var posix_substitutes = [28]int32{
  9034  	DPT_GC, ucp_L, // alpha
  9035  	DPT_PC, ucp_Ll, // lower
  9036  	DPT_PC, ucp_Lu, // upper
  9037  	DPT_ALNUM, 0, // alnum
  9038  	-1, 0, // ascii, treat as non-UCP
  9039  	-1, 1, // blank, treat as \h
  9040  	DPT_PC, ucp_Cc, // cntrl
  9041  	DPT_PC, ucp_Nd, // digit
  9042  	DPT_PXGRAPH, 0, // graph
  9043  	DPT_PXPRINT, 0, // print
  9044  	DPT_PXPUNCT, 0, // punct
  9045  	DPT_PXSPACE, 0, /* space */ // Xps is POSIX space, but from 8.34
  9046  	DPT_WORD, 0, /* word  */ // Perl and POSIX space are the same
  9047  	-1, 0, // xdigit, treat as non-UCP
  9048  } /* pcre2_compile.c:745:12 */ // Read integer value for depth limit
  9049  
  9050  type Spso = struct {
  9051  	Fname   uintptr
  9052  	Flength Tuint16_t
  9053  	Ftype   Tuint16_t
  9054  	Fvalue  Tuint32_t
  9055  } /* pcre2_compile.c:822:9 */
  9056  
  9057  // Read integer value for depth limit
  9058  
  9059  type Tpso = Spso /* pcre2_compile.c:827:3 */
  9060  
  9061  // NB: STRING_UTFn_RIGHTPAR contains the length as well
  9062  
  9063  var pso_list = [21]Tpso{
  9064  	{Fname: uintptr(ts + 337), Flength: Tuint16_t(5), Fvalue: DPCRE2_UTF},
  9065  	{Fname: uintptr(ts + 343), Flength: Tuint16_t(4), Fvalue: DPCRE2_UTF},
  9066  	{Fname: uintptr(ts + 348), Flength: Tuint16_t(4), Fvalue: DPCRE2_UCP},
  9067  	{Fname: uintptr(ts + 353), Flength: Tuint16_t(9), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOTEMPTY_SET)},
  9068  	{Fname: uintptr(ts + 363), Flength: Tuint16_t(17), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NE_ATST_SET)},
  9069  	{Fname: uintptr(ts + 381), Flength: Tuint16_t(16), Fvalue: DPCRE2_NO_AUTO_POSSESS},
  9070  	{Fname: uintptr(ts + 398), Flength: Tuint16_t(18), Fvalue: DPCRE2_NO_DOTSTAR_ANCHOR},
  9071  	{Fname: uintptr(ts + 417), Flength: Tuint16_t(7), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOJIT)},
  9072  	{Fname: uintptr(ts + 425), Flength: Tuint16_t(13), Fvalue: DPCRE2_NO_START_OPTIMIZE},
  9073  	{Fname: uintptr(ts + 439), Flength: Tuint16_t(11), Ftype: PSO_LIMH},
  9074  	{Fname: uintptr(ts + 451), Flength: Tuint16_t(12), Ftype: PSO_LIMM},
  9075  	{Fname: uintptr(ts + 464), Flength: Tuint16_t(12), Ftype: PSO_LIMD},
  9076  	{Fname: uintptr(ts + 477), Flength: Tuint16_t(16), Ftype: PSO_LIMD},
  9077  	{Fname: uintptr(ts + 494), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CR)},
  9078  	{Fname: uintptr(ts + 498), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_LF)},
  9079  	{Fname: uintptr(ts + 502), Flength: Tuint16_t(5), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CRLF)},
  9080  	{Fname: uintptr(ts + 508), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANY)},
  9081  	{Fname: uintptr(ts + 513), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_NUL)},
  9082  	{Fname: uintptr(ts + 518), Flength: Tuint16_t(8), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANYCRLF)},
  9083  	{Fname: uintptr(ts + 527), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_ANYCRLF)},
  9084  	{Fname: uintptr(ts + 540), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_UNICODE)},
  9085  } /* pcre2_compile.c:831:12 */
  9086  
  9087  // This table is used when converting repeating opcodes into possessified
  9088  // versions as a result of an explicit possessive quantifier such as ++. A zero
  9089  // value means there is no possessified version - in those cases the item in
  9090  // question must be wrapped in ONCE brackets. The table is truncated at OP_CALLOUT
  9091  // because all relevant opcodes are less than that.
  9092  
  9093  var opcode_possessify = [119]Tuint8_t{
  9094  	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
  9095  	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
  9096  
  9097  	Tuint8_t(0),             // NOTI
  9098  	OP_POSSTAR, Tuint8_t(0), // STAR, MINSTAR
  9099  	OP_POSPLUS, Tuint8_t(0), // PLUS, MINPLUS
  9100  	OP_POSQUERY, Tuint8_t(0), // QUERY, MINQUERY
  9101  	OP_POSUPTO, Tuint8_t(0), // UPTO, MINUPTO
  9102  	Tuint8_t(0),                                        // EXACT
  9103  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STAR,PLUS,QUERY,UPTO}
  9104  
  9105  	OP_POSSTARI, Tuint8_t(0), // STARI, MINSTARI
  9106  	OP_POSPLUSI, Tuint8_t(0), // PLUSI, MINPLUSI
  9107  	OP_POSQUERYI, Tuint8_t(0), // QUERYI, MINQUERYI
  9108  	OP_POSUPTOI, Tuint8_t(0), // UPTOI, MINUPTOI
  9109  	Tuint8_t(0),                                        // EXACTI
  9110  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STARI,PLUSI,QUERYI,UPTOI}
  9111  
  9112  	OP_NOTPOSSTAR, Tuint8_t(0), // NOTSTAR, NOTMINSTAR
  9113  	OP_NOTPOSPLUS, Tuint8_t(0), // NOTPLUS, NOTMINPLUS
  9114  	OP_NOTPOSQUERY, Tuint8_t(0), // NOTQUERY, NOTMINQUERY
  9115  	OP_NOTPOSUPTO, Tuint8_t(0), // NOTUPTO, NOTMINUPTO
  9116  	Tuint8_t(0),                                        // NOTEXACT
  9117  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STAR,PLUS,QUERY,UPTO}
  9118  
  9119  	OP_NOTPOSSTARI, Tuint8_t(0), // NOTSTARI, NOTMINSTARI
  9120  	OP_NOTPOSPLUSI, Tuint8_t(0), // NOTPLUSI, NOTMINPLUSI
  9121  	OP_NOTPOSQUERYI, Tuint8_t(0), // NOTQUERYI, NOTMINQUERYI
  9122  	OP_NOTPOSUPTOI, Tuint8_t(0), // NOTUPTOI, NOTMINUPTOI
  9123  	Tuint8_t(0),                                        // NOTEXACTI
  9124  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STARI,PLUSI,QUERYI,UPTOI}
  9125  
  9126  	OP_TYPEPOSSTAR, Tuint8_t(0), // TYPESTAR, TYPEMINSTAR
  9127  	OP_TYPEPOSPLUS, Tuint8_t(0), // TYPEPLUS, TYPEMINPLUS
  9128  	OP_TYPEPOSQUERY, Tuint8_t(0), // TYPEQUERY, TYPEMINQUERY
  9129  	OP_TYPEPOSUPTO, Tuint8_t(0), // TYPEUPTO, TYPEMINUPTO
  9130  	Tuint8_t(0),                                        // TYPEEXACT
  9131  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // TYPEPOS{STAR,PLUS,QUERY,UPTO}
  9132  
  9133  	OP_CRPOSSTAR, Tuint8_t(0), // CRSTAR, CRMINSTAR
  9134  	OP_CRPOSPLUS, Tuint8_t(0), // CRPLUS, CRMINPLUS
  9135  	OP_CRPOSQUERY, Tuint8_t(0), // CRQUERY, CRMINQUERY
  9136  	OP_CRPOSRANGE, Tuint8_t(0), // CRRANGE, CRMINRANGE
  9137  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CRPOS{STAR,PLUS,QUERY,RANGE}
  9138  
  9139  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLASS, NCLASS, XCLASS
  9140  	Tuint8_t(0), Tuint8_t(0), // REF, REFI
  9141  	Tuint8_t(0), Tuint8_t(0), // DNREF, DNREFI
  9142  	Tuint8_t(0), Tuint8_t(0), // RECURSE, CALLOUT
  9143  } /* pcre2_compile.c:861:22 */
  9144  
  9145  // ************************************************
  9146  //
  9147  //               Copy compiled code               *
  9148  //
  9149  
  9150  // Compiled JIT code cannot be copied, so the new compiled block has no
  9151  // associated JIT data.
  9152  
  9153  func Xpcre2_code_copy_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1193:27: */
  9154  	var ref_count uintptr
  9155  	var newcode uintptr
  9156  
  9157  	if code == uintptr(0) {
  9158  		return uintptr(0)
  9159  	}
  9160  	newcode = (*struct {
  9161  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9162  	})(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)
  9163  	if newcode == uintptr(0) {
  9164  		return uintptr(0)
  9165  	}
  9166  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9167  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9168  
  9169  	// If the code is one that has been deserialized, increment the reference count
  9170  	// in the decoded tables.
  9171  
  9172  	if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9173  		ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9174  		*(*Tsize_t)(unsafe.Pointer(ref_count))++
  9175  	}
  9176  
  9177  	return newcode
  9178  }
  9179  
  9180  // ************************************************
  9181  //
  9182  //     Copy compiled code and character tables    *
  9183  //
  9184  
  9185  // Compiled JIT code cannot be copied, so the new compiled block has no
  9186  // associated JIT data. This version of code_copy also makes a separate copy of
  9187  // the character tables.
  9188  
  9189  func Xpcre2_code_copy_with_tables_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1227:27: */
  9190  	var ref_count uintptr
  9191  	var newcode uintptr
  9192  	var newtables uintptr
  9193  
  9194  	if code == uintptr(0) {
  9195  		return uintptr(0)
  9196  	}
  9197  	newcode = (*struct {
  9198  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9199  	})(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)
  9200  	if newcode == uintptr(0) {
  9201  		return uintptr(0)
  9202  	}
  9203  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9204  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9205  
  9206  	newtables = (*struct {
  9207  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9208  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, uint32(Dcbits_offset+Dcbit_length+256)+uint32(unsafe.Sizeof(Tsize_t(0))),
  9209  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9210  	if newtables == uintptr(0) {
  9211  		(*struct {
  9212  			f func(*libc.TLS, uintptr, uintptr)
  9213  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, newcode, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9214  		return uintptr(0)
  9215  	}
  9216  	libc.Xmemcpy(tls, newtables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, uint32(Dcbits_offset+Dcbit_length+256))
  9217  	ref_count = newtables + uintptr(Dcbits_offset+Dcbit_length+256)
  9218  	*(*Tsize_t)(unsafe.Pointer(ref_count)) = Tsize_t(1)
  9219  
  9220  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Ftables = newtables
  9221  	*(*Tuint32_t)(unsafe.Pointer(newcode + 72)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
  9222  	return newcode
  9223  }
  9224  
  9225  // ************************************************
  9226  //
  9227  //               Free compiled code               *
  9228  //
  9229  
  9230  func Xpcre2_code_free_8(tls *libc.TLS, code uintptr) { /* pcre2_compile.c:1263:1: */
  9231  	var ref_count uintptr
  9232  
  9233  	if code != uintptr(0) {
  9234  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit != uintptr(0) {
  9235  			X_pcre2_jit_free_8(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit, code)
  9236  		}
  9237  
  9238  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9239  			// Decoded tables belong to the codes after deserialization, and they must
  9240  			//     be freed when there are no more references to them. The *ref_count should
  9241  			//     always be > 0.
  9242  
  9243  			ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9244  			if *(*Tsize_t)(unsafe.Pointer(ref_count)) > Tsize_t(0) {
  9245  				*(*Tsize_t)(unsafe.Pointer(ref_count))--
  9246  				if *(*Tsize_t)(unsafe.Pointer(ref_count)) == Tsize_t(0) {
  9247  					(*struct {
  9248  						f func(*libc.TLS, uintptr, uintptr)
  9249  					})(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)
  9250  				}
  9251  			}
  9252  		}
  9253  
  9254  		(*struct {
  9255  			f func(*libc.TLS, uintptr, uintptr)
  9256  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9257  	}
  9258  }
  9259  
  9260  // ************************************************
  9261  //
  9262  //         Read a number, possibly signed         *
  9263  //
  9264  
  9265  // This function is used to read numbers in the pattern. The initial pointer
  9266  // must be the sign or first digit of the number. When relative values (introduced
  9267  // by + or -) are allowed, they are relative group numbers, and the result must be
  9268  // greater than zero.
  9269  //
  9270  // Arguments:
  9271  //   ptrptr      points to the character pointer variable
  9272  //   ptrend      points to the end of the input string
  9273  //   allow_sign  if < 0, sign not allowed; if >= 0, sign is relative to this
  9274  //   max_value   the largest number allowed
  9275  //   max_error   the error to give for an over-large number
  9276  //   intptr      where to put the result
  9277  //   errcodeptr  where to put an error code
  9278  //
  9279  // Returns:      TRUE  - a number was read
  9280  //               FALSE - errorcode == 0 => no number was found
  9281  //                       errorcode != 0 => an error occurred
  9282  
  9283  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: */
  9284  	var sign int32
  9285  	var n Tuint32_t
  9286  	var ptr TPCRE2_SPTR8
  9287  	var yield TBOOL
  9288  	sign = 0
  9289  	n = Tuint32_t(0)
  9290  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9291  	yield = DFALSE
  9292  
  9293  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9294  
  9295  	if !(allow_sign >= 0 && ptr < ptrend) {
  9296  		goto __1
  9297  	}
  9298  
  9299  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\053') {
  9300  		goto __2
  9301  	}
  9302  
  9303  	sign = +1
  9304  	max_value = max_value - Tuint32_t(allow_sign)
  9305  	ptr++
  9306  	goto __3
  9307  __2:
  9308  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\055') {
  9309  		goto __4
  9310  	}
  9311  
  9312  	sign = -1
  9313  	ptr++
  9314  __4:
  9315  	;
  9316  __3:
  9317  	;
  9318  __1:
  9319  	;
  9320  
  9321  	if !(ptr >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9322  		goto __5
  9323  	}
  9324  	return DFALSE
  9325  __5:
  9326  	;
  9327  __6:
  9328  	if !(ptr < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9329  		goto __7
  9330  	}
  9331  
  9332  	n = n*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) - Tuint32_t('\060')
  9333  	if !(n > max_value) {
  9334  		goto __8
  9335  	}
  9336  
  9337  	*(*int32)(unsafe.Pointer(errorcodeptr)) = int32(max_error)
  9338  	goto EXIT
  9339  __8:
  9340  	;
  9341  	goto __6
  9342  __7:
  9343  	;
  9344  
  9345  	if !(allow_sign >= 0 && sign != 0) {
  9346  		goto __9
  9347  	}
  9348  
  9349  	if !(n == Tuint32_t(0)) {
  9350  		goto __10
  9351  	}
  9352  
  9353  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR26 // +0 and -0 are not allowed
  9354  	goto EXIT
  9355  __10:
  9356  	;
  9357  
  9358  	if !(sign > 0) {
  9359  		goto __11
  9360  	}
  9361  	n = n + Tuint32_t(allow_sign)
  9362  	goto __12
  9363  __11:
  9364  	if !(int32(n) > allow_sign) {
  9365  		goto __13
  9366  	}
  9367  
  9368  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
  9369  	goto EXIT
  9370  	goto __14
  9371  __13:
  9372  	n = Tuint32_t(allow_sign+1) - n
  9373  __14:
  9374  	;
  9375  __12:
  9376  	;
  9377  __9:
  9378  	;
  9379  
  9380  	yield = DTRUE
  9381  
  9382  EXIT:
  9383  	*(*int32)(unsafe.Pointer(intptr)) = int32(n)
  9384  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
  9385  	return yield
  9386  }
  9387  
  9388  // ************************************************
  9389  //
  9390  //         Read repeat counts                     *
  9391  //
  9392  
  9393  // Read an item of the form {n,m} and return the values if non-NULL pointers
  9394  // are supplied. Repeat counts must be less than 65536 (MAX_REPEAT_COUNT); a
  9395  // larger value is used for "unlimited". We have to use signed arguments for
  9396  // read_number() because it is capable of returning a signed value.
  9397  //
  9398  // Arguments:
  9399  //   ptrptr         points to pointer to character after'{'
  9400  //   ptrend         pointer to end of input
  9401  //   minp           if not NULL, pointer to int for min
  9402  //   maxp           if not NULL, pointer to int for max (-1 if no max)
  9403  //                  returned as -1 if no max
  9404  //   errorcodeptr   points to error code variable
  9405  //
  9406  // Returns:         FALSE if not a repeat quantifier, errorcode set zero
  9407  //                  FALSE on error, with errorcode set non-zero
  9408  //                  TRUE on success, with pointer updated to point after '}'
  9409  
  9410  func read_repeat_counts(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, minp uintptr, maxp uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1403:1: */
  9411  	bp := tls.Alloc(12)
  9412  	defer tls.Free(12)
  9413  
  9414  	// var p TPCRE2_SPTR8 at bp, 4
  9415  
  9416  	var yield TBOOL
  9417  	var had_comma TBOOL
  9418  	// var min Tint32_t at bp+4, 4
  9419  
  9420  	// var max Tint32_t at bp+8, 4
  9421  
  9422  	var c Tuint32_t
  9423  	yield = DFALSE
  9424  	had_comma = DFALSE
  9425  	*(*Tint32_t)(unsafe.Pointer(bp + 4 /* min */)) = 0
  9426  	*(*Tint32_t)(unsafe.Pointer(bp + 8 /* max */)) = int32(DMAX_REPEAT_COUNT + uint32(1)) // This value is larger than MAX_REPEAT_COUNT
  9427  
  9428  	// Check the syntax
  9429  
  9430  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9431  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9432  __1:
  9433  	;
  9434  
  9435  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) >= ptrend) {
  9436  		goto __4
  9437  	}
  9438  	return DFALSE
  9439  __4:
  9440  	;
  9441  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)))))
  9442  	if !(c >= Tuint32_t('\060') && c <= Tuint32_t('\071')) {
  9443  		goto __5
  9444  	}
  9445  	goto __2
  9446  __5:
  9447  	;
  9448  	if !(c == Tuint32_t('\175')) {
  9449  		goto __6
  9450  	}
  9451  	goto __3
  9452  __6:
  9453  	;
  9454  	if !(c == Tuint32_t('\054')) {
  9455  		goto __7
  9456  	}
  9457  
  9458  	if !(had_comma != 0) {
  9459  		goto __9
  9460  	}
  9461  	return DFALSE
  9462  __9:
  9463  	;
  9464  	had_comma = DTRUE
  9465  	goto __8
  9466  __7:
  9467  	return DFALSE
  9468  __8:
  9469  	;
  9470  	goto __2
  9471  __2:
  9472  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9473  	goto __1
  9474  	goto __3
  9475  __3:
  9476  	;
  9477  
  9478  	// The only error from read_number() is for a number that is too big.
  9479  
  9480  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9481  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+4, errorcodeptr) != 0) {
  9482  		goto __10
  9483  	}
  9484  	goto EXIT
  9485  __10:
  9486  	;
  9487  
  9488  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
  9489  		goto __11
  9490  	}
  9491  
  9492  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9493  	*(*Tint32_t)(unsafe.Pointer(bp + 8 /* max */)) = *(*Tint32_t)(unsafe.Pointer(bp + 4 /* min */))
  9494  	goto __12
  9495  __11:
  9496  
  9497  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)), 1)))) != '\175') {
  9498  		goto __13
  9499  	}
  9500  
  9501  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+8,
  9502  		errorcodeptr) != 0) {
  9503  		goto __14
  9504  	}
  9505  	goto EXIT
  9506  __14:
  9507  	;
  9508  	if !(*(*Tint32_t)(unsafe.Pointer(bp + 8)) < *(*Tint32_t)(unsafe.Pointer(bp + 4))) {
  9509  		goto __15
  9510  	}
  9511  
  9512  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR4
  9513  	goto EXIT
  9514  __15:
  9515  	;
  9516  __13:
  9517  	;
  9518  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9519  __12:
  9520  	;
  9521  
  9522  	yield = DTRUE
  9523  	if !(minp != uintptr(0)) {
  9524  		goto __16
  9525  	}
  9526  	*(*Tuint32_t)(unsafe.Pointer(minp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 4 /* min */)))
  9527  __16:
  9528  	;
  9529  	if !(maxp != uintptr(0)) {
  9530  		goto __17
  9531  	}
  9532  	*(*Tuint32_t)(unsafe.Pointer(maxp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 8 /* max */)))
  9533  __17:
  9534  	;
  9535  
  9536  	// Update the pattern pointer
  9537  
  9538  EXIT:
  9539  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))
  9540  	return yield
  9541  }
  9542  
  9543  // ************************************************
  9544  //
  9545  //            Handle escapes                      *
  9546  //
  9547  
  9548  // This function is called when a \ has been encountered. It either returns a
  9549  // positive value for a simple escape such as \d, or 0 for a data character, which
  9550  // is placed in chptr. A backreference to group n is returned as negative n. On
  9551  // entry, ptr is pointing at the character after \. On exit, it points after the
  9552  // final code unit of the escape sequence.
  9553  //
  9554  // This function is also called from pcre2_substitute() to handle escape sequences
  9555  // in replacement strings. In this case, the cb argument is NULL, and in the case
  9556  // of escapes that have further processing, only sequences that define a data
  9557  // character are recognised. The isclass argument is not relevant; the options
  9558  // argument is the final value of the compiled pattern's options.
  9559  //
  9560  // Arguments:
  9561  //   ptrptr         points to the input position pointer
  9562  //   ptrend         points to the end of the input
  9563  //   chptr          points to a returned data character
  9564  //   errorcodeptr   points to the errorcode variable (containing zero)
  9565  //   options        the current options bits
  9566  //   isclass        TRUE if inside a character class
  9567  //   cb             compile data block or NULL when called from pcre2_substitute()
  9568  //
  9569  // Returns:         zero => a data character
  9570  //                  positive => a special escape sequence
  9571  //                  negative => a numerical back reference
  9572  //                  on error, errorcodeptr is set non-zero
  9573  
  9574  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: */
  9575  	bp := tls.Alloc(16)
  9576  	defer tls.Free(16)
  9577  
  9578  	var utf TBOOL
  9579  	// var ptr TPCRE2_SPTR8 at bp+12, 4
  9580  
  9581  	var c Tuint32_t
  9582  	var cc Tuint32_t
  9583  	var escape int32
  9584  	var i int32
  9585  	// var p TPCRE2_SPTR8 at bp, 4
  9586  
  9587  	var hptr TPCRE2_SPTR8
  9588  	var xc Tuint32_t
  9589  	// var p1 TPCRE2_SPTR8 at bp+4, 4
  9590  
  9591  	var xc1 Tuint32_t
  9592  	// var s int32 at bp+8, 4
  9593  
  9594  	var oldptr TPCRE2_SPTR8
  9595  	var overflow TBOOL
  9596  	var alt_bsux TBOOL
  9597  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
  9598  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9599  	escape = 0
  9600  
  9601  	// If backslash is at the end of the string, it's an error.
  9602  
  9603  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend) {
  9604  		goto __1
  9605  	}
  9606  
  9607  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR1
  9608  	return 0
  9609  __1:
  9610  	;
  9611  
  9612  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)), 1))))
  9613  	if !(utf != 0 && c >= 0xc0) {
  9614  		goto __2
  9615  	}
  9616  	if !(c&0x20 == Tuint32_t(0)) {
  9617  		goto __3
  9618  	}
  9619  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1))))&0x3f
  9620  	goto __4
  9621  __3:
  9622  	if !(c&0x10 == Tuint32_t(0)) {
  9623  		goto __5
  9624  	}
  9625  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1)))&0x3f
  9626  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(2)
  9627  	goto __6
  9628  __5:
  9629  	if !(c&0x08 == Tuint32_t(0)) {
  9630  		goto __7
  9631  	}
  9632  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 2)))&0x3f
  9633  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(3)
  9634  	goto __8
  9635  __7:
  9636  	if !(c&0x04 == Tuint32_t(0)) {
  9637  		goto __9
  9638  	}
  9639  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 3)))&0x3f
  9640  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(4)
  9641  	goto __10
  9642  __9:
  9643  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 4)))&0x3f
  9644  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(5)
  9645  __10:
  9646  	;
  9647  __8:
  9648  	;
  9649  __6:
  9650  	;
  9651  __4:
  9652  	;
  9653  __2:
  9654  	;
  9655  
  9656  	// Get character value, increment pointer
  9657  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0 // Be optimistic
  9658  
  9659  	// Non-alphanumerics are literals, so we just leave the value in c. An initial
  9660  	// value test saves a memory lookup for code points outside the alphanumeric
  9661  	// range.
  9662  
  9663  	if !(c < Tuint32_t('\060') || c > Tuint32_t('\172')) {
  9664  		goto __11
  9665  	}
  9666  	goto __12
  9667  __11:
  9668  	if !(libc.AssignInt32(&i, int32(escapes[c-Tuint32_t('\060')])) != 0) {
  9669  		goto __13
  9670  	}
  9671  
  9672  	if !(i > 0) {
  9673  		goto __15
  9674  	}
  9675  
  9676  	c = Tuint32_t(i)
  9677  	if !(c == Tuint32_t('\015') && extra_options&DPCRE2_EXTRA_ESCAPED_CR_IS_LF != Tuint32_t(0)) {
  9678  		goto __17
  9679  	}
  9680  	c = Tuint32_t('\012')
  9681  __17:
  9682  	;
  9683  	goto __16
  9684  __15: /* Negative table entry */
  9685  
  9686  	escape = -i // Else return a special escape
  9687  	if !(cb != uintptr(0) && (escape == ESC_P || escape == ESC_p || escape == ESC_X)) {
  9688  		goto __18
  9689  	}
  9690  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASBKPORX)
  9691  __18:
  9692  	; // Note \P, \p, or \X
  9693  
  9694  	// Perl supports \N{name} for character names and \N{U+dddd} for numerical
  9695  	//     Unicode code points, as well as plain \N for "not newline". PCRE does not
  9696  	//     support \N{name}. However, it does support quantification such as \N{2,3},
  9697  	//     so if \N{ is not followed by U+dddd we check for a quantifier.
  9698  
  9699  	if !(escape == ESC_N && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\173') {
  9700  		goto __19
  9701  	}
  9702  
  9703  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + uintptr(1)
  9704  
  9705  	// \N{U+ can be handled by the \x{ code. However, this construction is
  9706  	//       not valid in EBCDIC environments because it specifies a Unicode
  9707  	//       character, not a codepoint in the local code. For example \N{U+0041}
  9708  	//       must be "A" in all environments. Also, in Perl, \N{U+ forces Unicode
  9709  	//       casing semantics for the entire pattern, so allow it only in UTF (i.e.
  9710  	//       Unicode) mode.
  9711  
  9712  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))/1 > 1 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\125' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\053') {
  9713  		goto __20
  9714  	}
  9715  
  9716  	if !(utf != 0) {
  9717  		goto __22
  9718  	}
  9719  
  9720  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + uintptr(1)
  9721  	escape = 0 // Not a fancy escape after all
  9722  	goto COME_FROM_NU
  9723  	goto __23
  9724  __22:
  9725  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR93
  9726  __23:
  9727  	;
  9728  	goto __21
  9729  __20:
  9730  
  9731  	if !(!(read_repeat_counts(tls, bp, ptrend, uintptr(0), uintptr(0), errorcodeptr) != 0) && *(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
  9732  		goto __24
  9733  	}
  9734  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9735  __24:
  9736  	;
  9737  __21:
  9738  	;
  9739  __19:
  9740  	;
  9741  __16:
  9742  	;
  9743  	goto __14
  9744  __13:
  9745  	alt_bsux =
  9746  		libc.Bool32(options&DPCRE2_ALT_BSUX|extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0))
  9747  
  9748  	// Filter calls from pcre2_substitute().
  9749  
  9750  	if !(cb == uintptr(0)) {
  9751  		goto __25
  9752  	}
  9753  
  9754  	if !(c != Tuint32_t('\143') && c != Tuint32_t('\157') && c != Tuint32_t('\170')) {
  9755  		goto __26
  9756  	}
  9757  
  9758  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
  9759  	return 0
  9760  __26:
  9761  	;
  9762  	alt_bsux = DFALSE // Do not modify \x handling
  9763  __25:
  9764  	;
  9765  
  9766  	switch c {
  9767  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9768  	//     error.
  9769  
  9770  	case Tuint32_t('\106'):
  9771  		goto __28
  9772  	case Tuint32_t('\154'):
  9773  		goto __29
  9774  	case Tuint32_t('\114'):
  9775  		goto __30
  9776  
  9777  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9778  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9779  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9780  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9781  	//     ECMAScript (aka JavaScript).
  9782  
  9783  	case Tuint32_t('\165'):
  9784  		goto __31
  9785  
  9786  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
  9787  	//     in which case it is an upper case letter.
  9788  
  9789  	case Tuint32_t('\125'):
  9790  		goto __32
  9791  
  9792  	// In a character class, \g is just a literal "g". Outside a character
  9793  	//     class, \g must be followed by one of a number of specific things:
  9794  	//
  9795  	//     (1) A number, either plain or braced. If positive, it is an absolute
  9796  	//     backreference. If negative, it is a relative backreference. This is a Perl
  9797  	//     5.10 feature.
  9798  	//
  9799  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
  9800  	//     is part of Perl's movement towards a unified syntax for back references. As
  9801  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
  9802  	//     was \k{name}.
  9803  	//
  9804  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
  9805  	//     number either in angle brackets or in single quotes. However, these are
  9806  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
  9807  	//     the ESC_g code.
  9808  	//
  9809  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
  9810  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
  9811  	//
  9812  
  9813  	case Tuint32_t('\147'):
  9814  		goto __33
  9815  
  9816  	// The handling of escape sequences consisting of a string of digits
  9817  	//     starting with one that is not zero is not straightforward. Perl has changed
  9818  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
  9819  	//     recommended to avoid the ambiguities in the old syntax.
  9820  	//
  9821  	//     Outside a character class, the digits are read as a decimal number. If the
  9822  	//     number is less than 10, or if there are that many previous extracting left
  9823  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
  9824  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
  9825  	//     (cf \0123, which is octal 012 followed by the literal 3).
  9826  	//
  9827  	//     Inside a character class, \ followed by a digit is always either a literal
  9828  	//     8 or 9 or an octal number.
  9829  
  9830  	case Tuint32_t('\061'):
  9831  		goto __34
  9832  	case Tuint32_t('\062'):
  9833  		goto __35
  9834  	case Tuint32_t('\063'):
  9835  		goto __36
  9836  	case Tuint32_t('\064'):
  9837  		goto __37
  9838  	case Tuint32_t('\065'):
  9839  		goto __38
  9840  	case Tuint32_t('\066'):
  9841  		goto __39
  9842  	case Tuint32_t('\067'):
  9843  		goto __40
  9844  	case Tuint32_t('\070'):
  9845  		goto __41
  9846  	case Tuint32_t('\071'):
  9847  		goto __42
  9848  
  9849  	// Fall through
  9850  
  9851  	// \0 always starts an octal number, but we may drop through to here with a
  9852  	//     larger first octal digit. The original code used just to take the least
  9853  	//     significant 8 bits of octal numbers (I think this is what early Perls used
  9854  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
  9855  	//     but no more than 3 octal digits.
  9856  
  9857  	case Tuint32_t('\060'):
  9858  		goto __43
  9859  
  9860  	// \o is a relatively new Perl feature, supporting a more general way of
  9861  	//     specifying character codes in octal. The only supported form is \o{ddd}.
  9862  
  9863  	case Tuint32_t('\157'):
  9864  		goto __44
  9865  
  9866  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
  9867  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
  9868  
  9869  	case Tuint32_t('\170'):
  9870  		goto __45
  9871  
  9872  	// The handling of \c is different in ASCII and EBCDIC environments. In an
  9873  	//     ASCII (or Unicode) environment, an error is given if the character
  9874  	//     following \c is not a printable ASCII character. Otherwise, the following
  9875  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
  9876  	//     flipped. The result is the value of the escape.
  9877  	//
  9878  	//     In an EBCDIC environment the handling of \c is compatible with the
  9879  	//     specification in the perlebcdic document. The following character must be
  9880  	//     a letter or one of small number of special characters. These provide a
  9881  	//     means of defining the character values 0-31.
  9882  	//
  9883  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
  9884  	//     the EBCDIC value of 'c' explicitly.
  9885  
  9886  	case Tuint32_t('\143'):
  9887  		goto __46
  9888  
  9889  	// Any other alphanumeric following \ is an error. Perl gives an error only
  9890  	//     if in warning mode, but PCRE doesn't have a warning mode.
  9891  
  9892  	default:
  9893  		goto __47
  9894  	}
  9895  	goto __27
  9896  
  9897  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9898  	//     error.
  9899  
  9900  __28:
  9901  __29:
  9902  __30:
  9903  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9904  	goto __27
  9905  
  9906  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9907  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9908  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9909  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9910  	//     ECMAScript (aka JavaScript).
  9911  
  9912  __31:
  9913  	if !!(alt_bsux != 0) {
  9914  		goto __48
  9915  	}
  9916  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9917  	goto __49
  9918  __48:
  9919  
  9920  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend) {
  9921  		goto __50
  9922  	}
  9923  	goto __27
  9924  __50:
  9925  	;
  9926  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\173' && extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0)) {
  9927  		goto __51
  9928  	}
  9929  
  9930  	hptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + uintptr(1)
  9931  	cc = Tuint32_t(0)
  9932  
  9933  __53:
  9934  	if !(hptr < ptrend && libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))])) != Tuint32_t(0xff)) {
  9935  		goto __54
  9936  	}
  9937  
  9938  	if !(cc&0xf0000000 != Tuint32_t(0)) {
  9939  		goto __55
  9940  	} /* Test for 32-bit overflow */
  9941  
  9942  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
  9943  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = hptr // Show where
  9944  	goto __54                                                  // *hptr != } will cause another break below
  9945  __55:
  9946  	;
  9947  	cc = cc<<4 | xc
  9948  	hptr++
  9949  	goto __53
  9950  __54:
  9951  	;
  9952  
  9953  	if !(hptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))+uintptr(1) || hptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))) != '\175') {
  9954  		goto __56
  9955  	} // No } terminator
  9956  	goto __27
  9957  __56:
  9958  	; // Hex escape not recognized
  9959  
  9960  	c = cc // Accept the code point
  9961  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = hptr + uintptr(1)
  9962  	goto __52
  9963  __51: /* Must be exactly 4 hex digits */
  9964  
  9965  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))/1 < 4) {
  9966  		goto __57
  9967  	}
  9968  	goto __27
  9969  __57:
  9970  	; // Less than 4 chars
  9971  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))])) == Tuint32_t(0xff)) {
  9972  		goto __58
  9973  	}
  9974  	goto __27
  9975  __58:
  9976  	; // Not a hex digit
  9977  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1))])) == Tuint32_t(0xff)) {
  9978  		goto __59
  9979  	}
  9980  	goto __27
  9981  __59:
  9982  	; // Not a hex digit
  9983  	cc = cc<<4 | xc
  9984  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 2))])) == Tuint32_t(0xff)) {
  9985  		goto __60
  9986  	}
  9987  	goto __27
  9988  __60:
  9989  	; // Not a hex digit
  9990  	cc = cc<<4 | xc
  9991  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 3))])) == Tuint32_t(0xff)) {
  9992  		goto __61
  9993  	}
  9994  	goto __27
  9995  __61:
  9996  	; // Not a hex digit
  9997  	c = cc<<4 | xc
  9998  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(4)
  9999  __52:
 10000  	;
 10001  
 10002  	if !(utf != 0) {
 10003  		goto __62
 10004  	}
 10005  
 10006  	if !(c > 0x10ffff) {
 10007  		goto __64
 10008  	}
 10009  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10010  	goto __65
 10011  __64:
 10012  	if !(c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10013  		goto __66
 10014  	}
 10015  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10016  __66:
 10017  	;
 10018  __65:
 10019  	;
 10020  	goto __63
 10021  __62:
 10022  	if !(c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10023  		goto __67
 10024  	}
 10025  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10026  __67:
 10027  	;
 10028  __63:
 10029  	;
 10030  __49:
 10031  	;
 10032  	goto __27
 10033  
 10034  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
 10035  	//     in which case it is an upper case letter.
 10036  
 10037  __32:
 10038  	if !!(alt_bsux != 0) {
 10039  		goto __68
 10040  	}
 10041  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
 10042  __68:
 10043  	;
 10044  	goto __27
 10045  
 10046  	// In a character class, \g is just a literal "g". Outside a character
 10047  	//     class, \g must be followed by one of a number of specific things:
 10048  	//
 10049  	//     (1) A number, either plain or braced. If positive, it is an absolute
 10050  	//     backreference. If negative, it is a relative backreference. This is a Perl
 10051  	//     5.10 feature.
 10052  	//
 10053  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
 10054  	//     is part of Perl's movement towards a unified syntax for back references. As
 10055  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
 10056  	//     was \k{name}.
 10057  	//
 10058  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
 10059  	//     number either in angle brackets or in single quotes. However, these are
 10060  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
 10061  	//     the ESC_g code.
 10062  	//
 10063  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
 10064  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
 10065  	//
 10066  
 10067  __33:
 10068  	if !(isclass != 0) {
 10069  		goto __69
 10070  	}
 10071  	goto __27
 10072  __69:
 10073  	;
 10074  
 10075  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend) {
 10076  		goto __70
 10077  	}
 10078  
 10079  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10080  	goto __27
 10081  __70:
 10082  	;
 10083  
 10084  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\074' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\047') {
 10085  		goto __71
 10086  	}
 10087  
 10088  	escape = ESC_g
 10089  	goto __27
 10090  __71:
 10091  	;
 10092  
 10093  	// If there is a brace delimiter, try to read a numerical reference. If
 10094  	//     there isn't one, assume we have a name and treat it as \k.
 10095  
 10096  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\173') {
 10097  		goto __72
 10098  	}
 10099  
 10100  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* p1 */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + uintptr(1)
 10101  	if !!(read_number(tls, bp+4, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+8,
 10102  		errorcodeptr) != 0) {
 10103  		goto __74
 10104  	}
 10105  
 10106  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10107  		goto __75
 10108  	}
 10109  	escape = ESC_k
 10110  __75:
 10111  	; // No number found
 10112  	goto __27
 10113  __74:
 10114  	;
 10115  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\175') {
 10116  		goto __76
 10117  	}
 10118  
 10119  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10120  	goto __27
 10121  __76:
 10122  	;
 10123  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + uintptr(1)
 10124  	goto __73
 10125  __72:
 10126  
 10127  	if !!(read_number(tls, bp+12, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+8,
 10128  		errorcodeptr) != 0) {
 10129  		goto __77
 10130  	}
 10131  
 10132  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10133  		goto __78
 10134  	}
 10135  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10136  __78:
 10137  	; // No number found
 10138  	goto __27
 10139  __77:
 10140  	;
 10141  __73:
 10142  	;
 10143  
 10144  	if !(*(*int32)(unsafe.Pointer(bp + 8)) <= 0) {
 10145  		goto __79
 10146  	}
 10147  
 10148  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 10149  	goto __27
 10150  __79:
 10151  	;
 10152  
 10153  	escape = -*(*int32)(unsafe.Pointer(bp + 8 /* s */))
 10154  	goto __27
 10155  
 10156  	// The handling of escape sequences consisting of a string of digits
 10157  	//     starting with one that is not zero is not straightforward. Perl has changed
 10158  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
 10159  	//     recommended to avoid the ambiguities in the old syntax.
 10160  	//
 10161  	//     Outside a character class, the digits are read as a decimal number. If the
 10162  	//     number is less than 10, or if there are that many previous extracting left
 10163  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
 10164  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
 10165  	//     (cf \0123, which is octal 012 followed by the literal 3).
 10166  	//
 10167  	//     Inside a character class, \ followed by a digit is always either a literal
 10168  	//     8 or 9 or an octal number.
 10169  
 10170  __34:
 10171  __35:
 10172  __36:
 10173  __37:
 10174  __38:
 10175  __39:
 10176  __40:
 10177  __41:
 10178  __42:
 10179  
 10180  	if !!(isclass != 0) {
 10181  		goto __80
 10182  	}
 10183  
 10184  	oldptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))
 10185  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))-- // Back to the digit
 10186  
 10187  	// As we know we are at a digit, the only possible error from
 10188  	//       read_number() is a number that is too large to be a group number. In this
 10189  	//       case we fall through handle this as not a group reference. If we have
 10190  	//       read a small enough number, check for a back reference.
 10191  	//
 10192  	//       \1 to \9 are always back references. \8x and \9x are too; \1x to \7x
 10193  	//       are octal escapes if there are not that many previous captures.
 10194  
 10195  	if !(read_number(tls, bp+12, ptrend, -1, uint32(0x7fffffff/10-1), uint32(0), bp+8, errorcodeptr) != 0 && (*(*int32)(unsafe.Pointer(bp + 8)) < 10 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(oldptr + libc.UintptrFromInt32(-1)))) >= '\070' || *(*int32)(unsafe.Pointer(bp + 8)) <= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount))) {
 10196  		goto __81
 10197  	}
 10198  
 10199  	if !(*(*int32)(unsafe.Pointer(bp + 8)) > int32(DMAX_GROUP_NUMBER)) {
 10200  		goto __82
 10201  	}
 10202  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 10203  	goto __83
 10204  __82:
 10205  	escape = -*(*int32)(unsafe.Pointer(bp + 8 /* s */))
 10206  __83:
 10207  	; // Indicates a back reference
 10208  	goto __27
 10209  __81:
 10210  	;
 10211  
 10212  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) = oldptr // Put the pointer back and fall through
 10213  __80:
 10214  	;
 10215  
 10216  	// Handle a digit following \ when the number is not a back reference, or
 10217  	//     we are within a character class. If the first digit is 8 or 9, Perl used to
 10218  	//     generate a binary zero and then treat the digit as a following literal. At
 10219  	//     least by Perl 5.18 this changed so as not to insert the binary zero.
 10220  
 10221  	if !(c >= Tuint32_t('\070')) {
 10222  		goto __84
 10223  	}
 10224  	goto __27
 10225  __84:
 10226  	;
 10227  
 10228  	// Fall through
 10229  
 10230  	// \0 always starts an octal number, but we may drop through to here with a
 10231  	//     larger first octal digit. The original code used just to take the least
 10232  	//     significant 8 bits of octal numbers (I think this is what early Perls used
 10233  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
 10234  	//     but no more than 3 octal digits.
 10235  
 10236  __43:
 10237  	c = c - Tuint32_t('\060')
 10238  __85:
 10239  	if !(libc.PostIncInt32(&i, 1) < 2 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) <= '\067') {
 10240  		goto __86
 10241  	}
 10242  	c = c*Tuint32_t(8) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1)))) - Tuint32_t('\060')
 10243  	goto __85
 10244  __86:
 10245  	;
 10246  	if !(!(utf != 0) && c > Tuint32_t(0xff)) {
 10247  		goto __87
 10248  	}
 10249  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR51
 10250  __87:
 10251  	;
 10252  	goto __27
 10253  
 10254  	// \o is a relatively new Perl feature, supporting a more general way of
 10255  	//     specifying character codes in octal. The only supported form is \o{ddd}.
 10256  
 10257  __44:
 10258  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1)))) != '\173') {
 10259  		goto __88
 10260  	}
 10261  
 10262  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))--
 10263  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR55
 10264  	goto __89
 10265  __88:
 10266  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\175') {
 10267  		goto __90
 10268  	}
 10269  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10270  	goto __91
 10271  __90:
 10272  
 10273  	c = Tuint32_t(0)
 10274  	overflow = DFALSE
 10275  __92:
 10276  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) <= '\067') {
 10277  		goto __93
 10278  	}
 10279  
 10280  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)), 1))))
 10281  	if !(c == Tuint32_t(0) && cc == Tuint32_t('\060')) {
 10282  		goto __94
 10283  	}
 10284  	goto __92
 10285  __94:
 10286  	; // Leading zeroes
 10287  	c = c<<3 + (cc - Tuint32_t('\060'))
 10288  	if !(c > func() uint32 {
 10289  		if utf != 0 {
 10290  			return 0x10ffff
 10291  		}
 10292  		return 0xff
 10293  	}()) {
 10294  		goto __95
 10295  	}
 10296  	overflow = DTRUE
 10297  	goto __93
 10298  __95:
 10299  	;
 10300  	goto __92
 10301  __93:
 10302  	;
 10303  	if !(overflow != 0) {
 10304  		goto __96
 10305  	}
 10306  
 10307  __98:
 10308  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) <= '\067') {
 10309  		goto __99
 10310  	}
 10311  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10312  	goto __98
 10313  __99:
 10314  	;
 10315  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10316  	goto __97
 10317  __96:
 10318  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1)))) == '\175') {
 10319  		goto __100
 10320  	}
 10321  
 10322  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10323  		goto __102
 10324  	}
 10325  
 10326  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))--
 10327  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10328  __102:
 10329  	;
 10330  	goto __101
 10331  __100:
 10332  
 10333  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))--
 10334  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR64
 10335  __101:
 10336  	;
 10337  __97:
 10338  	;
 10339  __91:
 10340  	;
 10341  __89:
 10342  	;
 10343  	goto __27
 10344  
 10345  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
 10346  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
 10347  
 10348  __45:
 10349  	if !(alt_bsux != 0) {
 10350  		goto __103
 10351  	}
 10352  
 10353  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))/1 < 2) {
 10354  		goto __105
 10355  	}
 10356  	goto __27
 10357  __105:
 10358  	; // Less than 2 characters
 10359  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))])) == Tuint32_t(0xff)) {
 10360  		goto __106
 10361  	}
 10362  	goto __27
 10363  __106:
 10364  	; // Not a hex digit
 10365  	if !(libc.AssignUint32(&xc1, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) + 1))])) == Tuint32_t(0xff)) {
 10366  		goto __107
 10367  	}
 10368  	goto __27
 10369  __107:
 10370  	; // Not a hex digit
 10371  	c = cc<<4 | xc1
 10372  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)) += uintptr(2)
 10373  	goto __104
 10374  __103:
 10375  
 10376  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\173') {
 10377  		goto __108
 10378  	}
 10379  
 10380  COME_FROM_NU:
 10381  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))) == '\175') {
 10382  		goto __110
 10383  	}
 10384  
 10385  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10386  	goto __27
 10387  __110:
 10388  	;
 10389  	c = Tuint32_t(0)
 10390  	overflow = DFALSE
 10391  
 10392  __111:
 10393  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))])) != Tuint32_t(0xff)) {
 10394  		goto __112
 10395  	}
 10396  
 10397  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10398  	if !(c == Tuint32_t(0) && cc == Tuint32_t(0)) {
 10399  		goto __113
 10400  	}
 10401  	goto __111
 10402  __113:
 10403  	; // Leading zeroes
 10404  	c = c<<4 | cc
 10405  	if !(utf != 0 && c > 0x10ffff || !(utf != 0) && c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10406  		goto __114
 10407  	}
 10408  
 10409  	overflow = DTRUE
 10410  	goto __112
 10411  __114:
 10412  	;
 10413  	goto __111
 10414  __112:
 10415  	;
 10416  
 10417  	if !(overflow != 0) {
 10418  		goto __115
 10419  	}
 10420  
 10421  __117:
 10422  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))]) != 0xff) {
 10423  		goto __118
 10424  	}
 10425  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10426  	goto __117
 10427  __118:
 10428  	;
 10429  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10430  	goto __116
 10431  __115:
 10432  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)), 1)))) == '\175') {
 10433  		goto __119
 10434  	}
 10435  
 10436  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10437  		goto __121
 10438  	}
 10439  
 10440  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))--
 10441  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10442  __121:
 10443  	;
 10444  	goto __120
 10445  __119:
 10446  
 10447  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))--
 10448  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR67
 10449  __120:
 10450  	;
 10451  __116:
 10452  	;
 10453  	goto __109
 10454  __108:
 10455  
 10456  	c = Tuint32_t(0)
 10457  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))])) == Tuint32_t(0xff)) {
 10458  		goto __122
 10459  	}
 10460  	goto __27
 10461  __122:
 10462  	; // Not a hex digit
 10463  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10464  	c = cc
 10465  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12))))])) == Tuint32_t(0xff)) {
 10466  		goto __123
 10467  	}
 10468  	goto __27
 10469  __123:
 10470  	; // Not a hex digit
 10471  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10472  	c = c<<4 | cc
 10473  __109:
 10474  	; // End of \xdd handling
 10475  __104:
 10476  	; // End of Perl-style \x handling
 10477  	goto __27
 10478  
 10479  	// The handling of \c is different in ASCII and EBCDIC environments. In an
 10480  	//     ASCII (or Unicode) environment, an error is given if the character
 10481  	//     following \c is not a printable ASCII character. Otherwise, the following
 10482  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
 10483  	//     flipped. The result is the value of the escape.
 10484  	//
 10485  	//     In an EBCDIC environment the handling of \c is compatible with the
 10486  	//     specification in the perlebcdic document. The following character must be
 10487  	//     a letter or one of small number of special characters. These provide a
 10488  	//     means of defining the character values 0-31.
 10489  	//
 10490  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
 10491  	//     the EBCDIC value of 'c' explicitly.
 10492  
 10493  __46:
 10494  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) >= ptrend) {
 10495  		goto __124
 10496  	}
 10497  
 10498  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR2
 10499  	goto __27
 10500  __124:
 10501  	;
 10502  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */)))))
 10503  	if !(c >= Tuint32_t('\141') && c <= Tuint32_t('\172')) {
 10504  		goto __125
 10505  	}
 10506  	c = c - Tuint32_t(32)
 10507  __125:
 10508  	;
 10509  
 10510  	// Handle \c in an ASCII/Unicode environment.
 10511  
 10512  	if !(c < Tuint32_t(32) || c > Tuint32_t(126)) {
 10513  		goto __126
 10514  	} /* Excludes all non-printable ASCII */
 10515  
 10516  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR68
 10517  	goto __27
 10518  __126:
 10519  	;
 10520  	c = c ^ Tuint32_t(0x40)
 10521  
 10522  	// Handle \c in an EBCDIC environment. The special case \c? is converted to
 10523  	//     255 (0xff) or 95 (0x5f) if other characters suggest we are using the
 10524  	//     POSIX-BC encoding. (This is the way Perl indicates that it handles \c?.)
 10525  	//     The other valid sequences correspond to a list of specific characters.
 10526  
 10527  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))++
 10528  	goto __27
 10529  
 10530  	// Any other alphanumeric following \ is an error. Perl gives an error only
 10531  	//     if in warning mode, but PCRE doesn't have a warning mode.
 10532  
 10533  __47:
 10534  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
 10535  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12)) - uintptr(1) // Point to the character at fault
 10536  	return 0
 10537  __27:
 10538  	;
 10539  __14:
 10540  	;
 10541  __12:
 10542  	;
 10543  
 10544  	// Set the pointer to the next character before returning.
 10545  
 10546  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 12 /* ptr */))
 10547  	*(*Tuint32_t)(unsafe.Pointer(chptr)) = c
 10548  	return escape
 10549  }
 10550  
 10551  // ************************************************
 10552  //
 10553  //               Handle \P and \p                 *
 10554  //
 10555  
 10556  // This function is called after \P or \p has been encountered, provided that
 10557  // PCRE2 is compiled with support for UTF and Unicode properties. On entry, the
 10558  // contents of ptrptr are pointing after the P or p. On exit, it is left pointing
 10559  // after the final code unit of the escape sequence.
 10560  //
 10561  // Arguments:
 10562  //   ptrptr         the pattern position pointer
 10563  //   negptr         a boolean that is set TRUE for negation else FALSE
 10564  //   ptypeptr       an unsigned int that is set to the type value
 10565  //   pdataptr       an unsigned int that is set to the detailed property value
 10566  //   errorcodeptr   the error code variable
 10567  //   cb             the compile data
 10568  //
 10569  // Returns:         TRUE if the type value was found, or FALSE for an invalid type
 10570  
 10571  func get_ucp(tls *libc.TLS, ptrptr uintptr, negptr uintptr, ptypeptr uintptr, pdataptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2087:1: */
 10572  	bp := tls.Alloc(58)
 10573  	defer tls.Free(58)
 10574  
 10575  	var c TPCRE2_UCHAR8
 10576  	var i Tsize_t
 10577  	var bot Tsize_t
 10578  	var top Tsize_t
 10579  	var ptr TPCRE2_SPTR8
 10580  	// var name [50]TPCRE2_UCHAR8 at bp, 50
 10581  
 10582  	var vptr uintptr
 10583  	var ptscript Tuint16_t
 10584  	var offset int32
 10585  	// var sname [8]TPCRE2_UCHAR8 at bp+50, 8
 10586  
 10587  	var r int32
 10588  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10589  	vptr = uintptr(0)
 10590  	ptscript = Tuint16_t(DPT_NOTSCRIPT)
 10591  
 10592  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10593  		goto __1
 10594  	}
 10595  	goto ERROR_RETURN
 10596  __1:
 10597  	;
 10598  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10599  	*(*TBOOL)(unsafe.Pointer(negptr)) = DFALSE
 10600  
 10601  	// \P or \p can be followed by a name in {}, optionally preceded by ^ for
 10602  	// negation.
 10603  
 10604  	if !(int32(c) == '\173') {
 10605  		goto __2
 10606  	}
 10607  
 10608  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10609  		goto __4
 10610  	}
 10611  	goto ERROR_RETURN
 10612  __4:
 10613  	;
 10614  
 10615  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\136') {
 10616  		goto __5
 10617  	}
 10618  
 10619  	*(*TBOOL)(unsafe.Pointer(negptr)) = DTRUE
 10620  	ptr++
 10621  __5:
 10622  	;
 10623  
 10624  	i = Tsize_t(0)
 10625  __6:
 10626  	if !(i < Tsize_t(int32(uint32(unsafe.Sizeof([50]TPCRE2_UCHAR8{}))/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))-1)) {
 10627  		goto __8
 10628  	}
 10629  
 10630  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10631  		goto __9
 10632  	}
 10633  	goto ERROR_RETURN
 10634  __9:
 10635  	;
 10636  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10637  __10:
 10638  	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) {
 10639  		goto __11
 10640  	}
 10641  
 10642  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10643  		goto __12
 10644  	}
 10645  	goto ERROR_RETURN
 10646  __12:
 10647  	;
 10648  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10649  	goto __10
 10650  __11:
 10651  	;
 10652  	if !(int32(c) == 0) {
 10653  		goto __13
 10654  	}
 10655  	goto ERROR_RETURN
 10656  __13:
 10657  	;
 10658  	if !(int32(c) == '\175') {
 10659  		goto __14
 10660  	}
 10661  	goto __8
 10662  __14:
 10663  	;
 10664  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10665  	if !((int32(c) == ':' || int32(c) == '=') && vptr == uintptr(0)) {
 10666  		goto __15
 10667  	}
 10668  	vptr = bp + uintptr(i)
 10669  __15:
 10670  	;
 10671  	goto __7
 10672  __7:
 10673  	i++
 10674  	goto __6
 10675  	goto __8
 10676  __8:
 10677  	;
 10678  
 10679  	if !(int32(c) != '\175') {
 10680  		goto __16
 10681  	}
 10682  	goto ERROR_RETURN
 10683  __16:
 10684  	;
 10685  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(0)
 10686  	goto __3
 10687  __2:
 10688  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(c))))&Dctype_letter != 0) {
 10689  		goto __17
 10690  	}
 10691  
 10692  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10693  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 1)) = TPCRE2_UCHAR8(0)
 10694  	goto __18
 10695  __17:
 10696  	goto ERROR_RETURN
 10697  __18:
 10698  	;
 10699  __3:
 10700  	;
 10701  
 10702  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10703  
 10704  	// If the property contains ':' or '=' we have class name and value separately
 10705  	// specified. The following are supported:
 10706  	//
 10707  	//   . Bidi_Class (synonym bc), for which the property names are "bidi<name>".
 10708  	//   . Script (synonym sc) for which the property name is the script name
 10709  	//   . Script_Extensions (synonym scx), ditto
 10710  	//
 10711  	// As this is a small number, we currently just check the names directly. If this
 10712  	// grows, a sorted table and a switch will be neater.
 10713  	//
 10714  	// For both the script properties, set a PT_xxx value so that (1) they can be
 10715  	// distinguished and (2) invalid script names that happen to be the name of
 10716  	// another property can be diagnosed.
 10717  
 10718  	if !(vptr != uintptr(0)) {
 10719  		goto __19
 10720  	}
 10721  
 10722  	offset = 0
 10723  
 10724  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(vptr)) = TPCRE2_UCHAR8(0) // Terminate property name
 10725  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+553) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+563) == 0) {
 10726  		goto __20
 10727  	}
 10728  
 10729  	offset = 4
 10730  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50)) = TPCRE2_UCHAR8('\142')
 10731  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 1)) = TPCRE2_UCHAR8('\151') // There is no strcpy_c8 function
 10732  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 2)) = TPCRE2_UCHAR8('\144')
 10733  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 3)) = TPCRE2_UCHAR8('\151')
 10734  	goto __21
 10735  __20:
 10736  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+566) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+573) == 0) {
 10737  		goto __22
 10738  	}
 10739  	ptscript = Tuint16_t(DPT_SC)
 10740  	goto __23
 10741  __22:
 10742  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+576) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+593) == 0) {
 10743  		goto __24
 10744  	}
 10745  	ptscript = Tuint16_t(DPT_SCX)
 10746  	goto __25
 10747  __24:
 10748  
 10749  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47
 10750  	return DFALSE
 10751  __25:
 10752  	;
 10753  __23:
 10754  	;
 10755  __21:
 10756  	;
 10757  
 10758  	// Adjust the string in name[] as needed
 10759  
 10760  	libc.Xmemmove(tls, bp+uintptr(offset), vptr+uintptr(1), uint32((int32(bp+uintptr(i))-int32(vptr))/1)*uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10761  	if !(offset != 0) {
 10762  		goto __26
 10763  	}
 10764  	libc.Xmemmove(tls, bp, bp+50, uint32(offset)*uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10765  __26:
 10766  	;
 10767  __19:
 10768  	;
 10769  
 10770  	// Search for a recognized property using binary chop.
 10771  
 10772  	bot = Tsize_t(0)
 10773  	top = X_pcre2_utt_size_8
 10774  
 10775  __27:
 10776  	if !(bot < top) {
 10777  		goto __28
 10778  	}
 10779  
 10780  	i = (bot + top) >> 1
 10781  	r = X_pcre2_strcmp_c8_8(tls, bp, uintptr(unsafe.Pointer(&X_pcre2_utt_names_8))+uintptr(X_pcre2_utt_8[i].Fname_offset))
 10782  
 10783  	// When a matching property is found, some extra checking is needed when the
 10784  	//   \p{xx:yy} syntax is used and xx is either sc or scx.
 10785  
 10786  	if !(r == 0) {
 10787  		goto __29
 10788  	}
 10789  
 10790  	*(*Tuint16_t)(unsafe.Pointer(pdataptr)) = X_pcre2_utt_8[i].Fvalue
 10791  	if !(vptr == uintptr(0) || int32(ptscript) == DPT_NOTSCRIPT) {
 10792  		goto __30
 10793  	}
 10794  
 10795  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = X_pcre2_utt_8[i].Ftype
 10796  	return DTRUE
 10797  __30:
 10798  	;
 10799  
 10800  	switch int32(X_pcre2_utt_8[i].Ftype) {
 10801  	case DPT_SC:
 10802  		goto __32
 10803  
 10804  	case DPT_SCX:
 10805  		goto __33
 10806  	}
 10807  	goto __31
 10808  
 10809  __32:
 10810  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = Tuint16_t(DPT_SC)
 10811  	return DTRUE
 10812  
 10813  __33:
 10814  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = ptscript
 10815  	return DTRUE
 10816  __31:
 10817  	;
 10818  
 10819  	goto __28 // Non-script found
 10820  __29:
 10821  	;
 10822  
 10823  	if !(r > 0) {
 10824  		goto __34
 10825  	}
 10826  	bot = i + Tsize_t(1)
 10827  	goto __35
 10828  __34:
 10829  	top = i
 10830  __35:
 10831  	;
 10832  	goto __27
 10833  __28:
 10834  	;
 10835  
 10836  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47 // Unrecognized property
 10837  	return DFALSE
 10838  
 10839  ERROR_RETURN: // Malformed \P or \p
 10840  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR46
 10841  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10842  	return DFALSE
 10843  }
 10844  
 10845  // ************************************************
 10846  //
 10847  //           Check for POSIX class syntax         *
 10848  //
 10849  
 10850  // This function is called when the sequence "[:" or "[." or "[=" is
 10851  // encountered in a character class. It checks whether this is followed by a
 10852  // sequence of characters terminated by a matching ":]" or ".]" or "=]". If we
 10853  // reach an unescaped ']' without the special preceding character, return FALSE.
 10854  //
 10855  // Originally, this function only recognized a sequence of letters between the
 10856  // terminators, but it seems that Perl recognizes any sequence of characters,
 10857  // though of course unknown POSIX names are subsequently rejected. Perl gives an
 10858  // "Unknown POSIX class" error for [:f\oo:] for example, where previously PCRE
 10859  // didn't consider this to be a POSIX class. Likewise for [:1234:].
 10860  //
 10861  // The problem in trying to be exactly like Perl is in the handling of escapes. We
 10862  // have to be sure that [abc[:x\]pqr] is *not* treated as containing a POSIX
 10863  // class, but [abc[:x\]pqr:]] is (so that an error can be generated). The code
 10864  // below handles the special cases \\ and \], but does not try to do any other
 10865  // escape processing. This makes it different from Perl for cases such as
 10866  // [:l\ower:] where Perl recognizes it as the POSIX class "lower" but PCRE does
 10867  // not recognize "l\ower". This is a lesser evil than not diagnosing bad classes
 10868  // when Perl does, I think.
 10869  //
 10870  // A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
 10871  // It seems that the appearance of a nested POSIX class supersedes an apparent
 10872  // external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
 10873  // a digit. This is handled by returning FALSE if the start of a new group with
 10874  // the same terminator is encountered, since the next closing sequence must close
 10875  // the nested group, not the outer one.
 10876  //
 10877  // In Perl, unescaped square brackets may also appear as part of class names. For
 10878  // example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
 10879  // [:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
 10880  // seem right at all. PCRE does not allow closing square brackets in POSIX class
 10881  // names.
 10882  //
 10883  // Arguments:
 10884  //   ptr      pointer to the character after the initial [ (colon, dot, equals)
 10885  //   ptrend   pointer to the end of the pattern
 10886  //   endptr   where to return a pointer to the terminating ':', '.', or '='
 10887  //
 10888  // Returns:   TRUE or FALSE
 10889  
 10890  func check_posix_syntax(tls *libc.TLS, ptr TPCRE2_SPTR8, ptrend TPCRE2_SPTR8, endptr uintptr) TBOOL { /* pcre2_compile.c:2293:1: */
 10891  	var terminator TPCRE2_UCHAR8                                                 // Don't combine these lines; the Solaris cc
 10892  	terminator = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) // compiler warns about "non-constant" initializer.
 10893  
 10894  	for ; (int32(ptrend)-int32(ptr))/1 >= 2; ptr++ {
 10895  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\134' && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\134') {
 10896  			ptr++
 10897  		} 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' {
 10898  			return DFALSE
 10899  		} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(terminator) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' {
 10900  			*(*TPCRE2_SPTR8)(unsafe.Pointer(endptr)) = ptr
 10901  			return DTRUE
 10902  		}
 10903  	}
 10904  
 10905  	return DFALSE
 10906  }
 10907  
 10908  // ************************************************
 10909  //
 10910  //          Check POSIX class name                *
 10911  //
 10912  
 10913  // This function is called to check the name given in a POSIX-style class entry
 10914  // such as [:alnum:].
 10915  //
 10916  // Arguments:
 10917  //   ptr        points to the first letter
 10918  //   len        the length of the name
 10919  //
 10920  // Returns:     a value representing the name, or -1 if unknown
 10921  
 10922  func check_posix_name(tls *libc.TLS, ptr TPCRE2_SPTR8, len int32) int32 { /* pcre2_compile.c:2334:1: */
 10923  	var pn uintptr = uintptr(unsafe.Pointer(&posix_names))
 10924  	var yield int32 = 0
 10925  	for int32(posix_name_lengths[yield]) != 0 {
 10926  		if len == int32(posix_name_lengths[yield]) && X_pcre2_strncmp_c8_8(tls, ptr, pn, uint32(uint32(len))) == 0 {
 10927  			return yield
 10928  		}
 10929  		pn += uintptr(int32(posix_name_lengths[yield]) + 1)
 10930  		yield++
 10931  	}
 10932  	return -1
 10933  }
 10934  
 10935  // ************************************************
 10936  //
 10937  //       Read a subpattern or VERB name           *
 10938  //
 10939  
 10940  // This function is called from parse_regex() below whenever it needs to read
 10941  // the name of a subpattern or a (*VERB) or an (*alpha_assertion). The initial
 10942  // pointer must be to the character before the name. If that character is '*' we
 10943  // are reading a verb or alpha assertion name. The pointer is updated to point
 10944  // after the name, for a VERB or alpha assertion name, or after tha name's
 10945  // terminator for a subpattern name. Returning both the offset and the name
 10946  // pointer is redundant information, but some callers use one and some the other,
 10947  // so it is simplest just to return both.
 10948  //
 10949  // Arguments:
 10950  //   ptrptr      points to the character pointer variable
 10951  //   ptrend      points to the end of the input string
 10952  //   utf         true if the input is UTF-encoded
 10953  //   terminator  the terminator of a subpattern name must be this
 10954  //   offsetptr   where to put the offset from the start of the pattern
 10955  //   nameptr     where to put a pointer to the name in the input
 10956  //   namelenptr  where to put the length of the name
 10957  //   errcodeptr  where to put an error code
 10958  //   cb          pointer to the compile data block
 10959  //
 10960  // Returns:    TRUE if a name was read
 10961  //             FALSE otherwise, with error code set
 10962  
 10963  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: */
 10964  	var ptr TPCRE2_SPTR8
 10965  	var is_group TBOOL
 10966  	var c Tuint32_t
 10967  	var type1 Tuint32_t
 10968  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10969  	is_group = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != '\052')
 10970  
 10971  	if !(libc.PreIncUintptr(&ptr, 1) >= ptrend) {
 10972  		goto __1
 10973  	} /* No characters in name */
 10974  
 10975  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 10976  		if is_group != 0 {
 10977  			return ERR62
 10978  		}
 10979  		return ERR60
 10980  	}() // Verb not recognized or malformed
 10981  	goto FAILED
 10982  __1:
 10983  	;
 10984  
 10985  	*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)) = ptr
 10986  	*(*Tsize_t)(unsafe.Pointer(offsetptr)) = Tsize_t((int32(ptr) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 10987  
 10988  	// In UTF mode, a group name may contain letters and decimal digits as defined
 10989  	// by Unicode properties, and underscores, but must not start with a digit.
 10990  
 10991  	if !(utf != 0 && is_group != 0) {
 10992  		goto __2
 10993  	}
 10994  
 10995  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 10996  	if !(c >= 0xc0) {
 10997  		goto __4
 10998  	}
 10999  	if !(c&0x20 == Tuint32_t(0)) {
 11000  		goto __5
 11001  	}
 11002  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11003  	goto __6
 11004  __5:
 11005  	if !(c&0x10 == Tuint32_t(0)) {
 11006  		goto __7
 11007  	}
 11008  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11009  	goto __8
 11010  __7:
 11011  	if !(c&0x08 == Tuint32_t(0)) {
 11012  		goto __9
 11013  	}
 11014  	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
 11015  	goto __10
 11016  __9:
 11017  	if !(c&0x04 == Tuint32_t(0)) {
 11018  		goto __11
 11019  	}
 11020  	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
 11021  	goto __12
 11022  __11:
 11023  	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
 11024  __12:
 11025  	;
 11026  __10:
 11027  	;
 11028  __8:
 11029  	;
 11030  __6:
 11031  	;
 11032  __4:
 11033  	;
 11034  
 11035  	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)
 11036  
 11037  	if !(type1 == ucp_Nd) {
 11038  		goto __13
 11039  	}
 11040  
 11041  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11042  	goto FAILED
 11043  __13:
 11044  	;
 11045  
 11046  __14:
 11047  
 11048  	if !(type1 != ucp_Nd && X_pcre2_ucp_gentype_8[type1] != ucp_L && c != Tuint32_t('\137')) {
 11049  		goto __17
 11050  	}
 11051  	goto __16
 11052  __17:
 11053  	;
 11054  	ptr++
 11055  __18:
 11056  	if !(ptr < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80) {
 11057  		goto __19
 11058  	}
 11059  	ptr++
 11060  	goto __18
 11061  __19:
 11062  	;
 11063  	if !(ptr >= ptrend) {
 11064  		goto __20
 11065  	}
 11066  	goto __16
 11067  __20:
 11068  	;
 11069  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 11070  	if !(c >= 0xc0) {
 11071  		goto __21
 11072  	}
 11073  	if !(c&0x20 == Tuint32_t(0)) {
 11074  		goto __22
 11075  	}
 11076  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11077  	goto __23
 11078  __22:
 11079  	if !(c&0x10 == Tuint32_t(0)) {
 11080  		goto __24
 11081  	}
 11082  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11083  	goto __25
 11084  __24:
 11085  	if !(c&0x08 == Tuint32_t(0)) {
 11086  		goto __26
 11087  	}
 11088  	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
 11089  	goto __27
 11090  __26:
 11091  	if !(c&0x04 == Tuint32_t(0)) {
 11092  		goto __28
 11093  	}
 11094  	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
 11095  	goto __29
 11096  __28:
 11097  	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
 11098  __29:
 11099  	;
 11100  __27:
 11101  	;
 11102  __25:
 11103  	;
 11104  __23:
 11105  	;
 11106  __21:
 11107  	;
 11108  
 11109  	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)
 11110  	goto __15
 11111  __15:
 11112  	goto __14
 11113  	goto __16
 11114  __16:
 11115  	;
 11116  	goto __3
 11117  __2:
 11118  
 11119  	/* Handle non-group names and group names in non-UTF modes. A group name must
 11120  	   not start with a digit. If either of the others start with a digit it just
 11121  	   won't be recognized. */
 11122  
 11123  	if !(is_group != 0 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
 11124  		goto __30
 11125  	}
 11126  
 11127  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11128  	goto FAILED
 11129  __30:
 11130  	;
 11131  
 11132  __31:
 11133  	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) {
 11134  		goto __32
 11135  	}
 11136  
 11137  	ptr++
 11138  	goto __31
 11139  __32:
 11140  	;
 11141  __3:
 11142  	;
 11143  
 11144  	// Check name length
 11145  
 11146  	if !(ptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))+uintptr(DMAX_NAME_SIZE)) {
 11147  		goto __33
 11148  	}
 11149  
 11150  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR48
 11151  	goto FAILED
 11152  __33:
 11153  	;
 11154  	*(*Tuint32_t)(unsafe.Pointer(namelenptr)) = Tuint32_t((int32(ptr) - int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)))) / 1)
 11155  
 11156  	// Subpattern names must not be empty, and their terminator is checked here.
 11157  	// (What follows a verb or alpha assertion name is checked separately.)
 11158  
 11159  	if !(is_group != 0) {
 11160  		goto __34
 11161  	}
 11162  
 11163  	if !(ptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))) {
 11164  		goto __35
 11165  	}
 11166  
 11167  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR62 // Subpattern name expected
 11168  	goto FAILED
 11169  __35:
 11170  	;
 11171  	if !(ptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != int32(TPCRE2_UCHAR8(terminator))) {
 11172  		goto __36
 11173  	}
 11174  
 11175  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR42
 11176  	goto FAILED
 11177  __36:
 11178  	;
 11179  	ptr++
 11180  __34:
 11181  	;
 11182  
 11183  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11184  	return DTRUE
 11185  
 11186  FAILED:
 11187  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11188  	return DFALSE
 11189  }
 11190  
 11191  // ************************************************
 11192  //
 11193  //          Manage callouts at start of cycle     *
 11194  //
 11195  
 11196  // At the start of a new item in parse_regex() we are able to record the
 11197  // details of the previous item in a prior callout, and also to set up an
 11198  // automatic callout if enabled. Avoid having two adjacent automatic callouts,
 11199  // which would otherwise happen for items such as \Q that contribute nothing to
 11200  // the parsed pattern.
 11201  //
 11202  // Arguments:
 11203  //   ptr              current pattern pointer
 11204  //   pcalloutptr      points to a pointer to previous callout, or NULL
 11205  //   auto_callout     TRUE if auto_callouts are enabled
 11206  //   parsed_pattern   the parsed pattern pointer
 11207  //   cb               compile block
 11208  //
 11209  // Returns: possibly updated parsed_pattern pointer.
 11210  
 11211  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: */
 11212  	var previous_callout uintptr = *(*uintptr)(unsafe.Pointer(pcalloutptr))
 11213  
 11214  	if previous_callout != uintptr(0) {
 11215  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(Tsize_t((int32(ptr)-int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1) - Tsize_t(*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4))))
 11216  	}
 11217  
 11218  	if !(auto_callout != 0) {
 11219  		previous_callout = uintptr(0)
 11220  	} else {
 11221  		if previous_callout == uintptr(0) || previous_callout != parsed_pattern-uintptr(4)*4 || *(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) != Tuint32_t(255) {
 11222  			previous_callout = parsed_pattern // Set up new automatic callout
 11223  			parsed_pattern += 4 * uintptr(4)
 11224  			*(*Tuint32_t)(unsafe.Pointer(previous_callout)) = DMETA_CALLOUT_NUMBER
 11225  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(0)
 11226  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) = Tuint32_t(255)
 11227  		}
 11228  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4)) = Tuint32_t((int32(ptr) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 11229  	}
 11230  
 11231  	*(*uintptr)(unsafe.Pointer(pcalloutptr)) = previous_callout
 11232  	return parsed_pattern
 11233  }
 11234  
 11235  // ************************************************
 11236  //
 11237  //      Parse regex and identify named groups     *
 11238  //
 11239  
 11240  // This function is called first of all. It scans the pattern and does two
 11241  // things: (1) It identifies capturing groups and makes a table of named capturing
 11242  // groups so that information about them is fully available to both the compiling
 11243  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11244  // escapes processed into the parsed_pattern vector.
 11245  //
 11246  // Arguments:
 11247  //   ptr             points to the start of the pattern
 11248  //   options         compiling dynamic options (may change during the scan)
 11249  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11250  //   cb              pointer to the compile data block
 11251  //
 11252  // Returns:   zero on success or a non-zero error code, with the
 11253  //              error offset placed in the cb field
 11254  
 11255  // A structure and some flags for dealing with nested groups.
 11256  
 11257  type Snest_save = struct {
 11258  	Fnest_depth  Tuint16_t
 11259  	Freset_group Tuint16_t
 11260  	Fmax_group   Tuint16_t
 11261  	Fflags       Tuint16_t
 11262  	Foptions     Tuint32_t
 11263  } /* pcre2_compile.c:2555:9 */
 11264  
 11265  // ************************************************
 11266  //
 11267  //      Parse regex and identify named groups     *
 11268  //
 11269  
 11270  // This function is called first of all. It scans the pattern and does two
 11271  // things: (1) It identifies capturing groups and makes a table of named capturing
 11272  // groups so that information about them is fully available to both the compiling
 11273  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11274  // escapes processed into the parsed_pattern vector.
 11275  //
 11276  // Arguments:
 11277  //   ptr             points to the start of the pattern
 11278  //   options         compiling dynamic options (may change during the scan)
 11279  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11280  //   cb              pointer to the compile data block
 11281  //
 11282  // Returns:   zero on success or a non-zero error code, with the
 11283  //              error offset placed in the cb field
 11284  
 11285  // A structure and some flags for dealing with nested groups.
 11286  
 11287  type Tnest_save = Snest_save /* pcre2_compile.c:2561:3 */
 11288  
 11289  // Only in 32-bit mode can there be literals > META_END. A macro encapsulates
 11290  // the storing of literal values in the main parsed pattern, where they can always
 11291  // be quantified.
 11292  
 11293  // Here's the actual function.
 11294  
 11295  func parse_regex(tls *libc.TLS, ptr TPCRE2_SPTR8, options Tuint32_t, has_lookbehind uintptr, cb uintptr) int32 { /* pcre2_compile.c:2598:12: */
 11296  	bp := tls.Alloc(76)
 11297  	defer tls.Free(76)
 11298  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) = ptr
 11299  
 11300  	// var c Tuint32_t at bp+8, 4
 11301  
 11302  	var delimiter Tuint32_t
 11303  	// var namelen Tuint32_t at bp+44, 4
 11304  
 11305  	var class_range_state Tuint32_t
 11306  	var verblengthptr uintptr // Value avoids compiler warning
 11307  	var verbstartptr uintptr
 11308  	// var previous_callout uintptr at bp, 4
 11309  
 11310  	var parsed_pattern uintptr
 11311  	var parsed_pattern_end uintptr
 11312  	var meta_quantifier Tuint32_t
 11313  	var add_after_mark Tuint32_t
 11314  	var extra_options Tuint32_t
 11315  	var nest_depth Tuint16_t
 11316  	var after_manual_callout int32
 11317  	var expect_cond_assert int32
 11318  	// var errorcode int32 at bp+12, 4
 11319  
 11320  	var escape int32
 11321  	// var i int32 at bp+32, 4
 11322  
 11323  	var inescq TBOOL
 11324  	var inverbname TBOOL
 11325  	var utf TBOOL
 11326  	var auto_callout TBOOL
 11327  	var isdupname TBOOL
 11328  	var negate_class TBOOL
 11329  	var okquantifier TBOOL
 11330  	var thisptr TPCRE2_SPTR8
 11331  	// var name TPCRE2_SPTR8 at bp+40, 4
 11332  
 11333  	var ptrend TPCRE2_SPTR8
 11334  	var verbnamestart TPCRE2_SPTR8 // Value avoids compiler warning
 11335  	var ng uintptr
 11336  	var top_nest uintptr
 11337  	var end_nests uintptr
 11338  	var verbnamelength Tsize_t
 11339  	var ok TBOOL
 11340  	// var negated TBOOL at bp+20, 4
 11341  
 11342  	// var ptype Tuint16_t at bp+24, 2
 11343  
 11344  	// var pdata Tuint16_t at bp+26, 2
 11345  
 11346  	// var p TPCRE2_SPTR8 at bp+28, 4
 11347  
 11348  	var p1 uintptr
 11349  	var ptype1 int32
 11350  	var pvalue int32
 11351  	var posix_negate TBOOL
 11352  	var posix_class int32
 11353  	// var negated1 TBOOL at bp+56, 4
 11354  
 11355  	// var ptype2 Tuint16_t at bp+60, 2
 11356  
 11357  	// var pdata1 Tuint16_t at bp+62, 2
 11358  
 11359  	var char_is_literal TBOOL
 11360  	var meta Tuint32_t
 11361  	var vn uintptr
 11362  	var hyphenok TBOOL
 11363  	var oldoptions Tuint32_t
 11364  	var calloutlength Tsize_t
 11365  	var startptr TPCRE2_SPTR8
 11366  	var n int32
 11367  	var ge Tuint32_t
 11368  	// var major int32 at bp+72, 4
 11369  
 11370  	var minor int32
 11371  	var was_r_ampersand TBOOL
 11372  	var newsize Tuint32_t
 11373  	var newspace uintptr
 11374  	var prev_expect_cond_assert int32
 11375  	// var min_repeat Tuint32_t at bp+48, 4
 11376  
 11377  	// var max_repeat Tuint32_t at bp+52, 4
 11378  
 11379  	// var set Tuint32_t at bp+64, 4
 11380  
 11381  	// var unset Tuint32_t at bp+68, 4
 11382  
 11383  	var optset uintptr
 11384  	var terminator Tuint32_t
 11385  	var prev_meta_quantifier Tuint32_t
 11386  	var prev_okquantifier TBOOL
 11387  	// var tempptr TPCRE2_SPTR8 at bp+16, 4
 11388  
 11389  	// var offset Tsize_t at bp+36, 4
 11390  	verblengthptr = uintptr(0)
 11391  	verbstartptr = uintptr(0)
 11392  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = uintptr(0)
 11393  	parsed_pattern = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 11394  	parsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern_end
 11395  	meta_quantifier = Tuint32_t(0)
 11396  	add_after_mark = Tuint32_t(0)
 11397  	extra_options = (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options
 11398  	nest_depth = Tuint16_t(0)
 11399  	after_manual_callout = 0
 11400  	expect_cond_assert = 0
 11401  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = 0
 11402  	inescq = DFALSE
 11403  	inverbname = DFALSE
 11404  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 11405  	auto_callout = libc.Bool32(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0))
 11406  	okquantifier = DFALSE
 11407  	ptrend = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern
 11408  	verbnamestart = uintptr(0)
 11409  
 11410  	// Insert leading items for word and line matching (features provided for the
 11411  	// benefit of pcre2grep).
 11412  
 11413  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 11414  		goto __1
 11415  	}
 11416  
 11417  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 11418  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11419  	goto __2
 11420  __1:
 11421  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 11422  		goto __3
 11423  	}
 11424  
 11425  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 11426  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11427  __3:
 11428  	;
 11429  __2:
 11430  	;
 11431  
 11432  	// If the pattern is actually a literal string, process it separately to avoid
 11433  	// cluttering up the main loop.
 11434  
 11435  	if !(options&DPCRE2_LITERAL != Tuint32_t(0)) {
 11436  		goto __4
 11437  	}
 11438  
 11439  __5:
 11440  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend) {
 11441  		goto __6
 11442  	}
 11443  
 11444  	if !(parsed_pattern >= parsed_pattern_end) {
 11445  		goto __7
 11446  	}
 11447  
 11448  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11449  	goto FAILED
 11450  __7:
 11451  	;
 11452  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 11453  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 11454  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 11455  		goto __8
 11456  	}
 11457  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 11458  		goto __9
 11459  	}
 11460  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 11461  	goto __10
 11462  __9:
 11463  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 11464  		goto __11
 11465  	}
 11466  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 11467  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 11468  	goto __12
 11469  __11:
 11470  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 11471  		goto __13
 11472  	}
 11473  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 11474  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 11475  	goto __14
 11476  __13:
 11477  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 11478  		goto __15
 11479  	}
 11480  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 11481  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 11482  	goto __16
 11483  __15:
 11484  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 11485  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 11486  __16:
 11487  	;
 11488  __14:
 11489  	;
 11490  __12:
 11491  	;
 11492  __10:
 11493  	;
 11494  __8:
 11495  	;
 11496  
 11497  	if !(auto_callout != 0) {
 11498  		goto __17
 11499  	}
 11500  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11501  		auto_callout, parsed_pattern, cb)
 11502  __17:
 11503  	;
 11504  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 11505  	okquantifier = DTRUE
 11506  
 11507  	goto __5
 11508  __6:
 11509  	;
 11510  	goto PARSED_END
 11511  __4:
 11512  	;
 11513  
 11514  	// Process a real regex which may contain meta-characters.
 11515  
 11516  	top_nest = uintptr(0)
 11517  	end_nests = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)
 11518  
 11519  	// The size of the nest_save structure might not be a factor of the size of the
 11520  	// workspace. Therefore we must round down end_nests so as to correctly avoid
 11521  	// creating a nest_save that spans the end of the workspace.
 11522  
 11523  	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{})))
 11524  
 11525  	// PCRE2_EXTENDED_MORE implies PCRE2_EXTENDED
 11526  
 11527  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0)) {
 11528  		goto __18
 11529  	}
 11530  	options = options | DPCRE2_EXTENDED
 11531  __18:
 11532  	;
 11533  
 11534  	// Now scan the pattern
 11535  
 11536  __19:
 11537  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend) {
 11538  		goto __20
 11539  	}
 11540  
 11541  	if !(parsed_pattern >= parsed_pattern_end) {
 11542  		goto __21
 11543  	}
 11544  
 11545  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11546  	goto FAILED
 11547  __21:
 11548  	;
 11549  
 11550  	if !(Tuint32_t(nest_depth) > (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fparens_nest_limit) {
 11551  		goto __22
 11552  	}
 11553  
 11554  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR19
 11555  	goto FAILED // Parentheses too deeply nested
 11556  __22:
 11557  	;
 11558  
 11559  	// Get next input character, save its position for callout handling.
 11560  
 11561  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 11562  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 11563  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 11564  		goto __23
 11565  	}
 11566  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 11567  		goto __24
 11568  	}
 11569  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 11570  	goto __25
 11571  __24:
 11572  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 11573  		goto __26
 11574  	}
 11575  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 11576  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 11577  	goto __27
 11578  __26:
 11579  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 11580  		goto __28
 11581  	}
 11582  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 11583  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 11584  	goto __29
 11585  __28:
 11586  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 11587  		goto __30
 11588  	}
 11589  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 11590  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 11591  	goto __31
 11592  __30:
 11593  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 11594  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 11595  __31:
 11596  	;
 11597  __29:
 11598  	;
 11599  __27:
 11600  	;
 11601  __25:
 11602  	;
 11603  __23:
 11604  	;
 11605  
 11606  	// Copy quoted literals until \E, allowing for the possibility of automatic
 11607  	//   callouts, except when processing a (*VERB) "name".
 11608  
 11609  	if !(inescq != 0) {
 11610  		goto __32
 11611  	}
 11612  
 11613  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\105') {
 11614  		goto __33
 11615  	}
 11616  
 11617  	inescq = DFALSE
 11618  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++ // Skip E
 11619  	goto __34
 11620  __33:
 11621  
 11622  	if !(expect_cond_assert > 0) {
 11623  		goto __35
 11624  	} /* A literal is not allowed if we are */
 11625  	// expecting a conditional assertion,
 11626  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // but an empty \Q\E sequence is OK.
 11627  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR28
 11628  	goto FAILED
 11629  __35:
 11630  	;
 11631  	if !(inverbname != 0) {
 11632  		goto __36
 11633  	}
 11634  	// Don't use PARSED_LITERAL() because it
 11635  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 11636  	goto __37
 11637  __36:
 11638  
 11639  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11640  		goto __38
 11641  	}
 11642  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11643  		auto_callout, parsed_pattern, cb)
 11644  __38:
 11645  	;
 11646  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 11647  	okquantifier = DTRUE
 11648  
 11649  __37:
 11650  	;
 11651  	meta_quantifier = Tuint32_t(0)
 11652  __34:
 11653  	;
 11654  	goto __19 // Next character
 11655  __32:
 11656  	;
 11657  
 11658  	// If we are processing the "name" part of a (*VERB:NAME) item, all
 11659  	//   characters up to the closing parenthesis are literals except when
 11660  	//   PCRE2_ALT_VERBNAMES is set. That causes backslash interpretation, but only \Q
 11661  	//   and \E and escaped characters are allowed (no character types such as \d). If
 11662  	//   PCRE2_EXTENDED is also set, we must ignore white space and # comments. Do
 11663  	//   this by not entering the special (*VERB:NAME) processing - they are then
 11664  	//   picked up below. Note that c is a character, not a code unit, so we must not
 11665  	//   use MAX_255 to test its size because MAX_255 tests code units and is assumed
 11666  	//   TRUE in 8-bit mode.
 11667  
 11668  	if !(inverbname != 0 && (options&(DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES) != DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES || *(*Tuint32_t)(unsafe.Pointer(bp + 8)) > Tuint32_t(255) && *(*Tuint32_t)(unsafe.Pointer(bp + 8))|Tuint32_t(1) != Tuint32_t(0x200f) && *(*Tuint32_t)(unsafe.Pointer(bp + 8))|Tuint32_t(1) != Tuint32_t(0x2029) || *(*Tuint32_t)(unsafe.Pointer(bp + 8)) < Tuint32_t(256) && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\043') && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 8))))))&Dctype_space == 0 &&
 11669  
 11670  		*(*Tuint32_t)(unsafe.Pointer(bp + 8)) != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) {
 11671  		goto __39
 11672  	}
 11673  
 11674  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) {
 11675  	default:
 11676  		goto __41
 11677  
 11678  	case Tuint32_t('\051'):
 11679  		goto __42
 11680  
 11681  	case Tuint32_t('\134'):
 11682  		goto __43
 11683  	}
 11684  	goto __40
 11685  
 11686  __41: // Don't use PARSED_LITERAL() because it
 11687  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 11688  	goto __40
 11689  
 11690  __42:
 11691  	inverbname = DFALSE
 11692  	// This is the length in characters
 11693  	verbnamelength = Tsize_t((int32(parsed_pattern)-int32(verblengthptr))/4 - 1)
 11694  	// But the limit on the length is in code units
 11695  	if !((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))-int32(verbnamestart))/1-1 > int32(int32(uint32(1)<<8-uint32(1)))) {
 11696  		goto __44
 11697  	}
 11698  
 11699  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))--
 11700  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR76
 11701  	goto FAILED
 11702  __44:
 11703  	;
 11704  	*(*Tuint32_t)(unsafe.Pointer(verblengthptr)) = Tuint32_t(verbnamelength)
 11705  
 11706  	// If this name was on a verb such as (*ACCEPT) which does not continue,
 11707  	//       a (*MARK) was generated for the name. We now add the original verb as the
 11708  	//       next item.
 11709  
 11710  	if !(add_after_mark != Tuint32_t(0)) {
 11711  		goto __45
 11712  	}
 11713  
 11714  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = add_after_mark
 11715  	add_after_mark = Tuint32_t(0)
 11716  __45:
 11717  	;
 11718  	goto __40
 11719  
 11720  __43:
 11721  	if !(options&DPCRE2_ALT_VERBNAMES != Tuint32_t(0)) {
 11722  		goto __46
 11723  	}
 11724  
 11725  	escape = X_pcre2_check_escape_8(tls, bp+4, ptrend, bp+8, bp+12, options,
 11726  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 11727  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 11728  		goto __48
 11729  	}
 11730  	goto FAILED
 11731  __48:
 11732  	;
 11733  	goto __47
 11734  __46:
 11735  	escape = 0
 11736  __47:
 11737  	; // Treat all as literal
 11738  
 11739  	switch escape {
 11740  	case 0:
 11741  		goto __50
 11742  
 11743  	case ESC_Q:
 11744  		goto __51
 11745  
 11746  	case ESC_E:
 11747  		goto __52
 11748  
 11749  	default:
 11750  		goto __53
 11751  	}
 11752  	goto __49
 11753  
 11754  __50: // Don't use PARSED_LITERAL() because it
 11755  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 11756  	goto __49
 11757  
 11758  __51:
 11759  	inescq = DTRUE
 11760  	goto __49
 11761  
 11762  __52: // Ignore
 11763  	goto __49
 11764  
 11765  __53:
 11766  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR40 // Invalid in verb name
 11767  	goto FAILED
 11768  __49:
 11769  	;
 11770  __40:
 11771  	;
 11772  	goto __19 // Next character in pattern
 11773  __39:
 11774  	;
 11775  
 11776  	// Not a verb name character. At this point we must process everything that
 11777  	//   must not change the quantification state. This is mainly comments, but we
 11778  	//   handle \Q and \E here as well, so that an item such as A\Q\E+ is treated as
 11779  	//   A+, as in Perl. An isolated \E is ignored.
 11780  
 11781  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend) {
 11782  		goto __54
 11783  	}
 11784  
 11785  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\121' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\105') {
 11786  		goto __55
 11787  	}
 11788  
 11789  	inescq = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\121')
 11790  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 11791  	goto __19
 11792  __55:
 11793  	;
 11794  __54:
 11795  	;
 11796  
 11797  	// Skip over whitespace and # comments in extended mode. Note that c is a
 11798  	//   character, not a code unit, so we must not use MAX_255 to test its size
 11799  	//   because MAX_255 tests code units and is assumed TRUE in 8-bit mode. The
 11800  	//   whitespace characters are those designated as "Pattern White Space" by
 11801  	//   Unicode, which are the isspace() characters plus CHAR_NEL (newline), which is
 11802  	//   U+0085 in Unicode, plus U+200E, U+200F, U+2028, and U+2029. These are a
 11803  	//   subset of space characters that match \h and \v.
 11804  
 11805  	if !(options&DPCRE2_EXTENDED != Tuint32_t(0)) {
 11806  		goto __56
 11807  	}
 11808  
 11809  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 8))))))&Dctype_space != 0) {
 11810  		goto __57
 11811  	}
 11812  	goto __19
 11813  __57:
 11814  	;
 11815  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == libc.Uint32FromUint8(libc.Uint8FromInt32(133)) || *(*Tuint32_t)(unsafe.Pointer(bp + 8))|Tuint32_t(1) == Tuint32_t(0x200f) || *(*Tuint32_t)(unsafe.Pointer(bp + 8))|Tuint32_t(1) == Tuint32_t(0x2029)) {
 11816  		goto __58
 11817  	}
 11818  	goto __19
 11819  __58:
 11820  	;
 11821  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\043')) {
 11822  		goto __59
 11823  	}
 11824  
 11825  __60:
 11826  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend) {
 11827  		goto __61
 11828  	}
 11829  
 11830  	if !(func() int32 {
 11831  		if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 11832  			return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern && X_pcre2_is_newline_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern, cb+148, utf) != 0)
 11833  		}
 11834  		return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) <= (*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 + 4))))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 160))) && ((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 160 + 1)))))
 11835  	}() != 0) {
 11836  		goto __62
 11837  	} /* For non-fixed-length newline cases, */
 11838  	// IS_NEWLINE sets cb->nllen.
 11839  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += TPCRE2_SPTR8((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen)
 11840  	goto __61
 11841  __62:
 11842  	;
 11843  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 11844  	if !(utf != 0) {
 11845  		goto __63
 11846  	}
 11847  __64:
 11848  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0xc0 == 0x80) {
 11849  		goto __65
 11850  	}
 11851  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 11852  	goto __64
 11853  __65:
 11854  	;
 11855  __63:
 11856  	;
 11857  	goto __60
 11858  __61:
 11859  	;
 11860  	goto __19 // Next character in pattern
 11861  __59:
 11862  	;
 11863  __56:
 11864  	;
 11865  
 11866  	// Skip over bracketed comments
 11867  
 11868  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\050') && (int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 2 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\077' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) == '\043') {
 11869  		goto __66
 11870  	}
 11871  
 11872  __67:
 11873  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 11874  		goto __68
 11875  	}
 11876  	goto __67
 11877  __68:
 11878  	;
 11879  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 11880  		goto __69
 11881  	}
 11882  
 11883  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR18 // A special error for missing ) in a comment
 11884  	goto FAILED                                                // to make it easier to debug.
 11885  __69:
 11886  	;
 11887  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 11888  	goto __19 // Next character in pattern
 11889  __66:
 11890  	;
 11891  
 11892  	// If the next item is not a quantifier, fill in length of any previous
 11893  	//   callout and create an auto callout if required.
 11894  
 11895  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\052') && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\053') && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\077') && (*(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\173') || func() bool {
 11896  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))
 11897  		return !(read_repeat_counts(tls, bp+16, ptrend, uintptr(0), uintptr(0), bp+12) != 0)
 11898  	}())) {
 11899  		goto __70
 11900  	}
 11901  
 11902  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11903  		goto __71
 11904  	}
 11905  	parsed_pattern = manage_callouts(tls, thisptr, bp, auto_callout,
 11906  		parsed_pattern, cb)
 11907  __71:
 11908  	;
 11909  __70:
 11910  	;
 11911  
 11912  	// If expect_cond_assert is 2, we have just passed (?( and are expecting an
 11913  	//   assertion, possibly preceded by a callout. If the value is 1, we have just
 11914  	//   had the callout and expect an assertion. There must be at least 3 more
 11915  	//   characters in all cases. When expect_cond_assert is 2, we know that the
 11916  	//   current character is an opening parenthesis, as otherwise we wouldn't be
 11917  	//   here. However, when it is 1, we need to check, and it's easiest just to check
 11918  	//   always. Note that expect_cond_assert may be negative, since all callouts just
 11919  	//   decrement it.
 11920  
 11921  	if !(expect_cond_assert > 0) {
 11922  		goto __72
 11923  	}
 11924  
 11925  	ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\050') && (int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 3 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\052'))
 11926  	if !(ok != 0) {
 11927  		goto __73
 11928  	}
 11929  
 11930  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\052') {
 11931  		goto __74
 11932  	} /* New alpha assertion format, possibly */
 11933  
 11934  	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 + 4)) + 1))))))&Dctype_lcletter != 0)
 11935  	goto __75
 11936  __74:
 11937  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) + 1))) {
 11938  	case '\103':
 11939  		goto __77
 11940  
 11941  	case '\075':
 11942  		goto __78
 11943  	case '\041':
 11944  		goto __79
 11945  
 11946  	case '\074':
 11947  		goto __80
 11948  
 11949  	default:
 11950  		goto __81
 11951  	}
 11952  	goto __76 /* Traditional symbolic format */
 11953  
 11954  __77:
 11955  	ok = libc.Bool32(expect_cond_assert == 2)
 11956  	goto __76
 11957  
 11958  __78:
 11959  __79:
 11960  	goto __76
 11961  
 11962  __80:
 11963  	ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2))) == '\075' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2))) == '\041')
 11964  	goto __76
 11965  
 11966  __81:
 11967  	ok = DFALSE
 11968  __76:
 11969  	;
 11970  __75:
 11971  	;
 11972  __73:
 11973  	;
 11974  
 11975  	if !!(ok != 0) {
 11976  		goto __82
 11977  	}
 11978  
 11979  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Adjust error offset
 11980  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR28
 11981  	goto FAILED
 11982  __82:
 11983  	;
 11984  __72:
 11985  	;
 11986  
 11987  	// Remember whether we are expecting a conditional assertion, and set the
 11988  	//   default for this item.
 11989  
 11990  	prev_expect_cond_assert = expect_cond_assert
 11991  	expect_cond_assert = 0
 11992  
 11993  	// Remember quantification status for the previous significant item, then set
 11994  	//   default for this item.
 11995  
 11996  	prev_okquantifier = okquantifier
 11997  	prev_meta_quantifier = meta_quantifier
 11998  	okquantifier = DFALSE
 11999  	meta_quantifier = Tuint32_t(0)
 12000  
 12001  	// If the previous significant item was a quantifier, adjust the parsed code
 12002  	//   if there is a following modifier. The base meta value is always followed by
 12003  	//   the PLUS and QUERY values, in that order. We do this here rather than after
 12004  	//   reading a quantifier so that intervening comments and /x whitespace can be
 12005  	//   ignored without having to replicate code.
 12006  
 12007  	if !(prev_meta_quantifier != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\077') || *(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\053'))) {
 12008  		goto __83
 12009  	}
 12010  
 12011  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + uintptr(func() int32 {
 12012  		if prev_meta_quantifier == DMETA_MINMAX {
 12013  			return -3
 12014  		}
 12015  		return -1
 12016  	}())*4)) = prev_meta_quantifier + func() uint32 {
 12017  		if *(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\077') {
 12018  			return 0x00020000
 12019  		}
 12020  		return 0x00010000
 12021  	}()
 12022  	goto __19 // Next character in pattern
 12023  __83:
 12024  	;
 12025  
 12026  	// Process the next item in the main part of a pattern.
 12027  
 12028  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) {
 12029  	default:
 12030  		goto __85
 12031  
 12032  	// ---- Escape sequence ----
 12033  
 12034  	case Tuint32_t('\134'):
 12035  		goto __86 // End escape sequence processing
 12036  
 12037  	// ---- Single-character special items ----
 12038  
 12039  	case Tuint32_t('\136'):
 12040  		goto __87
 12041  
 12042  	case Tuint32_t('\044'):
 12043  		goto __88
 12044  
 12045  	case Tuint32_t('\056'):
 12046  		goto __89
 12047  
 12048  	// ---- Single-character quantifiers ----
 12049  
 12050  	case Tuint32_t('\052'):
 12051  		goto __90
 12052  
 12053  	case Tuint32_t('\053'):
 12054  		goto __91
 12055  
 12056  	case Tuint32_t('\077'):
 12057  		goto __92
 12058  
 12059  	// ---- Potential {n,m} quantifier ----
 12060  
 12061  	case Tuint32_t('\173'):
 12062  		goto __93
 12063  
 12064  	// ---- Character class ----
 12065  
 12066  	case Tuint32_t('\133'):
 12067  		goto __94 // End of character class
 12068  
 12069  	// ---- Opening parenthesis ----
 12070  
 12071  	case Tuint32_t('\050'):
 12072  		goto __95 // End of ( handling
 12073  
 12074  	// ---- Branch terminators ----
 12075  
 12076  	// Alternation: reset the capture count if we are in a (?| group.
 12077  
 12078  	case Tuint32_t('\174'):
 12079  		goto __96
 12080  
 12081  	// End of group; reset the capture count to the maximum if we are in a (?|
 12082  	//     group and/or reset the options that are tracked during parsing. Disallow
 12083  	//     quantifier for a condition that is an assertion.
 12084  
 12085  	case Tuint32_t('\051'):
 12086  		goto __97
 12087  	}
 12088  	goto __84
 12089  
 12090  __85: // Non-special character
 12091  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 12092  	okquantifier = DTRUE
 12093  
 12094  	goto __84
 12095  
 12096  	// ---- Escape sequence ----
 12097  
 12098  __86:
 12099  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 12100  	escape = X_pcre2_check_escape_8(tls, bp+4, ptrend, bp+8, bp+12, options,
 12101  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 12102  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 12103  		goto __98
 12104  	}
 12105  
 12106  ESCAPE_FAILED:
 12107  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 12108  		goto __99
 12109  	}
 12110  	goto FAILED
 12111  __99:
 12112  	;
 12113  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16 /* tempptr */))
 12114  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 12115  		goto __100
 12116  	}
 12117  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t('\134')
 12118  	goto __101
 12119  __100:
 12120  
 12121  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 12122  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 12123  		goto __102
 12124  	}
 12125  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 12126  		goto __103
 12127  	}
 12128  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 12129  	goto __104
 12130  __103:
 12131  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 12132  		goto __105
 12133  	}
 12134  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 12135  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 12136  	goto __106
 12137  __105:
 12138  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 12139  		goto __107
 12140  	}
 12141  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 12142  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 12143  	goto __108
 12144  __107:
 12145  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 12146  		goto __109
 12147  	}
 12148  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 12149  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 12150  	goto __110
 12151  __109:
 12152  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 12153  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 12154  __110:
 12155  	;
 12156  __108:
 12157  	;
 12158  __106:
 12159  	;
 12160  __104:
 12161  	;
 12162  __102:
 12163  	;
 12164  
 12165  	// Get character value, increment pointer
 12166  __101:
 12167  	;
 12168  	escape = 0 // Treat as literal character
 12169  __98:
 12170  	;
 12171  
 12172  	// The escape was a data escape or literal character.
 12173  
 12174  	if !(escape == 0) {
 12175  		goto __111
 12176  	}
 12177  
 12178  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 12179  	okquantifier = DTRUE
 12180  
 12181  	goto __112
 12182  __111:
 12183  	if !(escape < 0) {
 12184  		goto __113
 12185  	}
 12186  
 12187  	*(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))-int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - 1)
 12188  	escape = -escape
 12189  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF | Tuint32_t(escape)
 12190  	if !(escape < 10) {
 12191  		goto __115
 12192  	}
 12193  
 12194  	if !(*(*Tsize_t)(unsafe.Pointer(cb + 44 + uintptr(escape)*4)) == libc.CplUint32(Tsize_t(0))) {
 12195  		goto __117
 12196  	}
 12197  	*(*Tsize_t)(unsafe.Pointer(cb + 44 + uintptr(escape)*4)) = *(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */))
 12198  __117:
 12199  	;
 12200  	goto __116
 12201  __115:
 12202  
 12203  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 12204  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 12205  
 12206  __116:
 12207  	;
 12208  	okquantifier = DTRUE
 12209  	goto __114
 12210  __113:
 12211  	switch escape {
 12212  	case ESC_C:
 12213  		goto __119
 12214  
 12215  	case ESC_X:
 12216  		goto __120
 12217  	case ESC_H:
 12218  		goto __121
 12219  	case ESC_h:
 12220  		goto __122
 12221  	case ESC_N:
 12222  		goto __123
 12223  	case ESC_R:
 12224  		goto __124
 12225  	case ESC_V:
 12226  		goto __125
 12227  	case ESC_v:
 12228  		goto __126
 12229  
 12230  	default:
 12231  		goto __127
 12232  
 12233  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12234  	//       without Unicode support because it is checked when pcre2_compile() is
 12235  	//       called.
 12236  
 12237  	case ESC_d:
 12238  		goto __128
 12239  	case ESC_D:
 12240  		goto __129
 12241  	case ESC_s:
 12242  		goto __130
 12243  	case ESC_S:
 12244  		goto __131
 12245  	case ESC_w:
 12246  		goto __132
 12247  	case ESC_W:
 12248  		goto __133
 12249  
 12250  	// Unicode property matching
 12251  
 12252  	case ESC_P:
 12253  		goto __134
 12254  	case ESC_p:
 12255  		goto __135 // End \P and \p
 12256  
 12257  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12258  	//       numerical or named subroutine call, and control comes here. When used
 12259  	//       with brace delimiters it is a numberical back reference and does not come
 12260  	//       here because check_escape() returns it directly as a reference. \k is
 12261  	//       always a named back reference.
 12262  
 12263  	case ESC_g:
 12264  		goto __136
 12265  	case ESC_k:
 12266  		goto __137
 12267  	}
 12268  	goto __118
 12269  
 12270  __119:
 12271  	if !(options&DPCRE2_NEVER_BACKSLASH_C != Tuint32_t(0)) {
 12272  		goto __138
 12273  	}
 12274  
 12275  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR83
 12276  	goto ESCAPE_FAILED
 12277  __138:
 12278  	;
 12279  	okquantifier = DTRUE
 12280  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12281  	goto __118
 12282  
 12283  __120:
 12284  __121:
 12285  __122:
 12286  __123:
 12287  __124:
 12288  __125:
 12289  __126:
 12290  	okquantifier = DTRUE
 12291  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12292  	goto __118
 12293  
 12294  __127: // \A, \B, \b, \G, \K, \Z, \z cannot be quantified.
 12295  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12296  	goto __118
 12297  
 12298  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12299  	//       without Unicode support because it is checked when pcre2_compile() is
 12300  	//       called.
 12301  
 12302  __128:
 12303  __129:
 12304  __130:
 12305  __131:
 12306  __132:
 12307  __133:
 12308  	okquantifier = DTRUE
 12309  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12310  		goto __139
 12311  	}
 12312  
 12313  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12314  	goto __140
 12315  __139:
 12316  
 12317  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12318  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 12319  			return ESC_p
 12320  		}
 12321  		return ESC_P
 12322  	}()
 12323  	switch escape {
 12324  	case ESC_d:
 12325  		goto __142
 12326  	case ESC_D:
 12327  		goto __143
 12328  
 12329  	case ESC_s:
 12330  		goto __144
 12331  	case ESC_S:
 12332  		goto __145
 12333  
 12334  	case ESC_w:
 12335  		goto __146
 12336  	case ESC_W:
 12337  		goto __147
 12338  	}
 12339  	goto __141
 12340  
 12341  __142:
 12342  __143:
 12343  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 12344  	goto __141
 12345  
 12346  __144:
 12347  __145:
 12348  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 12349  	goto __141
 12350  
 12351  __146:
 12352  __147:
 12353  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12354  	goto __141
 12355  __141:
 12356  	;
 12357  __140:
 12358  	;
 12359  	goto __118
 12360  
 12361  	// Unicode property matching
 12362  
 12363  __134:
 12364  __135:
 12365  
 12366  	*(*Tuint16_t)(unsafe.Pointer(bp + 24 /* ptype */)) = Tuint16_t(0)
 12367  	*(*Tuint16_t)(unsafe.Pointer(bp + 26 /* pdata */)) = Tuint16_t(0)
 12368  	if !!(get_ucp(tls, bp+4, bp+20, bp+24, bp+26, bp+12, cb) != 0) {
 12369  		goto __148
 12370  	}
 12371  	goto ESCAPE_FAILED
 12372  __148:
 12373  	;
 12374  	if !(*(*TBOOL)(unsafe.Pointer(bp + 20)) != 0) {
 12375  		goto __149
 12376  	}
 12377  	if escape == ESC_P {
 12378  		escape = ESC_p
 12379  	} else {
 12380  		escape = ESC_P
 12381  	}
 12382  __149:
 12383  	;
 12384  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12385  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 24)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 26))))
 12386  	okquantifier = DTRUE
 12387  
 12388  	goto __118 // End \P and \p
 12389  
 12390  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12391  	//       numerical or named subroutine call, and control comes here. When used
 12392  	//       with brace delimiters it is a numberical back reference and does not come
 12393  	//       here because check_escape() returns it directly as a reference. \k is
 12394  	//       always a named back reference.
 12395  
 12396  __136:
 12397  __137:
 12398  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\173' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\074' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\047') {
 12399  		goto __150
 12400  	}
 12401  
 12402  	if escape == ESC_g {
 12403  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR57
 12404  	} else {
 12405  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR69
 12406  	}
 12407  	goto ESCAPE_FAILED
 12408  __150:
 12409  	;
 12410  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\074' {
 12411  		terminator = uint32('\076')
 12412  	} else {
 12413  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\047' {
 12414  			terminator = uint32('\047')
 12415  		} else {
 12416  			terminator = uint32('\175')
 12417  		}
 12418  	}
 12419  
 12420  	// For a non-braced \g, check for a numerical recursion.
 12421  
 12422  	if !(escape == ESC_g && terminator != Tuint32_t('\175')) {
 12423  		goto __151
 12424  	}
 12425  
 12426  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 28 /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + uintptr(1)
 12427  
 12428  	if !(read_number(tls, bp+28, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+32,
 12429  		bp+12) != 0) {
 12430  		goto __152
 12431  	}
 12432  
 12433  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 28)) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 28))))) != terminator) {
 12434  		goto __153
 12435  	}
 12436  
 12437  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR57
 12438  	goto ESCAPE_FAILED
 12439  __153:
 12440  	;
 12441  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 28 /* p */))
 12442  	goto SET_RECURSION
 12443  __152:
 12444  	;
 12445  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 12446  		goto __154
 12447  	}
 12448  	goto ESCAPE_FAILED
 12449  __154:
 12450  	;
 12451  __151:
 12452  	;
 12453  
 12454  	// Not a numerical recursion
 12455  
 12456  	if !!(read_name(tls, bp+4, ptrend, utf, terminator, bp+36, bp+40, bp+44,
 12457  		bp+12, cb) != 0) {
 12458  		goto __155
 12459  	}
 12460  	goto ESCAPE_FAILED
 12461  __155:
 12462  	;
 12463  
 12464  	// \k and \g when used with braces are back references, whereas \g used
 12465  	//       with quotes or angle brackets is a recursion
 12466  
 12467  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12468  		if escape == ESC_k || terminator == Tuint32_t('\175') {
 12469  			return DMETA_BACKREF_BYNAME
 12470  		}
 12471  		return DMETA_RECURSE_BYNAME
 12472  	}()
 12473  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* namelen */))
 12474  
 12475  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 12476  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 12477  
 12478  	okquantifier = DTRUE
 12479  	goto __118 // End special escape processing
 12480  __118:
 12481  	;
 12482  __114:
 12483  	;
 12484  __112:
 12485  	;
 12486  	goto __84 // End escape sequence processing
 12487  
 12488  	// ---- Single-character special items ----
 12489  
 12490  __87:
 12491  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 12492  	goto __84
 12493  
 12494  __88:
 12495  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 12496  	goto __84
 12497  
 12498  __89:
 12499  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOT
 12500  	okquantifier = DTRUE
 12501  	goto __84
 12502  
 12503  	// ---- Single-character quantifiers ----
 12504  
 12505  __90:
 12506  	meta_quantifier = DMETA_ASTERISK
 12507  	goto CHECK_QUANTIFIER
 12508  
 12509  __91:
 12510  	meta_quantifier = DMETA_PLUS
 12511  	goto CHECK_QUANTIFIER
 12512  
 12513  __92:
 12514  	meta_quantifier = DMETA_QUERY
 12515  	goto CHECK_QUANTIFIER
 12516  
 12517  	// ---- Potential {n,m} quantifier ----
 12518  
 12519  __93:
 12520  	if !!(read_repeat_counts(tls, bp+4, ptrend, bp+48, bp+52,
 12521  		bp+12) != 0) {
 12522  		goto __156
 12523  	}
 12524  
 12525  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 12526  		goto __157
 12527  	}
 12528  	goto FAILED
 12529  __157:
 12530  	; // Error in quantifier.
 12531  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 12532  	okquantifier = DTRUE
 12533  	// Not a quantifier
 12534  	goto __84 // No more quantifier processing
 12535  __156:
 12536  	;
 12537  	meta_quantifier = DMETA_MINMAX
 12538  	// Fall through
 12539  
 12540  	// ---- Quantifier post-processing ----
 12541  
 12542  	// Check that a quantifier is allowed after the previous item.
 12543  
 12544  CHECK_QUANTIFIER:
 12545  	if !!(prev_okquantifier != 0) {
 12546  		goto __158
 12547  	}
 12548  
 12549  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR9
 12550  	goto FAILED_BACK
 12551  __158:
 12552  	;
 12553  
 12554  	// Most (*VERB)s are not allowed to be quantified, but an ungreedy
 12555  	//     quantifier can be useful for (*ACCEPT) - meaning "succeed on backtrack", a
 12556  	//     sort of negated (*COMMIT). We therefore allow (*ACCEPT) to be quantified by
 12557  	//     wrapping it in non-capturing brackets, but we have to allow for a preceding
 12558  	//     (*MARK) for when (*ACCEPT) has an argument.
 12559  
 12560  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_ACCEPT) {
 12561  		goto __159
 12562  	}
 12563  
 12564  	p1 = parsed_pattern - uintptr(1)*4
 12565  __160:
 12566  	if !(p1 >= verbstartptr) {
 12567  		goto __162
 12568  	}
 12569  	*(*Tuint32_t)(unsafe.Pointer(p1 + 1*4)) = *(*Tuint32_t)(unsafe.Pointer(p1))
 12570  	goto __161
 12571  __161:
 12572  	p1 -= 4
 12573  	goto __160
 12574  	goto __162
 12575  __162:
 12576  	;
 12577  	*(*Tuint32_t)(unsafe.Pointer(verbstartptr)) = DMETA_NOCAPTURE
 12578  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + 1*4)) = DMETA_KET
 12579  	parsed_pattern += 4 * uintptr(2)
 12580  __159:
 12581  	;
 12582  
 12583  	// Now we can put the quantifier into the parsed pattern vector. At this
 12584  	//     stage, we have only the basic quantifier. The check for a following + or ?
 12585  	//     modifier happens at the top of the loop, after any intervening comments
 12586  	//     have been removed.
 12587  
 12588  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta_quantifier
 12589  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\173')) {
 12590  		goto __163
 12591  	}
 12592  
 12593  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* min_repeat */))
 12594  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 52 /* max_repeat */))
 12595  __163:
 12596  	;
 12597  	goto __84
 12598  
 12599  	// ---- Character class ----
 12600  
 12601  __94:
 12602  	okquantifier = DTRUE
 12603  
 12604  	// In another (POSIX) regex library, the ugly syntax [[:<:]] and [[:>:]] is
 12605  	//     used for "start of word" and "end of word". As these are otherwise illegal
 12606  	//     sequences, we don't break anything by recognizing them. They are replaced
 12607  	//     by \b(?=\w) and \b(?<=\w) respectively. Sequences like [a[:<:]] are
 12608  	//     erroneous and are handled by the normal code below.
 12609  
 12610  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 6 && (X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ts+597, uint32(6)) == 0 || X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ts+604, uint32(6)) == 0)) {
 12611  		goto __164
 12612  	}
 12613  
 12614  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 12615  
 12616  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2))) == '\074') {
 12617  		goto __165
 12618  	}
 12619  
 12620  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 12621  	goto __166
 12622  __165:
 12623  
 12624  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKBEHIND
 12625  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 12626  
 12627  	/* The offset is used only for the "non-fixed length" error; this won't
 12628  	   occur here, so just store zero. */
 12629  
 12630  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tsize_t(Tsize_t(0)) >> 32
 12631  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tsize_t(0) & 0xffffffff
 12632  
 12633  __166:
 12634  	;
 12635  
 12636  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12637  		goto __167
 12638  	}
 12639  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_w
 12640  	goto __168
 12641  __167:
 12642  
 12643  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_p
 12644  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12645  __168:
 12646  	;
 12647  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 12648  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(6)
 12649  	goto __84
 12650  __164:
 12651  	;
 12652  
 12653  	// PCRE supports POSIX class stuff inside a class. Perl gives an error if
 12654  	//     they are encountered at the top level, so we'll do that too.
 12655  
 12656  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ptrend, bp+16) != 0) {
 12657  		goto __169
 12658  	}
 12659  
 12660  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) == '\072' {
 12661  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR12
 12662  	} else {
 12663  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR13
 12664  	}
 12665  	goto FAILED
 12666  __169:
 12667  	;
 12668  
 12669  	// Process a regular character class. If the first character is '^', set
 12670  	//     the negation flag. If the first few characters (either before or after ^)
 12671  	//     are \Q\E or \E or space or tab in extended-more mode, we skip them too.
 12672  	//     This makes for compatibility with Perl.
 12673  
 12674  	negate_class = DFALSE
 12675  __170:
 12676  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend) {
 12677  		goto __171
 12678  	}
 12679  
 12680  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 12681  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 12682  		goto __172
 12683  	}
 12684  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 12685  		goto __173
 12686  	}
 12687  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 12688  	goto __174
 12689  __173:
 12690  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 12691  		goto __175
 12692  	}
 12693  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 12694  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 12695  	goto __176
 12696  __175:
 12697  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 12698  		goto __177
 12699  	}
 12700  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 12701  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 12702  	goto __178
 12703  __177:
 12704  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 12705  		goto __179
 12706  	}
 12707  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 12708  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 12709  	goto __180
 12710  __179:
 12711  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 12712  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 12713  __180:
 12714  	;
 12715  __178:
 12716  	;
 12717  __176:
 12718  	;
 12719  __174:
 12720  	;
 12721  __172:
 12722  	;
 12723  
 12724  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\134')) {
 12725  		goto __181
 12726  	}
 12727  
 12728  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\105') {
 12729  		goto __183
 12730  	}
 12731  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 12732  	goto __184
 12733  __183:
 12734  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 3 && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ts+611, uint32(3)) == 0) {
 12735  		goto __185
 12736  	}
 12737  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 12738  	goto __186
 12739  __185:
 12740  	goto __171
 12741  __186:
 12742  	;
 12743  __184:
 12744  	;
 12745  	goto __182
 12746  __181:
 12747  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\011'))) {
 12748  		goto __187
 12749  	} // Note: just these two
 12750  	goto __170
 12751  	goto __188
 12752  __187:
 12753  	if !(!(negate_class != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\136')) {
 12754  		goto __189
 12755  	}
 12756  	negate_class = DTRUE
 12757  	goto __190
 12758  __189:
 12759  	goto __171
 12760  __190:
 12761  	;
 12762  __188:
 12763  	;
 12764  __182:
 12765  	;
 12766  	goto __170
 12767  __171:
 12768  	;
 12769  
 12770  	// Now the real contents of the class; c has the first "real" character.
 12771  	//     Empty classes are permitted only if the option is set.
 12772  
 12773  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\135') && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_ALLOW_EMPTY_CLASS != Tuint32_t(0)) {
 12774  		goto __191
 12775  	}
 12776  
 12777  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12778  		if negate_class != 0 {
 12779  			return DMETA_CLASS_EMPTY_NOT
 12780  		}
 12781  		return DMETA_CLASS_EMPTY
 12782  	}()
 12783  	goto __84 // End of class processing
 12784  __191:
 12785  	;
 12786  
 12787  	// Process a non-empty class.
 12788  
 12789  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12790  		if negate_class != 0 {
 12791  			return DMETA_CLASS_NOT
 12792  		}
 12793  		return DMETA_CLASS
 12794  	}()
 12795  	class_range_state = RANGE_NO
 12796  
 12797  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 12798  	//     because there are holes in the encoding, and simply using the range A-Z
 12799  	//     (for example) would include the characters in the holes. This applies only
 12800  	//     to ranges where both values are literal; [\xC1-\xE9] is different to [A-Z]
 12801  	//     in this respect. In order to accommodate this, we keep track of whether
 12802  	//     character values are literal or not, and a state variable for handling
 12803  	//     ranges.
 12804  
 12805  	// Loop for the contents of the class
 12806  
 12807  __192:
 12808  	char_is_literal = DTRUE
 12809  
 12810  	// Inside \Q...\E everything is literal except \E
 12811  
 12812  	if !(inescq != 0) {
 12813  		goto __195
 12814  	}
 12815  
 12816  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\105') {
 12817  		goto __196
 12818  	}
 12819  
 12820  	inescq = DFALSE                                      // Reset literal state
 12821  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++ // Skip the 'E'
 12822  	goto CLASS_CONTINUE
 12823  __196:
 12824  	;
 12825  	goto CLASS_LITERAL
 12826  __195:
 12827  	;
 12828  
 12829  	// Skip over space and tab (only) in extended-more mode.
 12830  
 12831  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\011'))) {
 12832  		goto __197
 12833  	}
 12834  	goto CLASS_CONTINUE
 12835  __197:
 12836  	;
 12837  
 12838  	// Handle POSIX class names. Perl allows a negation extension of the
 12839  	//       form [:^name:]. A square bracket that doesn't match the syntax is
 12840  	//       treated as a literal. We also recognize the POSIX constructions
 12841  	//       [.ch.] and [=ch=] ("collating elements") and fault them, as Perl
 12842  	//       5.6 and 5.8 do.
 12843  
 12844  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\133') && (int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 3 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ptrend, bp+16) != 0) {
 12845  		goto __198
 12846  	}
 12847  
 12848  	posix_negate = DFALSE
 12849  
 12850  	// Perl treats a hyphen before a POSIX class as a literal, not the
 12851  	//         start of a range. However, it gives a warning in its warning mode. PCRE
 12852  	//         does not have a warning mode, so we give an error, because this is
 12853  	//         likely an error on the user's part.
 12854  
 12855  	if !(class_range_state == Tuint32_t(1)) {
 12856  		goto __200
 12857  	}
 12858  
 12859  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR50
 12860  	goto FAILED
 12861  __200:
 12862  	;
 12863  
 12864  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\072') {
 12865  		goto __201
 12866  	}
 12867  
 12868  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR13
 12869  	goto FAILED_BACK
 12870  __201:
 12871  	;
 12872  
 12873  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) == '\136') {
 12874  		goto __202
 12875  	}
 12876  
 12877  	posix_negate = DTRUE
 12878  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 12879  __202:
 12880  	;
 12881  
 12882  	posix_class = check_posix_name(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), int32((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16)))-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1))
 12883  	if !(posix_class < 0) {
 12884  		goto __203
 12885  	}
 12886  
 12887  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR30
 12888  	goto FAILED
 12889  __203:
 12890  	;
 12891  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16)) + uintptr(2)
 12892  
 12893  	// Perl treats a hyphen after a POSIX class as a literal, not the
 12894  	//         start of a range. However, it gives a warning in its warning mode
 12895  	//         unless the hyphen is the last character in the class. PCRE does not
 12896  	//         have a warning mode, so we give an error, because this is likely an
 12897  	//         error on the user's part.
 12898  
 12899  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) != '\135') {
 12900  		goto __204
 12901  	}
 12902  
 12903  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR50
 12904  	goto FAILED
 12905  __204:
 12906  	;
 12907  
 12908  	// Set "a hyphen is not the start of a range" for the -] case, and also
 12909  	//         in case the POSIX class is followed by \E or \Q\E (possibly repeated -
 12910  	//         fuzzers do that kind of thing) and *then* a hyphen. This causes that
 12911  	//         hyphen to be treated as a literal. I don't think it's worth setting up
 12912  	//         special apparatus to do otherwise.
 12913  
 12914  	class_range_state = RANGE_NO
 12915  
 12916  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 12917  	//         use Unicode properties \p or \P or, in one case, \h or \H. The
 12918  	//         substitutes table has two values per class, containing the type and
 12919  	//         value of a \p or \P item. The special cases are specified with a
 12920  	//         negative type: a non-zero value causes \h or \H to be used, and a zero
 12921  	//         value falls through to behave like a non-UCP POSIX class.
 12922  
 12923  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 12924  		goto __205
 12925  	}
 12926  
 12927  	ptype1 = posix_substitutes[2*posix_class]
 12928  	pvalue = posix_substitutes[2*posix_class+1]
 12929  	if !(ptype1 >= 0) {
 12930  		goto __206
 12931  	}
 12932  
 12933  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12934  		if posix_negate != 0 {
 12935  			return ESC_P
 12936  		}
 12937  		return ESC_p
 12938  	}()
 12939  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(ptype1<<16 | pvalue)
 12940  	goto CLASS_CONTINUE
 12941  __206:
 12942  	;
 12943  
 12944  	if !(pvalue != 0) {
 12945  		goto __207
 12946  	}
 12947  
 12948  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12949  		if posix_negate != 0 {
 12950  			return ESC_H
 12951  		}
 12952  		return ESC_h
 12953  	}()
 12954  	goto CLASS_CONTINUE
 12955  __207:
 12956  	;
 12957  
 12958  	// Fall through
 12959  __205:
 12960  	;
 12961  
 12962  	// Non-UCP POSIX class
 12963  
 12964  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12965  		if posix_negate != 0 {
 12966  			return DMETA_POSIX_NEG
 12967  		}
 12968  		return DMETA_POSIX
 12969  	}()
 12970  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(posix_class)
 12971  	goto __199
 12972  __198:
 12973  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\055') && class_range_state >= RANGE_OK_ESCAPED) {
 12974  		goto __208
 12975  	}
 12976  
 12977  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12978  		if class_range_state == RANGE_OK_LITERAL {
 12979  			return DMETA_RANGE_LITERAL
 12980  		}
 12981  		return DMETA_RANGE_ESCAPED
 12982  	}()
 12983  	class_range_state = Tuint32_t(1) /* RANGE_STARTED */
 12984  	goto __209
 12985  __208:
 12986  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) != Tuint32_t('\134')) {
 12987  		goto __210
 12988  	}
 12989  
 12990  CLASS_LITERAL:
 12991  	if !(class_range_state == Tuint32_t(1)) {
 12992  		goto __212
 12993  	}
 12994  
 12995  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4))) {
 12996  		goto __214
 12997  	} // Optimize one-char range
 12998  	parsed_pattern -= 4
 12999  	goto __215
 13000  __214:
 13001  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4)) > *(*Tuint32_t)(unsafe.Pointer(bp + 8))) {
 13002  		goto __216
 13003  	} /* Check range is in order */
 13004  
 13005  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR8
 13006  	goto FAILED_BACK
 13007  	goto __217
 13008  __216:
 13009  
 13010  	if !(!(char_is_literal != 0) && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_RANGE_LITERAL) {
 13011  		goto __218
 13012  	}
 13013  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = DMETA_RANGE_ESCAPED
 13014  __218:
 13015  	;
 13016  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 13017  	okquantifier = DTRUE
 13018  
 13019  __217:
 13020  	;
 13021  __215:
 13022  	;
 13023  	class_range_state = RANGE_NO
 13024  	goto __213
 13025  __212: /* Potential start of range */
 13026  
 13027  	if char_is_literal != 0 {
 13028  		class_range_state = RANGE_OK_LITERAL
 13029  	} else {
 13030  		class_range_state = RANGE_OK_ESCAPED
 13031  	}
 13032  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */))
 13033  	okquantifier = DTRUE
 13034  
 13035  __213:
 13036  	;
 13037  	goto __211
 13038  __210:
 13039  
 13040  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 13041  	escape = X_pcre2_check_escape_8(tls, bp+4, ptrend, bp+8, bp+12, options,
 13042  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DTRUE, cb)
 13043  
 13044  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 13045  		goto __219
 13046  	}
 13047  
 13048  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 13049  		goto __220
 13050  	}
 13051  	goto FAILED
 13052  __220:
 13053  	;
 13054  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 16 /* tempptr */))
 13055  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 13056  		goto __221
 13057  	}
 13058  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t('\134')
 13059  	goto __222
 13060  __221:
 13061  
 13062  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 13063  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 13064  		goto __223
 13065  	}
 13066  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 13067  		goto __224
 13068  	}
 13069  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 13070  	goto __225
 13071  __224:
 13072  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 13073  		goto __226
 13074  	}
 13075  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 13076  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 13077  	goto __227
 13078  __226:
 13079  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 13080  		goto __228
 13081  	}
 13082  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 13083  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 13084  	goto __229
 13085  __228:
 13086  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 13087  		goto __230
 13088  	}
 13089  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 13090  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 13091  	goto __231
 13092  __230:
 13093  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 13094  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 13095  __231:
 13096  	;
 13097  __229:
 13098  	;
 13099  __227:
 13100  	;
 13101  __225:
 13102  	;
 13103  __223:
 13104  	;
 13105  
 13106  	// Get character value, increment pointer
 13107  __222:
 13108  	;
 13109  	escape = 0 // Treat as literal character
 13110  __219:
 13111  	;
 13112  
 13113  	switch escape {
 13114  	case 0:
 13115  		goto __233
 13116  
 13117  	case ESC_b:
 13118  		goto __234
 13119  
 13120  	case ESC_Q:
 13121  		goto __235
 13122  
 13123  	case ESC_E:
 13124  		goto __236
 13125  
 13126  	case ESC_B:
 13127  		goto __237 // Always an error in a class
 13128  	case ESC_R:
 13129  		goto __238
 13130  	case ESC_X:
 13131  		goto __239
 13132  	}
 13133  	goto __232
 13134  
 13135  __233: // Escaped character code point is in c
 13136  	char_is_literal = DFALSE
 13137  	goto CLASS_LITERAL
 13138  
 13139  __234:
 13140  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t('\010') // \b is backspace in a class
 13141  	char_is_literal = DFALSE
 13142  	goto CLASS_LITERAL
 13143  
 13144  __235:
 13145  	inescq = DTRUE // Enter literal mode
 13146  	goto CLASS_CONTINUE
 13147  
 13148  __236: // Ignore orphan \E
 13149  	goto CLASS_CONTINUE
 13150  
 13151  __237: // Always an error in a class
 13152  __238:
 13153  __239:
 13154  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR7
 13155  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))--
 13156  	goto FAILED
 13157  __232:
 13158  	;
 13159  
 13160  	// The second part of a range can be a single-character escape
 13161  	//         sequence (detected above), but not any of the other escapes. Perl
 13162  	//         treats a hyphen as a literal in such circumstances. However, in Perl's
 13163  	//         warning mode, a warning is given, so PCRE now faults it, as it is
 13164  	//         almost certainly a mistake on the user's part.
 13165  
 13166  	if !(class_range_state == Tuint32_t(1)) {
 13167  		goto __240
 13168  	}
 13169  
 13170  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR50
 13171  	goto FAILED // Not CLASS_ESCAPE_FAILED; always an error
 13172  __240:
 13173  	;
 13174  
 13175  	// Of the remaining escapes, only those that define characters are
 13176  	//         allowed in a class. None may start a range.
 13177  
 13178  	class_range_state = RANGE_NO
 13179  	switch escape {
 13180  	case ESC_N:
 13181  		goto __242
 13182  
 13183  	case ESC_H:
 13184  		goto __243
 13185  	case ESC_h:
 13186  		goto __244
 13187  	case ESC_V:
 13188  		goto __245
 13189  	case ESC_v:
 13190  		goto __246
 13191  
 13192  	// These escapes are converted to Unicode property tests when
 13193  	//           PCRE2_UCP is set.
 13194  
 13195  	case ESC_d:
 13196  		goto __247
 13197  	case ESC_D:
 13198  		goto __248
 13199  	case ESC_s:
 13200  		goto __249
 13201  	case ESC_S:
 13202  		goto __250
 13203  	case ESC_w:
 13204  		goto __251
 13205  	case ESC_W:
 13206  		goto __252
 13207  
 13208  	// Explicit Unicode property matching
 13209  
 13210  	case ESC_P:
 13211  		goto __253
 13212  	case ESC_p:
 13213  		goto __254 // End \P and \p
 13214  
 13215  	default:
 13216  		goto __255
 13217  	}
 13218  	goto __241
 13219  
 13220  __242:
 13221  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR71
 13222  	goto FAILED
 13223  
 13224  __243:
 13225  __244:
 13226  __245:
 13227  __246:
 13228  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13229  	goto __241
 13230  
 13231  	// These escapes are converted to Unicode property tests when
 13232  	//           PCRE2_UCP is set.
 13233  
 13234  __247:
 13235  __248:
 13236  __249:
 13237  __250:
 13238  __251:
 13239  __252:
 13240  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 13241  		goto __256
 13242  	}
 13243  
 13244  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13245  	goto __257
 13246  __256:
 13247  
 13248  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 13249  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 13250  			return ESC_p
 13251  		}
 13252  		return ESC_P
 13253  	}()
 13254  	switch escape {
 13255  	case ESC_d:
 13256  		goto __259
 13257  	case ESC_D:
 13258  		goto __260
 13259  
 13260  	case ESC_s:
 13261  		goto __261
 13262  	case ESC_S:
 13263  		goto __262
 13264  
 13265  	case ESC_w:
 13266  		goto __263
 13267  	case ESC_W:
 13268  		goto __264
 13269  	}
 13270  	goto __258
 13271  
 13272  __259:
 13273  __260:
 13274  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 13275  	goto __258
 13276  
 13277  __261:
 13278  __262:
 13279  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 13280  	goto __258
 13281  
 13282  __263:
 13283  __264:
 13284  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 13285  	goto __258
 13286  __258:
 13287  	;
 13288  __257:
 13289  	;
 13290  	goto __241
 13291  
 13292  	// Explicit Unicode property matching
 13293  
 13294  __253:
 13295  __254:
 13296  
 13297  	*(*Tuint16_t)(unsafe.Pointer(bp + 60 /* ptype2 */)) = Tuint16_t(0)
 13298  	*(*Tuint16_t)(unsafe.Pointer(bp + 62 /* pdata1 */)) = Tuint16_t(0)
 13299  	if !!(get_ucp(tls, bp+4, bp+56, bp+60, bp+62, bp+12, cb) != 0) {
 13300  		goto __265
 13301  	}
 13302  	goto FAILED
 13303  __265:
 13304  	;
 13305  	if !(*(*TBOOL)(unsafe.Pointer(bp + 56)) != 0) {
 13306  		goto __266
 13307  	}
 13308  	if escape == ESC_P {
 13309  		escape = ESC_p
 13310  	} else {
 13311  		escape = ESC_P
 13312  	}
 13313  __266:
 13314  	;
 13315  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13316  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 60)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 62))))
 13317  
 13318  	goto __241 // End \P and \p
 13319  
 13320  __255: // All others are not allowed in a class
 13321  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR7
 13322  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))--
 13323  	goto FAILED
 13324  __241:
 13325  	;
 13326  
 13327  	// Perl gives a warning unless a following hyphen is the last character
 13328  	//         in the class. PCRE throws an error.
 13329  
 13330  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) != '\135') {
 13331  		goto __267
 13332  	}
 13333  
 13334  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR50
 13335  	goto FAILED
 13336  __267:
 13337  	;
 13338  __211:
 13339  	;
 13340  __209:
 13341  	;
 13342  __199:
 13343  	;
 13344  
 13345  	// Proceed to next thing in the class.
 13346  
 13347  CLASS_CONTINUE:
 13348  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 13349  		goto __268
 13350  	}
 13351  
 13352  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR6 // Missing terminating ']'
 13353  	goto FAILED
 13354  __268:
 13355  	;
 13356  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1))))
 13357  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= 0xc0) {
 13358  		goto __269
 13359  	}
 13360  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x20 == Tuint32_t(0)) {
 13361  		goto __270
 13362  	}
 13363  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1))))&0x3f
 13364  	goto __271
 13365  __270:
 13366  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x10 == Tuint32_t(0)) {
 13367  		goto __272
 13368  	}
 13369  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f
 13370  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 13371  	goto __273
 13372  __272:
 13373  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x08 == Tuint32_t(0)) {
 13374  		goto __274
 13375  	}
 13376  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f
 13377  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(3)
 13378  	goto __275
 13379  __274:
 13380  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x04 == Tuint32_t(0)) {
 13381  		goto __276
 13382  	}
 13383  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f
 13384  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(4)
 13385  	goto __277
 13386  __276:
 13387  	*(*Tuint32_t)(unsafe.Pointer(bp + 8 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 8))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 4)))&0x3f
 13388  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(5)
 13389  __277:
 13390  	;
 13391  __275:
 13392  	;
 13393  __273:
 13394  	;
 13395  __271:
 13396  	;
 13397  __269:
 13398  	;
 13399  
 13400  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) == Tuint32_t('\135') && !(inescq != 0)) {
 13401  		goto __278
 13402  	}
 13403  	goto __194
 13404  __278:
 13405  	;
 13406  	goto __193
 13407  __193:
 13408  	goto __192
 13409  	goto __194
 13410  __194:
 13411  	; // End of class-processing loop
 13412  
 13413  	// -] at the end of a class is a literal '-'
 13414  
 13415  	if !(class_range_state == Tuint32_t(1)) {
 13416  		goto __279
 13417  	}
 13418  
 13419  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = Tuint32_t('\055')
 13420  	class_range_state = RANGE_NO
 13421  __279:
 13422  	;
 13423  
 13424  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CLASS_END
 13425  	goto __84 // End of character class
 13426  
 13427  	// ---- Opening parenthesis ----
 13428  
 13429  __95:
 13430  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 13431  		goto __280
 13432  	}
 13433  	goto UNCLOSED_PARENTHESIS
 13434  __280:
 13435  	;
 13436  
 13437  	// If ( is not followed by ? it is either a capture or a special verb or an
 13438  	//     alpha assertion or a positive non-atomic lookahead.
 13439  
 13440  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\077') {
 13441  		goto __281
 13442  	}
 13443  
 13444  	// Handle capturing brackets (or non-capturing if auto-capture is turned
 13445  	//       off).
 13446  
 13447  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\052') {
 13448  		goto __282
 13449  	}
 13450  
 13451  	nest_depth++
 13452  	if !(options&DPCRE2_NO_AUTO_CAPTURE == Tuint32_t(0)) {
 13453  		goto __284
 13454  	}
 13455  
 13456  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 13457  		goto __286
 13458  	}
 13459  
 13460  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR97
 13461  	goto FAILED
 13462  __286:
 13463  	;
 13464  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 13465  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 13466  	goto __285
 13467  __284:
 13468  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13469  __285:
 13470  	;
 13471  	goto __283
 13472  __282:
 13473  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 <= 1 || libc.AssignPtrUint32(bp+8, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1)))) == Tuint32_t('\051')) {
 13474  		goto __287
 13475  	}
 13476  	goto __84
 13477  	goto __288
 13478  __287:
 13479  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 8)) <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 8))))))&Dctype_lcletter != 0) {
 13480  		goto __289
 13481  	}
 13482  
 13483  	vn = uintptr(unsafe.Pointer(&alasnames))
 13484  	if !!(read_name(tls, bp+4, ptrend, utf, uint32(0), bp+36, bp+40, bp+44,
 13485  		bp+12, cb) != 0) {
 13486  		goto __291
 13487  	}
 13488  	goto FAILED
 13489  __291:
 13490  	;
 13491  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\072') {
 13492  		goto __292
 13493  	}
 13494  
 13495  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR95 // Malformed
 13496  	goto FAILED
 13497  __292:
 13498  	;
 13499  
 13500  	// Scan the table of alpha assertion names
 13501  
 13502  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 0
 13503  __293:
 13504  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < alascount) {
 13505  		goto __295
 13506  	}
 13507  
 13508  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 44)) == alasmeta[*(*int32)(unsafe.Pointer(bp + 32))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)), vn, uint32(*(*Tuint32_t)(unsafe.Pointer(bp + 44)))) == 0) {
 13509  		goto __296
 13510  	}
 13511  	goto __295
 13512  __296:
 13513  	;
 13514  	vn += uintptr(alasmeta[*(*int32)(unsafe.Pointer(bp + 32))].Flen + uint32(1))
 13515  	goto __294
 13516  __294:
 13517  	*(*int32)(unsafe.Pointer(bp + 32 /* i */))++
 13518  	goto __293
 13519  	goto __295
 13520  __295:
 13521  	;
 13522  
 13523  	if !(*(*int32)(unsafe.Pointer(bp + 32)) >= alascount) {
 13524  		goto __297
 13525  	}
 13526  
 13527  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR95 // Alpha assertion not recognized
 13528  	goto FAILED
 13529  __297:
 13530  	;
 13531  
 13532  	// Check for expecting an assertion condition. If so, only atomic
 13533  	//         lookaround assertions are valid.
 13534  
 13535  	meta = alasmeta[*(*int32)(unsafe.Pointer(bp + 32 /* i */))].Fmeta
 13536  	if !(prev_expect_cond_assert > 0 && (meta < DMETA_LOOKAHEAD || meta > DMETA_LOOKBEHINDNOT)) {
 13537  		goto __298
 13538  	}
 13539  
 13540  	if meta == DMETA_LOOKAHEAD_NA || meta == DMETA_LOOKBEHIND_NA {
 13541  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR98
 13542  	} else {
 13543  		*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR28
 13544  	} // (Atomic) assertion expected
 13545  	goto FAILED
 13546  __298:
 13547  	;
 13548  
 13549  	// The lookaround alphabetic synonyms can mostly be handled by jumping
 13550  	//         to the code that handles the traditional symbolic forms.
 13551  
 13552  	switch meta {
 13553  	default:
 13554  		goto __300 // the meta values come from a table above.
 13555  
 13556  	case DMETA_ATOMIC:
 13557  		goto __301
 13558  
 13559  	case DMETA_LOOKAHEAD:
 13560  		goto __302
 13561  
 13562  	case DMETA_LOOKAHEAD_NA:
 13563  		goto __303
 13564  
 13565  	case DMETA_LOOKAHEADNOT:
 13566  		goto __304
 13567  
 13568  	case DMETA_LOOKBEHIND:
 13569  		goto __305
 13570  	case DMETA_LOOKBEHINDNOT:
 13571  		goto __306
 13572  	case DMETA_LOOKBEHIND_NA:
 13573  		goto __307
 13574  
 13575  	// The script run facilities are handled here. Unicode support is
 13576  	//           required (give an error if not, as this is a security issue). Always
 13577  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13578  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13579  
 13580  	case DMETA_SCRIPT_RUN:
 13581  		goto __308
 13582  	case DMETA_ATOMIC_SCRIPT_RUN:
 13583  		goto __309
 13584  	}
 13585  	goto __299
 13586  
 13587  __300:
 13588  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR89 // Unknown code; should never occur because
 13589  	goto FAILED                                                // the meta values come from a table above.
 13590  
 13591  __301:
 13592  	goto ATOMIC_GROUP
 13593  
 13594  __302:
 13595  	goto POSITIVE_LOOK_AHEAD
 13596  
 13597  __303:
 13598  	goto POSITIVE_NONATOMIC_LOOK_AHEAD
 13599  
 13600  __304:
 13601  	goto NEGATIVE_LOOK_AHEAD
 13602  
 13603  __305:
 13604  __306:
 13605  __307:
 13606  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta
 13607  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))--
 13608  	goto POST_LOOKBEHIND
 13609  
 13610  	// The script run facilities are handled here. Unicode support is
 13611  	//           required (give an error if not, as this is a security issue). Always
 13612  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13613  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13614  
 13615  __308:
 13616  __309:
 13617  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_SCRIPT_RUN
 13618  	nest_depth++
 13619  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 13620  	if !(meta == DMETA_ATOMIC_SCRIPT_RUN) {
 13621  		goto __310
 13622  	}
 13623  
 13624  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 13625  	if !(top_nest == uintptr(0)) {
 13626  		goto __311
 13627  	}
 13628  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13629  	goto __312
 13630  __311:
 13631  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13632  		goto __313
 13633  	}
 13634  
 13635  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR84
 13636  	goto FAILED
 13637  __313:
 13638  	;
 13639  __312:
 13640  	;
 13641  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13642  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_ATOMICSR)
 13643  	(*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)
 13644  __310:
 13645  	;
 13646  	goto __299
 13647  __299:
 13648  	;
 13649  	goto __290
 13650  __289:
 13651  
 13652  	vn = uintptr(unsafe.Pointer(&verbnames))
 13653  	if !!(read_name(tls, bp+4, ptrend, utf, uint32(0), bp+36, bp+40, bp+44,
 13654  		bp+12, cb) != 0) {
 13655  		goto __314
 13656  	}
 13657  	goto FAILED
 13658  __314:
 13659  	;
 13660  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\072' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 13661  		goto __315
 13662  	}
 13663  
 13664  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR60 // Malformed
 13665  	goto FAILED
 13666  __315:
 13667  	;
 13668  
 13669  	// Scan the table of verb names
 13670  
 13671  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 0
 13672  __316:
 13673  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < verbcount) {
 13674  		goto __318
 13675  	}
 13676  
 13677  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 44)) == verbs[*(*int32)(unsafe.Pointer(bp + 32))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)), vn, uint32(*(*Tuint32_t)(unsafe.Pointer(bp + 44)))) == 0) {
 13678  		goto __319
 13679  	}
 13680  	goto __318
 13681  __319:
 13682  	;
 13683  	vn += uintptr(verbs[*(*int32)(unsafe.Pointer(bp + 32))].Flen + uint32(1))
 13684  	goto __317
 13685  __317:
 13686  	*(*int32)(unsafe.Pointer(bp + 32 /* i */))++
 13687  	goto __316
 13688  	goto __318
 13689  __318:
 13690  	;
 13691  
 13692  	if !(*(*int32)(unsafe.Pointer(bp + 32)) >= verbcount) {
 13693  		goto __320
 13694  	}
 13695  
 13696  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR60 // Verb not recognized
 13697  	goto FAILED
 13698  __320:
 13699  	;
 13700  
 13701  	// An empty argument is treated as no argument.
 13702  
 13703  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\072' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))+uintptr(1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) == '\051') {
 13704  		goto __321
 13705  	}
 13706  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 13707  __321:
 13708  	; // Advance to the closing parens
 13709  
 13710  	// Check for mandatory non-empty argument; this is (*MARK)
 13711  
 13712  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 32))].Fhas_arg > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\072') {
 13713  		goto __322
 13714  	}
 13715  
 13716  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR66
 13717  	goto FAILED
 13718  __322:
 13719  	;
 13720  
 13721  	// Remember where this verb, possibly with a preceding (*MARK), starts,
 13722  	//         for handling quantified (*ACCEPT).
 13723  
 13724  	verbstartptr = parsed_pattern
 13725  	okquantifier = libc.Bool32(verbs[*(*int32)(unsafe.Pointer(bp + 32))].Fmeta == DMETA_ACCEPT)
 13726  
 13727  	// It appears that Perl allows any characters whatsoever, other than a
 13728  	//         closing parenthesis, to appear in arguments ("names"), so we no longer
 13729  	//         insist on letters, digits, and underscores. Perl does not, however, do
 13730  	//         any interpretation within arguments, and has no means of including a
 13731  	//         closing parenthesis. PCRE supports escape processing but only when it
 13732  	//         is requested by an option. We set inverbname TRUE here, and let the
 13733  	//         main loop take care of this so that escape and \x processing is done by
 13734  	//         the main code above.
 13735  
 13736  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) == '\072') {
 13737  		goto __323
 13738  	} /* Skip past : or ) */
 13739  
 13740  	// Some optional arguments can be treated as a preceding (*MARK)
 13741  
 13742  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 32))].Fhas_arg < 0) {
 13743  		goto __325
 13744  	}
 13745  
 13746  	add_after_mark = verbs[*(*int32)(unsafe.Pointer(bp + 32 /* i */))].Fmeta
 13747  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_MARK
 13748  	goto __326
 13749  __325:
 13750  
 13751  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 32))].Fmeta + func() uint32 {
 13752  		if verbs[*(*int32)(unsafe.Pointer(bp + 32))].Fmeta != DMETA_MARK {
 13753  			return 0x00010000
 13754  		}
 13755  		return uint32(0)
 13756  	}()
 13757  __326:
 13758  	;
 13759  
 13760  	// Set up for reading the name in the main loop.
 13761  
 13762  	verblengthptr = libc.PostIncUintptr(&parsed_pattern, 4)
 13763  	verbnamestart = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 13764  	inverbname = DTRUE
 13765  	goto __324
 13766  __323: /* No verb "name" argument */
 13767  
 13768  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 32 /* i */))].Fmeta
 13769  __324:
 13770  	;
 13771  __290:
 13772  	;
 13773  __288:
 13774  	;
 13775  __283:
 13776  	;         // End of (*VERB) handling
 13777  	goto __84 // Done with this parenthesis
 13778  __281:
 13779  	; // End of groups that don't start with (?
 13780  
 13781  	// ---- Items starting (? ----
 13782  
 13783  	// The type of item is determined by what follows (?. Handle (?| and option
 13784  	//     changes under "default" because both need a new block on the nest stack.
 13785  	//     Comments starting with (?# are handled above. Note that there is some
 13786  	//     ambiguity about the sequence (?- because if a digit follows it's a relative
 13787  	//     recursion or subroutine call whereas otherwise it's an option unsetting.
 13788  
 13789  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend) {
 13790  		goto __327
 13791  	}
 13792  	goto UNCLOSED_PARENTHESIS
 13793  __327:
 13794  	;
 13795  
 13796  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))))) {
 13797  	default:
 13798  		goto __329 // End default case after (?
 13799  
 13800  	// ---- Python syntax support ----
 13801  
 13802  	case '\120':
 13803  		goto __330 // End of (?P processing
 13804  
 13805  	// ---- Recursion/subroutine calls by number ----
 13806  
 13807  	case '\122':
 13808  		goto __331
 13809  
 13810  	// An item starting (?- followed by a digit comes here via the "default"
 13811  	//       case because (?- followed by a non-digit is an options setting.
 13812  
 13813  	case '\053':
 13814  		goto __332
 13815  	// Fall through
 13816  
 13817  	case '\060':
 13818  		goto __333
 13819  	case '\061':
 13820  		goto __334
 13821  	case '\062':
 13822  		goto __335
 13823  	case '\063':
 13824  		goto __336
 13825  	case '\064':
 13826  		goto __337
 13827  	case '\065':
 13828  		goto __338
 13829  	case '\066':
 13830  		goto __339
 13831  	case '\067':
 13832  		goto __340
 13833  	case '\070':
 13834  		goto __341
 13835  	case '\071':
 13836  		goto __342 // End of recursive call by number handling
 13837  
 13838  	// ---- Recursion/subroutine calls by name ----
 13839  
 13840  	case '\046':
 13841  		goto __343
 13842  
 13843  	// ---- Callout with numerical or string argument ----
 13844  
 13845  	case '\103':
 13846  		goto __344 // End callout
 13847  
 13848  	// ---- Conditional group ----
 13849  
 13850  	// A condition can be an assertion, a number (referring to a numbered
 13851  	//       group's having been set), a name (referring to a named group), or 'R',
 13852  	//       referring to overall recursion. R<digits> and R&name are also permitted
 13853  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 13854  	//       relative group number.
 13855  	//
 13856  	//       There are several syntaxes for testing a named group: (?(name)) is used
 13857  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 13858  	//
 13859  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 13860  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 13861  	//       the Perl DEFINE feature or the Python named test. We look for a name
 13862  	//       first; if not found, we try the other case.
 13863  	//
 13864  	//       For compatibility with auto-callouts, we allow a callout to be specified
 13865  	//       before a condition that is an assertion.
 13866  
 13867  	case '\050':
 13868  		goto __345 // End of condition processing
 13869  
 13870  	// ---- Atomic group ----
 13871  
 13872  	case '\076':
 13873  		goto __346
 13874  
 13875  	// ---- Lookahead assertions ----
 13876  
 13877  	case '\075':
 13878  		goto __347
 13879  
 13880  	case '\052':
 13881  		goto __348
 13882  
 13883  	case '\041':
 13884  		goto __349
 13885  
 13886  	// ---- Lookbehind assertions ----
 13887  
 13888  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 13889  	//       is the start of the name of a capturing group.
 13890  
 13891  	case '\074':
 13892  		goto __350
 13893  
 13894  	// ---- Define a named group ----
 13895  
 13896  	// A named group may be defined as (?'name') or (?<name>). In the latter
 13897  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 13898  	//       terminator set to '>'.
 13899  
 13900  	case '\047':
 13901  		goto __351
 13902  	}
 13903  	goto __328
 13904  
 13905  __329:
 13906  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\055' && (int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 > 1 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) <= '\071')) {
 13907  		goto __352
 13908  	}
 13909  	goto RECURSION_BYNUMBER
 13910  __352:
 13911  	; // The + case is handled by CHAR_PLUS
 13912  
 13913  	// We now have either (?| or a (possibly empty) option setting,
 13914  	//       optionally followed by a non-capturing group.
 13915  
 13916  	nest_depth++
 13917  	if !(top_nest == uintptr(0)) {
 13918  		goto __353
 13919  	}
 13920  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13921  	goto __354
 13922  __353:
 13923  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13924  		goto __355
 13925  	}
 13926  
 13927  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR84
 13928  	goto FAILED
 13929  __355:
 13930  	;
 13931  __354:
 13932  	;
 13933  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13934  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = Tuint16_t(0)
 13935  	(*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)
 13936  
 13937  	// Start of non-capturing group that resets the capture count for each
 13938  	//       branch.
 13939  
 13940  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\174') {
 13941  		goto __356
 13942  	}
 13943  
 13944  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13945  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13946  	*(*Tuint16_t)(unsafe.Pointer(top_nest + 6)) |= uint16(DNSF_RESET)
 13947  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_DUPCAPUSED)
 13948  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13949  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 13950  	goto __357
 13951  __356:
 13952  
 13953  	hyphenok = DTRUE
 13954  	oldoptions = options
 13955  
 13956  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t(0)
 13957  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t(0)
 13958  	*(*Tuint32_t)(unsafe.Pointer(bp + 64 /* set */)) = libc.AssignPtrUint32(bp+68 /* unset */, Tuint32_t(0))
 13959  	optset = bp + 64 /* &set */
 13960  
 13961  	// ^ at the start unsets imnsx and disables the subsequent use of -
 13962  
 13963  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\136') {
 13964  		goto __358
 13965  	}
 13966  
 13967  	options = options & libc.CplUint32(DPCRE2_CASELESS|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_DOTALL|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE)
 13968  	hyphenok = DFALSE
 13969  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 13970  __358:
 13971  	;
 13972  
 13973  __359:
 13974  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\072') {
 13975  		goto __360
 13976  	}
 13977  
 13978  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), 1)))) {
 13979  	case '\055':
 13980  		goto __362
 13981  
 13982  	case '\112':
 13983  		goto __363
 13984  
 13985  	case '\151':
 13986  		goto __364
 13987  	case '\155':
 13988  		goto __365
 13989  	case '\156':
 13990  		goto __366
 13991  	case '\163':
 13992  		goto __367
 13993  	case '\125':
 13994  		goto __368
 13995  
 13996  	// If x appears twice it sets the extended extended option.
 13997  
 13998  	case '\170':
 13999  		goto __369
 14000  
 14001  	default:
 14002  		goto __370
 14003  	}
 14004  	goto __361
 14005  
 14006  __362:
 14007  	if !!(hyphenok != 0) {
 14008  		goto __371
 14009  	}
 14010  
 14011  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR94
 14012  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Correct the offset
 14013  	goto FAILED
 14014  __371:
 14015  	;
 14016  	optset = bp + 68 /* &unset */
 14017  	hyphenok = DFALSE
 14018  	goto __361
 14019  
 14020  __363: // Record that it changed in the external options
 14021  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DUPNAMES
 14022  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_JCHANGED)
 14023  	goto __361
 14024  
 14025  __364:
 14026  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_CASELESS
 14027  	goto __361
 14028  __365:
 14029  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_MULTILINE
 14030  	goto __361
 14031  __366:
 14032  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_NO_AUTO_CAPTURE
 14033  	goto __361
 14034  __367:
 14035  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DOTALL
 14036  	goto __361
 14037  __368:
 14038  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_UNGREEDY
 14039  	goto __361
 14040  
 14041  	// If x appears twice it sets the extended extended option.
 14042  
 14043  __369:
 14044  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED
 14045  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\170') {
 14046  		goto __372
 14047  	}
 14048  
 14049  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED_MORE
 14050  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14051  __372:
 14052  	;
 14053  	goto __361
 14054  
 14055  __370:
 14056  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR11
 14057  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Correct the offset
 14058  	goto FAILED
 14059  __361:
 14060  	;
 14061  	goto __359
 14062  __360:
 14063  	;
 14064  
 14065  	// If we are setting extended without extended-more, ensure that any
 14066  	//         existing extended-more gets unset. Also, unsetting extended must also
 14067  	//         unset extended-more.
 14068  
 14069  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 64))&(DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE) == DPCRE2_EXTENDED || *(*Tuint32_t)(unsafe.Pointer(bp + 68))&DPCRE2_EXTENDED != Tuint32_t(0)) {
 14070  		goto __373
 14071  	}
 14072  	*(*Tuint32_t)(unsafe.Pointer(bp + 68 /* unset */)) |= DPCRE2_EXTENDED_MORE
 14073  __373:
 14074  	;
 14075  
 14076  	options = (options | *(*Tuint32_t)(unsafe.Pointer(bp + 64))) & ^*(*Tuint32_t)(unsafe.Pointer(bp + 68))
 14077  
 14078  	// If the options ended with ')' this is not the start of a nested
 14079  	//         group with option changes, so the options change at this level.
 14080  	//         In this case, if the previous level set up a nest block, discard the
 14081  	//         one we have just created. Otherwise adjust it for the previous level.
 14082  	//         If the options ended with ':' we are starting a non-capturing group,
 14083  	//         possibly with an options setting.
 14084  
 14085  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 14086  		goto __374
 14087  	}
 14088  	goto UNCLOSED_PARENTHESIS
 14089  __374:
 14090  	;
 14091  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) == '\051') {
 14092  		goto __375
 14093  	}
 14094  
 14095  	nest_depth-- // This is not a nested group after all.
 14096  	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)) {
 14097  		goto __377
 14098  	}
 14099  	top_nest -= 12
 14100  	goto __378
 14101  __377:
 14102  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14103  __378:
 14104  	;
 14105  	goto __376
 14106  __375:
 14107  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 14108  __376:
 14109  	;
 14110  
 14111  	// If nothing changed, no need to record.
 14112  
 14113  	if !(options != oldoptions) {
 14114  		goto __379
 14115  	}
 14116  
 14117  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_OPTIONS
 14118  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = options
 14119  __379:
 14120  	;
 14121  __357:
 14122  	;          // End options processing
 14123  	goto __328 // End default case after (?
 14124  
 14125  	// ---- Python syntax support ----
 14126  
 14127  __330:
 14128  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend) {
 14129  		goto __380
 14130  	}
 14131  	goto UNCLOSED_PARENTHESIS
 14132  __380:
 14133  	;
 14134  
 14135  	// (?P<name> is the same as (?<name>, which defines a named group.
 14136  
 14137  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\074') {
 14138  		goto __381
 14139  	}
 14140  
 14141  	terminator = Tuint32_t('\076')
 14142  	goto DEFINE_NAME
 14143  __381:
 14144  	;
 14145  
 14146  	// (?P>name) is the same as (?&name), which is a recursion or subroutine
 14147  	//       call.
 14148  
 14149  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\076') {
 14150  		goto __382
 14151  	}
 14152  	goto RECURSE_BY_NAME
 14153  __382:
 14154  	;
 14155  
 14156  	// (?P=name) is the same as \k<name>, a back reference by name. Anything
 14157  	//       else after (?P is an error.
 14158  
 14159  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\075') {
 14160  		goto __383
 14161  	}
 14162  
 14163  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR41
 14164  	goto FAILED
 14165  __383:
 14166  	;
 14167  	if !!(read_name(tls, bp+4, ptrend, utf, uint32('\051'), bp+36, bp+40,
 14168  		bp+44, bp+12, cb) != 0) {
 14169  		goto __384
 14170  	}
 14171  	goto FAILED
 14172  __384:
 14173  	;
 14174  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF_BYNAME
 14175  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* namelen */))
 14176  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14177  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14178  
 14179  	okquantifier = DTRUE
 14180  	goto __328 // End of (?P processing
 14181  
 14182  	// ---- Recursion/subroutine calls by number ----
 14183  
 14184  __331:
 14185  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 0 // (?R) == (?R0)
 14186  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14187  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 14188  		goto __385
 14189  	}
 14190  
 14191  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR58
 14192  	goto FAILED
 14193  __385:
 14194  	;
 14195  	goto SET_RECURSION
 14196  
 14197  	// An item starting (?- followed by a digit comes here via the "default"
 14198  	//       case because (?- followed by a non-digit is an options setting.
 14199  
 14200  __332:
 14201  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 < 2 || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) <= '\071')) {
 14202  		goto __386
 14203  	}
 14204  
 14205  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR29 // Missing number
 14206  	goto FAILED
 14207  __386:
 14208  	;
 14209  	// Fall through
 14210  
 14211  __333:
 14212  __334:
 14213  __335:
 14214  __336:
 14215  __337:
 14216  __338:
 14217  __339:
 14218  __340:
 14219  __341:
 14220  __342:
 14221  RECURSION_BYNUMBER:
 14222  	if !!(read_number(tls, bp+4, ptrend,
 14223  		func() int32 {
 14224  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071' {
 14225  				return -1
 14226  			}
 14227  			return int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 14228  		}(),
 14229  		DMAX_GROUP_NUMBER, ERR61,
 14230  		bp+32, bp+12) != 0) {
 14231  		goto __387
 14232  	}
 14233  	goto FAILED
 14234  __387:
 14235  	;
 14236  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < 0) {
 14237  		goto __388
 14238  	} /* NB (?0) is permitted */
 14239  
 14240  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR15 // Unknown group
 14241  	goto FAILED_BACK
 14242  __388:
 14243  	;
 14244  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 14245  		goto __389
 14246  	}
 14247  	goto UNCLOSED_PARENTHESIS
 14248  __389:
 14249  	;
 14250  
 14251  SET_RECURSION:
 14252  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE | Tuint32_t(*(*int32)(unsafe.Pointer(bp + 32)))
 14253  	*(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14254  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14255  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14256  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14257  
 14258  	okquantifier = DTRUE
 14259  	goto __328 // End of recursive call by number handling
 14260  
 14261  	// ---- Recursion/subroutine calls by name ----
 14262  
 14263  __343:
 14264  RECURSE_BY_NAME:
 14265  	if !!(read_name(tls, bp+4, ptrend, utf, uint32('\051'), bp+36, bp+40,
 14266  		bp+44, bp+12, cb) != 0) {
 14267  		goto __390
 14268  	}
 14269  	goto FAILED
 14270  __390:
 14271  	;
 14272  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE_BYNAME
 14273  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* namelen */))
 14274  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14275  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14276  
 14277  	okquantifier = DTRUE
 14278  	goto __328
 14279  
 14280  	// ---- Callout with numerical or string argument ----
 14281  
 14282  __344:
 14283  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend) {
 14284  		goto __391
 14285  	}
 14286  	goto UNCLOSED_PARENTHESIS
 14287  __391:
 14288  	;
 14289  
 14290  	// If the previous item was a condition starting (?(? an assertion,
 14291  	//       optionally preceded by a callout, is expected. This is checked later on,
 14292  	//       during actual compilation. However we need to identify this kind of
 14293  	//       assertion in this pass because it must not be qualified. The value of
 14294  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14295  	//       for a callout - still leaving a positive value that identifies the
 14296  	//       assertion. Multiple callouts or any other items will make it zero or
 14297  	//       less, which doesn't matter because they will cause an error later.
 14298  
 14299  	expect_cond_assert = prev_expect_cond_assert - 1
 14300  
 14301  	// If previous_callout is not NULL, it means this follows a previous
 14302  	//       callout. If it was a manual callout, do nothing; this means its "length
 14303  	//       of next pattern item" field will remain zero. If it was an automatic
 14304  	//       callout, abolish it.
 14305  
 14306  	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)) {
 14307  		goto __392
 14308  	}
 14309  	parsed_pattern = *(*uintptr)(unsafe.Pointer(bp /* previous_callout */))
 14310  __392:
 14311  	;
 14312  
 14313  	// Save for updating next pattern item length, and skip one item before
 14314  	//       completing.
 14315  
 14316  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = parsed_pattern
 14317  	after_manual_callout = 1
 14318  
 14319  	// Handle a string argument; specific delimiter is required.
 14320  
 14321  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051' && !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071')) {
 14322  		goto __393
 14323  	}
 14324  
 14325  	startptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))
 14326  
 14327  	delimiter = Tuint32_t(0)
 14328  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 0
 14329  __395:
 14330  	if !(X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 32))] != Tuint32_t(0)) {
 14331  		goto __397
 14332  	}
 14333  
 14334  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 32))]) {
 14335  		goto __398
 14336  	}
 14337  
 14338  	delimiter = X_pcre2_callout_end_delims_8[*(*int32)(unsafe.Pointer(bp + 32 /* i */))]
 14339  	goto __397
 14340  __398:
 14341  	;
 14342  	goto __396
 14343  __396:
 14344  	*(*int32)(unsafe.Pointer(bp + 32 /* i */))++
 14345  	goto __395
 14346  	goto __397
 14347  __397:
 14348  	;
 14349  	if !(delimiter == Tuint32_t(0)) {
 14350  		goto __399
 14351  	}
 14352  
 14353  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR82
 14354  	goto FAILED
 14355  __399:
 14356  	;
 14357  
 14358  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_STRING
 14359  	parsed_pattern += 4 * uintptr(3) // Skip pattern info
 14360  
 14361  __400:
 14362  
 14363  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend) {
 14364  		goto __403
 14365  	}
 14366  
 14367  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR81
 14368  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) = startptr // To give a more useful message
 14369  	goto FAILED
 14370  __403:
 14371  	;
 14372  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == delimiter && (libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != delimiter)) {
 14373  		goto __404
 14374  	}
 14375  	goto __402
 14376  __404:
 14377  	;
 14378  	goto __401
 14379  __401:
 14380  	goto __400
 14381  	goto __402
 14382  __402:
 14383  	;
 14384  
 14385  	calloutlength = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))) - int32(startptr)) / 1)
 14386  	if !(calloutlength > 4294967295) {
 14387  		goto __405
 14388  	}
 14389  
 14390  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR72
 14391  	goto FAILED
 14392  __405:
 14393  	;
 14394  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(calloutlength)
 14395  	*(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */)) = Tsize_t((int32(startptr) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14396  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14397  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14398  
 14399  	goto __394
 14400  __393:
 14401  
 14402  	n = 0
 14403  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_NUMBER // Numerical callout
 14404  	parsed_pattern += 4 * uintptr(3)                                     // Skip pattern info
 14405  __406:
 14406  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071')) {
 14407  		goto __407
 14408  	}
 14409  
 14410  	n = n*10 + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) - '\060'
 14411  	if !(n > 255) {
 14412  		goto __408
 14413  	}
 14414  
 14415  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR38
 14416  	goto FAILED
 14417  __408:
 14418  	;
 14419  	goto __406
 14420  __407:
 14421  	;
 14422  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(n)
 14423  __394:
 14424  	;
 14425  
 14426  	// Both formats must have a closing parenthesis
 14427  
 14428  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 14429  		goto __409
 14430  	}
 14431  
 14432  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR39
 14433  	goto FAILED
 14434  __409:
 14435  	;
 14436  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14437  
 14438  	// Remember the offset to the next item in the pattern, and set a default
 14439  	//       length. This should get updated after the next item is read.
 14440  
 14441  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 1*4)) = Tuint32_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14442  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 2*4)) = Tuint32_t(0)
 14443  	goto __328 // End callout
 14444  
 14445  	// ---- Conditional group ----
 14446  
 14447  	// A condition can be an assertion, a number (referring to a numbered
 14448  	//       group's having been set), a name (referring to a named group), or 'R',
 14449  	//       referring to overall recursion. R<digits> and R&name are also permitted
 14450  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 14451  	//       relative group number.
 14452  	//
 14453  	//       There are several syntaxes for testing a named group: (?(name)) is used
 14454  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 14455  	//
 14456  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 14457  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 14458  	//       the Perl DEFINE feature or the Python named test. We look for a name
 14459  	//       first; if not found, we try the other case.
 14460  	//
 14461  	//       For compatibility with auto-callouts, we allow a callout to be specified
 14462  	//       before a condition that is an assertion.
 14463  
 14464  __345:
 14465  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend) {
 14466  		goto __410
 14467  	}
 14468  	goto UNCLOSED_PARENTHESIS
 14469  __410:
 14470  	;
 14471  	nest_depth++
 14472  
 14473  	// If the next character is ? or * there must be an assertion next
 14474  	//       (optionally preceded by a callout). We do not check this here, but
 14475  	//       instead we set expect_cond_assert to 2. If this is still greater than
 14476  	//       zero (callouts decrement it) when the next assertion is read, it will be
 14477  	//       marked as a condition that must not be repeated. A value greater than
 14478  	//       zero also causes checking that an assertion (possibly with callout)
 14479  	//       follows.
 14480  
 14481  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\052') {
 14482  		goto __411
 14483  	}
 14484  
 14485  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_ASSERT
 14486  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Pull pointer back to the opening parenthesis.
 14487  	expect_cond_assert = 2
 14488  	goto __328 // End of conditional
 14489  __411:
 14490  	;
 14491  
 14492  	// Handle (?([+-]number)...
 14493  
 14494  	if !(read_number(tls, bp+4, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+32,
 14495  		bp+12) != 0) {
 14496  		goto __412
 14497  	}
 14498  
 14499  	if !(*(*int32)(unsafe.Pointer(bp + 32)) <= 0) {
 14500  		goto __414
 14501  	}
 14502  
 14503  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR15
 14504  	goto FAILED
 14505  __414:
 14506  	;
 14507  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_NUMBER
 14508  	*(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))-int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - 2)
 14509  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14510  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14511  
 14512  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 32 /* i */)))
 14513  	goto __413
 14514  __412:
 14515  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 14516  		goto __415
 14517  	}
 14518  	goto FAILED
 14519  	goto __416
 14520  __415:
 14521  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 >= 10 && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), ts+615, uint32(7)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 7))) != '\051') {
 14522  		goto __417
 14523  	}
 14524  
 14525  	ge = Tuint32_t(0)
 14526  	*(*int32)(unsafe.Pointer(bp + 72 /* major */)) = 0
 14527  	minor = 0
 14528  
 14529  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(7)
 14530  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\076') {
 14531  		goto __419
 14532  	}
 14533  
 14534  	ge = Tuint32_t(1)
 14535  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14536  __419:
 14537  	;
 14538  
 14539  	// NOTE: cannot write IS_DIGIT(*(++ptr)) here because IS_DIGIT
 14540  	//         references its argument twice.
 14541  
 14542  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\075' || func() bool {
 14543  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))++
 14544  		return !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071')
 14545  	}()) {
 14546  		goto __420
 14547  	}
 14548  	goto BAD_VERSION_CONDITION
 14549  __420:
 14550  	;
 14551  
 14552  	if !!(read_number(tls, bp+4, ptrend, -1, uint32(1000), ERR79, bp+72, bp+12) != 0) {
 14553  		goto __421
 14554  	}
 14555  	goto FAILED
 14556  __421:
 14557  	;
 14558  
 14559  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 14560  		goto __422
 14561  	}
 14562  	goto BAD_VERSION_CONDITION
 14563  __422:
 14564  	;
 14565  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\056') {
 14566  		goto __423
 14567  	}
 14568  
 14569  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1) >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071')) {
 14570  		goto __424
 14571  	}
 14572  	goto BAD_VERSION_CONDITION
 14573  __424:
 14574  	;
 14575  	minor = (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) - '\060') * 10
 14576  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 14577  		goto __425
 14578  	}
 14579  	goto BAD_VERSION_CONDITION
 14580  __425:
 14581  	;
 14582  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) <= '\071') {
 14583  		goto __426
 14584  	}
 14585  	minor = minor + (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)), 1)))) - '\060')
 14586  __426:
 14587  	;
 14588  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 14589  		goto __427
 14590  	}
 14591  	goto BAD_VERSION_CONDITION
 14592  __427:
 14593  	;
 14594  __423:
 14595  	;
 14596  
 14597  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_VERSION
 14598  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = ge
 14599  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 72 /* major */)))
 14600  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(minor)
 14601  	goto __418
 14602  __417:
 14603  
 14604  	was_r_ampersand = DFALSE
 14605  
 14606  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\122' && (int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 > 1 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) == '\046') {
 14607  		goto __428
 14608  	}
 14609  
 14610  	terminator = Tuint32_t('\051')
 14611  	was_r_ampersand = DTRUE
 14612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14613  	goto __429
 14614  __428:
 14615  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\074') {
 14616  		goto __430
 14617  	}
 14618  	terminator = Tuint32_t('\076')
 14619  	goto __431
 14620  __430:
 14621  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) == '\047') {
 14622  		goto __432
 14623  	}
 14624  	terminator = Tuint32_t('\047')
 14625  	goto __433
 14626  __432:
 14627  
 14628  	terminator = Tuint32_t('\051')
 14629  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Point to char before name
 14630  __433:
 14631  	;
 14632  __431:
 14633  	;
 14634  __429:
 14635  	;
 14636  	if !!(read_name(tls, bp+4, ptrend, utf, terminator, bp+36, bp+40, bp+44,
 14637  		bp+12, cb) != 0) {
 14638  		goto __434
 14639  	}
 14640  	goto FAILED
 14641  __434:
 14642  	;
 14643  
 14644  	// Handle (?(R&name)
 14645  
 14646  	if !(was_r_ampersand != 0) {
 14647  		goto __435
 14648  	}
 14649  
 14650  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_RNAME
 14651  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Back to closing parens
 14652  	goto __436
 14653  __435:
 14654  	if !(terminator == Tuint32_t('\051')) {
 14655  		goto __437
 14656  	}
 14657  
 14658  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 44)) == Tuint32_t(6) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)), ts+623, uint32(6)) == 0) {
 14659  		goto __439
 14660  	}
 14661  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_DEFINE
 14662  	goto __440
 14663  __439:
 14664  
 14665  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 1
 14666  __441:
 14667  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < int32(*(*Tuint32_t)(unsafe.Pointer(bp + 44)))) {
 14668  		goto __443
 14669  	}
 14670  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)) + uintptr(*(*int32)(unsafe.Pointer(bp + 32)))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)) + uintptr(*(*int32)(unsafe.Pointer(bp + 32)))))) <= '\071') {
 14671  		goto __444
 14672  	}
 14673  	goto __443
 14674  __444:
 14675  	;
 14676  	goto __442
 14677  __442:
 14678  	*(*int32)(unsafe.Pointer(bp + 32 /* i */))++
 14679  	goto __441
 14680  	goto __443
 14681  __443:
 14682  	;
 14683  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = func() uint32 {
 14684  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40))))) == '\122' && *(*int32)(unsafe.Pointer(bp + 32)) >= int32(*(*Tuint32_t)(unsafe.Pointer(bp + 44))) {
 14685  			return DMETA_COND_RNUMBER
 14686  		}
 14687  		return DMETA_COND_NAME
 14688  	}()
 14689  __440:
 14690  	;
 14691  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))-- // Back to closing parens
 14692  	goto __438
 14693  __437:
 14694  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_NAME
 14695  __438:
 14696  	;
 14697  __436:
 14698  	;
 14699  
 14700  	// All these cases except DEFINE end with the name length and offset;
 14701  	//         DEFINE just has an offset (for the "too many branches" error).
 14702  
 14703  	if !(*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) != DMETA_COND_DEFINE) {
 14704  		goto __445
 14705  	}
 14706  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* namelen */))
 14707  __445:
 14708  	;
 14709  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14710  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14711  
 14712  __418:
 14713  	;
 14714  __416:
 14715  	;
 14716  __413:
 14717  	; // End cases that read a name
 14718  
 14719  	// Check the closing parenthesis of the condition
 14720  
 14721  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))) != '\051') {
 14722  		goto __446
 14723  	}
 14724  
 14725  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR24
 14726  	goto FAILED
 14727  __446:
 14728  	;
 14729  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14730  	goto __328 // End of condition processing
 14731  
 14732  	// ---- Atomic group ----
 14733  
 14734  __346:
 14735  ATOMIC_GROUP: // Come from (*atomic:
 14736  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 14737  	nest_depth++
 14738  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14739  	goto __328
 14740  
 14741  	// ---- Lookahead assertions ----
 14742  
 14743  __347:
 14744  POSITIVE_LOOK_AHEAD: // Come from (*pla:
 14745  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 14746  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14747  	goto POST_ASSERTION
 14748  
 14749  __348:
 14750  POSITIVE_NONATOMIC_LOOK_AHEAD: // Come from (?*
 14751  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD_NA
 14752  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14753  	goto POST_ASSERTION
 14754  
 14755  __349:
 14756  NEGATIVE_LOOK_AHEAD: // Come from (*nla:
 14757  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEADNOT
 14758  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))++
 14759  	goto POST_ASSERTION
 14760  
 14761  	// ---- Lookbehind assertions ----
 14762  
 14763  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 14764  	//       is the start of the name of a capturing group.
 14765  
 14766  __350:
 14767  	if !((int32(ptrend)-int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))))/1 <= 1 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) != '\075' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) != '\041' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) != '\052') {
 14768  		goto __447
 14769  	}
 14770  
 14771  	terminator = Tuint32_t('\076')
 14772  	goto DEFINE_NAME
 14773  __447:
 14774  	;
 14775  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 14776  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) == '\075' {
 14777  			return DMETA_LOOKBEHIND
 14778  		}
 14779  		return func() uint32 {
 14780  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) + 1))) == '\041' {
 14781  				return DMETA_LOOKBEHINDNOT
 14782  			}
 14783  			return DMETA_LOOKBEHIND_NA
 14784  		}()
 14785  	}()
 14786  
 14787  POST_LOOKBEHIND: // Come from (*plb: (*naplb: and (*nlb:
 14788  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 14789  	*(*Tsize_t)(unsafe.Pointer(bp + 36 /* offset */)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)))-int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - 2)
 14790  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) >> 32)
 14791  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 36)) & 0xffffffff)
 14792  
 14793  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)) += uintptr(2)
 14794  	// Fall through
 14795  
 14796  	// If the previous item was a condition starting (?(? an assertion,
 14797  	//       optionally preceded by a callout, is expected. This is checked later on,
 14798  	//       during actual compilation. However we need to identify this kind of
 14799  	//       assertion in this pass because it must not be qualified. The value of
 14800  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14801  	//       for a callout - still leaving a positive value that identifies the
 14802  	//       assertion. Multiple callouts or any other items will make it zero or
 14803  	//       less, which doesn't matter because they will cause an error later.
 14804  
 14805  POST_ASSERTION:
 14806  	nest_depth++
 14807  	if !(prev_expect_cond_assert > 0) {
 14808  		goto __448
 14809  	}
 14810  
 14811  	if !(top_nest == uintptr(0)) {
 14812  		goto __449
 14813  	}
 14814  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 14815  	goto __450
 14816  __449:
 14817  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 14818  		goto __451
 14819  	}
 14820  
 14821  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR84
 14822  	goto FAILED
 14823  __451:
 14824  	;
 14825  __450:
 14826  	;
 14827  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14828  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_CONDASSERT)
 14829  	(*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)
 14830  __448:
 14831  	;
 14832  	goto __328
 14833  
 14834  	// ---- Define a named group ----
 14835  
 14836  	// A named group may be defined as (?'name') or (?<name>). In the latter
 14837  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 14838  	//       terminator set to '>'.
 14839  
 14840  __351:
 14841  	terminator = Tuint32_t('\047') // Terminator
 14842  
 14843  DEFINE_NAME:
 14844  	if !!(read_name(tls, bp+4, ptrend, utf, terminator, bp+36, bp+40, bp+44,
 14845  		bp+12, cb) != 0) {
 14846  		goto __452
 14847  	}
 14848  	goto FAILED
 14849  __452:
 14850  	;
 14851  
 14852  	// We have a name for this capturing group. It is also assigned a number,
 14853  	//       which is its primary means of identification.
 14854  
 14855  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 14856  		goto __453
 14857  	}
 14858  
 14859  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR97
 14860  	goto FAILED
 14861  __453:
 14862  	;
 14863  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 14864  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 14865  	nest_depth++
 14866  
 14867  	// Check not too many names
 14868  
 14869  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= DMAX_NAME_COUNT) {
 14870  		goto __454
 14871  	}
 14872  
 14873  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR49
 14874  	goto FAILED
 14875  __454:
 14876  	;
 14877  
 14878  	// Adjust the entry size to accommodate the longest name found.
 14879  
 14880  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 44))+Tuint32_t(DIMM2_SIZE)+Tuint32_t(1) > Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)) {
 14881  		goto __455
 14882  	}
 14883  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 44)) + Tuint32_t(DIMM2_SIZE) + Tuint32_t(1))
 14884  __455:
 14885  	;
 14886  
 14887  	// Scan the list to check for duplicates. For duplicate names, if the
 14888  	//       number is the same, break the loop, which causes the name to be
 14889  	//       discarded; otherwise, if DUPNAMES is not set, give an error.
 14890  	//       If it is set, allow the name with a different number, but continue
 14891  	//       scanning in case this is a duplicate with the same number. For
 14892  	//       non-duplicate names, give an error if the number is duplicated.
 14893  
 14894  	isdupname = DFALSE
 14895  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 14896  	*(*int32)(unsafe.Pointer(bp + 32 /* i */)) = 0
 14897  __456:
 14898  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14899  		goto __458
 14900  	}
 14901  
 14902  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 44)) == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bp + 44)))) == 0) {
 14903  		goto __459
 14904  	}
 14905  
 14906  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14907  		goto __461
 14908  	}
 14909  	goto __458
 14910  __461:
 14911  	;
 14912  	if !(options&DPCRE2_DUPNAMES == Tuint32_t(0)) {
 14913  		goto __462
 14914  	}
 14915  
 14916  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR43
 14917  	goto FAILED
 14918  __462:
 14919  	;
 14920  	isdupname = TBOOL(libc.AssignPtrUint16(ng+10, Tuint16_t(DTRUE))) // Mark as a duplicate
 14921  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fdupnames = DTRUE        // Duplicate names exist
 14922  	goto __460
 14923  __459:
 14924  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14925  		goto __463
 14926  	}
 14927  
 14928  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR65
 14929  	goto FAILED
 14930  __463:
 14931  	;
 14932  __460:
 14933  	;
 14934  	goto __457
 14935  __457:
 14936  	*(*int32)(unsafe.Pointer(bp + 32 /* i */))++
 14937  	ng += 12
 14938  	goto __456
 14939  	goto __458
 14940  __458:
 14941  	;
 14942  
 14943  	if !(*(*int32)(unsafe.Pointer(bp + 32)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14944  		goto __464
 14945  	}
 14946  	goto __328
 14947  __464:
 14948  	; // Ignore duplicate with same number
 14949  
 14950  	// Increase the list size if necessary
 14951  
 14952  	if !(Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size) {
 14953  		goto __465
 14954  	}
 14955  
 14956  	newsize = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size * Tuint32_t(2)
 14957  	newspace =
 14958  		(*struct {
 14959  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 14960  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmalloc})).f(tls, uint32(newsize)*uint32(unsafe.Sizeof(Tnamed_group_8{})),
 14961  			(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14962  	if !(newspace == uintptr(0)) {
 14963  		goto __466
 14964  	}
 14965  
 14966  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR21
 14967  	goto FAILED
 14968  __466:
 14969  	;
 14970  
 14971  	libc.Xmemcpy(tls, newspace, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups,
 14972  		uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size)*uint32(unsafe.Sizeof(Tnamed_group_8{})))
 14973  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 14974  		goto __467
 14975  	}
 14976  	(*struct {
 14977  		f func(*libc.TLS, uintptr, uintptr)
 14978  	})(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,
 14979  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14980  __467:
 14981  	;
 14982  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups = newspace
 14983  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size = newsize
 14984  __465:
 14985  	;
 14986  
 14987  	// Add this name to the list
 14988  
 14989  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*12)).Fname = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* name */))
 14990  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*12)).Flength = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 44 /* namelen */)))
 14991  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*12)).Fnumber = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 14992  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*12)).Fisdup = Tuint16_t(isdupname)
 14993  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found++
 14994  	goto __328
 14995  __328:
 14996  	;         // End of (? switch
 14997  	goto __84 // End of ( handling
 14998  
 14999  	// ---- Branch terminators ----
 15000  
 15001  	// Alternation: reset the capture count if we are in a (?| group.
 15002  
 15003  __96:
 15004  	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)) {
 15005  		goto __468
 15006  	}
 15007  
 15008  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount > Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)) {
 15009  		goto __469
 15010  	}
 15011  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 15012  __469:
 15013  	;
 15014  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group)
 15015  __468:
 15016  	;
 15017  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ALT
 15018  	goto __84
 15019  
 15020  	// End of group; reset the capture count to the maximum if we are in a (?|
 15021  	//     group and/or reset the options that are tracked during parsing. Disallow
 15022  	//     quantifier for a condition that is an assertion.
 15023  
 15024  __97:
 15025  	okquantifier = DTRUE
 15026  	if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth)) {
 15027  		goto __470
 15028  	}
 15029  
 15030  	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
 15031  	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) {
 15032  		goto __471
 15033  	}
 15034  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)
 15035  __471:
 15036  	;
 15037  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_CONDASSERT != uint32(0)) {
 15038  		goto __472
 15039  	}
 15040  	okquantifier = DFALSE
 15041  __472:
 15042  	;
 15043  
 15044  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_ATOMICSR != uint32(0)) {
 15045  		goto __473
 15046  	}
 15047  
 15048  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15049  __473:
 15050  	;
 15051  
 15052  	if !(top_nest == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace) {
 15053  		goto __474
 15054  	}
 15055  	top_nest = uintptr(0)
 15056  	goto __475
 15057  __474:
 15058  	top_nest -= 12
 15059  __475:
 15060  	;
 15061  __470:
 15062  	;
 15063  	if !(int32(nest_depth) == 0) {
 15064  		goto __476
 15065  	} /* Unmatched closing parenthesis */
 15066  
 15067  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR22
 15068  	goto FAILED_BACK
 15069  __476:
 15070  	;
 15071  	nest_depth--
 15072  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15073  	goto __84
 15074  __84:
 15075  	; // End of switch on pattern character
 15076  	goto __19
 15077  __20:
 15078  	; // End of main character scan loop
 15079  
 15080  	// End of pattern reached. Check for missing ) at the end of a verb name.
 15081  
 15082  	if !(inverbname != 0 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4)) >= ptrend) {
 15083  		goto __477
 15084  	}
 15085  
 15086  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR60
 15087  	goto FAILED
 15088  __477:
 15089  	;
 15090  
 15091  	// Manage callout for the final item
 15092  
 15093  PARSED_END:
 15094  	parsed_pattern = manage_callouts(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */)), bp, auto_callout,
 15095  		parsed_pattern, cb)
 15096  
 15097  	// Insert trailing items for word and line matching (features provided for the
 15098  	// benefit of pcre2grep).
 15099  
 15100  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 15101  		goto __478
 15102  	}
 15103  
 15104  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15105  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 15106  	goto __479
 15107  __478:
 15108  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 15109  		goto __480
 15110  	}
 15111  
 15112  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15113  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 15114  __480:
 15115  	;
 15116  __479:
 15117  	;
 15118  
 15119  	// Terminate the parsed pattern, then return success if all groups are closed.
 15120  	// Otherwise we have unclosed parentheses.
 15121  
 15122  	if !(parsed_pattern >= parsed_pattern_end) {
 15123  		goto __481
 15124  	}
 15125  
 15126  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 15127  	goto FAILED
 15128  __481:
 15129  	;
 15130  
 15131  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_END
 15132  	if !(int32(nest_depth) == 0) {
 15133  		goto __482
 15134  	}
 15135  	return 0
 15136  __482:
 15137  	;
 15138  
 15139  UNCLOSED_PARENTHESIS:
 15140  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR14
 15141  
 15142  	// Come here for all failures.
 15143  
 15144  FAILED:
 15145  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4))) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15146  	return *(*int32)(unsafe.Pointer(bp + 12 /* errorcode */))
 15147  
 15148  	// Some errors need to indicate the previous character.
 15149  
 15150  FAILED_BACK:
 15151  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* ptr */))--
 15152  	goto FAILED
 15153  
 15154  	// This failure happens several times.
 15155  
 15156  BAD_VERSION_CONDITION:
 15157  	*(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) = ERR79
 15158  	goto FAILED
 15159  	return int32(0)
 15160  }
 15161  
 15162  // ************************************************
 15163  //
 15164  //       Find first significant opcode            *
 15165  //
 15166  
 15167  // This is called by several functions that scan a compiled expression looking
 15168  // for a fixed first character, or an anchoring opcode etc. It skips over things
 15169  // that do not influence this. For some calls, it makes sense to skip negative
 15170  // forward and all backward assertions, and also the \b assertion; for others it
 15171  // does not.
 15172  //
 15173  // Arguments:
 15174  //   code         pointer to the start of the group
 15175  //   skipassert   TRUE if certain assertions are to be skipped
 15176  //
 15177  // Returns:       pointer to the first significant opcode
 15178  
 15179  func first_significant_code(tls *libc.TLS, code TPCRE2_SPTR8, skipassert TBOOL) uintptr { /* pcre2_compile.c:4845:25: */
 15180  	for {
 15181  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) {
 15182  		case OP_ASSERT_NOT:
 15183  			fallthrough
 15184  		case OP_ASSERTBACK:
 15185  			fallthrough
 15186  		case OP_ASSERTBACK_NOT:
 15187  			fallthrough
 15188  		case OP_ASSERTBACK_NA:
 15189  			if !(skipassert != 0) {
 15190  				return code
 15191  			}
 15192  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 15193  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 15194  			}
 15195  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15196  			break
 15197  
 15198  		case OP_WORD_BOUNDARY:
 15199  			fallthrough
 15200  		case OP_NOT_WORD_BOUNDARY:
 15201  			if !(skipassert != 0) {
 15202  				return code
 15203  			}
 15204  			fallthrough
 15205  		// Fall through
 15206  
 15207  		case OP_CALLOUT:
 15208  			fallthrough
 15209  		case OP_CREF:
 15210  			fallthrough
 15211  		case OP_DNCREF:
 15212  			fallthrough
 15213  		case OP_RREF:
 15214  			fallthrough
 15215  		case OP_DNRREF:
 15216  			fallthrough
 15217  		case OP_FALSE:
 15218  			fallthrough
 15219  		case OP_TRUE:
 15220  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15221  			break
 15222  
 15223  		case OP_CALLOUT_STR:
 15224  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 15225  			break
 15226  
 15227  		case OP_SKIPZERO:
 15228  			code += TPCRE2_SPTR8(uint32(2) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) + uint32(DLINK_SIZE))
 15229  			break
 15230  
 15231  		case OP_COND:
 15232  			fallthrough
 15233  		case OP_SCOND:
 15234  			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
 15235  				return code
 15236  			}
 15237  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) + uint32(1) + uint32(DLINK_SIZE))
 15238  			break
 15239  
 15240  		case OP_MARK:
 15241  			fallthrough
 15242  		case OP_COMMIT_ARG:
 15243  			fallthrough
 15244  		case OP_PRUNE_ARG:
 15245  			fallthrough
 15246  		case OP_SKIP_ARG:
 15247  			fallthrough
 15248  		case OP_THEN_ARG:
 15249  			code += TPCRE2_SPTR8(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) + int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]))
 15250  			break
 15251  
 15252  		default:
 15253  			return code
 15254  		}
 15255  	}
 15256  	return uintptr(0)
 15257  	// Control never reaches here
 15258  }
 15259  
 15260  // ************************************************
 15261  //
 15262  //           Get othercase range                  *
 15263  //
 15264  
 15265  // This function is passed the start and end of a class range in UCP mode. It
 15266  // searches up the characters, looking for ranges of characters in the "other"
 15267  // case. Each call returns the next one, updating the start address. A character
 15268  // with multiple other cases is returned on its own with a special return value.
 15269  //
 15270  // Arguments:
 15271  //   cptr        points to starting character value; updated
 15272  //   d           end value
 15273  //   ocptr       where to put start of othercase range
 15274  //   odptr       where to put end of othercase range
 15275  //
 15276  // Yield:        -1 when no more
 15277  //                0 when a range is returned
 15278  //               >0 the CASESET offset for char with multiple other cases
 15279  //                 in this case, ocptr contains the original
 15280  
 15281  func get_othercase_range(tls *libc.TLS, cptr uintptr, d Tuint32_t, ocptr uintptr, odptr uintptr) int32 { /* pcre2_compile.c:4932:1: */
 15282  	var c Tuint32_t
 15283  	var othercase Tuint32_t
 15284  	var next Tuint32_t
 15285  	var co uint32
 15286  
 15287  	// Find the first character that has an other case. If it has multiple other
 15288  	// cases, return its case offset value.
 15289  
 15290  	for c = *(*Tuint32_t)(unsafe.Pointer(cptr)); c <= d; c++ {
 15291  		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) {
 15292  			*(*Tuint32_t)(unsafe.Pointer(ocptr)) = libc.PostIncUint32(&c, 1) // Character that has the set
 15293  			*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                          // Rest of input range
 15294  			return int32(co)
 15295  		}
 15296  		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 {
 15297  			break
 15298  		}
 15299  	}
 15300  
 15301  	if c > d {
 15302  		return -1
 15303  	} // Reached end of range
 15304  
 15305  	// Found a character that has a single other case. Search for the end of the
 15306  	// range, which is either the end of the input range, or a character that has zero
 15307  	// or more than one other cases.
 15308  
 15309  	*(*Tuint32_t)(unsafe.Pointer(ocptr)) = othercase
 15310  	next = othercase + Tuint32_t(1)
 15311  
 15312  	for c++; c <= d; c++ {
 15313  		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 {
 15314  			break
 15315  		}
 15316  		next++
 15317  	}
 15318  
 15319  	*(*Tuint32_t)(unsafe.Pointer(odptr)) = next - Tuint32_t(1) // End of othercase range
 15320  	*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                    // Rest of input range
 15321  	return 0
 15322  }
 15323  
 15324  // ************************************************
 15325  //
 15326  // Add a character or range to a class (internal) *
 15327  //
 15328  
 15329  // This function packages up the logic of adding a character or range of
 15330  // characters to a class. The character values in the arguments will be within the
 15331  // valid values for the current mode (8-bit, 16-bit, UTF, etc). This function is
 15332  // called only from within the "add to class" group of functions, some of which
 15333  // are recursive and mutually recursive. The external entry point is
 15334  // add_to_class().
 15335  //
 15336  // Arguments:
 15337  //   classbits     the bit map for characters < 256
 15338  //   uchardptr     points to the pointer for extra data
 15339  //   options       the options word
 15340  //   cb            compile data
 15341  //   start         start of range character
 15342  //   end           end of range character
 15343  //
 15344  // Returns:        the number of < 256 characters added
 15345  //                 the pointer to extra data is updated
 15346  
 15347  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: */
 15348  	bp := tls.Alloc(12)
 15349  	defer tls.Free(12)
 15350  
 15351  	// var c Tuint32_t at bp, 4
 15352  
 15353  	var classbits_end Tuint32_t = func() uint32 {
 15354  		if end <= Tuint32_t(0xff) {
 15355  			return end
 15356  		}
 15357  		return uint32(0xff)
 15358  	}()
 15359  	var n8 uint32 = uint32(0)
 15360  
 15361  	// If caseless matching is required, scan the range and process alternate
 15362  	// cases. In Unicode, there are 8-bit characters that have alternate cases that
 15363  	// are greater than 255 and vice-versa. Sometimes we can just extend the original
 15364  	// range.
 15365  
 15366  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15367  		if options&(DPCRE2_UTF|DPCRE2_UCP) != Tuint32_t(0) {
 15368  			var rc int32
 15369  			// var oc Tuint32_t at bp+4, 4
 15370  
 15371  			// var od Tuint32_t at bp+8, 4
 15372  
 15373  			options = options & libc.CplUint32(DPCRE2_CASELESS) // Remove for recursive calls
 15374  			*(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start
 15375  
 15376  			for libc.AssignInt32(&rc, get_othercase_range(tls, bp, end, bp+4, bp+8)) >= 0 {
 15377  				// Handle a single character that has more than one other case.
 15378  
 15379  				if rc > 0 {
 15380  					n8 = n8 + add_list_to_class_internal(tls, classbits, uchardptr, options, cb,
 15381  						uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8))+uintptr(rc)*4, *(*Tuint32_t)(unsafe.Pointer(bp + 4)))
 15382  				} 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 {
 15383  					continue
 15384  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) < start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= start-Tuint32_t(1) {
 15385  					start = *(*Tuint32_t)(unsafe.Pointer(bp + 4 /* oc */))
 15386  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 8)) > end && *(*Tuint32_t)(unsafe.Pointer(bp + 4)) <= end+Tuint32_t(1) {
 15387  					end = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* od */)) // Extend upwards
 15388  					if end > classbits_end {
 15389  						classbits_end = func() uint32 {
 15390  							if end <= Tuint32_t(0xff) {
 15391  								return end
 15392  							}
 15393  							return uint32(0xff)
 15394  						}()
 15395  					}
 15396  				} else {
 15397  					n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(bp + 4)), *(*Tuint32_t)(unsafe.Pointer(bp + 8)))
 15398  				}
 15399  			}
 15400  		} else {
 15401  
 15402  			// Not UTF mode
 15403  
 15404  			for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15405  				*(*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))
 15406  				n8++
 15407  			}
 15408  		}
 15409  	}
 15410  
 15411  	// Now handle the originally supplied range. Adjust the final value according
 15412  	// to the bit length - this means that the same lists of (e.g.) horizontal spaces
 15413  	// can be used in all cases.
 15414  
 15415  	if options&DPCRE2_UTF == Tuint32_t(0) && end > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH) {
 15416  		end = uint32(0xffffffff) >> (32 - DPCRE2_CODE_UNIT_WIDTH)
 15417  	}
 15418  
 15419  	if start > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && end < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end {
 15420  		return n8
 15421  	}
 15422  
 15423  	// Use the bitmap for characters < 256. Otherwise use extra data.
 15424  
 15425  	for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15426  		// Regardless of start, c will always be <= 255.
 15427  		*(*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)))
 15428  		n8++
 15429  	}
 15430  
 15431  	if start <= Tuint32_t(0xff) {
 15432  		start = Tuint32_t(0xff + 1)
 15433  	}
 15434  
 15435  	if end >= start {
 15436  		var uchardata uintptr = *(*uintptr)(unsafe.Pointer(uchardptr))
 15437  
 15438  		if options&DPCRE2_UTF != Tuint32_t(0) {
 15439  			if start < end {
 15440  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 15441  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15442  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, end, uchardata))
 15443  			} else if start == end {
 15444  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_SINGLE)
 15445  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15446  			}
 15447  		} else {
 15448  		}
 15449  		*(*uintptr)(unsafe.Pointer(uchardptr)) = uchardata // Updata extra data pointer
 15450  	}
 15451  
 15452  	return n8 // Number of 8-bit characters
 15453  }
 15454  
 15455  // ************************************************
 15456  //
 15457  // Add a list of characters to a class (internal) *
 15458  //
 15459  
 15460  // This function is used for adding a list of case-equivalent characters to a
 15461  // class when in UTF mode. This function is called only from within
 15462  // add_to_class_internal(), with which it is mutually recursive.
 15463  //
 15464  // Arguments:
 15465  //   classbits     the bit map for characters < 256
 15466  //   uchardptr     points to the pointer for extra data
 15467  //   options       the options word
 15468  //   cb            contains pointers to tables etc.
 15469  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15470  //   except        character to omit; this is used when adding lists of
 15471  //                   case-equivalent characters to avoid including the one we
 15472  //                   already know about
 15473  //
 15474  // Returns:        the number of < 256 characters added
 15475  //                 the pointer to extra data is updated
 15476  
 15477  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: */
 15478  	var n8 uint32 = uint32(0)
 15479  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15480  		var n uint32 = uint32(0)
 15481  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15482  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15483  				n++
 15484  			}
 15485  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15486  		}
 15487  		p += 4 * uintptr(n+uint32(1))
 15488  	}
 15489  	return n8
 15490  }
 15491  
 15492  // ************************************************
 15493  //
 15494  //   External entry point for add range to class  *
 15495  //
 15496  
 15497  // This function sets the overall range so that the internal functions can try
 15498  // to avoid duplication when handling case-independence.
 15499  //
 15500  // Arguments:
 15501  //   classbits     the bit map for characters < 256
 15502  //   uchardptr     points to the pointer for extra data
 15503  //   options       the options word
 15504  //   cb            compile data
 15505  //   start         start of range character
 15506  //   end           end of range character
 15507  //
 15508  // Returns:        the number of < 256 characters added
 15509  //                 the pointer to extra data is updated
 15510  
 15511  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: */
 15512  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = start
 15513  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = end
 15514  	return add_to_class_internal(tls, classbits, uchardptr, options, cb, start, end)
 15515  }
 15516  
 15517  // ************************************************
 15518  //
 15519  //   External entry point for add list to class   *
 15520  //
 15521  
 15522  // This function is used for adding a list of horizontal or vertical whitespace
 15523  // characters to a class. The list must be in order so that ranges of characters
 15524  // can be detected and handled appropriately. This function sets the overall range
 15525  // so that the internal functions can try to avoid duplication when handling
 15526  // case-independence.
 15527  //
 15528  // Arguments:
 15529  //   classbits     the bit map for characters < 256
 15530  //   uchardptr     points to the pointer for extra data
 15531  //   options       the options word
 15532  //   cb            contains pointers to tables etc.
 15533  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15534  //   except        character to omit; this is used when adding lists of
 15535  //                   case-equivalent characters to avoid including the one we
 15536  //                   already know about
 15537  //
 15538  // Returns:        the number of < 256 characters added
 15539  //                 the pointer to extra data is updated
 15540  
 15541  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: */
 15542  	var n8 uint32 = uint32(0)
 15543  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15544  		var n uint32 = uint32(0)
 15545  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15546  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15547  				n++
 15548  			}
 15549  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = *(*Tuint32_t)(unsafe.Pointer(p))
 15550  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4))
 15551  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15552  		}
 15553  		p += 4 * uintptr(n+uint32(1))
 15554  	}
 15555  	return n8
 15556  }
 15557  
 15558  // ************************************************
 15559  //
 15560  //    Add characters not in a list to a class     *
 15561  //
 15562  
 15563  // This function is used for adding the complement of a list of horizontal or
 15564  // vertical whitespace to a class. The list must be in order.
 15565  //
 15566  // Arguments:
 15567  //   classbits     the bit map for characters < 256
 15568  //   uchardptr     points to the pointer for extra data
 15569  //   options       the options word
 15570  //   cb            contains pointers to tables etc.
 15571  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15572  //
 15573  // Returns:        the number of < 256 characters added
 15574  //                 the pointer to extra data is updated
 15575  
 15576  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: */
 15577  	var utf TBOOL = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15578  	var n8 uint32 = uint32(0)
 15579  	if *(*Tuint32_t)(unsafe.Pointer(p)) > Tuint32_t(0) {
 15580  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, uint32(0), *(*Tuint32_t)(unsafe.Pointer(p))-Tuint32_t(1))
 15581  	}
 15582  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15583  		for *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1) {
 15584  			p += 4
 15585  		}
 15586  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1),
 15587  			func() uint32 {
 15588  				if *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == DNOTACHAR {
 15589  					return func() uint32 {
 15590  						if utf != 0 {
 15591  							return 0x10ffff
 15592  						}
 15593  						return 0xffffffff
 15594  					}()
 15595  				}
 15596  				return *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) - Tuint32_t(1)
 15597  			}())
 15598  		p += 4
 15599  	}
 15600  	return n8
 15601  }
 15602  
 15603  // ************************************************
 15604  //
 15605  //    Find details of duplicate group names       *
 15606  //
 15607  
 15608  // This is called from compile_branch() when it needs to know the index and
 15609  // count of duplicates in the names table when processing named backreferences,
 15610  // either directly, or as conditions.
 15611  //
 15612  // Arguments:
 15613  //   name          points to the name
 15614  //   length        the length of the name
 15615  //   indexptr      where to put the index
 15616  //   countptr      where to put the count of duplicates
 15617  //   errorcodeptr  where to put an error code
 15618  //   cb            the compile block
 15619  //
 15620  // Returns:        TRUE if OK, FALSE if not, error code set
 15621  
 15622  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: */
 15623  	var i Tuint32_t
 15624  	var groupnumber Tuint32_t
 15625  	var count int32
 15626  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 15627  
 15628  	// Find the first entry in the table
 15629  
 15630  	for i = Tuint32_t(0); i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found); i++ {
 15631  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint32(length)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(Tuint32_t(DIMM2_SIZE)+length)))) == 0 {
 15632  			break
 15633  		}
 15634  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15635  	}
 15636  
 15637  	// This should not occur, because this function is called only when we know we
 15638  	// have duplicate names. Give an internal error.
 15639  
 15640  	if i >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15641  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR53
 15642  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int32(name) - int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15643  		return DFALSE
 15644  	}
 15645  
 15646  	// Record the index and then see how many duplicates there are, updating the
 15647  	// backref map and maximum back reference as we do.
 15648  
 15649  	*(*int32)(unsafe.Pointer(indexptr)) = int32(i)
 15650  	count = 0
 15651  
 15652  	for {
 15653  		count++
 15654  		groupnumber = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))
 15655  		*(*Tuint32_t)(unsafe.Pointer(cb + 140)) |= func() uint32 {
 15656  			if groupnumber < Tuint32_t(32) {
 15657  				return uint32(1) << groupnumber
 15658  			}
 15659  			return uint32(1)
 15660  		}()
 15661  		if groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref {
 15662  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 15663  		}
 15664  		if libc.PreIncUint32(&i, 1) >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15665  			break
 15666  		}
 15667  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15668  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint32(length)) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE) + uintptr(length)))) != 0 {
 15669  			break
 15670  		}
 15671  	}
 15672  
 15673  	*(*int32)(unsafe.Pointer(countptr)) = count
 15674  	return DTRUE
 15675  }
 15676  
 15677  // ************************************************
 15678  //
 15679  //           Compile one branch                   *
 15680  //
 15681  
 15682  // Scan the parsed pattern, compiling it into the a vector of PCRE2_UCHAR. If
 15683  // the options are changed during the branch, the pointer is used to change the
 15684  // external options bits. This function is used during the pre-compile phase when
 15685  // we are trying to find out the amount of memory needed, as well as during the
 15686  // real compile phase. The value of lengthptr distinguishes the two phases.
 15687  //
 15688  // Arguments:
 15689  //   optionsptr        pointer to the option bits
 15690  //   codeptr           points to the pointer to the current code point
 15691  //   pptrptr           points to the current parsed pattern pointer
 15692  //   errorcodeptr      points to error code variable
 15693  //   firstcuptr        place to put the first required code unit
 15694  //   firstcuflagsptr   place to put the first code unit flags
 15695  //   reqcuptr          place to put the last required code unit
 15696  //   reqcuflagsptr     place to put the last required code unit flags
 15697  //   bcptr             points to current branch chain
 15698  //   cb                contains pointers to tables etc.
 15699  //   lengthptr         NULL during the real compile phase
 15700  //                     points to length accumulator during pre-compile phase
 15701  //
 15702  // Returns:            0 There's been an error, *errorcodeptr is non-zero
 15703  //                    +1 Success, this branch must match at least one character
 15704  //                    -1 Success, this branch may match an empty string
 15705  
 15706  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: */
 15707  	bp := tls.Alloc(120)
 15708  	defer tls.Free(120)
 15709  
 15710  	var bravalue int32
 15711  	var okreturn int32
 15712  	var group_return int32
 15713  	var repeat_min Tuint32_t
 15714  	var repeat_max Tuint32_t // To please picky compilers
 15715  	var greedy_default Tuint32_t
 15716  	var greedy_non_default Tuint32_t
 15717  	var repeat_type Tuint32_t
 15718  	var op_type Tuint32_t
 15719  	var options Tuint32_t // May change dynamically
 15720  	var firstcu Tuint32_t
 15721  	var reqcu Tuint32_t
 15722  	var zeroreqcu Tuint32_t
 15723  	var zerofirstcu Tuint32_t
 15724  	var escape Tuint32_t
 15725  	// var pptr uintptr at bp+88, 4
 15726  
 15727  	var meta Tuint32_t
 15728  	var meta_arg Tuint32_t
 15729  	var firstcuflags Tuint32_t
 15730  	var reqcuflags Tuint32_t
 15731  	var zeroreqcuflags Tuint32_t
 15732  	var zerofirstcuflags Tuint32_t
 15733  	var req_caseopt Tuint32_t
 15734  	var reqvary Tuint32_t
 15735  	var tempreqvary Tuint32_t
 15736  	var offset Tsize_t
 15737  	// var length_prevgroup Tsize_t at bp+108, 4
 15738  
 15739  	var code uintptr
 15740  	var last_code uintptr
 15741  	var orig_code uintptr
 15742  	// var tempcode uintptr at bp+84, 4
 15743  
 15744  	var previous uintptr
 15745  	var op_previous TPCRE2_UCHAR8
 15746  	var groupsetfirstcu TBOOL
 15747  	var had_accept TBOOL
 15748  	var matched_char TBOOL
 15749  	var previous_matched_char TBOOL
 15750  	var reset_caseful TBOOL
 15751  	var cbits uintptr
 15752  	// var classbits [32]Tuint8_t at bp, 32
 15753  
 15754  	// We can fish out the UTF setting once and for all into a BOOL, but we must
 15755  	// not do this for other options (e.g. PCRE2_EXTENDED) because they may change
 15756  	// dynamically as we process the pattern.
 15757  
 15758  	var utf TBOOL
 15759  	var ucp TBOOL
 15760  
 15761  	// Helper variables for OP_XCLASS opcode (for characters > 255). We define
 15762  	// class_uchardata always so that it can be passed to add_to_class() always,
 15763  	// though it will not be used in non-UTF 8-bit cases. This avoids having to supply
 15764  	// alternative calls for the different cases.
 15765  
 15766  	// var class_uchardata uintptr at bp+64, 4
 15767  
 15768  	var xclass TBOOL
 15769  	var class_uchardata_base uintptr
 15770  	var d Tuint32_t
 15771  	var c Tuint32_t
 15772  	var d1 Tuint32_t
 15773  	var c1 Tuint32_t
 15774  	var i int32
 15775  	var i1 int32
 15776  	var local_negate TBOOL
 15777  	var posix_class int32
 15778  	var taboffset int32
 15779  	var tabopt int32
 15780  	// var pbits [32]Tuint8_t at bp+32, 32
 15781  
 15782  	var i2 int32
 15783  	var i3 int32
 15784  	var ptype Tuint32_t
 15785  	var pdata Tuint32_t
 15786  	var i4 int32
 15787  	var i5 int32
 15788  	var i6 int32
 15789  	var i7 int32
 15790  	var i8 int32
 15791  	var i9 int32
 15792  	var c2 Tuint32_t
 15793  	var d2 Tuint32_t
 15794  	var i10 int32
 15795  	var i11 int32
 15796  	// var count int32 at bp+80, 4
 15797  
 15798  	// var index int32 at bp+76, 4
 15799  
 15800  	var i12 uint32
 15801  	var name TPCRE2_SPTR8
 15802  	var ng uintptr
 15803  	var length Tuint32_t
 15804  	var tc uintptr
 15805  	var condcount int32
 15806  	// var count1 int32 at bp+116, 4
 15807  
 15808  	// var index1 int32 at bp+112, 4
 15809  
 15810  	var name1 TPCRE2_SPTR8
 15811  	var is_dupname TBOOL
 15812  	var ng1 uintptr
 15813  	var length1 Tuint32_t
 15814  	var i13 uint32
 15815  	var pp TPCRE2_SPTR8
 15816  	var delimiter Tuint32_t
 15817  	var length2 Tuint32_t
 15818  	var callout_string uintptr
 15819  	var lastchar uintptr
 15820  	var delta Tsize_t
 15821  	var replicate int32
 15822  	var i14 int32
 15823  	var linkoffset int32
 15824  	var delta1 Tsize_t
 15825  	var i15 Tuint32_t
 15826  	var delta2 Tsize_t
 15827  	var linkoffset1 int32
 15828  	var oldlinkoffset int32
 15829  	var linkoffset2 int32
 15830  	var bra uintptr
 15831  	var i16 Tuint32_t
 15832  	var nlen int32
 15833  	var ketcode uintptr
 15834  	var bracode uintptr
 15835  	var len int32
 15836  	var bralink uintptr
 15837  	var brazeroptr uintptr
 15838  	var prop_type int32
 15839  	var prop_value int32
 15840  	var oldcode uintptr
 15841  	var repcode uint32
 15842  	var len1 int32
 15843  	var ptype1 Tuint32_t
 15844  	var pdata1 Tuint32_t
 15845  	var caseset Tuint32_t
 15846  	var i17 int32
 15847  	var xclass_has_prop TBOOL
 15848  	var negate_class TBOOL
 15849  	var should_flip_negation TBOOL
 15850  	var match_all_or_no_wide_chars TBOOL
 15851  	var possessive_quantifier TBOOL
 15852  	var note_group_empty TBOOL
 15853  	var class_has_8bitchar int32
 15854  	var mclength Tuint32_t
 15855  	var skipunits Tuint32_t
 15856  	// var subreqcu Tuint32_t at bp+100, 4
 15857  
 15858  	// var subfirstcu Tuint32_t at bp+92, 4
 15859  
 15860  	var groupnumber Tuint32_t
 15861  	var verbarglen Tuint32_t
 15862  	var verbculen Tuint32_t
 15863  	// var subreqcuflags Tuint32_t at bp+104, 4
 15864  
 15865  	// var subfirstcuflags Tuint32_t at bp+96, 4
 15866  
 15867  	var oc uintptr
 15868  	// var mcbuffer [8]TPCRE2_UCHAR8 at bp+68, 8
 15869  	bravalue = 0
 15870  	okreturn = -1
 15871  	group_return = 0
 15872  	repeat_min = Tuint32_t(0)
 15873  	repeat_max = Tuint32_t(0)
 15874  	options = *(*Tuint32_t)(unsafe.Pointer(optionsptr))
 15875  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 15876  	offset = Tsize_t(0)
 15877  	*(*Tsize_t)(unsafe.Pointer(bp + 108 /* length_prevgroup */)) = Tsize_t(0)
 15878  	code = *(*uintptr)(unsafe.Pointer(codeptr))
 15879  	last_code = code
 15880  	orig_code = code
 15881  	previous = uintptr(0)
 15882  	groupsetfirstcu = DFALSE
 15883  	had_accept = DFALSE
 15884  	matched_char = DFALSE
 15885  	previous_matched_char = DFALSE
 15886  	reset_caseful = DFALSE
 15887  	cbits = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits
 15888  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15889  	ucp = libc.Bool32(options&DPCRE2_UCP != Tuint32_t(0))
 15890  
 15891  	// Set up the default and non-default settings for greediness
 15892  
 15893  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 15894  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 15895  
 15896  	// Initialize no first unit, no required unit. REQ_UNSET means "no char
 15897  	// matching encountered yet". It gets changed to REQ_NONE if we hit something that
 15898  	// matches a non-fixed first unit; reqcu just remains unset if we never find one.
 15899  	//
 15900  	// When we hit a repeat whose minimum is zero, we may have to adjust these values
 15901  	// to take the zero repeat into account. This is implemented by setting them to
 15902  	// zerofirstcu and zeroreqcu when such a repeat is encountered. The individual
 15903  	// item types that can be repeated set these backoff variables appropriately.
 15904  
 15905  	firstcu = libc.AssignUint32(&reqcu, libc.AssignUint32(&zerofirstcu, libc.AssignUint32(&zeroreqcu, Tuint32_t(0))))
 15906  	firstcuflags = libc.AssignUint32(&reqcuflags, libc.AssignUint32(&zerofirstcuflags, libc.AssignUint32(&zeroreqcuflags, DREQ_UNSET)))
 15907  
 15908  	// The variable req_caseopt contains either the REQ_CASELESS bit or zero,
 15909  	// according to the current setting of the caseless flag. The REQ_CASELESS value
 15910  	// leaves the lower 28 bit empty. It is added into the firstcu or reqcu variables
 15911  	// to record the case status of the value. This is used only for ASCII characters.
 15912  
 15913  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15914  		req_caseopt = DREQ_CASELESS
 15915  	} else {
 15916  		req_caseopt = uint32(0)
 15917  	}
 15918  
 15919  	// Switch on next META item until the end of the branch
 15920  
 15921  __1:
 15922  	;
 15923  
 15924  	// Get next META item in the pattern and its potential argument.
 15925  
 15926  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)))) & 0xffff0000
 15927  	meta_arg = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)))) & 0x0000ffff
 15928  
 15929  	// If we are in the pre-compile phase, accumulate the length used for the
 15930  	//   previous cycle of this loop, unless the next item is a quantifier.
 15931  
 15932  	if !(lengthptr != uintptr(0)) {
 15933  		goto __4
 15934  	}
 15935  
 15936  	if !(code > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)-uintptr(100)) {
 15937  		goto __5
 15938  	} /* Check for overrun */
 15939  
 15940  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 15941  		if code >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size) {
 15942  			return ERR52
 15943  		}
 15944  		return ERR86
 15945  	}()
 15946  	return 0
 15947  __5:
 15948  	;
 15949  
 15950  	// There is at least one situation where code goes backwards: this is the
 15951  	//     case of a zero quantifier after a class (e.g. [ab]{0}). When the quantifier
 15952  	//     is processed, the whole class is eliminated. However, it is created first,
 15953  	//     so we have to allow memory for it. Therefore, don't ever reduce the length
 15954  	//     at this point.
 15955  
 15956  	if !(code < last_code) {
 15957  		goto __6
 15958  	}
 15959  	code = last_code
 15960  __6:
 15961  	;
 15962  
 15963  	// If the next thing is not a quantifier, we add the length of the previous
 15964  	//     item into the total, and reset the code pointer to the start of the
 15965  	//     workspace. Otherwise leave the previous item available to be quantified.
 15966  
 15967  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 15968  		goto __7
 15969  	}
 15970  
 15971  	if !(Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < Tsize_t((int32(code)-int32(orig_code))/1)) {
 15972  		goto __8
 15973  	}
 15974  
 15975  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Integer overflow
 15976  	return 0
 15977  __8:
 15978  	;
 15979  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int32(code) - int32(orig_code)) / 1)
 15980  	if !(*(*Tsize_t)(unsafe.Pointer(lengthptr)) > Tsize_t(int32(1)<<16)) {
 15981  		goto __9
 15982  	}
 15983  
 15984  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Pattern is too large
 15985  	return 0
 15986  __9:
 15987  	;
 15988  	code = orig_code
 15989  __7:
 15990  	;
 15991  
 15992  	// Remember where this code item starts so we can catch the "backwards"
 15993  	//     case above next time round.
 15994  
 15995  	last_code = code
 15996  __4:
 15997  	;
 15998  
 15999  	// Process the next parsed pattern item. If it is not a quantifier, remember
 16000  	//   where it starts so that it can be quantified when a quantifier follows.
 16001  	//   Checking for the legality of quantifiers happens in parse_regex(), except for
 16002  	//   a quantifier after an assertion that is a condition.
 16003  
 16004  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 16005  		goto __10
 16006  	}
 16007  
 16008  	previous = code
 16009  	if !(matched_char != 0 && !(had_accept != 0)) {
 16010  		goto __11
 16011  	}
 16012  	okreturn = 1
 16013  __11:
 16014  	;
 16015  __10:
 16016  	;
 16017  
 16018  	previous_matched_char = matched_char
 16019  	matched_char = DFALSE
 16020  	note_group_empty = DFALSE
 16021  	skipunits = Tuint32_t(0) // Default value for most subgroups
 16022  
 16023  	switch meta {
 16024  	// ===================================================================
 16025  	// The branch terminates at pattern end or | or )
 16026  
 16027  	case DMETA_END:
 16028  		goto __13
 16029  	case DMETA_ALT:
 16030  		goto __14
 16031  	case DMETA_KET:
 16032  		goto __15
 16033  
 16034  	// ===================================================================
 16035  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16036  	//     the setting of any following char as a first character.
 16037  
 16038  	case DMETA_CIRCUMFLEX:
 16039  		goto __16
 16040  
 16041  	case DMETA_DOLLAR:
 16042  		goto __17
 16043  
 16044  	// There can never be a first char if '.' is first, whatever happens about
 16045  	//     repeats. The value of reqcu doesn't change either.
 16046  
 16047  	case DMETA_DOT:
 16048  		goto __18
 16049  
 16050  	// ===================================================================
 16051  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16052  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16053  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16054  	//     match any character, so generate OP_ALLANY.
 16055  
 16056  	case DMETA_CLASS_EMPTY:
 16057  		goto __19
 16058  	case DMETA_CLASS_EMPTY_NOT:
 16059  		goto __20
 16060  
 16061  	// ===================================================================
 16062  	// Non-empty character class. If the included characters are all < 256, we
 16063  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16064  	//     case where there is only one such character. For negated classes, we build
 16065  	//     the map as usual, then invert it at the end. However, we use a different
 16066  	//     opcode so that data characters > 255 can be handled correctly.
 16067  	//
 16068  	//     If the class contains characters outside the 0-255 range, a different
 16069  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16070  	//     but those above are are explicitly listed afterwards. A flag code unit
 16071  	//     tells whether the bitmap is present, and whether this is a negated class or
 16072  	//     not.
 16073  
 16074  	case DMETA_CLASS_NOT:
 16075  		goto __21
 16076  	case DMETA_CLASS:
 16077  		goto __22 // End of class processing
 16078  
 16079  	// ===================================================================
 16080  	// Deal with (*VERB)s.
 16081  
 16082  	// Check for open captures before ACCEPT and close those that are within
 16083  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 16084  	//     assertion. In the first pass, just accumulate the length required;
 16085  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 16086  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 16087  
 16088  	case DMETA_ACCEPT:
 16089  		goto __23
 16090  
 16091  	case DMETA_PRUNE:
 16092  		goto __24
 16093  	case DMETA_SKIP:
 16094  		goto __25
 16095  	// Fall through
 16096  	case DMETA_COMMIT:
 16097  		goto __26
 16098  	case DMETA_FAIL:
 16099  		goto __27
 16100  
 16101  	case DMETA_THEN:
 16102  		goto __28
 16103  
 16104  	// Handle verbs with arguments. Arguments can be very long, especially in
 16105  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 16106  	//     However, the argument length is constrained to be small enough to fit in
 16107  	//     one code unit. This check happens in parse_regex(). In the first pass,
 16108  	//     instead of putting the argument into memory, we just update the length
 16109  	//     counter and set up an empty argument.
 16110  
 16111  	case DMETA_THEN_ARG:
 16112  		goto __29
 16113  
 16114  	case DMETA_PRUNE_ARG:
 16115  		goto __30
 16116  	case DMETA_SKIP_ARG:
 16117  		goto __31
 16118  	// Fall through
 16119  	case DMETA_MARK:
 16120  		goto __32
 16121  	case DMETA_COMMIT_ARG:
 16122  		goto __33
 16123  
 16124  	// ===================================================================
 16125  	// Handle options change. The new setting must be passed back for use in
 16126  	//     subsequent branches. Reset the greedy defaults and the case value for
 16127  	//     firstcu and reqcu.
 16128  
 16129  	case DMETA_OPTIONS:
 16130  		goto __34
 16131  
 16132  	// ===================================================================
 16133  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 16134  	//     because it could be a numerical check on recursion, or a name check on a
 16135  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 16136  	//     we can handle it either way. We first try for a name; if not found, process
 16137  	//     the number.
 16138  
 16139  	case DMETA_COND_RNUMBER:
 16140  		goto __35 // (?(Rdigits)
 16141  	case DMETA_COND_NAME:
 16142  		goto __36 // (?(name) or (?'name') or ?(<name>)
 16143  	case DMETA_COND_RNAME:
 16144  		goto __37
 16145  
 16146  	// The DEFINE condition is always false. Its internal groups may never
 16147  	//     be called, so matched_char must remain false, hence the jump to
 16148  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 16149  
 16150  	case DMETA_COND_DEFINE:
 16151  		goto __38
 16152  
 16153  	// Conditional test of a group's being set.
 16154  
 16155  	case DMETA_COND_NUMBER:
 16156  		goto __39
 16157  
 16158  	// Test for the PCRE2 version.
 16159  
 16160  	case DMETA_COND_VERSION:
 16161  		goto __40
 16162  
 16163  	// The condition is an assertion, possibly preceded by a callout.
 16164  
 16165  	case DMETA_COND_ASSERT:
 16166  		goto __41
 16167  
 16168  	// ===================================================================
 16169  	// Handle all kinds of nested bracketed groups. The non-capturing,
 16170  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 16171  
 16172  	case DMETA_LOOKAHEAD:
 16173  		goto __42
 16174  
 16175  	case DMETA_LOOKAHEAD_NA:
 16176  		goto __43
 16177  
 16178  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 16179  	//     thing to do, but Perl allows all assertions to be quantified, and when
 16180  	//     they contain capturing parentheses there may be a potential use for
 16181  	//     this feature. Not that that applies to a quantified (?!) but we allow
 16182  	//     it for uniformity.
 16183  
 16184  	case DMETA_LOOKAHEADNOT:
 16185  		goto __44
 16186  
 16187  	case DMETA_LOOKBEHIND:
 16188  		goto __45
 16189  
 16190  	case DMETA_LOOKBEHINDNOT:
 16191  		goto __46
 16192  
 16193  	case DMETA_LOOKBEHIND_NA:
 16194  		goto __47
 16195  
 16196  	case DMETA_ATOMIC:
 16197  		goto __48
 16198  
 16199  	case DMETA_SCRIPT_RUN:
 16200  		goto __49
 16201  
 16202  	case DMETA_NOCAPTURE:
 16203  		goto __50 // End of nested group handling
 16204  
 16205  	// ===================================================================
 16206  	// Handle named backreferences and recursions.
 16207  
 16208  	case DMETA_BACKREF_BYNAME:
 16209  		goto __51
 16210  	case DMETA_RECURSE_BYNAME:
 16211  		goto __52
 16212  
 16213  	// ===================================================================
 16214  	// Handle a numerical callout.
 16215  
 16216  	case DMETA_CALLOUT_NUMBER:
 16217  		goto __53
 16218  
 16219  	// ===================================================================
 16220  	// Handle a callout with a string argument. In the pre-pass we just compute
 16221  	//     the length without generating anything. The length in pptr[3] includes both
 16222  	//     delimiters; in the actual compile only the first one is copied, but a
 16223  	//     terminating zero is added. Any doubled delimiters within the string make
 16224  	//     this an overestimate, but it is not worth bothering about.
 16225  
 16226  	case DMETA_CALLOUT_STRING:
 16227  		goto __54
 16228  
 16229  	// ===================================================================
 16230  	// Handle repetition. The different types are all sorted out in the parsing
 16231  	//     pass.
 16232  
 16233  	case DMETA_MINMAX_PLUS:
 16234  		goto __55
 16235  	case DMETA_MINMAX_QUERY:
 16236  		goto __56
 16237  	case DMETA_MINMAX:
 16238  		goto __57
 16239  
 16240  	case DMETA_ASTERISK:
 16241  		goto __58
 16242  	case DMETA_ASTERISK_PLUS:
 16243  		goto __59
 16244  	case DMETA_ASTERISK_QUERY:
 16245  		goto __60
 16246  
 16247  	case DMETA_PLUS:
 16248  		goto __61
 16249  	case DMETA_PLUS_PLUS:
 16250  		goto __62
 16251  	case DMETA_PLUS_QUERY:
 16252  		goto __63
 16253  
 16254  	case DMETA_QUERY:
 16255  		goto __64
 16256  	case DMETA_QUERY_PLUS:
 16257  		goto __65
 16258  	case DMETA_QUERY_QUERY:
 16259  		goto __66
 16260  
 16261  	// ===================================================================
 16262  	// Handle a 32-bit data character with a value greater than META_END.
 16263  
 16264  	case DMETA_BIGVALUE:
 16265  		goto __67
 16266  
 16267  	// ===============================================================
 16268  	// Handle a back reference by number, which is the meta argument. The
 16269  	//     pattern offsets for back references to group numbers less than 10 are held
 16270  	//     in a special vector, to avoid using more than two parsed pattern elements
 16271  	//     in 64-bit environments. We only need the offset to the first occurrence,
 16272  	//     because if that doesn't fail, subsequent ones will also be OK.
 16273  
 16274  	case DMETA_BACKREF:
 16275  		goto __68
 16276  
 16277  	// ===============================================================
 16278  	// Handle recursion by inserting the number of the called group (which is
 16279  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 16280  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 16281  	//     done like this to avoid problems with forward references and adjusting
 16282  	//     offsets when groups are duplicated and moved (as discovered in previous
 16283  	//     implementations). Note that a recursion does not have a set first
 16284  	//     character.
 16285  
 16286  	case DMETA_RECURSE:
 16287  		goto __69
 16288  
 16289  	// ===============================================================
 16290  	// Handle capturing parentheses; the number is the meta argument.
 16291  
 16292  	case DMETA_CAPTURE:
 16293  		goto __70
 16294  
 16295  	// ===============================================================
 16296  	// Handle escape sequence items. For ones like \d, the ESC_values are
 16297  	//     arranged to be the same as the corresponding OP_values in the default case
 16298  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 16299  	//     here).
 16300  	//
 16301  	//     Note: \Q and \E are never seen here, as they were dealt with in
 16302  	//     parse_pattern(). Neither are numerical back references or recursions, which
 16303  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 16304  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 16305  	//     META_RECURSE_BYNAME.
 16306  
 16307  	case DMETA_ESCAPE:
 16308  		goto __71 // End META_ESCAPE
 16309  
 16310  	// ===================================================================
 16311  	// Handle an unrecognized meta value. A parsed pattern value less than
 16312  	//     META_END is a literal. Otherwise we have a problem.
 16313  
 16314  	default:
 16315  		goto __72
 16316  	}
 16317  	goto __12
 16318  
 16319  	// ===================================================================
 16320  	// The branch terminates at pattern end or | or )
 16321  
 16322  __13:
 16323  __14:
 16324  __15:
 16325  	*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 16326  	*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 16327  	*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 16328  	*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 16329  	*(*uintptr)(unsafe.Pointer(codeptr)) = code
 16330  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */))
 16331  	return okreturn
 16332  
 16333  	// ===================================================================
 16334  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16335  	//     the setting of any following char as a first character.
 16336  
 16337  __16:
 16338  	if !(options&DPCRE2_MULTILINE != Tuint32_t(0)) {
 16339  		goto __73
 16340  	}
 16341  
 16342  	if !(firstcuflags == DREQ_UNSET) {
 16343  		goto __75
 16344  	}
 16345  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 16346  __75:
 16347  	;
 16348  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRCM
 16349  	goto __74
 16350  __73:
 16351  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRC
 16352  __74:
 16353  	;
 16354  	goto __12
 16355  
 16356  __17:
 16357  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16358  		if options&DPCRE2_MULTILINE != Tuint32_t(0) {
 16359  			return OP_DOLLM
 16360  		}
 16361  		return OP_DOLL
 16362  	}()
 16363  	goto __12
 16364  
 16365  	// There can never be a first char if '.' is first, whatever happens about
 16366  	//     repeats. The value of reqcu doesn't change either.
 16367  
 16368  __18:
 16369  	matched_char = DTRUE
 16370  	if !(firstcuflags == DREQ_UNSET) {
 16371  		goto __76
 16372  	}
 16373  	firstcuflags = DREQ_NONE
 16374  __76:
 16375  	;
 16376  	zerofirstcu = firstcu
 16377  	zerofirstcuflags = firstcuflags
 16378  	zeroreqcu = reqcu
 16379  	zeroreqcuflags = reqcuflags
 16380  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16381  		if options&DPCRE2_DOTALL != Tuint32_t(0) {
 16382  			return OP_ALLANY
 16383  		}
 16384  		return OP_ANY
 16385  	}()
 16386  	goto __12
 16387  
 16388  	// ===================================================================
 16389  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16390  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16391  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16392  	//     match any character, so generate OP_ALLANY.
 16393  
 16394  __19:
 16395  __20:
 16396  	matched_char = DTRUE
 16397  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16398  		if meta == DMETA_CLASS_EMPTY_NOT {
 16399  			return OP_ALLANY
 16400  		}
 16401  		return OP_FAIL
 16402  	}()
 16403  	if !(firstcuflags == DREQ_UNSET) {
 16404  		goto __77
 16405  	}
 16406  	firstcuflags = DREQ_NONE
 16407  __77:
 16408  	;
 16409  	zerofirstcu = firstcu
 16410  	zerofirstcuflags = firstcuflags
 16411  	goto __12
 16412  
 16413  	// ===================================================================
 16414  	// Non-empty character class. If the included characters are all < 256, we
 16415  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16416  	//     case where there is only one such character. For negated classes, we build
 16417  	//     the map as usual, then invert it at the end. However, we use a different
 16418  	//     opcode so that data characters > 255 can be handled correctly.
 16419  	//
 16420  	//     If the class contains characters outside the 0-255 range, a different
 16421  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16422  	//     but those above are are explicitly listed afterwards. A flag code unit
 16423  	//     tells whether the bitmap is present, and whether this is a negated class or
 16424  	//     not.
 16425  
 16426  __21:
 16427  __22:
 16428  	matched_char = DTRUE
 16429  	negate_class = libc.Bool32(meta == DMETA_CLASS_NOT)
 16430  
 16431  	// We can optimize the case of a single character in a class by generating
 16432  	//     OP_CHAR or OP_CHARI if it's positive, or OP_NOT or OP_NOTI if it's
 16433  	//     negative. In the negative case there can be no first char if this item is
 16434  	//     first, whatever repeat count may follow. In the case of reqcu, save the
 16435  	//     previous value for reinstating.
 16436  
 16437  	// NOTE: at present this optimization is not effective if the only
 16438  	//     character in a class in 32-bit, non-UCP mode has its top bit set.
 16439  
 16440  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) == DMETA_CLASS_END) {
 16441  		goto __78
 16442  	}
 16443  
 16444  	c = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) + 1*4))
 16445  
 16446  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2) // Move on to class end
 16447  	if !(meta == DMETA_CLASS) {
 16448  		goto __79
 16449  	} /* A positive one-char class can be */
 16450  	// handled as a normal literal character.
 16451  	meta = c // Set up the character
 16452  	goto NORMAL_CHAR_SET
 16453  __79:
 16454  	;
 16455  
 16456  	// Handle a negative one-character class
 16457  
 16458  	zeroreqcu = reqcu
 16459  	zeroreqcuflags = reqcuflags
 16460  	if !(firstcuflags == DREQ_UNSET) {
 16461  		goto __80
 16462  	}
 16463  	firstcuflags = DREQ_NONE
 16464  __80:
 16465  	;
 16466  	zerofirstcu = firstcu
 16467  	zerofirstcuflags = firstcuflags
 16468  
 16469  	// For caseless UTF or UCP mode, check whether this character has more
 16470  	//       than one other case. If so, generate a special OP_NOTPROP item instead of
 16471  	//       OP_NOTI.
 16472  
 16473  	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)) {
 16474  		goto __81
 16475  	}
 16476  
 16477  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_NOTPROP
 16478  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 16479  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(d)
 16480  	goto __12 // We are finished with this class
 16481  __81:
 16482  	;
 16483  	// Char has only one other case, or UCP not available
 16484  
 16485  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16486  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 16487  			return OP_NOTI
 16488  		}
 16489  		return OP_NOT
 16490  	}()
 16491  	code += func() uintptr {
 16492  		if utf != 0 && c > Tuint32_t(DMAX_UTF_SINGLE_CU) {
 16493  			return uintptr(X_pcre2_ord2utf_8(tls, c, code))
 16494  		}
 16495  		return uintptr(func() int32 { *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(c); return 1 }())
 16496  	}()
 16497  	goto __12 // We are finished with this class
 16498  __78:
 16499  	; // End of 1-char optimization
 16500  
 16501  	// Handle character classes that contain more than just one literal
 16502  	//     character. If there are exactly two characters in a positive class, see if
 16503  	//     they are case partners. This can be optimized to generate a caseless single
 16504  	//     character match (which also sets first/required code units if relevant).
 16505  
 16506  	if !(meta == DMETA_CLASS && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3*4)) == DMETA_CLASS_END) {
 16507  		goto __82
 16508  	}
 16509  
 16510  	c1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) + 1*4))
 16511  
 16512  	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) {
 16513  		goto __83
 16514  	}
 16515  
 16516  	if !((utf != 0 || ucp != 0) && c1 > Tuint32_t(127)) {
 16517  		goto __84
 16518  	}
 16519  	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)
 16520  	goto __85
 16521  __84:
 16522  
 16523  	d1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(c1))))
 16524  __85:
 16525  	;
 16526  
 16527  	if !(c1 != d1 && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) == d1) {
 16528  		goto __86
 16529  	}
 16530  
 16531  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(3) // Move on to class end
 16532  	meta = c1
 16533  	if !(options&DPCRE2_CASELESS == Tuint32_t(0)) {
 16534  		goto __87
 16535  	}
 16536  
 16537  	reset_caseful = DTRUE
 16538  	options = options | DPCRE2_CASELESS
 16539  	req_caseopt = DREQ_CASELESS
 16540  __87:
 16541  	;
 16542  	goto CLASS_CASELESS_CHAR
 16543  __86:
 16544  	;
 16545  __83:
 16546  	;
 16547  __82:
 16548  	;
 16549  
 16550  	// If a non-extended class contains a negative special such as \S, we need
 16551  	//     to flip the negation flag at the end, so that support for characters > 255
 16552  	//     works correctly (they are all included in the class). An extended class may
 16553  	//     need to insert specific matching or non-matching code for wide characters.
 16554  	//
 16555  
 16556  	should_flip_negation = libc.AssignInt32(&match_all_or_no_wide_chars, DFALSE)
 16557  
 16558  	// Extended class (xclass) will be used when characters > 255
 16559  	//     might match.
 16560  
 16561  	xclass = DFALSE
 16562  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = code + uintptr(DLINK_SIZE) + uintptr(2) // For XCLASS items
 16563  	class_uchardata_base = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))                    // Save the start
 16564  
 16565  	// For optimization purposes, we track some properties of the class:
 16566  	//     class_has_8bitchar will be non-zero if the class contains at least one
 16567  	//     character with a code point less than 256; xclass_has_prop will be TRUE if
 16568  	//     Unicode property checks are present in the class.
 16569  
 16570  	class_has_8bitchar = 0
 16571  	xclass_has_prop = DFALSE
 16572  
 16573  	// Initialize the 256-bit (32-byte) bit map to all zeros. We build the map
 16574  	//     in a temporary bit of memory, in case the class contains fewer than two
 16575  	//     8-bit characters because in that case the compiled code doesn't use the bit
 16576  	//     map.
 16577  
 16578  	libc.Xmemset(tls, bp, 0, uint32(32)*uint32(unsafe.Sizeof(Tuint8_t(0))))
 16579  
 16580  	// Process items until META_CLASS_END is reached.
 16581  
 16582  __88:
 16583  	if !(libc.AssignUint32(&meta, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))) != DMETA_CLASS_END) {
 16584  		goto __89
 16585  	}
 16586  
 16587  	// Handle POSIX classes such as [:alpha:] etc.
 16588  
 16589  	if !(meta == DMETA_POSIX || meta == DMETA_POSIX_NEG) {
 16590  		goto __90
 16591  	}
 16592  
 16593  	local_negate = libc.Bool32(meta == DMETA_POSIX_NEG)
 16594  	posix_class = int32(*(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4))))
 16595  
 16596  	should_flip_negation = local_negate // Note negative special
 16597  
 16598  	// If matching is caseless, upper and lower are converted to alpha.
 16599  	//         This relies on the fact that the class table starts with alpha,
 16600  	//         lower, upper as the first 3 entries.
 16601  
 16602  	if !(options&DPCRE2_CASELESS != Tuint32_t(0) && posix_class <= 2) {
 16603  		goto __91
 16604  	}
 16605  	posix_class = 0
 16606  __91:
 16607  	;
 16608  
 16609  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 16610  	//         different escape sequences that use Unicode properties \p or \P.
 16611  	//         Others that are not available via \p or \P have to generate
 16612  	//         XCL_PROP/XCL_NOTPROP directly, which is done here.
 16613  
 16614  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 16615  		goto __92
 16616  	}
 16617  	switch posix_class {
 16618  	case DPC_GRAPH:
 16619  		goto __94
 16620  	case DPC_PRINT:
 16621  		goto __95
 16622  	case DPC_PUNCT:
 16623  		goto __96
 16624  
 16625  	// For the other POSIX classes (ascii, xdigit) we are going to
 16626  	//           fall through to the non-UCP case and build a bit map for
 16627  	//           characters with code points less than 256. However, if we are in
 16628  	//           a negated POSIX class, characters with code points greater than
 16629  	//           255 must either all match or all not match, depending on whether
 16630  	//           the whole class is not or is negated. For example, for
 16631  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16632  	//           they must not.
 16633  	//
 16634  	//           In the special case where there are no xclass items, this is
 16635  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16636  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16637  	//           causes the range to be generated later when it is known that
 16638  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16639  	//           utf mode, since no wide characters can exist otherwise.
 16640  
 16641  	default:
 16642  		goto __97
 16643  	}
 16644  	goto __93
 16645  
 16646  __94:
 16647  __95:
 16648  __96:
 16649  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16650  		if local_negate != 0 {
 16651  			return uint8(DXCL_NOTPROP)
 16652  		}
 16653  		return uint8(DXCL_PROP)
 16654  	}()
 16655  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16656  		if posix_class == DPC_GRAPH {
 16657  			return uint8(DPT_PXGRAPH)
 16658  		}
 16659  		return func() uint8 {
 16660  			if posix_class == DPC_PRINT {
 16661  				return uint8(DPT_PXPRINT)
 16662  			}
 16663  			return uint8(DPT_PXPUNCT)
 16664  		}()
 16665  	}()
 16666  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(0)
 16667  	xclass_has_prop = DTRUE
 16668  	goto CONTINUE_CLASS
 16669  
 16670  	// For the other POSIX classes (ascii, xdigit) we are going to
 16671  	//           fall through to the non-UCP case and build a bit map for
 16672  	//           characters with code points less than 256. However, if we are in
 16673  	//           a negated POSIX class, characters with code points greater than
 16674  	//           255 must either all match or all not match, depending on whether
 16675  	//           the whole class is not or is negated. For example, for
 16676  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16677  	//           they must not.
 16678  	//
 16679  	//           In the special case where there are no xclass items, this is
 16680  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16681  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16682  	//           causes the range to be generated later when it is known that
 16683  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16684  	//           utf mode, since no wide characters can exist otherwise.
 16685  
 16686  __97:
 16687  	if !(utf != 0) {
 16688  		goto __98
 16689  	}
 16690  	match_all_or_no_wide_chars = match_all_or_no_wide_chars | local_negate
 16691  __98:
 16692  	;
 16693  	goto __93
 16694  __93:
 16695  	;
 16696  __92:
 16697  	;
 16698  
 16699  	// In the non-UCP case, or when UCP makes no difference, we build the
 16700  	//         bit map for the POSIX class in a chunk of local store because we may
 16701  	//         be adding and subtracting from it, and we don't want to subtract bits
 16702  	//         that may be in the main map already. At the end we or the result into
 16703  	//         the bit map that is being built.
 16704  
 16705  	posix_class = posix_class * 3
 16706  
 16707  	// Copy in the first table (always present)
 16708  
 16709  	libc.Xmemcpy(tls, bp+32, cbits+uintptr(posix_class_maps[posix_class]),
 16710  		uint32(32)*uint32(unsafe.Sizeof(Tuint8_t(0))))
 16711  
 16712  	// If there is a second table, add or remove it as required.
 16713  
 16714  	taboffset = posix_class_maps[posix_class+1]
 16715  	tabopt = posix_class_maps[posix_class+2]
 16716  
 16717  	if !(taboffset >= 0) {
 16718  		goto __99
 16719  	}
 16720  
 16721  	if !(tabopt >= 0) {
 16722  		goto __100
 16723  	}
 16724  	{
 16725  		i = 0
 16726  	__102:
 16727  		if !(i < 32) {
 16728  			goto __104
 16729  		}
 16730  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i+taboffset)))))
 16731  		goto __103
 16732  	__103:
 16733  		i++
 16734  		goto __102
 16735  		goto __104
 16736  	__104:
 16737  	}
 16738  	goto __101
 16739  __100:
 16740  	{
 16741  		i1 = 0
 16742  	__105:
 16743  		if !(i1 < 32) {
 16744  			goto __107
 16745  		}
 16746  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i1))) &= Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i1+taboffset)))))
 16747  		goto __106
 16748  	__106:
 16749  		i1++
 16750  		goto __105
 16751  		goto __107
 16752  	__107:
 16753  	}
 16754  __101:
 16755  	;
 16756  __99:
 16757  	;
 16758  
 16759  	// Now see if we need to remove any special characters. An option
 16760  	//         value of 1 removes vertical space and 2 removes underscore.
 16761  
 16762  	if !(tabopt < 0) {
 16763  		goto __108
 16764  	}
 16765  	tabopt = -tabopt
 16766  __108:
 16767  	;
 16768  	if !(tabopt == 1) {
 16769  		goto __109
 16770  	}
 16771  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 1)) &= libc.Uint8FromInt32(libc.CplInt32(0x3c))
 16772  	goto __110
 16773  __109:
 16774  	if !(tabopt == 2) {
 16775  		goto __111
 16776  	}
 16777  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 11)) &= Tuint8_t(0x7f)
 16778  __111:
 16779  	;
 16780  __110:
 16781  	;
 16782  
 16783  	// Add the POSIX table or its complement into the main table that is
 16784  	//         being built and we are done.
 16785  
 16786  	if !(local_negate != 0) {
 16787  		goto __112
 16788  	}
 16789  	{
 16790  		i2 = 0
 16791  	__114:
 16792  		if !(i2 < 32) {
 16793  			goto __116
 16794  		}
 16795  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i2))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i2)))))))
 16796  		goto __115
 16797  	__115:
 16798  		i2++
 16799  		goto __114
 16800  		goto __116
 16801  	__116:
 16802  	}
 16803  	goto __113
 16804  __112:
 16805  	{
 16806  		i3 = 0
 16807  	__117:
 16808  		if !(i3 < 32) {
 16809  			goto __119
 16810  		}
 16811  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i3))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i3)))))
 16812  		goto __118
 16813  	__118:
 16814  		i3++
 16815  		goto __117
 16816  		goto __119
 16817  	__119:
 16818  	}
 16819  __113:
 16820  	;
 16821  
 16822  	// Every class contains at least one < 256 character.
 16823  
 16824  	class_has_8bitchar = 1
 16825  	goto CONTINUE_CLASS // End of POSIX handling
 16826  __90:
 16827  	;
 16828  
 16829  	// Other than POSIX classes, the only items we should encounter are
 16830  	//       \d-type escapes and literal characters (possibly as ranges).
 16831  
 16832  	if !(meta == DMETA_BIGVALUE) {
 16833  		goto __120
 16834  	}
 16835  
 16836  	meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 16837  	goto CLASS_LITERAL
 16838  __120:
 16839  	;
 16840  
 16841  	// Any other non-literal must be an escape
 16842  
 16843  	if !(meta >= DMETA_END) {
 16844  		goto __121
 16845  	}
 16846  
 16847  	if !(meta&0xffff0000 != DMETA_ESCAPE) {
 16848  		goto __123
 16849  	}
 16850  
 16851  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 16852  	return 0
 16853  __123:
 16854  	;
 16855  	escape = meta & 0x0000ffff
 16856  
 16857  	// Every class contains at least one < 256 character.
 16858  
 16859  	class_has_8bitchar++
 16860  
 16861  	switch escape {
 16862  	case ESC_d:
 16863  		goto __125
 16864  
 16865  	case ESC_D:
 16866  		goto __126
 16867  
 16868  	case ESC_w:
 16869  		goto __127
 16870  
 16871  	case ESC_W:
 16872  		goto __128
 16873  
 16874  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 16875  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 16876  	//           previously set by something earlier in the character class.
 16877  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 16878  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 16879  	//           longer treat \s and \S specially.
 16880  
 16881  	case ESC_s:
 16882  		goto __129
 16883  
 16884  	case ESC_S:
 16885  		goto __130
 16886  
 16887  	// When adding the horizontal or vertical space lists to a class, or
 16888  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 16889  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 16890  	//           the XCLASS list (provoked by characters that have more than one other
 16891  	//           case and by both cases being in the same "not-x" sublist).
 16892  
 16893  	case ESC_h:
 16894  		goto __131
 16895  
 16896  	case ESC_H:
 16897  		goto __132
 16898  
 16899  	case ESC_v:
 16900  		goto __133
 16901  
 16902  	case ESC_V:
 16903  		goto __134
 16904  
 16905  	// If Unicode is not supported, \P and \p are not allowed and are
 16906  	//           faulted at parse time, so will never appear here.
 16907  
 16908  	case ESC_p:
 16909  		goto __135
 16910  	case ESC_P:
 16911  		goto __136
 16912  	}
 16913  	goto __124
 16914  
 16915  __125:
 16916  	{
 16917  		i4 = 0
 16918  	__137:
 16919  		if !(i4 < 32) {
 16920  			goto __139
 16921  		}
 16922  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i4))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i4+Dcbit_digit)))))
 16923  		goto __138
 16924  	__138:
 16925  		i4++
 16926  		goto __137
 16927  		goto __139
 16928  	__139:
 16929  	}
 16930  	goto __124
 16931  
 16932  __126:
 16933  	should_flip_negation = DTRUE
 16934  	{
 16935  		i5 = 0
 16936  	__140:
 16937  		if !(i5 < 32) {
 16938  			goto __142
 16939  		}
 16940  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i5))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i5+Dcbit_digit)))))))
 16941  		goto __141
 16942  	__141:
 16943  		i5++
 16944  		goto __140
 16945  		goto __142
 16946  	__142:
 16947  	}
 16948  	goto __124
 16949  
 16950  __127:
 16951  	{
 16952  		i6 = 0
 16953  	__143:
 16954  		if !(i6 < 32) {
 16955  			goto __145
 16956  		}
 16957  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i6))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i6+Dcbit_word)))))
 16958  		goto __144
 16959  	__144:
 16960  		i6++
 16961  		goto __143
 16962  		goto __145
 16963  	__145:
 16964  	}
 16965  	goto __124
 16966  
 16967  __128:
 16968  	should_flip_negation = DTRUE
 16969  	{
 16970  		i7 = 0
 16971  	__146:
 16972  		if !(i7 < 32) {
 16973  			goto __148
 16974  		}
 16975  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i7))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i7+Dcbit_word)))))))
 16976  		goto __147
 16977  	__147:
 16978  		i7++
 16979  		goto __146
 16980  		goto __148
 16981  	__148:
 16982  	}
 16983  	goto __124
 16984  
 16985  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 16986  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 16987  	//           previously set by something earlier in the character class.
 16988  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 16989  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 16990  	//           longer treat \s and \S specially.
 16991  
 16992  __129:
 16993  	{
 16994  		i8 = 0
 16995  	__149:
 16996  		if !(i8 < 32) {
 16997  			goto __151
 16998  		}
 16999  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i8))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i8+Dcbit_space)))))
 17000  		goto __150
 17001  	__150:
 17002  		i8++
 17003  		goto __149
 17004  		goto __151
 17005  	__151:
 17006  	}
 17007  	goto __124
 17008  
 17009  __130:
 17010  	should_flip_negation = DTRUE
 17011  	{
 17012  		i9 = 0
 17013  	__152:
 17014  		if !(i9 < 32) {
 17015  			goto __154
 17016  		}
 17017  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i9))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i9+Dcbit_space)))))))
 17018  		goto __153
 17019  	__153:
 17020  		i9++
 17021  		goto __152
 17022  		goto __154
 17023  	__154:
 17024  	}
 17025  	goto __124
 17026  
 17027  	// When adding the horizontal or vertical space lists to a class, or
 17028  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 17029  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 17030  	//           the XCLASS list (provoked by characters that have more than one other
 17031  	//           case and by both cases being in the same "not-x" sublist).
 17032  
 17033  __131:
 17034  	add_list_to_class(tls, bp, bp+64,
 17035  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)), DNOTACHAR)
 17036  	goto __124
 17037  
 17038  __132:
 17039  	add_not_list_to_class(tls, bp, bp+64,
 17040  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)))
 17041  	goto __124
 17042  
 17043  __133:
 17044  	add_list_to_class(tls, bp, bp+64,
 17045  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)), DNOTACHAR)
 17046  	goto __124
 17047  
 17048  __134:
 17049  	add_not_list_to_class(tls, bp, bp+64,
 17050  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)))
 17051  	goto __124
 17052  
 17053  	// If Unicode is not supported, \P and \p are not allowed and are
 17054  	//           faulted at parse time, so will never appear here.
 17055  
 17056  __135:
 17057  __136:
 17058  
 17059  	ptype = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4))) >> 16
 17060  	pdata = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)))) & Tuint32_t(0xffff)
 17061  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 17062  		if escape == ESC_p {
 17063  			return uint8(DXCL_PROP)
 17064  		}
 17065  		return uint8(DXCL_NOTPROP)
 17066  	}()
 17067  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(ptype)
 17068  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(pdata)
 17069  	xclass_has_prop = DTRUE
 17070  	class_has_8bitchar-- // Undo!
 17071  
 17072  	goto __124
 17073  __124:
 17074  	;
 17075  
 17076  	goto CONTINUE_CLASS
 17077  	goto __122
 17078  __121:
 17079  
 17080  CLASS_LITERAL:
 17081  	c2 = libc.AssignUint32(&d2, meta)
 17082  
 17083  	// Remember if \r or \n were explicitly used
 17084  
 17085  	if !(c2 == Tuint32_t('\015') || c2 == Tuint32_t('\012')) {
 17086  		goto __155
 17087  	}
 17088  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17089  __155:
 17090  	;
 17091  
 17092  	// Process a character range
 17093  
 17094  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) == DMETA_RANGE_LITERAL || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) == DMETA_RANGE_ESCAPED) {
 17095  		goto __156
 17096  	}
 17097  
 17098  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 17099  	d2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */))))
 17100  	if !(d2 == DMETA_BIGVALUE) {
 17101  		goto __157
 17102  	}
 17103  	d2 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 17104  __157:
 17105  	;
 17106  
 17107  	// Remember an explicit \r or \n, and add the range to the class.
 17108  
 17109  	if !(d2 == Tuint32_t('\015') || d2 == Tuint32_t('\012')) {
 17110  		goto __158
 17111  	}
 17112  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17113  __158:
 17114  	;
 17115  
 17116  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 17117  	//           because there are holes in the encoding, and simply using the range
 17118  	//           A-Z (for example) would include the characters in the holes. This
 17119  	//           applies only to literal ranges; [\xC1-\xE9] is different to [A-Z].
 17120  
 17121  	// Not an EBCDIC special range
 17122  
 17123  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, c2, d2))
 17124  	goto CONTINUE_CLASS // Go get the next char in the class
 17125  __156:
 17126  	; // End of range handling
 17127  
 17128  	// Handle a single character.
 17129  
 17130  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, meta, meta))
 17131  __122:
 17132  	;
 17133  
 17134  	// Continue to the next item in the class.
 17135  
 17136  CONTINUE_CLASS:
 17137  
 17138  	// If any wide characters or Unicode properties have been encountered,
 17139  	//       set xclass = TRUE. Then, in the pre-compile phase, accumulate the length
 17140  	//       of the extra data and reset the pointer. This is so that very large
 17141  	//       classes that contain a zillion wide characters or Unicode property tests
 17142  	//       do not overwrite the workspace (which is on the stack).
 17143  
 17144  	if !(*(*uintptr)(unsafe.Pointer(bp + 64)) > class_uchardata_base) {
 17145  		goto __159
 17146  	}
 17147  
 17148  	xclass = DTRUE
 17149  	if !(lengthptr != uintptr(0)) {
 17150  		goto __160
 17151  	}
 17152  
 17153  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int32(*(*uintptr)(unsafe.Pointer(bp + 64))) - int32(class_uchardata_base)) / 1)
 17154  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = class_uchardata_base
 17155  __160:
 17156  	;
 17157  __159:
 17158  	;
 17159  
 17160  	goto __88 // Needed to avoid error when not supporting wide chars
 17161  	goto __88
 17162  __89:
 17163  	; // End of main class-processing loop
 17164  
 17165  	// If this class is the first thing in the branch, there can be no first
 17166  	//     char setting, whatever the repeat count. Any reqcu setting must remain
 17167  	//     unchanged after any kind of repeat.
 17168  
 17169  	if !(firstcuflags == DREQ_UNSET) {
 17170  		goto __161
 17171  	}
 17172  	firstcuflags = DREQ_NONE
 17173  __161:
 17174  	;
 17175  	zerofirstcu = firstcu
 17176  	zerofirstcuflags = firstcuflags
 17177  	zeroreqcu = reqcu
 17178  	zeroreqcuflags = reqcuflags
 17179  
 17180  	// If there are characters with values > 255, or Unicode property settings
 17181  	//     (\p or \P), we have to compile an extended class, with its own opcode,
 17182  	//     unless there were no property settings and there was a negated special such
 17183  	//     as \S in the class, and PCRE2_UCP is not set, because in that case all
 17184  	//     characters > 255 are in or not in the class, so any that were explicitly
 17185  	//     given as well can be ignored.
 17186  	//
 17187  	//     In the UCP case, if certain negated POSIX classes ([:^ascii:] or
 17188  	//     [^:xdigit:]) were present in a class, we either have to match or not match
 17189  	//     all wide characters (depending on whether the whole class is or is not
 17190  	//     negated). This requirement is indicated by match_all_or_no_wide_chars being
 17191  	//     true. We do this by including an explicit range, which works in both cases.
 17192  	//     This applies only in UTF and 16-bit and 32-bit non-UTF modes, since there
 17193  	//     cannot be any wide characters in 8-bit non-UTF mode.
 17194  	//
 17195  	//     When there *are* properties in a positive UTF-8 or any 16-bit or 32_bit
 17196  	//     class where \S etc is present without PCRE2_UCP, causing an extended class
 17197  	//     to be compiled, we make sure that all characters > 255 are included by
 17198  	//     forcing match_all_or_no_wide_chars to be true.
 17199  	//
 17200  	//     If, when generating an xclass, there are no characters < 256, we can omit
 17201  	//     the bitmap in the actual compiled code.
 17202  
 17203  	if !(xclass != 0 && (options&DPCRE2_UCP != Tuint32_t(0) || xclass_has_prop != 0 || !(should_flip_negation != 0))) {
 17204  		goto __162
 17205  	}
 17206  
 17207  	if !(match_all_or_no_wide_chars != 0 || utf != 0 && should_flip_negation != 0 && !(negate_class != 0) && options&DPCRE2_UCP == Tuint32_t(0)) {
 17208  		goto __163
 17209  	}
 17210  
 17211  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 17212  	if !(utf != 0) {
 17213  		goto __164
 17214  	} /* Will always be utf in the 8-bit library */
 17215  
 17216  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(0x100), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))))
 17217  	*(*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 */))))
 17218  	goto __165
 17219  __164: /* Can only happen for the 16-bit & 32-bit libraries */
 17220  
 17221  	;
 17222  __165:
 17223  	;
 17224  __163:
 17225  	;
 17226  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_END) // Marks the end of extra data
 17227  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_XCLASS
 17228  	code += uintptr(DLINK_SIZE)
 17229  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = func() uint8 {
 17230  		if negate_class != 0 {
 17231  			return uint8(DXCL_NOT)
 17232  		}
 17233  		return uint8(0)
 17234  	}()
 17235  	if !(xclass_has_prop != 0) {
 17236  		goto __166
 17237  	}
 17238  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) |= TPCRE2_UCHAR8(DXCL_HASPROP)
 17239  __166:
 17240  	;
 17241  
 17242  	// If the map is required, move up the extra data to make room for it;
 17243  	//       otherwise just move the code pointer to the end of the extra data.
 17244  
 17245  	if !(class_has_8bitchar > 0) {
 17246  		goto __167
 17247  	}
 17248  
 17249  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) |= TPCRE2_UCHAR8(DXCL_MAP)
 17250  	libc.Xmemmove(tls, code+uintptr(uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), code,
 17251  		uint32((int32(*(*uintptr)(unsafe.Pointer(bp + 64)))-int32(code))/1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 17252  	if !(negate_class != 0 && !(xclass_has_prop != 0)) {
 17253  		goto __169
 17254  	}
 17255  
 17256  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17257  	{
 17258  		i10 = 0
 17259  	__170:
 17260  		if !(i10 < 32) {
 17261  			goto __172
 17262  		}
 17263  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10)))))
 17264  		goto __171
 17265  	__171:
 17266  		i10++
 17267  		goto __170
 17268  		goto __172
 17269  	__172:
 17270  	}
 17271  __169:
 17272  	;
 17273  	libc.Xmemcpy(tls, code, bp, uint32(32))
 17274  	code = *(*uintptr)(unsafe.Pointer(bp + 64)) + uintptr(uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17275  	goto __168
 17276  __167:
 17277  	code = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))
 17278  __168:
 17279  	;
 17280  
 17281  	// Now fill in the complete length of the item
 17282  
 17283  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32((int32(code)-int32(previous))/1) >> 8)
 17284  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8(int32((int32(code)-int32(previous))/1) & 255)
 17285  	goto __12 // End of class handling
 17286  __162:
 17287  	;
 17288  
 17289  	// If there are no characters > 255, or they are all to be included or
 17290  	//     excluded, set the opcode to OP_CLASS or OP_NCLASS, depending on whether the
 17291  	//     whole class was negated and whether there were negative specials such as \S
 17292  	//     (non-UCP) in the class. Then copy the 32-byte map into the code vector,
 17293  	//     negating it if necessary.
 17294  
 17295  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17296  		if negate_class == should_flip_negation {
 17297  			return OP_CLASS
 17298  		}
 17299  		return OP_NCLASS
 17300  	}()
 17301  	if !(lengthptr == uintptr(0)) {
 17302  		goto __173
 17303  	} /* Save time in the pre-compile phase */
 17304  
 17305  	if !(negate_class != 0) {
 17306  		goto __174
 17307  	}
 17308  
 17309  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17310  	{
 17311  		i11 = 0
 17312  	__175:
 17313  		if !(i11 < 32) {
 17314  			goto __177
 17315  		}
 17316  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11)))))
 17317  		goto __176
 17318  	__176:
 17319  		i11++
 17320  		goto __175
 17321  		goto __177
 17322  	__177:
 17323  	}
 17324  __174:
 17325  	;
 17326  	libc.Xmemcpy(tls, code, bp, uint32(32))
 17327  __173:
 17328  	;
 17329  	code += uintptr(uint32(32) / uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17330  	goto __12 // End of class processing
 17331  
 17332  	// ===================================================================
 17333  	// Deal with (*VERB)s.
 17334  
 17335  	// Check for open captures before ACCEPT and close those that are within
 17336  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 17337  	//     assertion. In the first pass, just accumulate the length required;
 17338  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 17339  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 17340  
 17341  __23:
 17342  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_accept = libc.AssignInt32(&had_accept, DTRUE)
 17343  	oc = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 17344  __178:
 17345  	if !(oc != uintptr(0) && int32((*Topen_capitem)(unsafe.Pointer(oc)).Fassert_depth) >= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth)) {
 17346  		goto __180
 17347  	}
 17348  
 17349  	if !(lengthptr != uintptr(0)) {
 17350  		goto __181
 17351  	}
 17352  
 17353  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(1*(DPCRE2_CODE_UNIT_WIDTH/8) + DIMM2_SIZE)
 17354  	goto __182
 17355  __181:
 17356  
 17357  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CLOSE
 17358  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) >> 8)
 17359  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) & 255)
 17360  	code += uintptr(DIMM2_SIZE)
 17361  __182:
 17362  	;
 17363  	goto __179
 17364  __179:
 17365  	oc = (*Topen_capitem)(unsafe.Pointer(oc)).Fnext
 17366  	goto __178
 17367  	goto __180
 17368  __180:
 17369  	;
 17370  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17371  		if int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 {
 17372  			return OP_ASSERT_ACCEPT
 17373  		}
 17374  		return OP_ACCEPT
 17375  	}()
 17376  	if !(firstcuflags == DREQ_UNSET) {
 17377  		goto __183
 17378  	}
 17379  	firstcuflags = DREQ_NONE
 17380  __183:
 17381  	;
 17382  	goto __12
 17383  
 17384  __24:
 17385  __25:
 17386  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17387  	// Fall through
 17388  __26:
 17389  __27:
 17390  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17391  	goto __12
 17392  
 17393  __28:
 17394  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASTHEN)
 17395  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_THEN
 17396  	goto __12
 17397  
 17398  	// Handle verbs with arguments. Arguments can be very long, especially in
 17399  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 17400  	//     However, the argument length is constrained to be small enough to fit in
 17401  	//     one code unit. This check happens in parse_regex(). In the first pass,
 17402  	//     instead of putting the argument into memory, we just update the length
 17403  	//     counter and set up an empty argument.
 17404  
 17405  __29:
 17406  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASTHEN)
 17407  	goto VERB_ARG
 17408  
 17409  __30:
 17410  __31:
 17411  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17412  	// Fall through
 17413  __32:
 17414  __33:
 17415  VERB_ARG:
 17416  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17417  	// The length is in characters.
 17418  	verbarglen = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 17419  	verbculen = Tuint32_t(0)
 17420  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) = libc.PostIncUintptr(&code, 1)
 17421  	{
 17422  		i17 = 0
 17423  	__184:
 17424  		if !(i17 < int32(verbarglen)) {
 17425  			goto __186
 17426  		}
 17427  
 17428  		meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 17429  		if !(utf != 0) {
 17430  			goto __187
 17431  		}
 17432  		mclength = X_pcre2_ord2utf_8(tls, meta, bp+68)
 17433  		goto __188
 17434  	__187:
 17435  
 17436  		mclength = Tuint32_t(1)
 17437  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68)) = TPCRE2_UCHAR8(meta)
 17438  	__188:
 17439  		;
 17440  		if !(lengthptr != uintptr(0)) {
 17441  			goto __189
 17442  		}
 17443  		*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(mclength)
 17444  		goto __190
 17445  	__189:
 17446  
 17447  		libc.Xmemcpy(tls, code, bp+68, uint32(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 17448  		code += uintptr(mclength)
 17449  		verbculen = verbculen + mclength
 17450  	__190:
 17451  		;
 17452  		goto __185
 17453  	__185:
 17454  		i17++
 17455  		goto __184
 17456  		goto __186
 17457  	__186:
 17458  	}
 17459  
 17460  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)))) = TPCRE2_UCHAR8(verbculen) // Fill in the code unit length
 17461  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(0)                               // Terminating zero
 17462  	goto __12
 17463  
 17464  	// ===================================================================
 17465  	// Handle options change. The new setting must be passed back for use in
 17466  	//     subsequent branches. Reset the greedy defaults and the case value for
 17467  	//     firstcu and reqcu.
 17468  
 17469  __34:
 17470  	*(*Tuint32_t)(unsafe.Pointer(optionsptr)) = libc.AssignUint32(&options, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4))))
 17471  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 17472  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 17473  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 17474  		req_caseopt = DREQ_CASELESS
 17475  	} else {
 17476  		req_caseopt = uint32(0)
 17477  	}
 17478  	goto __12
 17479  
 17480  	// ===================================================================
 17481  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 17482  	//     because it could be a numerical check on recursion, or a name check on a
 17483  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 17484  	//     we can handle it either way. We first try for a name; if not found, process
 17485  	//     the number.
 17486  
 17487  __35: // (?(Rdigits)
 17488  __36: // (?(name) or (?'name') or ?(<name>)
 17489  __37: // (?(R&name) - test for recursion
 17490  	bravalue = OP_COND
 17491  
 17492  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 17493  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 17494  
 17495  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 17496  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 17497  
 17498  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 17499  
 17500  	// In the first pass, the names generated in the pre-pass are available,
 17501  	//       but the main name table has not yet been created. Scan the list of names
 17502  	//       generated in the pre-pass in order to get a number and whether or not
 17503  	//       this name is duplicated. If it is not duplicated, we can handle it as a
 17504  	//       numerical group.
 17505  
 17506  	i12 = uint32(0)
 17507  __191:
 17508  	if !(i12 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17509  		goto __193
 17510  	}
 17511  
 17512  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint32(length)) == 0) {
 17513  		goto __194
 17514  	}
 17515  
 17516  	if !!(int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup) != 0) {
 17517  		goto __195
 17518  	}
 17519  
 17520  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17521  		if meta == DMETA_COND_RNAME {
 17522  			return OP_RREF
 17523  		}
 17524  		return OP_CREF
 17525  	}()
 17526  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber >> 8)
 17527  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber & Tuint32_t(255))
 17528  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17529  		goto __196
 17530  	}
 17531  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 17532  __196:
 17533  	;
 17534  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17535  	goto GROUP_PROCESS_NOTE_EMPTY
 17536  __195:
 17537  	;
 17538  	goto __193 // Found a duplicated name
 17539  __194:
 17540  	;
 17541  	goto __192
 17542  __192:
 17543  	i12++
 17544  	ng += 12
 17545  	goto __191
 17546  	goto __193
 17547  __193:
 17548  	;
 17549  
 17550  	// If the name was not found we have a bad reference, unless we are
 17551  	//       dealing with R<digits>, which is treated as a recursion test by number.
 17552  	//
 17553  
 17554  	if !(i12 >= uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17555  		goto __197
 17556  	}
 17557  
 17558  	groupnumber = Tuint32_t(0)
 17559  	if !(meta == DMETA_COND_RNUMBER) {
 17560  		goto __198
 17561  	}
 17562  
 17563  	i12 = uint32(1)
 17564  __199:
 17565  	if !(i12 < length) {
 17566  		goto __201
 17567  	}
 17568  
 17569  	groupnumber = groupnumber*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(name + uintptr(i12)))) - Tuint32_t('\060')
 17570  	if !(groupnumber > DMAX_GROUP_NUMBER) {
 17571  		goto __202
 17572  	}
 17573  
 17574  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 17575  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset + Tsize_t(i12)
 17576  	return 0
 17577  __202:
 17578  	;
 17579  	goto __200
 17580  __200:
 17581  	i12++
 17582  	goto __199
 17583  	goto __201
 17584  __201:
 17585  	;
 17586  __198:
 17587  	;
 17588  
 17589  	if !(meta != DMETA_COND_RNUMBER || groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17590  		goto __203
 17591  	}
 17592  
 17593  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17594  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17595  	return 0
 17596  __203:
 17597  	;
 17598  
 17599  	// (?Rdigits) treated as a recursion reference by number. A value of
 17600  	//         zero (which is the result of both (?R) and (?R0)) means "any", and is
 17601  	//         translated into RREF_ANY (which is 0xffff).
 17602  
 17603  	if !(groupnumber == Tuint32_t(0)) {
 17604  		goto __204
 17605  	}
 17606  	groupnumber = Tuint32_t(DRREF_ANY)
 17607  __204:
 17608  	;
 17609  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_RREF
 17610  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17611  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17612  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17613  	goto GROUP_PROCESS_NOTE_EMPTY
 17614  __197:
 17615  	;
 17616  
 17617  	// A duplicated name was found. Note that if an R<digits> name is found
 17618  	//       (META_COND_RNUMBER), it is a reference test, not a recursion test.
 17619  
 17620  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17621  		if meta == DMETA_COND_RNAME {
 17622  			return OP_RREF
 17623  		}
 17624  		return OP_CREF
 17625  	}()
 17626  
 17627  	// We have a duplicated name. In the compile pass we have to search the
 17628  	//       main table in order to get the index and count values.
 17629  
 17630  	*(*int32)(unsafe.Pointer(bp + 80 /* count */)) = 0 // Values for first pass (avoids compiler warning)
 17631  	*(*int32)(unsafe.Pointer(bp + 76 /* index */)) = 0
 17632  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name, length, bp+76,
 17633  		bp+80, errorcodeptr, cb) != 0)) {
 17634  		goto __205
 17635  	}
 17636  	return 0
 17637  __205:
 17638  	;
 17639  
 17640  	// Add one to the opcode to change CREF/RREF into DNCREF/DNRREF and
 17641  	//       insert appropriate data values.
 17642  
 17643  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))++
 17644  	skipunits = Tuint32_t(1 + 2*DIMM2_SIZE)
 17645  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 76)) >> 8)
 17646  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 76)) & 255)
 17647  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) >> 8)
 17648  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) & 255)
 17649  
 17650  	goto GROUP_PROCESS_NOTE_EMPTY
 17651  
 17652  	// The DEFINE condition is always false. Its internal groups may never
 17653  	//     be called, so matched_char must remain false, hence the jump to
 17654  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 17655  
 17656  __38:
 17657  	bravalue = OP_COND
 17658  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 17659  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 17660  
 17661  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_DEFINE
 17662  	skipunits = Tuint32_t(1)
 17663  	goto GROUP_PROCESS
 17664  
 17665  	// Conditional test of a group's being set.
 17666  
 17667  __39:
 17668  	bravalue = OP_COND
 17669  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 17670  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 17671  
 17672  	groupnumber = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 17673  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17674  		goto __206
 17675  	}
 17676  
 17677  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17678  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17679  	return 0
 17680  __206:
 17681  	;
 17682  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17683  		goto __207
 17684  	}
 17685  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 17686  __207:
 17687  	;
 17688  	offset = offset - Tsize_t(2) // Point at initial ( for too many branches error
 17689  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_CREF
 17690  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17691  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17692  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17693  	goto GROUP_PROCESS_NOTE_EMPTY
 17694  
 17695  	// Test for the PCRE2 version.
 17696  
 17697  __40:
 17698  	bravalue = OP_COND
 17699  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) > Tuint32_t(0)) {
 17700  		goto __208
 17701  	}
 17702  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17703  		if Tuint32_t(DPCRE2_MAJOR) > *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) || Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) >= *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3*4)) {
 17704  			return OP_TRUE
 17705  		}
 17706  		return OP_FALSE
 17707  	}()
 17708  	goto __209
 17709  __208:
 17710  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17711  		if Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3*4)) {
 17712  			return OP_TRUE
 17713  		}
 17714  		return OP_FALSE
 17715  	}()
 17716  __209:
 17717  	;
 17718  	skipunits = Tuint32_t(1)
 17719  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(3)
 17720  	goto GROUP_PROCESS_NOTE_EMPTY
 17721  
 17722  	// The condition is an assertion, possibly preceded by a callout.
 17723  
 17724  __41:
 17725  	bravalue = OP_COND
 17726  	goto GROUP_PROCESS_NOTE_EMPTY
 17727  
 17728  	// ===================================================================
 17729  	// Handle all kinds of nested bracketed groups. The non-capturing,
 17730  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 17731  
 17732  __42:
 17733  	bravalue = OP_ASSERT
 17734  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17735  	goto GROUP_PROCESS
 17736  
 17737  __43:
 17738  	bravalue = OP_ASSERT_NA
 17739  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17740  	goto GROUP_PROCESS
 17741  
 17742  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 17743  	//     thing to do, but Perl allows all assertions to be quantified, and when
 17744  	//     they contain capturing parentheses there may be a potential use for
 17745  	//     this feature. Not that that applies to a quantified (?!) but we allow
 17746  	//     it for uniformity.
 17747  
 17748  __44:
 17749  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) == DMETA_KET && (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) < DMETA_ASTERISK || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) > DMETA_MINMAX_QUERY)) {
 17750  		goto __210
 17751  	}
 17752  
 17753  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_FAIL
 17754  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4
 17755  	goto __211
 17756  __210:
 17757  
 17758  	bravalue = OP_ASSERT_NOT
 17759  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17760  	goto GROUP_PROCESS
 17761  __211:
 17762  	;
 17763  	goto __12
 17764  
 17765  __45:
 17766  	bravalue = OP_ASSERTBACK
 17767  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17768  	goto GROUP_PROCESS
 17769  
 17770  __46:
 17771  	bravalue = OP_ASSERTBACK_NOT
 17772  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17773  	goto GROUP_PROCESS
 17774  
 17775  __47:
 17776  	bravalue = OP_ASSERTBACK_NA
 17777  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) += Tuint16_t(1)
 17778  	goto GROUP_PROCESS
 17779  
 17780  __48:
 17781  	bravalue = OP_ONCE
 17782  	goto GROUP_PROCESS_NOTE_EMPTY
 17783  
 17784  __49:
 17785  	bravalue = OP_SCRIPT_RUN
 17786  	goto GROUP_PROCESS_NOTE_EMPTY
 17787  
 17788  __50:
 17789  	bravalue = OP_BRA
 17790  	// Fall through
 17791  
 17792  	// Process nested bracketed regex. The nesting depth is maintained for the
 17793  	//     benefit of the stackguard function. The test for too deep nesting is now
 17794  	//     done in parse_regex(). Assertion and DEFINE groups come to GROUP_PROCESS;
 17795  	//     others come to GROUP_PROCESS_NOTE_EMPTY, to indicate that we need to take
 17796  	//     note of whether or not they may match an empty string.
 17797  
 17798  GROUP_PROCESS_NOTE_EMPTY:
 17799  	note_group_empty = DTRUE
 17800  
 17801  GROUP_PROCESS:
 17802  	*(*Tuint16_t)(unsafe.Pointer(cb + 92)) += Tuint16_t(1)
 17803  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(bravalue)
 17804  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4
 17805  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) = code
 17806  	tempreqvary = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt        // Save value before group
 17807  	*(*Tsize_t)(unsafe.Pointer(bp + 108 /* length_prevgroup */)) = Tsize_t(0) // Initialize for pre-compile phase
 17808  
 17809  	if !(libc.AssignInt32(&group_return, compile_regex(tls,
 17810  		options,
 17811  		bp+84,
 17812  		bp+88,
 17813  		errorcodeptr,
 17814  		skipunits,
 17815  		bp+92,
 17816  		bp+96,
 17817  		bp+100,
 17818  		bp+104,
 17819  		bcptr,
 17820  		cb,
 17821  		func() uintptr {
 17822  			if lengthptr == uintptr(0) {
 17823  				return uintptr(0)
 17824  			}
 17825  			return bp + 108
 17826  		}())) == 0) {
 17827  		goto __212
 17828  	}
 17829  	return 0
 17830  __212:
 17831  	; // Error
 17832  
 17833  	*(*Tuint16_t)(unsafe.Pointer(cb + 92)) -= Tuint16_t(1)
 17834  
 17835  	// If that was a non-conditional significant group (not an assertion, not a
 17836  	//     DEFINE) that matches at least one character, then the current item matches
 17837  	//     a character. Conditionals are handled below.
 17838  
 17839  	if !(note_group_empty != 0 && bravalue != OP_COND && group_return > 0) {
 17840  		goto __213
 17841  	}
 17842  	matched_char = DTRUE
 17843  __213:
 17844  	;
 17845  
 17846  	// If we've just compiled an assertion, pop the assert depth.
 17847  
 17848  	if !(bravalue >= OP_ASSERT && bravalue <= OP_ASSERTBACK_NA) {
 17849  		goto __214
 17850  	}
 17851  	*(*Tuint16_t)(unsafe.Pointer(cb + 94)) -= Tuint16_t(1)
 17852  __214:
 17853  	;
 17854  
 17855  	// At the end of compiling, code is still pointing to the start of the
 17856  	//     group, while tempcode has been updated to point past the end of the group.
 17857  	//     The parsed pattern pointer (pptr) is on the closing META_KET.
 17858  	//
 17859  	//     If this is a conditional bracket, check that there are no more than
 17860  	//     two branches in the group, or just one if it's a DEFINE group. We do this
 17861  	//     in the real compile phase, not in the pre-pass, where the whole group may
 17862  	//     not be available.
 17863  
 17864  	if !(bravalue == OP_COND && lengthptr == uintptr(0)) {
 17865  		goto __215
 17866  	}
 17867  
 17868  	tc = code
 17869  	condcount = 0
 17870  
 17871  __216:
 17872  	condcount++
 17873  	tc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 2)))))
 17874  	goto __217
 17875  __217:
 17876  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc))) != OP_KET {
 17877  		goto __216
 17878  	}
 17879  	goto __218
 17880  __218:
 17881  	;
 17882  
 17883  	// A DEFINE group is never obeyed inline (the "condition" is always
 17884  	//       false). It must have only one branch. Having checked this, change the
 17885  	//       opcode to OP_FALSE.
 17886  
 17887  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_DEFINE) {
 17888  		goto __219
 17889  	}
 17890  
 17891  	if !(condcount > 1) {
 17892  		goto __221
 17893  	}
 17894  
 17895  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17896  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR54
 17897  	return 0
 17898  __221:
 17899  	;
 17900  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_FALSE
 17901  	bravalue = OP_DEFINE // A flag to suppress char handling below
 17902  	goto __220
 17903  __219:
 17904  
 17905  	if !(condcount > 2) {
 17906  		goto __222
 17907  	}
 17908  
 17909  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17910  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR27
 17911  	return 0
 17912  __222:
 17913  	;
 17914  	if !(condcount == 1) {
 17915  		goto __223
 17916  	}
 17917  	*(*Tuint32_t)(unsafe.Pointer(bp + 96 /* subfirstcuflags */)) = libc.AssignPtrUint32(bp+104 /* subreqcuflags */, DREQ_NONE)
 17918  	goto __224
 17919  __223:
 17920  	if !(group_return > 0) {
 17921  		goto __225
 17922  	}
 17923  	matched_char = DTRUE
 17924  __225:
 17925  	;
 17926  __224:
 17927  	;
 17928  __220:
 17929  	;
 17930  __215:
 17931  	;
 17932  
 17933  	// In the pre-compile phase, update the length by the length of the group,
 17934  	//     less the brackets at either end. Then reduce the compiled code to just a
 17935  	//     set of non-capturing brackets so that it doesn't use much memory if it is
 17936  	//     duplicated by a quantifier.
 17937  
 17938  	if !(lengthptr != uintptr(0)) {
 17939  		goto __226
 17940  	}
 17941  
 17942  	if !(Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 108))-Tsize_t(2)-Tsize_t(2*DLINK_SIZE)) {
 17943  		goto __227
 17944  	}
 17945  
 17946  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 17947  	return 0
 17948  __227:
 17949  	;
 17950  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 108)) - Tsize_t(2) - Tsize_t(2*DLINK_SIZE)
 17951  	code++ // This already contains bravalue
 17952  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17953  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17954  	code += uintptr(DLINK_SIZE)
 17955  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 17956  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17957  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17958  	code += uintptr(DLINK_SIZE)
 17959  	goto __12 // No need to waste time with special character handling
 17960  __226:
 17961  	;
 17962  
 17963  	// Otherwise update the main code pointer to the end of the group.
 17964  
 17965  	code = *(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */))
 17966  
 17967  	// For a DEFINE group, required and first character settings are not
 17968  	//     relevant.
 17969  
 17970  	if !(bravalue == OP_DEFINE) {
 17971  		goto __228
 17972  	}
 17973  	goto __12
 17974  __228:
 17975  	;
 17976  
 17977  	// Handle updating of the required and first code units for other types of
 17978  	//     group. Update for normal brackets of all kinds, and conditions with two
 17979  	//     branches (see code above). If the bracket is followed by a quantifier with
 17980  	//     zero repeat, we have to back off. Hence the definition of zeroreqcu and
 17981  	//     zerofirstcu outside the main loop so that they can be accessed for the back
 17982  	//     off.
 17983  
 17984  	zeroreqcu = reqcu
 17985  	zeroreqcuflags = reqcuflags
 17986  	zerofirstcu = firstcu
 17987  	zerofirstcuflags = firstcuflags
 17988  	groupsetfirstcu = DFALSE
 17989  
 17990  	if !(bravalue >= OP_ONCE) {
 17991  		goto __229
 17992  	} /* Not an assertion */
 17993  
 17994  	// If we have not yet set a firstcu in this branch, take it from the
 17995  	//       subpattern, remembering that it was set here so that a repeat of more
 17996  	//       than one can replicate it as reqcu if necessary. If the subpattern has
 17997  	//       no firstcu, set "none" for the whole branch. In both cases, a zero
 17998  	//       repeat forces firstcu to "none".
 17999  
 18000  	if !(firstcuflags == DREQ_UNSET && *(*Tuint32_t)(unsafe.Pointer(bp + 96)) != DREQ_UNSET) {
 18001  		goto __231
 18002  	}
 18003  
 18004  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 96)) < DREQ_NONE) {
 18005  		goto __233
 18006  	}
 18007  
 18008  	firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 92 /* subfirstcu */))
 18009  	firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 96 /* subfirstcuflags */))
 18010  	groupsetfirstcu = DTRUE
 18011  	goto __234
 18012  __233:
 18013  	firstcuflags = DREQ_NONE
 18014  __234:
 18015  	;
 18016  	zerofirstcuflags = DREQ_NONE
 18017  	goto __232
 18018  __231:
 18019  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 96)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 104)) >= DREQ_NONE) {
 18020  		goto __235
 18021  	}
 18022  
 18023  	*(*Tuint32_t)(unsafe.Pointer(bp + 100 /* subreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 92 /* subfirstcu */))
 18024  	*(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 96)) | tempreqvary
 18025  __235:
 18026  	;
 18027  __232:
 18028  	;
 18029  
 18030  	// If the subpattern set a required code unit (or set a first code unit
 18031  	//       that isn't really the first code unit - see above), set it.
 18032  
 18033  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 104)) < DREQ_NONE) {
 18034  		goto __236
 18035  	}
 18036  
 18037  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 100 /* subreqcu */))
 18038  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subreqcuflags */))
 18039  __236:
 18040  	;
 18041  	goto __230
 18042  __229:
 18043  	if !((bravalue == OP_ASSERT || bravalue == OP_ASSERT_NA) && *(*Tuint32_t)(unsafe.Pointer(bp + 104)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 96)) < DREQ_NONE) {
 18044  		goto __237
 18045  	}
 18046  
 18047  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 100 /* subreqcu */))
 18048  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subreqcuflags */))
 18049  __237:
 18050  	;
 18051  __230:
 18052  	;
 18053  
 18054  	goto __12 // End of nested group handling
 18055  
 18056  	// ===================================================================
 18057  	// Handle named backreferences and recursions.
 18058  
 18059  __51:
 18060  __52:
 18061  
 18062  	is_dupname = DFALSE
 18063  	ng1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 18064  	length1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 18065  
 18066  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 18067  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 18068  
 18069  	name1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18070  
 18071  	// In the first pass, the names generated in the pre-pass are available,
 18072  	//       but the main name table has not yet been created. Scan the list of names
 18073  	//       generated in the pre-pass in order to get a number and whether or not
 18074  	//       this name is duplicated.
 18075  
 18076  	groupnumber = Tuint32_t(0)
 18077  	{
 18078  		i13 = uint32(0)
 18079  	__238:
 18080  		if !(i13 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 18081  			goto __240
 18082  		}
 18083  
 18084  		if !(length1 == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng1)).Flength) && X_pcre2_strncmp_8(tls, name1, (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fname, uint32(length1)) == 0) {
 18085  			goto __241
 18086  		}
 18087  
 18088  		is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng1)).Fisdup)
 18089  		groupnumber = (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fnumber
 18090  
 18091  		// For a recursion, that's all that is needed. We can now go to
 18092  		//           the code that handles numerical recursion, applying it to the first
 18093  		//           group with the given name.
 18094  
 18095  		if !(meta == DMETA_RECURSE_BYNAME) {
 18096  			goto __242
 18097  		}
 18098  
 18099  		meta_arg = groupnumber
 18100  		goto HANDLE_NUMERICAL_RECURSION
 18101  	__242:
 18102  		;
 18103  
 18104  		// For a back reference, update the back reference map and the
 18105  		//           maximum back reference.
 18106  
 18107  		*(*Tuint32_t)(unsafe.Pointer(cb + 140)) |= func() uint32 {
 18108  			if groupnumber < Tuint32_t(32) {
 18109  				return uint32(1) << groupnumber
 18110  			}
 18111  			return uint32(1)
 18112  		}()
 18113  		if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 18114  			goto __243
 18115  		}
 18116  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 18117  	__243:
 18118  		;
 18119  	__241:
 18120  		;
 18121  		goto __239
 18122  	__239:
 18123  		i13++
 18124  		ng1 += 12
 18125  		goto __238
 18126  		goto __240
 18127  	__240:
 18128  	}
 18129  
 18130  	// If the name was not found we have a bad reference.
 18131  
 18132  	if !(groupnumber == Tuint32_t(0)) {
 18133  		goto __244
 18134  	}
 18135  
 18136  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 18137  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 18138  	return 0
 18139  __244:
 18140  	;
 18141  
 18142  	// If a back reference name is not duplicated, we can handle it as
 18143  	//       a numerical reference.
 18144  
 18145  	if !!(is_dupname != 0) {
 18146  		goto __245
 18147  	}
 18148  
 18149  	meta_arg = groupnumber
 18150  	goto HANDLE_SINGLE_REFERENCE
 18151  __245:
 18152  	;
 18153  
 18154  	// If a back reference name is duplicated, we generate a different
 18155  	//       opcode to a numerical back reference. In the second pass we must
 18156  	//       search for the index and count in the final name table.
 18157  
 18158  	*(*int32)(unsafe.Pointer(bp + 116 /* count1 */)) = 0 // Values for first pass (avoids compiler warning)
 18159  	*(*int32)(unsafe.Pointer(bp + 112 /* index1 */)) = 0
 18160  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name1, length1, bp+112,
 18161  		bp+116, errorcodeptr, cb) != 0)) {
 18162  		goto __246
 18163  	}
 18164  	return 0
 18165  __246:
 18166  	;
 18167  
 18168  	if !(firstcuflags == DREQ_UNSET) {
 18169  		goto __247
 18170  	}
 18171  	firstcuflags = DREQ_NONE
 18172  __247:
 18173  	;
 18174  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 18175  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 18176  			return OP_DNREFI
 18177  		}
 18178  		return OP_DNREF
 18179  	}()
 18180  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 112)) >> 8)
 18181  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 112)) & 255)
 18182  	code += uintptr(DIMM2_SIZE)
 18183  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 116)) >> 8)
 18184  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 116)) & 255)
 18185  	code += uintptr(DIMM2_SIZE)
 18186  
 18187  	goto __12
 18188  
 18189  	// ===================================================================
 18190  	// Handle a numerical callout.
 18191  
 18192  __53:
 18193  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT
 18194  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) >> 8)
 18195  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18196  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) >> 8)
 18197  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18198  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) + 3*4)))
 18199  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(3)
 18200  	code += uintptr(X_pcre2_OP_lengths_8[OP_CALLOUT])
 18201  	goto __12
 18202  
 18203  	// ===================================================================
 18204  	// Handle a callout with a string argument. In the pre-pass we just compute
 18205  	//     the length without generating anything. The length in pptr[3] includes both
 18206  	//     delimiters; in the actual compile only the first one is copied, but a
 18207  	//     terminating zero is added. Any doubled delimiters within the string make
 18208  	//     this an overestimate, but it is not worth bothering about.
 18209  
 18210  __54:
 18211  	if !(lengthptr != uintptr(0)) {
 18212  		goto __248
 18213  	}
 18214  
 18215  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3*4)) + Tuint32_t(1+4*DLINK_SIZE))
 18216  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(3)
 18217  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 18218  	goto __249
 18219  __248:
 18220  
 18221  	length2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) + 3*4))
 18222  	callout_string = code + uintptr(1+4*DLINK_SIZE)
 18223  
 18224  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT_STR
 18225  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) >> 8)
 18226  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18227  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) >> 8)
 18228  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18229  
 18230  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(3)
 18231  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 18232  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 18233  	// Offset to string in pattern
 18234  	pp = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18235  	delimiter = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&callout_string, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))))
 18236  	if !(delimiter == Tuint32_t('\173')) {
 18237  		goto __250
 18238  	}
 18239  	delimiter = Tuint32_t('\175')
 18240  __250:
 18241  	;
 18242  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(int32(offset+Tsize_t(1)) >> 8)
 18243  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 8)) = TPCRE2_UCHAR8(int32(offset+Tsize_t(1)) & 255) // One after delimiter
 18244  
 18245  	// The syntax of the pattern was checked in the parsing scan. The length
 18246  	//       includes both delimiters, but we have passed the opening one just above,
 18247  	//       so we reduce length before testing it. The test is for > 1 because we do
 18248  	//       not want to copy the final delimiter. This also ensures that pp[1] is
 18249  	//       accessible.
 18250  
 18251  __251:
 18252  	if !(libc.PreDecUint32(&length2, 1) > Tuint32_t(1)) {
 18253  		goto __252
 18254  	}
 18255  
 18256  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp))) == delimiter && Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp + 1))) == delimiter) {
 18257  		goto __253
 18258  	}
 18259  
 18260  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(delimiter)
 18261  	pp += uintptr(2)
 18262  	length2--
 18263  	goto __254
 18264  __253:
 18265  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))
 18266  __254:
 18267  	;
 18268  	goto __251
 18269  __252:
 18270  	;
 18271  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(0)
 18272  
 18273  	// Set the length of the entire item, the advance to its end.
 18274  
 18275  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(int32((int32(callout_string)-int32(code))/1) >> 8)
 18276  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(int32((int32(callout_string)-int32(code))/1) & 255)
 18277  	code = callout_string
 18278  __249:
 18279  	;
 18280  	goto __12
 18281  
 18282  	// ===================================================================
 18283  	// Handle repetition. The different types are all sorted out in the parsing
 18284  	//     pass.
 18285  
 18286  __55:
 18287  __56:
 18288  __57:
 18289  	repeat_min = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 18290  	repeat_max = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4)))
 18291  	goto REPEAT
 18292  
 18293  __58:
 18294  __59:
 18295  __60:
 18296  	repeat_min = Tuint32_t(0)
 18297  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18298  	goto REPEAT
 18299  
 18300  __61:
 18301  __62:
 18302  __63:
 18303  	repeat_min = Tuint32_t(1)
 18304  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18305  	goto REPEAT
 18306  
 18307  __64:
 18308  __65:
 18309  __66:
 18310  	repeat_min = Tuint32_t(0)
 18311  	repeat_max = Tuint32_t(1)
 18312  
 18313  REPEAT:
 18314  	if !(previous_matched_char != 0 && repeat_min > Tuint32_t(0)) {
 18315  		goto __255
 18316  	}
 18317  	matched_char = DTRUE
 18318  __255:
 18319  	;
 18320  
 18321  	// Remember whether this is a variable length repeat, and default to
 18322  	//     single-char opcodes.
 18323  
 18324  	if repeat_min == repeat_max {
 18325  		reqvary = uint32(0)
 18326  	} else {
 18327  		reqvary = DREQ_VARY
 18328  	}
 18329  	op_type = Tuint32_t(0)
 18330  
 18331  	// Adjust first and required code units for a zero repeat.
 18332  
 18333  	if !(repeat_min == Tuint32_t(0)) {
 18334  		goto __256
 18335  	}
 18336  
 18337  	firstcu = zerofirstcu
 18338  	firstcuflags = zerofirstcuflags
 18339  	reqcu = zeroreqcu
 18340  	reqcuflags = zeroreqcuflags
 18341  __256:
 18342  	;
 18343  
 18344  	// Note the greediness and possessiveness.
 18345  
 18346  	switch meta {
 18347  	case DMETA_MINMAX_PLUS:
 18348  		goto __258
 18349  	case DMETA_ASTERISK_PLUS:
 18350  		goto __259
 18351  	case DMETA_PLUS_PLUS:
 18352  		goto __260
 18353  	case DMETA_QUERY_PLUS:
 18354  		goto __261
 18355  
 18356  	case DMETA_MINMAX_QUERY:
 18357  		goto __262
 18358  	case DMETA_ASTERISK_QUERY:
 18359  		goto __263
 18360  	case DMETA_PLUS_QUERY:
 18361  		goto __264
 18362  	case DMETA_QUERY_QUERY:
 18363  		goto __265
 18364  
 18365  	default:
 18366  		goto __266
 18367  	}
 18368  	goto __257
 18369  
 18370  __258:
 18371  __259:
 18372  __260:
 18373  __261:
 18374  	repeat_type = Tuint32_t(0) // Force greedy
 18375  	possessive_quantifier = DTRUE
 18376  	goto __257
 18377  
 18378  __262:
 18379  __263:
 18380  __264:
 18381  __265:
 18382  	repeat_type = greedy_non_default
 18383  	possessive_quantifier = DFALSE
 18384  	goto __257
 18385  
 18386  __266:
 18387  	repeat_type = greedy_default
 18388  	possessive_quantifier = DFALSE
 18389  	goto __257
 18390  __257:
 18391  	;
 18392  
 18393  	// Save start of previous item, in case we have to move it up in order to
 18394  	//     insert something before it, and remember what it was.
 18395  
 18396  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) = previous
 18397  	op_previous = *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous))
 18398  
 18399  	// Now handle repetition for the different types of item. If the repeat
 18400  	//     minimum and the repeat maximum are both 1, we can ignore the quantifier for
 18401  	//     non-parenthesized items, as they have only one alternative. For anything in
 18402  	//     parentheses, we must not ignore if {1} is possessive.
 18403  
 18404  	switch int32(op_previous) {
 18405  	// If previous was a character or negated character match, abolish the
 18406  	//       item and generate a repeat item instead. If a char item has a minimum of
 18407  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18408  	//       sequence such as x{3} is the first thing in a branch because the x will
 18409  	//       have gone into firstcu instead.
 18410  
 18411  	case OP_CHAR:
 18412  		goto __268
 18413  	case OP_CHARI:
 18414  		goto __269
 18415  	case OP_NOT:
 18416  		goto __270
 18417  	case OP_NOTI:
 18418  		goto __271 // Code shared with single character types
 18419  
 18420  	// If previous was a character class or a back reference, we put the
 18421  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18422  
 18423  	case OP_XCLASS:
 18424  		goto __272
 18425  	case OP_CLASS:
 18426  		goto __273
 18427  	case OP_NCLASS:
 18428  		goto __274
 18429  	case OP_REF:
 18430  		goto __275
 18431  	case OP_REFI:
 18432  		goto __276
 18433  	case OP_DNREF:
 18434  		goto __277
 18435  	case OP_DNREFI:
 18436  		goto __278
 18437  
 18438  	// If previous is OP_FAIL, it was generated by an empty class []
 18439  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18440  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18441  	//       time. We can just ignore this repeat.
 18442  
 18443  	case OP_FAIL:
 18444  		goto __279
 18445  
 18446  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18447  	//       because pcre2_match() could not handle backtracking into recursively
 18448  	//       called groups. Now that this backtracking is available, we no longer need
 18449  	//       to do this. However, we still need to replicate recursions as we do for
 18450  	//       groups so as to have independent backtracking points. We can replicate
 18451  	//       for the minimum number of repeats directly. For optional repeats we now
 18452  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18453  	//       repetition.
 18454  
 18455  	case OP_RECURSE:
 18456  		goto __280 // Set "may match empty string"
 18457  
 18458  	// Now treat as a repeated OP_BRA.
 18459  	// Fall through
 18460  
 18461  	// If previous was a bracket group, we may have to replicate it in
 18462  	//       certain cases. Note that at this point we can encounter only the "basic"
 18463  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18464  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18465  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18466  	//       for Perl compatibility.
 18467  
 18468  	case OP_ASSERT:
 18469  		goto __281
 18470  	case OP_ASSERT_NOT:
 18471  		goto __282
 18472  	case OP_ASSERT_NA:
 18473  		goto __283
 18474  	case OP_ASSERTBACK:
 18475  		goto __284
 18476  	case OP_ASSERTBACK_NOT:
 18477  		goto __285
 18478  	case OP_ASSERTBACK_NA:
 18479  		goto __286
 18480  	case OP_ONCE:
 18481  		goto __287
 18482  	case OP_SCRIPT_RUN:
 18483  		goto __288
 18484  	case OP_BRA:
 18485  		goto __289
 18486  	case OP_CBRA:
 18487  		goto __290
 18488  	case OP_COND:
 18489  		goto __291
 18490  
 18491  	// If previous was a character type match (\d or similar), abolish it and
 18492  	//       create a suitable repeat item. The code is shared with single-character
 18493  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 18494  	//       Note the the Unicode property types will be present only when
 18495  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 18496  	//       here because it just makes it horribly messy.
 18497  
 18498  	default:
 18499  		goto __292
 18500  	}
 18501  	goto __267
 18502  
 18503  	// If previous was a character or negated character match, abolish the
 18504  	//       item and generate a repeat item instead. If a char item has a minimum of
 18505  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18506  	//       sequence such as x{3} is the first thing in a branch because the x will
 18507  	//       have gone into firstcu instead.
 18508  
 18509  __268:
 18510  __269:
 18511  __270:
 18512  __271:
 18513  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18514  		goto __293
 18515  	}
 18516  	goto END_REPEAT
 18517  __293:
 18518  	;
 18519  	op_type = chartypeoffset[int32(op_previous)-OP_CHAR]
 18520  
 18521  	// Deal with UTF characters that take up more than one code unit.
 18522  
 18523  	if !(utf != 0 && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0xc0 == 0x80) {
 18524  		goto __294
 18525  	}
 18526  
 18527  	lastchar = code - uintptr(1)
 18528  __296:
 18529  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastchar)))&0xc0 == 0x80) {
 18530  		goto __297
 18531  	}
 18532  	lastchar--
 18533  	goto __296
 18534  __297:
 18535  	;
 18536  	mclength = Tuint32_t((int32(code) - int32(lastchar)) / 1)                                // Length of UTF character
 18537  	libc.Xmemcpy(tls, bp+68, lastchar, uint32(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8))) // Save the char
 18538  	goto __295
 18539  __294:
 18540  
 18541  	/* Handle the case of a single code unit - either with no UTF support, or
 18542  	   with UTF disabled, or for a single-code-unit UTF character. In the latter
 18543  	   case, for a repeated positive match, get the caseless flag for the
 18544  	   required code unit from the previous character, because a class like [Aa]
 18545  	   sets a caseless A but by now the req_caseopt flag has been reset. */
 18546  
 18547  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68)) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))
 18548  	mclength = Tuint32_t(1)
 18549  	if !(int32(op_previous) <= OP_CHARI && repeat_min > Tuint32_t(1)) {
 18550  		goto __298
 18551  	}
 18552  
 18553  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68)))
 18554  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 18555  	if !(int32(op_previous) == OP_CHARI) {
 18556  		goto __299
 18557  	}
 18558  	reqcuflags = reqcuflags | DREQ_CASELESS
 18559  __299:
 18560  	;
 18561  __298:
 18562  	;
 18563  __295:
 18564  	;
 18565  	goto OUTPUT_SINGLE_REPEAT // Code shared with single character types
 18566  
 18567  	// If previous was a character class or a back reference, we put the
 18568  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18569  
 18570  __272:
 18571  __273:
 18572  __274:
 18573  __275:
 18574  __276:
 18575  __277:
 18576  __278:
 18577  
 18578  	if !(repeat_max == Tuint32_t(0)) {
 18579  		goto __300
 18580  	}
 18581  
 18582  	code = previous
 18583  	goto END_REPEAT
 18584  __300:
 18585  	;
 18586  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18587  		goto __301
 18588  	}
 18589  	goto END_REPEAT
 18590  __301:
 18591  	;
 18592  
 18593  	if !(repeat_min == Tuint32_t(0) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18594  		goto __302
 18595  	}
 18596  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRSTAR + repeat_type)
 18597  	goto __303
 18598  __302:
 18599  	if !(repeat_min == Tuint32_t(1) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18600  		goto __304
 18601  	}
 18602  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRPLUS + repeat_type)
 18603  	goto __305
 18604  __304:
 18605  	if !(repeat_min == Tuint32_t(0) && repeat_max == Tuint32_t(1)) {
 18606  		goto __306
 18607  	}
 18608  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRQUERY + repeat_type)
 18609  	goto __307
 18610  __306:
 18611  
 18612  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRRANGE + repeat_type)
 18613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 18614  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 18615  	code += uintptr(DIMM2_SIZE)
 18616  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18617  		goto __308
 18618  	}
 18619  	repeat_max = Tuint32_t(0)
 18620  __308:
 18621  	; // 2-byte encoding for max
 18622  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 18623  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 18624  	code += uintptr(DIMM2_SIZE)
 18625  __307:
 18626  	;
 18627  __305:
 18628  	;
 18629  __303:
 18630  	;
 18631  	goto __267
 18632  
 18633  	// If previous is OP_FAIL, it was generated by an empty class []
 18634  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18635  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18636  	//       time. We can just ignore this repeat.
 18637  
 18638  __279:
 18639  	goto END_REPEAT
 18640  
 18641  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18642  	//       because pcre2_match() could not handle backtracking into recursively
 18643  	//       called groups. Now that this backtracking is available, we no longer need
 18644  	//       to do this. However, we still need to replicate recursions as we do for
 18645  	//       groups so as to have independent backtracking points. We can replicate
 18646  	//       for the minimum number of repeats directly. For optional repeats we now
 18647  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18648  	//       repetition.
 18649  
 18650  __280:
 18651  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18652  		goto __309
 18653  	}
 18654  	goto END_REPEAT
 18655  __309:
 18656  	;
 18657  
 18658  	// Generate unwrapped repeats for a non-zero minimum, except when the
 18659  	//       minimum is 1 and the maximum unlimited, because that can be handled with
 18660  	//       OP_BRA terminated by OP_KETRMAX/MIN. When the maximum is equal to the
 18661  	//       minimum, we just need to generate the appropriate additional copies.
 18662  	//       Otherwise we need to generate one more, to simulate the situation when
 18663  	//       the minimum is zero.
 18664  
 18665  	if !(repeat_min > Tuint32_t(0) && (repeat_min != Tuint32_t(1) || repeat_max != DMAX_REPEAT_COUNT+uint32(1))) {
 18666  		goto __310
 18667  	}
 18668  
 18669  	replicate = int32(repeat_min)
 18670  	if !(repeat_min == repeat_max) {
 18671  		goto __311
 18672  	}
 18673  	replicate--
 18674  __311:
 18675  	;
 18676  
 18677  	// In the pre-compile phase, we don't actually do the replication. We
 18678  	//         just adjust the length as if we had. Do some paranoid checks for
 18679  	//         potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18680  	//         integer type when available, otherwise double.
 18681  
 18682  	if !(lengthptr != uintptr(0)) {
 18683  		goto __312
 18684  	}
 18685  
 18686  	delta = Tsize_t(replicate * (1 + DLINK_SIZE))
 18687  	if !(Tint64_t(replicate)*(1+DLINK_SIZE) > 0x7fffffff || Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta) {
 18688  		goto __314
 18689  	}
 18690  
 18691  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18692  	return 0
 18693  __314:
 18694  	;
 18695  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta
 18696  	goto __313
 18697  __312:
 18698  	{
 18699  		i14 = 0
 18700  	__315:
 18701  		if !(i14 < replicate) {
 18702  			goto __317
 18703  		}
 18704  
 18705  		libc.Xmemcpy(tls, code, previous, uint32((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18706  		previous = code
 18707  		code += uintptr(1 + DLINK_SIZE)
 18708  		goto __316
 18709  	__316:
 18710  		i14++
 18711  		goto __315
 18712  		goto __317
 18713  	__317:
 18714  	}
 18715  __313:
 18716  	;
 18717  
 18718  	// If the number of repeats is fixed, we are done. Otherwise, adjust
 18719  	//         the counts and fall through.
 18720  
 18721  	if !(repeat_min == repeat_max) {
 18722  		goto __318
 18723  	}
 18724  	goto __267
 18725  __318:
 18726  	;
 18727  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18728  		goto __319
 18729  	}
 18730  	repeat_max = repeat_max - repeat_min
 18731  __319:
 18732  	;
 18733  	repeat_min = Tuint32_t(0)
 18734  __310:
 18735  	;
 18736  
 18737  	// Wrap the recursion call in OP_BRA brackets.
 18738  
 18739  	libc.Xmemmove(tls, previous+uintptr(1)+uintptr(DLINK_SIZE), previous, uint32((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18740  	op_previous = libc.AssignPtrUint8(previous, OP_BRA)
 18741  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18742  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18743  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 6)) = OP_KET
 18744  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 7)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18745  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 8)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18746  	code += uintptr(2 + 2*DLINK_SIZE)
 18747  	*(*Tsize_t)(unsafe.Pointer(bp + 108 /* length_prevgroup */)) = Tsize_t(3 + 3*DLINK_SIZE)
 18748  	group_return = -1 // Set "may match empty string"
 18749  
 18750  	// Now treat as a repeated OP_BRA.
 18751  	// Fall through
 18752  
 18753  	// If previous was a bracket group, we may have to replicate it in
 18754  	//       certain cases. Note that at this point we can encounter only the "basic"
 18755  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18756  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18757  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18758  	//       for Perl compatibility.
 18759  
 18760  __281:
 18761  __282:
 18762  __283:
 18763  __284:
 18764  __285:
 18765  __286:
 18766  __287:
 18767  __288:
 18768  __289:
 18769  __290:
 18770  __291:
 18771  
 18772  	len = int32((int32(code) - int32(previous)) / 1)
 18773  	bralink = uintptr(0)
 18774  	brazeroptr = uintptr(0)
 18775  
 18776  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18777  		goto __320
 18778  	}
 18779  	goto END_REPEAT
 18780  __320:
 18781  	;
 18782  
 18783  	// Repeating a DEFINE group (or any group where the condition is always
 18784  	//         FALSE and there is only one branch) is pointless, but Perl allows the
 18785  	//         syntax, so we just ignore the repeat.
 18786  
 18787  	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) {
 18788  		goto __321
 18789  	}
 18790  	goto END_REPEAT
 18791  __321:
 18792  	;
 18793  
 18794  	// Perl allows all assertions to be quantified, and when they contain
 18795  	//         capturing parentheses and/or are optional there are potential uses for
 18796  	//         this feature. PCRE2 used to force the maximum quantifier to 1 on the
 18797  	//         invalid grounds that further repetition was never useful. This was
 18798  	//         always a bit pointless, since an assertion could be wrapped with a
 18799  	//         repeated group to achieve the effect. General repetition is now
 18800  	//         permitted, but if the maximum is unlimited it is set to one more than
 18801  	//         the minimum.
 18802  
 18803  	if !(int32(op_previous) < OP_ONCE) {
 18804  		goto __322
 18805  	} /* Assertion */
 18806  
 18807  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18808  		goto __323
 18809  	}
 18810  	repeat_max = repeat_min + Tuint32_t(1)
 18811  __323:
 18812  	;
 18813  __322:
 18814  	;
 18815  
 18816  	// The case of a zero minimum is special because of the need to stick
 18817  	//         OP_BRAZERO in front of it, and because the group appears once in the
 18818  	//         data, whereas in other cases it appears the minimum number of times. For
 18819  	//         this reason, it is simplest to treat this case separately, as otherwise
 18820  	//         the code gets far too messy. There are several special subcases when the
 18821  	//         minimum is zero.
 18822  
 18823  	if !(repeat_min == Tuint32_t(0)) {
 18824  		goto __324
 18825  	}
 18826  
 18827  	// If the maximum is also zero, we used to just omit the group from
 18828  	//           the output altogether, like this:
 18829  	//
 18830  	//           ** if (repeat_max == 0)
 18831  	//           **   {
 18832  	//           **   code = previous;
 18833  	//           **   goto END_REPEAT;
 18834  	//           **   }
 18835  	//
 18836  	//           However, that fails when a group or a subgroup within it is
 18837  	//           referenced as a subroutine from elsewhere in the pattern, so now we
 18838  	//           stick in OP_SKIPZERO in front of it so that it is skipped on
 18839  	//           execution. As we don't have a list of which groups are referenced, we
 18840  	//           cannot do this selectively.
 18841  	//
 18842  	//           If the maximum is 1 or unlimited, we just have to stick in the
 18843  	//           BRAZERO and do no more at this point.
 18844  
 18845  	if !(repeat_max <= Tuint32_t(1) || repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18846  		goto __326
 18847  	}
 18848  
 18849  	libc.Xmemmove(tls, previous+uintptr(1), previous, uint32(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18850  	code++
 18851  	if !(repeat_max == Tuint32_t(0)) {
 18852  		goto __328
 18853  	}
 18854  
 18855  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_SKIPZERO
 18856  	goto END_REPEAT
 18857  __328:
 18858  	;
 18859  	brazeroptr = previous // Save for possessive optimizing
 18860  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18861  	goto __327
 18862  __326:
 18863  
 18864  	libc.Xmemmove(tls, previous+uintptr(2)+uintptr(DLINK_SIZE), previous, uint32(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18865  	code += uintptr(2 + DLINK_SIZE)
 18866  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18867  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_BRA
 18868  
 18869  	// We chain together the bracket link offset fields that have to be
 18870  	//             filled in later when the ends of the brackets are reached.
 18871  
 18872  	if bralink == uintptr(0) {
 18873  		linkoffset = 0
 18874  	} else {
 18875  		linkoffset = int32((int32(previous) - int32(bralink)) / 1)
 18876  	}
 18877  	bralink = previous
 18878  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous)) = TPCRE2_UCHAR8(linkoffset >> 8)
 18879  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(linkoffset & 255)
 18880  	previous += uintptr(DLINK_SIZE)
 18881  __327:
 18882  	;
 18883  
 18884  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18885  		goto __329
 18886  	}
 18887  	repeat_max--
 18888  __329:
 18889  	;
 18890  	goto __325
 18891  __324:
 18892  
 18893  	if !(repeat_min > Tuint32_t(1)) {
 18894  		goto __330
 18895  	}
 18896  
 18897  	// In the pre-compile phase, we don't actually do the replication.
 18898  	//             We just adjust the length as if we had. Do some paranoid checks for
 18899  	//             potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18900  	//             integer type when available, otherwise double.
 18901  
 18902  	if !(lengthptr != uintptr(0)) {
 18903  		goto __331
 18904  	}
 18905  
 18906  	delta1 = Tsize_t(repeat_min-Tuint32_t(1)) * *(*Tsize_t)(unsafe.Pointer(bp + 108))
 18907  	if !(Tint64_t(repeat_min-Tuint32_t(1))*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 108))) > 0x7fffffff || Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta1) {
 18908  		goto __333
 18909  	}
 18910  
 18911  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18912  	return 0
 18913  __333:
 18914  	;
 18915  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta1
 18916  	goto __332
 18917  __331:
 18918  
 18919  	if !(groupsetfirstcu != 0 && reqcuflags >= DREQ_NONE) {
 18920  		goto __334
 18921  	}
 18922  
 18923  	reqcu = firstcu
 18924  	reqcuflags = firstcuflags
 18925  __334:
 18926  	;
 18927  	{
 18928  		i15 = Tuint32_t(1)
 18929  	__335:
 18930  		if !(i15 < repeat_min) {
 18931  			goto __337
 18932  		}
 18933  
 18934  		libc.Xmemcpy(tls, code, previous, uint32(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18935  		code += uintptr(len)
 18936  		goto __336
 18937  	__336:
 18938  		i15++
 18939  		goto __335
 18940  		goto __337
 18941  	__337:
 18942  	}
 18943  __332:
 18944  	;
 18945  __330:
 18946  	;
 18947  
 18948  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18949  		goto __338
 18950  	}
 18951  	repeat_max = repeat_max - repeat_min
 18952  __338:
 18953  	;
 18954  __325:
 18955  	;
 18956  
 18957  	// This code is common to both the zero and non-zero minimum cases. If
 18958  	//         the maximum is limited, it replicates the group in a nested fashion,
 18959  	//         remembering the bracket starts on a stack. In the case of a zero
 18960  	//         minimum, the first one was set up above. In all cases the repeat_max
 18961  	//         now specifies the number of additional copies needed. Again, we must
 18962  	//         remember to replicate entries on the forward reference list.
 18963  
 18964  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18965  		goto __339
 18966  	}
 18967  
 18968  	// In the pre-compile phase, we don't actually do the replication. We
 18969  	//           just adjust the length as if we had. For each repetition we must add
 18970  	//           1 to the length for BRAZERO and for all but the last repetition we
 18971  	//           must add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some
 18972  	//           paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type
 18973  	//           is a 64-bit integer type when available, otherwise double.
 18974  
 18975  	if !(lengthptr != uintptr(0) && repeat_max > Tuint32_t(0)) {
 18976  		goto __341
 18977  	}
 18978  
 18979  	delta2 = Tsize_t(repeat_max)*(*(*Tsize_t)(unsafe.Pointer(bp + 108))+Tsize_t(1)+Tsize_t(2)+Tsize_t(2*DLINK_SIZE)) - Tsize_t(2) - Tsize_t(2*DLINK_SIZE) // Last one doesn't nest
 18980  	if !(Tint64_t(repeat_max)*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 108))+Tsize_t(1)+Tsize_t(2)+Tsize_t(2*DLINK_SIZE)) >
 18981  		0x7fffffff || Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta2) {
 18982  		goto __343
 18983  	}
 18984  
 18985  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18986  	return 0
 18987  __343:
 18988  	;
 18989  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta2
 18990  	goto __342
 18991  __341:
 18992  	{
 18993  		i16 = repeat_max
 18994  	__344:
 18995  		if !(i16 >= Tuint32_t(1)) {
 18996  			goto __346
 18997  		}
 18998  
 18999  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 19000  
 19001  		// All but the final copy start a new nesting, maintaining the
 19002  		//             chain of brackets outstanding.
 19003  
 19004  		if !(i16 != Tuint32_t(1)) {
 19005  			goto __347
 19006  		}
 19007  
 19008  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_BRA
 19009  		if bralink == uintptr(0) {
 19010  			linkoffset1 = 0
 19011  		} else {
 19012  			linkoffset1 = int32((int32(code) - int32(bralink)) / 1)
 19013  		}
 19014  		bralink = code
 19015  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset1 >> 8)
 19016  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset1 & 255)
 19017  		code += uintptr(DLINK_SIZE)
 19018  	__347:
 19019  		;
 19020  
 19021  		libc.Xmemcpy(tls, code, previous, uint32(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19022  		code += uintptr(len)
 19023  		goto __345
 19024  	__345:
 19025  		i16--
 19026  		goto __344
 19027  		goto __346
 19028  	__346:
 19029  	}
 19030  __342:
 19031  	;
 19032  
 19033  	// Now chain through the pending brackets, and fill in their length
 19034  	//           fields (which are holding the chain links pro tem).
 19035  
 19036  __348:
 19037  	if !(bralink != uintptr(0)) {
 19038  		goto __349
 19039  	}
 19040  
 19041  	linkoffset2 = int32((int32(code)-int32(bralink))/1 + 1)
 19042  	bra = code - uintptr(linkoffset2)
 19043  	oldlinkoffset = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)))))
 19044  	if oldlinkoffset == 0 {
 19045  		bralink = uintptr(0)
 19046  	} else {
 19047  		bralink = bralink - uintptr(oldlinkoffset)
 19048  	}
 19049  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19050  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19051  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19052  	code += uintptr(DLINK_SIZE)
 19053  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19054  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19055  	goto __348
 19056  __349:
 19057  	;
 19058  	goto __340
 19059  __339:
 19060  
 19061  	ketcode = code - uintptr(1) - uintptr(DLINK_SIZE)
 19062  	bracode = ketcode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 2)))))
 19063  
 19064  	// Convert possessive ONCE brackets to non-capturing
 19065  
 19066  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE && possessive_quantifier != 0) {
 19067  		goto __350
 19068  	}
 19069  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_BRA
 19070  __350:
 19071  	;
 19072  
 19073  	// For non-possessive ONCE and for SCRIPT_RUN brackets, all we need
 19074  	//           to do is to set the KET.
 19075  
 19076  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCRIPT_RUN) {
 19077  		goto __351
 19078  	}
 19079  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19080  	goto __352
 19081  __351:
 19082  
 19083  	// In the compile phase, adjust the opcode if the group can match
 19084  	//             an empty string. For a conditional group with only one branch, the
 19085  	//             value of group_return will not show "could be empty", so we must
 19086  	//             check that separately.
 19087  
 19088  	if !(lengthptr == uintptr(0)) {
 19089  		goto __353
 19090  	}
 19091  
 19092  	if !(group_return < 0) {
 19093  		goto __354
 19094  	}
 19095  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(OP_SBRA - OP_BRA)
 19096  __354:
 19097  	;
 19098  	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) {
 19099  		goto __355
 19100  	}
 19101  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_SCOND
 19102  __355:
 19103  	;
 19104  __353:
 19105  	;
 19106  
 19107  	// Handle possessive quantifiers.
 19108  
 19109  	if !(possessive_quantifier != 0) {
 19110  		goto __356
 19111  	}
 19112  
 19113  	// For COND brackets, we wrap the whole thing in a possessively
 19114  	//               repeated non-capturing bracket, because we have not invented POS
 19115  	//               versions of the COND opcodes.
 19116  
 19117  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCOND) {
 19118  		goto __358
 19119  	}
 19120  
 19121  	nlen = int32((int32(code) - int32(bracode)) / 1)
 19122  	libc.Xmemmove(tls, bracode+uintptr(1)+uintptr(DLINK_SIZE), bracode, uint32(nlen*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19123  	code += uintptr(1 + DLINK_SIZE)
 19124  	nlen = nlen + (1 + DLINK_SIZE)
 19125  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = func() uint8 {
 19126  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND {
 19127  			return OP_BRAPOS
 19128  		}
 19129  		return OP_SBRAPOS
 19130  	}()
 19131  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KETRPOS
 19132  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(nlen >> 8)
 19133  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(nlen & 255)
 19134  	code += uintptr(DLINK_SIZE)
 19135  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)) = TPCRE2_UCHAR8(nlen >> 8)
 19136  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)) = TPCRE2_UCHAR8(nlen & 255)
 19137  	goto __359
 19138  __358:
 19139  
 19140  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(1) // Switch to xxxPOS opcodes
 19141  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = OP_KETRPOS
 19142  __359:
 19143  	;
 19144  
 19145  	// If the minimum is zero, mark it as possessive, then unset the
 19146  	//               possessive flag when the minimum is 0 or 1.
 19147  
 19148  	if !(brazeroptr != uintptr(0)) {
 19149  		goto __360
 19150  	}
 19151  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(brazeroptr)) = OP_BRAPOSZERO
 19152  __360:
 19153  	;
 19154  	if !(repeat_min < Tuint32_t(2)) {
 19155  		goto __361
 19156  	}
 19157  	possessive_quantifier = DFALSE
 19158  __361:
 19159  	;
 19160  	goto __357
 19161  __356:
 19162  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19163  __357:
 19164  	;
 19165  __352:
 19166  	;
 19167  __340:
 19168  	;
 19169  
 19170  	goto __267
 19171  
 19172  	// If previous was a character type match (\d or similar), abolish it and
 19173  	//       create a suitable repeat item. The code is shared with single-character
 19174  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 19175  	//       Note the the Unicode property types will be present only when
 19176  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 19177  	//       here because it just makes it horribly messy.
 19178  
 19179  __292:
 19180  	if !(int32(op_previous) >= OP_EODN) {
 19181  		goto __362
 19182  	} /* Not a character type - internal error */
 19183  
 19184  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR10
 19185  	return 0
 19186  	goto __363
 19187  __362:
 19188  
 19189  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 19190  		goto __364
 19191  	}
 19192  	goto END_REPEAT
 19193  __364:
 19194  	;
 19195  
 19196  	op_type = Tuint32_t(OP_TYPESTAR - OP_STAR) // Use type opcodes
 19197  	mclength = Tuint32_t(0)                    // Not a character
 19198  
 19199  	if !(int32(op_previous) == OP_PROP || int32(op_previous) == OP_NOTPROP) {
 19200  		goto __365
 19201  	}
 19202  
 19203  	prop_type = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))
 19204  	prop_value = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))
 19205  	goto __366
 19206  __365:
 19207  
 19208  	// Come here from just above with a character in mcbuffer/mclength.
 19209  OUTPUT_SINGLE_REPEAT:
 19210  	prop_type = libc.AssignInt32(&prop_value, -1)
 19211  __366:
 19212  	;
 19213  
 19214  	// At this point, if prop_type == prop_value == -1 we either have a
 19215  	//         character in mcbuffer when mclength is greater than zero, or we have
 19216  	//         mclength zero, in which case there is a non-property character type in
 19217  	//         op_previous. If prop_type/value are not negative, we have a property
 19218  	//         character type in op_previous.
 19219  
 19220  	oldcode = code  // Save where we were
 19221  	code = previous // Usually overwrite previous item
 19222  
 19223  	// If the maximum is zero then the minimum must also be zero; Perl allows
 19224  	//         this case, so we do too - by simply omitting the item altogether.
 19225  
 19226  	if !(repeat_max == Tuint32_t(0)) {
 19227  		goto __367
 19228  	}
 19229  	goto END_REPEAT
 19230  __367:
 19231  	;
 19232  
 19233  	// Combine the op_type with the repeat_type
 19234  
 19235  	repeat_type = repeat_type + op_type
 19236  
 19237  	// A minimum of zero is handled either as the special case * or ?, or as
 19238  	//         an UPTO, with the maximum given.
 19239  
 19240  	if !(repeat_min == Tuint32_t(0)) {
 19241  		goto __368
 19242  	}
 19243  
 19244  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19245  		goto __370
 19246  	}
 19247  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19248  	goto __371
 19249  __370:
 19250  	if !(repeat_max == Tuint32_t(1)) {
 19251  		goto __372
 19252  	}
 19253  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19254  	goto __373
 19255  __372:
 19256  
 19257  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19258  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19259  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19260  	code += uintptr(DIMM2_SIZE)
 19261  __373:
 19262  	;
 19263  __371:
 19264  	;
 19265  	goto __369
 19266  __368:
 19267  	if !(repeat_min == Tuint32_t(1)) {
 19268  		goto __374
 19269  	}
 19270  
 19271  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19272  		goto __376
 19273  	}
 19274  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_PLUS + repeat_type)
 19275  	goto __377
 19276  __376:
 19277  
 19278  	code = oldcode // Leave previous item in place
 19279  	if !(repeat_max == Tuint32_t(1)) {
 19280  		goto __378
 19281  	}
 19282  	goto END_REPEAT
 19283  __378:
 19284  	;
 19285  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19286  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) >> 8)
 19287  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) & Tuint32_t(255))
 19288  	code += uintptr(DIMM2_SIZE)
 19289  __377:
 19290  	;
 19291  	goto __375
 19292  __374:
 19293  
 19294  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_EXACT + op_type) // NB EXACT doesn't have repeat_type
 19295  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 19296  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 19297  	code += uintptr(DIMM2_SIZE)
 19298  
 19299  	// Unless repeat_max equals repeat_min, fill in the data for EXACT,
 19300  	//           and then generate the second opcode. For a repeated Unicode property
 19301  	//           match, there are two extra values that define the required property,
 19302  	//           and mclength is set zero to indicate this.
 19303  
 19304  	if !(repeat_max != repeat_min) {
 19305  		goto __379
 19306  	}
 19307  
 19308  	if !(mclength > Tuint32_t(0)) {
 19309  		goto __380
 19310  	}
 19311  
 19312  	libc.Xmemcpy(tls, code, bp+68, uint32(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19313  	code += uintptr(mclength)
 19314  	goto __381
 19315  __380:
 19316  
 19317  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19318  	if !(prop_type >= 0) {
 19319  		goto __382
 19320  	}
 19321  
 19322  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19323  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19324  __382:
 19325  	;
 19326  __381:
 19327  	;
 19328  
 19329  	// Now set up the following opcode
 19330  
 19331  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19332  		goto __383
 19333  	}
 19334  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19335  	goto __384
 19336  __383:
 19337  
 19338  	repeat_max = repeat_max - repeat_min
 19339  	if !(repeat_max == Tuint32_t(1)) {
 19340  		goto __385
 19341  	}
 19342  
 19343  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19344  	goto __386
 19345  __385:
 19346  
 19347  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19348  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19349  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19350  	code += uintptr(DIMM2_SIZE)
 19351  __386:
 19352  	;
 19353  __384:
 19354  	;
 19355  __379:
 19356  	;
 19357  __375:
 19358  	;
 19359  __369:
 19360  	;
 19361  
 19362  	// Fill in the character or character type for the final opcode.
 19363  
 19364  	if !(mclength > Tuint32_t(0)) {
 19365  		goto __387
 19366  	}
 19367  
 19368  	libc.Xmemcpy(tls, code, bp+68, uint32(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19369  	code += uintptr(mclength)
 19370  	goto __388
 19371  __387:
 19372  
 19373  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19374  	if !(prop_type >= 0) {
 19375  		goto __389
 19376  	}
 19377  
 19378  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19379  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19380  __389:
 19381  	;
 19382  __388:
 19383  	;
 19384  __363:
 19385  	;
 19386  	goto __267
 19387  __267:
 19388  	; // End of switch on different op_previous values
 19389  
 19390  	// If the character following a repeat is '+', possessive_quantifier is
 19391  	//     TRUE. For some opcodes, there are special alternative opcodes for this
 19392  	//     case. For anything else, we wrap the entire repeated item inside OP_ONCE
 19393  	//     brackets. Logically, the '+' notation is just syntactic sugar, taken from
 19394  	//     Sun's Java package, but the special opcodes can optimize it.
 19395  	//
 19396  	//     Some (but not all) possessively repeated subpatterns have already been
 19397  	//     completely handled in the code just above. For them, possessive_quantifier
 19398  	//     is always FALSE at this stage. Note that the repeated item starts at
 19399  	//     tempcode, not at previous, which might be the first part of a string whose
 19400  	//     (former) last char we repeated.
 19401  
 19402  	if !(possessive_quantifier != 0) {
 19403  		goto __390
 19404  	}
 19405  
 19406  	// Possessifying an EXACT quantifier has no effect, so we can ignore it.
 19407  	//       However, QUERY, STAR, or UPTO may follow (for quantifiers such as {5,6},
 19408  	//       {5,}, or {5,10}). We skip over an EXACT item; if the length of what
 19409  	//       remains is greater than zero, there's a further opcode that can be
 19410  	//       handled. If not, do nothing, leaving the EXACT alone.
 19411  
 19412  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */))))) {
 19413  	case OP_TYPEEXACT:
 19414  		goto __392
 19415  
 19416  	// CHAR opcodes are used for exacts whose count is 1.
 19417  
 19418  	case OP_CHAR:
 19419  		goto __393
 19420  	case OP_CHARI:
 19421  		goto __394
 19422  	case OP_NOT:
 19423  		goto __395
 19424  	case OP_NOTI:
 19425  		goto __396
 19426  	case OP_EXACT:
 19427  		goto __397
 19428  	case OP_EXACTI:
 19429  		goto __398
 19430  	case OP_NOTEXACT:
 19431  		goto __399
 19432  	case OP_NOTEXACTI:
 19433  		goto __400
 19434  
 19435  	// For the class opcodes, the repeat operator appears at the end;
 19436  	//         adjust tempcode to point to it.
 19437  
 19438  	case OP_CLASS:
 19439  		goto __401
 19440  	case OP_NCLASS:
 19441  		goto __402
 19442  
 19443  	case OP_XCLASS:
 19444  		goto __403
 19445  	}
 19446  	goto __391
 19447  
 19448  __392:
 19449  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) += uintptr(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84))))]) + func() int32 {
 19450  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + 3))) == OP_PROP ||
 19451  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + 3))) == OP_NOTPROP {
 19452  			return 2
 19453  		}
 19454  		return 0
 19455  	}())
 19456  	goto __391
 19457  
 19458  	// CHAR opcodes are used for exacts whose count is 1.
 19459  
 19460  __393:
 19461  __394:
 19462  __395:
 19463  __396:
 19464  __397:
 19465  __398:
 19466  __399:
 19467  __400:
 19468  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */))))])
 19469  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 19470  		goto __404
 19471  	}
 19472  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + libc.UintptrFromInt32(-1))))&0x3f])
 19473  __404:
 19474  	;
 19475  	goto __391
 19476  
 19477  	// For the class opcodes, the repeat operator appears at the end;
 19478  	//         adjust tempcode to point to it.
 19479  
 19480  __401:
 19481  __402:
 19482  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) += uintptr(uint32(1) + uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 19483  	goto __391
 19484  
 19485  __403:
 19486  	*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84)) + 2)))))
 19487  	goto __391
 19488  __391:
 19489  	;
 19490  
 19491  	// If tempcode is equal to code (which points to the end of the repeated
 19492  	//       item), it means we have skipped an EXACT item but there is no following
 19493  	//       QUERY, STAR, or UPTO; the value of len will be 0, and we do nothing. In
 19494  	//       all other cases, tempcode will be pointing to the repeat opcode, and will
 19495  	//       be less than code, so the value of len will be greater than 0.
 19496  
 19497  	len1 = int32((int32(code) - int32(*(*uintptr)(unsafe.Pointer(bp + 84)))) / 1)
 19498  	if !(len1 > 0) {
 19499  		goto __405
 19500  	}
 19501  
 19502  	repcode = uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)))))
 19503  
 19504  	// There is a table for possessifying opcodes, all of which are less
 19505  	//         than OP_CALLOUT. A zero entry means there is no possessified version.
 19506  	//
 19507  
 19508  	if !(repcode < OP_CALLOUT && int32(opcode_possessify[repcode]) > 0) {
 19509  		goto __406
 19510  	}
 19511  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)))) = opcode_possessify[repcode]
 19512  	goto __407
 19513  __406:
 19514  
 19515  	libc.Xmemmove(tls, *(*uintptr)(unsafe.Pointer(bp + 84))+uintptr(1)+uintptr(DLINK_SIZE), *(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)), uint32(len1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19516  	code += uintptr(1 + DLINK_SIZE)
 19517  	len1 = len1 + (1 + DLINK_SIZE)
 19518  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)))) = OP_ONCE
 19519  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19520  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(len1 >> 8)
 19521  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(len1 & 255)
 19522  	code += uintptr(DLINK_SIZE)
 19523  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) + 1)) = TPCRE2_UCHAR8(len1 >> 8)
 19524  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* tempcode */)) + 2)) = TPCRE2_UCHAR8(len1 & 255)
 19525  __407:
 19526  	;
 19527  __405:
 19528  	;
 19529  __390:
 19530  	;
 19531  
 19532  	// We set the "follows varying string" flag for subsequently encountered
 19533  	//     reqcus if it isn't already set and we have just passed a varying length
 19534  	//     item.
 19535  
 19536  END_REPEAT:
 19537  	*(*Tuint32_t)(unsafe.Pointer(cb + 164)) |= reqvary
 19538  	goto __12
 19539  
 19540  	// ===================================================================
 19541  	// Handle a 32-bit data character with a value greater than META_END.
 19542  
 19543  __67:
 19544  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4
 19545  	goto NORMAL_CHAR
 19546  
 19547  	// ===============================================================
 19548  	// Handle a back reference by number, which is the meta argument. The
 19549  	//     pattern offsets for back references to group numbers less than 10 are held
 19550  	//     in a special vector, to avoid using more than two parsed pattern elements
 19551  	//     in 64-bit environments. We only need the offset to the first occurrence,
 19552  	//     because if that doesn't fail, subsequent ones will also be OK.
 19553  
 19554  __68:
 19555  	if !(meta_arg < Tuint32_t(10)) {
 19556  		goto __408
 19557  	}
 19558  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 44 + uintptr(meta_arg)*4))
 19559  	goto __409
 19560  __408:
 19561  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 19562  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 19563  __409:
 19564  	;
 19565  
 19566  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19567  		goto __410
 19568  	}
 19569  
 19570  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19571  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19572  	return 0
 19573  __410:
 19574  	;
 19575  
 19576  	// Come here from named backref handling when the reference is to a
 19577  	//     single group (that is, not to a duplicated name). The back reference
 19578  	//     data will have already been updated. We must disable firstcu if not
 19579  	//     set, to cope with cases like (?=(\w+))\1: which would otherwise set ':'
 19580  	//     later.
 19581  
 19582  HANDLE_SINGLE_REFERENCE:
 19583  	if !(firstcuflags == DREQ_UNSET) {
 19584  		goto __411
 19585  	}
 19586  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 19587  __411:
 19588  	;
 19589  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19590  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19591  			return OP_REFI
 19592  		}
 19593  		return OP_REF
 19594  	}()
 19595  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19596  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19597  	code += uintptr(DIMM2_SIZE)
 19598  
 19599  	// Update the map of back references, and keep the highest one. We
 19600  	//     could do this in parse_regex() for numerical back references, but not
 19601  	//     for named back references, because we don't know the numbers to which
 19602  	//     named back references refer. So we do it all in this function.
 19603  
 19604  	*(*Tuint32_t)(unsafe.Pointer(cb + 140)) |= func() uint32 {
 19605  		if meta_arg < Tuint32_t(32) {
 19606  			return uint32(1) << meta_arg
 19607  		}
 19608  		return uint32(1)
 19609  	}()
 19610  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 19611  		goto __412
 19612  	}
 19613  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = meta_arg
 19614  __412:
 19615  	;
 19616  	goto __12
 19617  
 19618  	// ===============================================================
 19619  	// Handle recursion by inserting the number of the called group (which is
 19620  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 19621  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 19622  	//     done like this to avoid problems with forward references and adjusting
 19623  	//     offsets when groups are duplicated and moved (as discovered in previous
 19624  	//     implementations). Note that a recursion does not have a set first
 19625  	//     character.
 19626  
 19627  __69:
 19628  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2*4)))
 19629  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4 * uintptr(2)
 19630  
 19631  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19632  		goto __413
 19633  	}
 19634  
 19635  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19636  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19637  	return 0
 19638  __413:
 19639  	;
 19640  HANDLE_NUMERICAL_RECURSION:
 19641  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_RECURSE
 19642  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19643  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19644  	code += uintptr(1 + DLINK_SIZE)
 19645  	groupsetfirstcu = DFALSE
 19646  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse = DTRUE
 19647  	if !(firstcuflags == DREQ_UNSET) {
 19648  		goto __414
 19649  	}
 19650  	firstcuflags = DREQ_NONE
 19651  __414:
 19652  	;
 19653  	zerofirstcu = firstcu
 19654  	zerofirstcuflags = firstcuflags
 19655  	goto __12
 19656  
 19657  	// ===============================================================
 19658  	// Handle capturing parentheses; the number is the meta argument.
 19659  
 19660  __70:
 19661  	bravalue = OP_CBRA
 19662  	skipunits = Tuint32_t(DIMM2_SIZE)
 19663  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19664  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19665  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Flastcapture = meta_arg
 19666  	goto GROUP_PROCESS_NOTE_EMPTY
 19667  
 19668  	// ===============================================================
 19669  	// Handle escape sequence items. For ones like \d, the ESC_values are
 19670  	//     arranged to be the same as the corresponding OP_values in the default case
 19671  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 19672  	//     here).
 19673  	//
 19674  	//     Note: \Q and \E are never seen here, as they were dealt with in
 19675  	//     parse_pattern(). Neither are numerical back references or recursions, which
 19676  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 19677  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 19678  	//     META_RECURSE_BYNAME.
 19679  
 19680  __71:
 19681  
 19682  	// We can test for escape sequences that consume a character because their
 19683  	//     values lie between ESC_b and ESC_Z; this may have to change if any new ones
 19684  	//     are ever created. For these sequences, we disable the setting of a first
 19685  	//     character if it hasn't already been set.
 19686  
 19687  	if !(meta_arg > ESC_b && meta_arg < ESC_Z) {
 19688  		goto __415
 19689  	}
 19690  
 19691  	matched_char = DTRUE
 19692  	if !(firstcuflags == DREQ_UNSET) {
 19693  		goto __416
 19694  	}
 19695  	firstcuflags = DREQ_NONE
 19696  __416:
 19697  	;
 19698  __415:
 19699  	;
 19700  
 19701  	// Set values to reset to if this is followed by a zero repeat.
 19702  
 19703  	zerofirstcu = firstcu
 19704  	zerofirstcuflags = firstcuflags
 19705  	zeroreqcu = reqcu
 19706  	zeroreqcuflags = reqcuflags
 19707  
 19708  	// If Unicode is not supported, \P and \p are not allowed and are
 19709  	//     faulted at parse time, so will never appear here.
 19710  
 19711  	if !(meta_arg == ESC_P || meta_arg == ESC_p) {
 19712  		goto __417
 19713  	}
 19714  
 19715  	ptype1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 88)), 4))) >> 16
 19716  	pdata1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)))) & Tuint32_t(0xffff)
 19717  
 19718  	// The special case of \p{Any} is compiled to OP_ALLANY so as to benefit
 19719  	//       from the auto-anchoring code.
 19720  
 19721  	if !(meta_arg == ESC_p && ptype1 == Tuint32_t(DPT_ANY)) {
 19722  		goto __418
 19723  	}
 19724  
 19725  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_ALLANY
 19726  	goto __419
 19727  __418:
 19728  
 19729  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19730  		if meta_arg == ESC_p {
 19731  			return OP_PROP
 19732  		}
 19733  		return OP_NOTPROP
 19734  	}()
 19735  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(ptype1)
 19736  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(pdata1)
 19737  __419:
 19738  	;
 19739  	goto __12 // End META_ESCAPE
 19740  __417:
 19741  	;
 19742  
 19743  	// \K is forbidden in lookarounds since 10.38 because that's what Perl has
 19744  	//     done. However, there's an option, in case anyone was relying on it.
 19745  
 19746  	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)) {
 19747  		goto __420
 19748  	}
 19749  
 19750  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR99
 19751  	return 0
 19752  __420:
 19753  	;
 19754  
 19755  	// For the rest (including \X when Unicode is supported - if not it's
 19756  	//     faulted at parse time), the OP value is the escape value when PCRE2_UCP is
 19757  	//     not set; if it is set, these escapes do not show up here because they are
 19758  	//     converted into Unicode property tests in parse_regex(). Note that \b and \B
 19759  	//     do a one-character lookbehind, and \A also behaves as if it does.
 19760  
 19761  	if !(meta_arg == ESC_C) {
 19762  		goto __421
 19763  	}
 19764  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASBKC)
 19765  __421:
 19766  	; // Record
 19767  	if !((meta_arg == ESC_b || meta_arg == ESC_B || meta_arg == ESC_A) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind == 0) {
 19768  		goto __422
 19769  	}
 19770  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = 1
 19771  __422:
 19772  	;
 19773  
 19774  	// In non-UTF mode, and for both 32-bit modes, we turn \C into OP_ALLANY
 19775  	//     instead of OP_ANYBYTE so that it works in DFA mode and in lookbehinds.
 19776  
 19777  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19778  		if !(utf != 0) && meta_arg == ESC_C {
 19779  			return OP_ALLANY
 19780  		}
 19781  		return uint8(meta_arg)
 19782  	}()
 19783  	goto __12 // End META_ESCAPE
 19784  
 19785  	// ===================================================================
 19786  	// Handle an unrecognized meta value. A parsed pattern value less than
 19787  	//     META_END is a literal. Otherwise we have a problem.
 19788  
 19789  __72:
 19790  	if !(meta >= DMETA_END) {
 19791  		goto __423
 19792  	}
 19793  
 19794  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 19795  	return 0
 19796  __423:
 19797  	;
 19798  
 19799  	// Handle a literal character. We come here by goto in the case of a
 19800  	//     32-bit, non-UTF character whose value is greater than META_END.
 19801  
 19802  NORMAL_CHAR:
 19803  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)))) // Get the full 32 bits
 19804  NORMAL_CHAR_SET: // Character is already in meta
 19805  	matched_char = DTRUE
 19806  
 19807  	// For caseless UTF or UCP mode, check whether this character has more than
 19808  	//     one other case. If so, generate a special OP_PROP item instead of OP_CHARI.
 19809  	//
 19810  
 19811  	if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0)) {
 19812  		goto __424
 19813  	}
 19814  
 19815  	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)
 19816  	if !(caseset != Tuint32_t(0)) {
 19817  		goto __425
 19818  	}
 19819  
 19820  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_PROP
 19821  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 19822  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(caseset)
 19823  	if !(firstcuflags == DREQ_UNSET) {
 19824  		goto __426
 19825  	}
 19826  	firstcuflags = libc.AssignUint32(&zerofirstcuflags, DREQ_NONE)
 19827  __426:
 19828  	;
 19829  	goto __12 // End handling this meta item
 19830  __425:
 19831  	;
 19832  __424:
 19833  	;
 19834  
 19835  	// Caseful matches, or caseless and not one of the multicase characters. We
 19836  	//     come here by goto in the case of a positive class that contains only
 19837  	//     case-partners of a character with just two cases; matched_char has already
 19838  	//     been set TRUE and options fudged if necessary.
 19839  
 19840  CLASS_CASELESS_CHAR:
 19841  
 19842  	// Get the character's code units into mcbuffer, with the length in
 19843  	//     mclength. When not in UTF mode, the length is always 1.
 19844  
 19845  	if !(utf != 0) {
 19846  		goto __427
 19847  	}
 19848  	mclength = X_pcre2_ord2utf_8(tls, meta, bp+68)
 19849  	goto __428
 19850  __427:
 19851  
 19852  	mclength = Tuint32_t(1)
 19853  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68)) = TPCRE2_UCHAR8(meta)
 19854  __428:
 19855  	;
 19856  
 19857  	// Generate the appropriate code
 19858  
 19859  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19860  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19861  			return OP_CHARI
 19862  		}
 19863  		return OP_CHAR
 19864  	}()
 19865  	libc.Xmemcpy(tls, code, bp+68, uint32(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19866  	code += uintptr(mclength)
 19867  
 19868  	// Remember if \r or \n were seen
 19869  
 19870  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68))) == '\015' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68))) == '\012') {
 19871  		goto __429
 19872  	}
 19873  	*(*Tuint32_t)(unsafe.Pointer(cb + 112)) |= Tuint32_t(DPCRE2_HASCRORLF)
 19874  __429:
 19875  	;
 19876  
 19877  	// Set the first and required code units appropriately. If no previous
 19878  	//     first code unit, set it from this character, but revert to none on a zero
 19879  	//     repeat. Otherwise, leave the firstcu value alone, and don't change it on
 19880  	//     a zero repeat.
 19881  
 19882  	if !(firstcuflags == DREQ_UNSET) {
 19883  		goto __430
 19884  	}
 19885  
 19886  	zerofirstcuflags = DREQ_NONE
 19887  	zeroreqcu = reqcu
 19888  	zeroreqcuflags = reqcuflags
 19889  
 19890  	// If the character is more than one code unit long, we can set a single
 19891  	//       firstcu only if it is not to be matched caselessly. Multiple possible
 19892  	//       starting code units may be picked up later in the studying code.
 19893  
 19894  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19895  		goto __432
 19896  	}
 19897  
 19898  	firstcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 68)))
 19899  	firstcuflags = req_caseopt
 19900  	if !(mclength != Tuint32_t(1)) {
 19901  		goto __434
 19902  	}
 19903  
 19904  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19905  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19906  __434:
 19907  	;
 19908  	goto __433
 19909  __432:
 19910  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_NONE)
 19911  __433:
 19912  	;
 19913  	goto __431
 19914  __430:
 19915  
 19916  	zerofirstcu = firstcu
 19917  	zerofirstcuflags = firstcuflags
 19918  	zeroreqcu = reqcu
 19919  	zeroreqcuflags = reqcuflags
 19920  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19921  		goto __435
 19922  	}
 19923  
 19924  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19925  	reqcuflags = req_caseopt | (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19926  __435:
 19927  	;
 19928  __431:
 19929  	;
 19930  
 19931  	// If caselessness was temporarily instated, reset it.
 19932  
 19933  	if !(reset_caseful != 0) {
 19934  		goto __436
 19935  	}
 19936  
 19937  	options = options & libc.CplUint32(DPCRE2_CASELESS)
 19938  	req_caseopt = Tuint32_t(0)
 19939  	reset_caseful = DFALSE
 19940  __436:
 19941  	;
 19942  
 19943  	goto __12 // End literal character handling
 19944  __12:
 19945  	; // End of big switch
 19946  	goto __2
 19947  __2:
 19948  	*(*uintptr)(unsafe.Pointer(bp + 88 /* pptr */)) += 4
 19949  	goto __1
 19950  	goto __3
 19951  __3:
 19952  	;
 19953  	return int32(0) // End of big loop
 19954  
 19955  	// Control never reaches here.
 19956  }
 19957  
 19958  // ************************************************
 19959  //
 19960  //   Compile regex: a sequence of alternatives    *
 19961  //
 19962  
 19963  // On entry, pptr is pointing past the bracket meta, but on return it points to
 19964  // the closing bracket or META_END. The code variable is pointing at the code unit
 19965  // into which the BRA operator has been stored. This function is used during the
 19966  // pre-compile phase when we are trying to find out the amount of memory needed,
 19967  // as well as during the real compile phase. The value of lengthptr distinguishes
 19968  // the two phases.
 19969  //
 19970  // Arguments:
 19971  //   options           option bits, including any changes for this subpattern
 19972  //   codeptr           -> the address of the current code pointer
 19973  //   pptrptr           -> the address of the current parsed pattern pointer
 19974  //   errorcodeptr      -> pointer to error code variable
 19975  //   skipunits         skip this many code units at start (for brackets and OP_COND)
 19976  //   firstcuptr        place to put the first required code unit
 19977  //   firstcuflagsptr   place to put the first code unit flags
 19978  //   reqcuptr          place to put the last required code unit
 19979  //   reqcuflagsptr     place to put the last required code unit flags
 19980  //   bcptr             pointer to the chain of currently open branches
 19981  //   cb                points to the data block with tables pointers etc.
 19982  //   lengthptr         NULL during the real compile phase
 19983  //                     points to length accumulator during pre-compile phase
 19984  //
 19985  // Returns:            0 There has been an error
 19986  //                    +1 Success, this group must match at least one character
 19987  //                    -1 Success, this group may match an empty string
 19988  
 19989  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: */
 19990  	bp := tls.Alloc(48)
 19991  	defer tls.Free(48)
 19992  	*(*Tuint32_t)(unsafe.Pointer(bp + 8)) = options
 19993  
 19994  	*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr))
 19995  	var last_branch uintptr = *(*uintptr)(unsafe.Pointer(bp + 12 /* code */))
 19996  	var start_bracket uintptr = *(*uintptr)(unsafe.Pointer(bp + 12 /* code */))
 19997  	var lookbehind TBOOL
 19998  	// var capitem Topen_capitem at bp, 8
 19999  
 20000  	var capnumber int32 = 0
 20001  	var okreturn int32 = 1
 20002  	*(*uintptr)(unsafe.Pointer(bp + 16 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 20003  	var firstcu Tuint32_t
 20004  	var reqcu Tuint32_t
 20005  	var lookbehindlength Tuint32_t
 20006  	var firstcuflags Tuint32_t
 20007  	var reqcuflags Tuint32_t
 20008  	// var branchfirstcu Tuint32_t at bp+20, 4
 20009  
 20010  	// var branchreqcu Tuint32_t at bp+28, 4
 20011  
 20012  	// var branchfirstcuflags Tuint32_t at bp+24, 4
 20013  
 20014  	// var branchreqcuflags Tuint32_t at bp+32, 4
 20015  
 20016  	// var length Tsize_t at bp+44, 4
 20017  
 20018  	// var bc Tbranch_chain_8 at bp+36, 8
 20019  
 20020  	// If set, call the external function that checks for stack availability.
 20021  
 20022  	if (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard != uintptr(0) && (*struct {
 20023  		f func(*libc.TLS, Tuint32_t, uintptr) int32
 20024  	})(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 {
 20025  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR33
 20026  		return 0
 20027  	}
 20028  
 20029  	// Miscellaneous initialization
 20030  
 20031  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 36 /* &bc */)).Fouter = bcptr
 20032  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 36 /* &bc */)).Fcurrent_branch = *(*uintptr)(unsafe.Pointer(bp + 12 /* code */))
 20033  
 20034  	firstcu = libc.AssignUint32(&reqcu, Tuint32_t(0))
 20035  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_UNSET)
 20036  
 20037  	// Accumulate the length for use in the pre-compile phase. Start with the
 20038  	// length of the BRA and KET and any extra code units that are required at the
 20039  	// beginning. We accumulate in a local variable to save frequent testing of
 20040  	// lengthptr for NULL. We cannot do this by looking at the value of 'code' at the
 20041  	// start and end of each alternative, because compiled items are discarded during
 20042  	// the pre-compile phase so that the workspace is not exceeded.
 20043  
 20044  	*(*Tsize_t)(unsafe.Pointer(bp + 44 /* length */)) = Tsize_t(Tuint32_t(2+2*DLINK_SIZE) + skipunits)
 20045  
 20046  	// Remember if this is a lookbehind assertion, and if it is, save its length
 20047  	// and skip over the pattern offset.
 20048  
 20049  	lookbehind = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12))))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12))))) == OP_ASSERTBACK_NOT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12))))) == OP_ASSERTBACK_NA)
 20050  
 20051  	if lookbehind != 0 {
 20052  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + libc.UintptrFromInt32(-1)*4)) & 0x0000ffff
 20053  		*(*uintptr)(unsafe.Pointer(bp + 16 /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 20054  	} else {
 20055  		lookbehindlength = Tuint32_t(0)
 20056  	}
 20057  
 20058  	// If this is a capturing subpattern, add to the chain of open capturing items
 20059  	// so that we can detect them if (*ACCEPT) is encountered. Note that only OP_CBRA
 20060  	// need be tested here; changing this opcode to one of its variants, e.g.
 20061  	// OP_SCBRAPOS, happens later, after the group has been compiled.
 20062  
 20063  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12))))) == OP_CBRA {
 20064  		capnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)) + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)) + 4)))))
 20065  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnumber = Tuint16_t(capnumber)
 20066  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnext = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 20067  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fassert_depth = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth
 20068  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = bp /* &capitem */
 20069  	}
 20070  
 20071  	// Offset is set zero to mark that this bracket is still open
 20072  
 20073  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 1)) = TPCRE2_UCHAR8(int32(0) >> 8)
 20074  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 2)) = TPCRE2_UCHAR8(0 & 255)
 20075  	*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) += uintptr(Tuint32_t(1+DLINK_SIZE) + skipunits)
 20076  
 20077  	// Loop for each alternative branch
 20078  
 20079  	for {
 20080  		var branch_return int32
 20081  
 20082  		// Insert OP_REVERSE if this is as lookbehind assertion.
 20083  
 20084  		if lookbehind != 0 && lookbehindlength > Tuint32_t(0) {
 20085  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)), 1))) = OP_REVERSE
 20086  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)))) = TPCRE2_UCHAR8(lookbehindlength >> 8)
 20087  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 1)) = TPCRE2_UCHAR8(lookbehindlength & Tuint32_t(255))
 20088  			*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) += uintptr(DLINK_SIZE)
 20089  			*(*Tsize_t)(unsafe.Pointer(bp + 44 /* length */)) += Tsize_t(1 + DLINK_SIZE)
 20090  		}
 20091  
 20092  		// Now compile the branch; in the pre-compile phase its length gets added
 20093  		//   into the length.
 20094  
 20095  		if libc.AssignInt32(&branch_return, compile_branch(tls, bp+8, bp+12, bp+16, errorcodeptr, bp+20,
 20096  			bp+24, bp+28, bp+32, bp+36,
 20097  			cb, func() uintptr {
 20098  				if lengthptr == uintptr(0) {
 20099  					return uintptr(0)
 20100  				}
 20101  				return bp + 44
 20102  			}())) == 0 {
 20103  			return 0
 20104  		}
 20105  
 20106  		// If a branch can match an empty string, so can the whole group.
 20107  
 20108  		if branch_return < 0 {
 20109  			okreturn = -1
 20110  		}
 20111  
 20112  		// In the real compile phase, there is some post-processing to be done.
 20113  
 20114  		if lengthptr == uintptr(0) {
 20115  			// If this is the first branch, the firstcu and reqcu values for the
 20116  			//     branch become the values for the regex.
 20117  
 20118  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch))) != OP_ALT {
 20119  				firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 20 /* branchfirstcu */))
 20120  				firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 24 /* branchfirstcuflags */))
 20121  				reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 28 /* branchreqcu */))
 20122  				reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 32 /* branchreqcuflags */))
 20123  			} else {
 20124  				// If we previously had a firstcu, but it doesn't match the new branch,
 20125  				//       we have to abandon the firstcu for the regex, but if there was
 20126  				//       previously no reqcu, it takes on the value of the old firstcu.
 20127  
 20128  				if firstcuflags != *(*Tuint32_t)(unsafe.Pointer(bp + 24)) || firstcu != *(*Tuint32_t)(unsafe.Pointer(bp + 20)) {
 20129  					if firstcuflags < DREQ_NONE {
 20130  						if reqcuflags >= DREQ_NONE {
 20131  							reqcu = firstcu
 20132  							reqcuflags = firstcuflags
 20133  						}
 20134  					}
 20135  					firstcuflags = DREQ_NONE
 20136  				}
 20137  
 20138  				// If we (now or from before) have no firstcu, a firstcu from the
 20139  				//       branch becomes a reqcu if there isn't a branch reqcu.
 20140  
 20141  				if firstcuflags >= DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 24)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 32)) >= DREQ_NONE {
 20142  					*(*Tuint32_t)(unsafe.Pointer(bp + 28 /* branchreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 20 /* branchfirstcu */))
 20143  					*(*Tuint32_t)(unsafe.Pointer(bp + 32 /* branchreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 24 /* branchfirstcuflags */))
 20144  				}
 20145  
 20146  				// Now ensure that the reqcus match
 20147  
 20148  				if reqcuflags&libc.CplUint32(DREQ_VARY) != *(*Tuint32_t)(unsafe.Pointer(bp + 32))&libc.CplUint32(DREQ_VARY) || reqcu != *(*Tuint32_t)(unsafe.Pointer(bp + 28)) {
 20149  					reqcuflags = DREQ_NONE
 20150  				} else {
 20151  					reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 28 /* branchreqcu */))
 20152  					reqcuflags = reqcuflags | *(*Tuint32_t)(unsafe.Pointer(bp + 32)) // To "or" REQ_VARY if present
 20153  				}
 20154  			}
 20155  		}
 20156  
 20157  		// Handle reaching the end of the expression, either ')' or end of pattern.
 20158  		//   In the real compile phase, go back through the alternative branches and
 20159  		//   reverse the chain of offsets, with the field in the BRA item now becoming an
 20160  		//   offset to the first alternative. If there are no alternatives, it points to
 20161  		//   the end of the group. The length in the terminating ket is always the length
 20162  		//   of the whole bracketed item. Return leaving the pointer at the terminating
 20163  		//   char.
 20164  
 20165  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16))))&0xffff0000 != DMETA_ALT {
 20166  			if lengthptr == uintptr(0) {
 20167  				var branch_length Tsize_t = Tsize_t((int32(*(*uintptr)(unsafe.Pointer(bp + 12))) - int32(last_branch)) / 1)
 20168  				for __ccgo := true; __ccgo; __ccgo = branch_length > Tsize_t(0) {
 20169  					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)))))
 20170  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)) = TPCRE2_UCHAR8(branch_length >> 8)
 20171  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)) = TPCRE2_UCHAR8(branch_length & Tsize_t(255))
 20172  					branch_length = prev_length
 20173  					last_branch -= uintptr(branch_length)
 20174  				}
 20175  			}
 20176  
 20177  			// Fill in the ket
 20178  
 20179  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)))) = OP_KET
 20180  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int32(*(*uintptr)(unsafe.Pointer(bp + 12)))-int32(start_bracket))/1) >> 8)
 20181  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int32(*(*uintptr)(unsafe.Pointer(bp + 12)))-int32(start_bracket))/1) & 255)
 20182  			*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) += uintptr(1 + DLINK_SIZE)
 20183  
 20184  			// If it was a capturing subpattern, remove the block from the chain.
 20185  
 20186  			if capnumber > 0 {
 20187  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = (*Topen_capitem)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps)).Fnext
 20188  			}
 20189  
 20190  			// Set values to pass back
 20191  
 20192  			*(*uintptr)(unsafe.Pointer(codeptr)) = *(*uintptr)(unsafe.Pointer(bp + 12 /* code */))
 20193  			*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* pptr */))
 20194  			*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 20195  			*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 20196  			*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 20197  			*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 20198  			if lengthptr != uintptr(0) {
 20199  				if Tsize_t(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 44)) {
 20200  					*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 20201  					return 0
 20202  				}
 20203  				*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 44))
 20204  			}
 20205  			return okreturn
 20206  		}
 20207  
 20208  		// Another branch follows. In the pre-compile phase, we can move the code
 20209  		//   pointer back to where it was for the start of the first branch. (That is,
 20210  		//   pretend that each branch is the only one.)
 20211  		//
 20212  		//   In the real compile phase, insert an ALT node. Its length field points back
 20213  		//   to the previous branch while the bracket remains open. At the end the chain
 20214  		//   is reversed. It's done like this so that the start of the bracket has a
 20215  		//   zero offset until it is closed, making it possible to detect recursion.
 20216  
 20217  		if lengthptr != uintptr(0) {
 20218  			*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr)) + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(skipunits)
 20219  			*(*Tsize_t)(unsafe.Pointer(bp + 44 /* length */)) += Tsize_t(1 + DLINK_SIZE)
 20220  		} else {
 20221  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)))) = OP_ALT
 20222  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int32(*(*uintptr)(unsafe.Pointer(bp + 12)))-int32(last_branch))/1) >> 8)
 20223  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int32(*(*uintptr)(unsafe.Pointer(bp + 12)))-int32(last_branch))/1) & 255)
 20224  			(*Tbranch_chain_8)(unsafe.Pointer(bp + 36 /* &bc */)).Fcurrent_branch = libc.AssignUintptr(&last_branch, *(*uintptr)(unsafe.Pointer(bp + 12 /* code */)))
 20225  			*(*uintptr)(unsafe.Pointer(bp + 12 /* code */)) += uintptr(1 + DLINK_SIZE)
 20226  		}
 20227  
 20228  		// Set the lookbehind length (if not in a lookbehind the value will be zero)
 20229  		//   and then advance past the vertical bar.
 20230  
 20231  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))) & 0x0000ffff
 20232  		*(*uintptr)(unsafe.Pointer(bp + 16 /* pptr */)) += 4
 20233  	}
 20234  	return int32(0)
 20235  	// Control never reaches here
 20236  }
 20237  
 20238  // ************************************************
 20239  //
 20240  //          Check for anchored pattern            *
 20241  //
 20242  
 20243  // Try to find out if this is an anchored regular expression. Consider each
 20244  // alternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket
 20245  // all of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then
 20246  // it's anchored. However, if this is a multiline pattern, then only OP_SOD will
 20247  // be found, because ^ generates OP_CIRCM in that mode.
 20248  //
 20249  // We can also consider a regex to be anchored if OP_SOM starts all its branches.
 20250  // This is the code for \G, which means "match at start of match position, taking
 20251  // into account the match offset".
 20252  //
 20253  // A branch is also implicitly anchored if it starts with .* and DOTALL is set,
 20254  // because that will try the rest of the pattern at all possible matching points,
 20255  // so there is no point trying again.... er ....
 20256  //
 20257  // .... except when the .* appears inside capturing parentheses, and there is a
 20258  // subsequent back reference to those parentheses. We haven't enough information
 20259  // to catch that case precisely.
 20260  //
 20261  // At first, the best we could do was to detect when .* was in capturing brackets
 20262  // and the highest back reference was greater than or equal to that level.
 20263  // However, by keeping a bitmap of the first 31 back references, we can catch some
 20264  // of the more common cases more precisely.
 20265  //
 20266  // ... A second exception is when the .* appears inside an atomic group, because
 20267  // this prevents the number of characters it matches from being adjusted.
 20268  //
 20269  // Arguments:
 20270  //   code           points to start of the compiled pattern
 20271  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20272  //                    handles up to substring 31; after that we just have to take
 20273  //                    the less precise approach
 20274  //   cb             points to the compile data block
 20275  //   atomcount      atomic group level
 20276  //   inassert       TRUE if in an assertion
 20277  //
 20278  // Returns:     TRUE or FALSE
 20279  
 20280  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: */
 20281  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20282  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20283  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20284  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20285  
 20286  		// Non-capturing brackets
 20287  
 20288  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20289  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20290  				return DFALSE
 20291  			}
 20292  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20293  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20294  			var new_map Tuint32_t = bracket_map | func() uint32 {
 20295  				if n < 32 {
 20296  					return uint32(1) << n
 20297  				}
 20298  				return uint32(1)
 20299  			}()
 20300  			if !(is_anchored(tls, scode, new_map, cb, atomcount, inassert) != 0) {
 20301  				return DFALSE
 20302  			}
 20303  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20304  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20305  				return DFALSE
 20306  			}
 20307  		} else if op == OP_COND || op == OP_SCOND {
 20308  			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 {
 20309  				return DFALSE
 20310  			}
 20311  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20312  				return DFALSE
 20313  			}
 20314  		} else if op == OP_ONCE {
 20315  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20316  				return DFALSE
 20317  			}
 20318  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20319  			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) {
 20320  				return DFALSE
 20321  			}
 20322  		} else if op != OP_SOD && op != OP_SOM && op != OP_CIRC {
 20323  			return DFALSE
 20324  		}
 20325  
 20326  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20327  	} // Loop for each alternative
 20328  	return DTRUE
 20329  }
 20330  
 20331  // ************************************************
 20332  //
 20333  //         Check for starting with ^ or .*        *
 20334  //
 20335  
 20336  // This is called to find out if every branch starts with ^ or .* so that
 20337  // "first char" processing can be done to speed things up in multiline
 20338  // matching and for non-DOTALL patterns that start with .* (which must start at
 20339  // the beginning or after \n). As in the case of is_anchored() (see above), we
 20340  // have to take account of back references to capturing brackets that contain .*
 20341  // because in that case we can't make the assumption. Also, the appearance of .*
 20342  // inside atomic brackets or in an assertion, or in a pattern that contains *PRUNE
 20343  // or *SKIP does not count, because once again the assumption no longer holds.
 20344  //
 20345  // Arguments:
 20346  //   code           points to start of the compiled pattern or a group
 20347  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20348  //                    handles up to substring 31; after that we just have to take
 20349  //                    the less precise approach
 20350  //   cb             points to the compile data
 20351  //   atomcount      atomic group level
 20352  //   inassert       TRUE if in an assertion
 20353  //
 20354  // Returns:         TRUE or FALSE
 20355  
 20356  func is_startline(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map uint32, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8499:1: */
 20357  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20358  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20359  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20360  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20361  
 20362  		// If we are at the start of a conditional assertion group, *both* the
 20363  		//    conditional assertion *and* what follows the condition must satisfy the test
 20364  		//    for start of line. Other kinds of condition fail. Note that there may be an
 20365  		//    auto-callout at the start of a condition.
 20366  
 20367  		if op == OP_COND {
 20368  			scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20369  
 20370  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT {
 20371  				scode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 20372  			} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT_STR {
 20373  				scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 6)))))
 20374  			}
 20375  
 20376  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) {
 20377  			case OP_CREF:
 20378  				fallthrough
 20379  			case OP_DNCREF:
 20380  				fallthrough
 20381  			case OP_RREF:
 20382  				fallthrough
 20383  			case OP_DNRREF:
 20384  				fallthrough
 20385  			case OP_FAIL:
 20386  				fallthrough
 20387  			case OP_FALSE:
 20388  				fallthrough
 20389  			case OP_TRUE:
 20390  				return DFALSE
 20391  				fallthrough
 20392  
 20393  			default: // Assertion
 20394  				if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20395  					return DFALSE
 20396  				}
 20397  				for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_ALT {
 20398  					scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))
 20399  				}
 20400  				scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20401  				break
 20402  			}
 20403  			scode = first_significant_code(tls, scode, DFALSE)
 20404  			op = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20405  		}
 20406  
 20407  		// Non-capturing brackets
 20408  
 20409  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20410  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20411  				return DFALSE
 20412  			}
 20413  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20414  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20415  			var new_map int32 = int32(bracket_map | func() uint32 {
 20416  				if n < 32 {
 20417  					return uint32(1) << n
 20418  				}
 20419  				return uint32(1)
 20420  			}())
 20421  			if !(is_startline(tls, scode, uint32(new_map), cb, atomcount, inassert) != 0) {
 20422  				return DFALSE
 20423  			}
 20424  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20425  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20426  				return DFALSE
 20427  			}
 20428  		} else if op == OP_ONCE {
 20429  			if !(is_startline(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20430  				return DFALSE
 20431  			}
 20432  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20433  			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) {
 20434  				return DFALSE
 20435  			}
 20436  		} else if op != OP_CIRC && op != OP_CIRCM {
 20437  			return DFALSE
 20438  		}
 20439  
 20440  		// Move on to the next alternative
 20441  
 20442  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20443  	} // Loop for each alternative
 20444  	return DTRUE
 20445  }
 20446  
 20447  // ************************************************
 20448  //
 20449  //   Scan compiled regex for recursion reference  *
 20450  //
 20451  
 20452  // This function scans through a compiled pattern until it finds an instance of
 20453  // OP_RECURSE.
 20454  //
 20455  // Arguments:
 20456  //   code        points to start of expression
 20457  //   utf         TRUE in UTF mode
 20458  //
 20459  // Returns:      pointer to the opcode for OP_RECURSE, or NULL if not found
 20460  
 20461  func find_recurse(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL) TPCRE2_SPTR8 { /* pcre2_compile.c:8621:1: */
 20462  	for {
 20463  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 20464  		if int32(c) == OP_END {
 20465  			return uintptr(0)
 20466  		}
 20467  		if int32(c) == OP_RECURSE {
 20468  			return code
 20469  		}
 20470  
 20471  		// XCLASS is used for classes that cannot be represented just by a bit map.
 20472  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 20473  		//   callouts with string arguments. In both cases the length in the table is
 20474  		//   zero; the actual length is stored in the compiled code.
 20475  
 20476  		if int32(c) == OP_XCLASS {
 20477  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20478  		} else if int32(c) == OP_CALLOUT_STR {
 20479  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 20480  		} else {
 20481  			switch int32(c) {
 20482  			case OP_TYPESTAR:
 20483  				fallthrough
 20484  			case OP_TYPEMINSTAR:
 20485  				fallthrough
 20486  			case OP_TYPEPLUS:
 20487  				fallthrough
 20488  			case OP_TYPEMINPLUS:
 20489  				fallthrough
 20490  			case OP_TYPEQUERY:
 20491  				fallthrough
 20492  			case OP_TYPEMINQUERY:
 20493  				fallthrough
 20494  			case OP_TYPEPOSSTAR:
 20495  				fallthrough
 20496  			case OP_TYPEPOSPLUS:
 20497  				fallthrough
 20498  			case OP_TYPEPOSQUERY:
 20499  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 20500  					code += uintptr(2)
 20501  				}
 20502  				break
 20503  				fallthrough
 20504  
 20505  			case OP_TYPEPOSUPTO:
 20506  				fallthrough
 20507  			case OP_TYPEUPTO:
 20508  				fallthrough
 20509  			case OP_TYPEMINUPTO:
 20510  				fallthrough
 20511  			case OP_TYPEEXACT:
 20512  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 20513  					code += uintptr(2)
 20514  				}
 20515  				break
 20516  				fallthrough
 20517  
 20518  			case OP_MARK:
 20519  				fallthrough
 20520  			case OP_COMMIT_ARG:
 20521  				fallthrough
 20522  			case OP_PRUNE_ARG:
 20523  				fallthrough
 20524  			case OP_SKIP_ARG:
 20525  				fallthrough
 20526  			case OP_THEN_ARG:
 20527  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 20528  				break
 20529  			}
 20530  
 20531  			// Add in the fixed length from the table
 20532  
 20533  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 20534  
 20535  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may
 20536  			//     be followed by a multi-unit character. The length in the table is a
 20537  			//     minimum, so we have to arrange to skip the extra units.
 20538  
 20539  			if utf != 0 {
 20540  				switch int32(c) {
 20541  				case OP_CHAR:
 20542  					fallthrough
 20543  				case OP_CHARI:
 20544  					fallthrough
 20545  				case OP_NOT:
 20546  					fallthrough
 20547  				case OP_NOTI:
 20548  					fallthrough
 20549  				case OP_EXACT:
 20550  					fallthrough
 20551  				case OP_EXACTI:
 20552  					fallthrough
 20553  				case OP_NOTEXACT:
 20554  					fallthrough
 20555  				case OP_NOTEXACTI:
 20556  					fallthrough
 20557  				case OP_UPTO:
 20558  					fallthrough
 20559  				case OP_UPTOI:
 20560  					fallthrough
 20561  				case OP_NOTUPTO:
 20562  					fallthrough
 20563  				case OP_NOTUPTOI:
 20564  					fallthrough
 20565  				case OP_MINUPTO:
 20566  					fallthrough
 20567  				case OP_MINUPTOI:
 20568  					fallthrough
 20569  				case OP_NOTMINUPTO:
 20570  					fallthrough
 20571  				case OP_NOTMINUPTOI:
 20572  					fallthrough
 20573  				case OP_POSUPTO:
 20574  					fallthrough
 20575  				case OP_POSUPTOI:
 20576  					fallthrough
 20577  				case OP_NOTPOSUPTO:
 20578  					fallthrough
 20579  				case OP_NOTPOSUPTOI:
 20580  					fallthrough
 20581  				case OP_STAR:
 20582  					fallthrough
 20583  				case OP_STARI:
 20584  					fallthrough
 20585  				case OP_NOTSTAR:
 20586  					fallthrough
 20587  				case OP_NOTSTARI:
 20588  					fallthrough
 20589  				case OP_MINSTAR:
 20590  					fallthrough
 20591  				case OP_MINSTARI:
 20592  					fallthrough
 20593  				case OP_NOTMINSTAR:
 20594  					fallthrough
 20595  				case OP_NOTMINSTARI:
 20596  					fallthrough
 20597  				case OP_POSSTAR:
 20598  					fallthrough
 20599  				case OP_POSSTARI:
 20600  					fallthrough
 20601  				case OP_NOTPOSSTAR:
 20602  					fallthrough
 20603  				case OP_NOTPOSSTARI:
 20604  					fallthrough
 20605  				case OP_PLUS:
 20606  					fallthrough
 20607  				case OP_PLUSI:
 20608  					fallthrough
 20609  				case OP_NOTPLUS:
 20610  					fallthrough
 20611  				case OP_NOTPLUSI:
 20612  					fallthrough
 20613  				case OP_MINPLUS:
 20614  					fallthrough
 20615  				case OP_MINPLUSI:
 20616  					fallthrough
 20617  				case OP_NOTMINPLUS:
 20618  					fallthrough
 20619  				case OP_NOTMINPLUSI:
 20620  					fallthrough
 20621  				case OP_POSPLUS:
 20622  					fallthrough
 20623  				case OP_POSPLUSI:
 20624  					fallthrough
 20625  				case OP_NOTPOSPLUS:
 20626  					fallthrough
 20627  				case OP_NOTPOSPLUSI:
 20628  					fallthrough
 20629  				case OP_QUERY:
 20630  					fallthrough
 20631  				case OP_QUERYI:
 20632  					fallthrough
 20633  				case OP_NOTQUERY:
 20634  					fallthrough
 20635  				case OP_NOTQUERYI:
 20636  					fallthrough
 20637  				case OP_MINQUERY:
 20638  					fallthrough
 20639  				case OP_MINQUERYI:
 20640  					fallthrough
 20641  				case OP_NOTMINQUERY:
 20642  					fallthrough
 20643  				case OP_NOTMINQUERYI:
 20644  					fallthrough
 20645  				case OP_POSQUERY:
 20646  					fallthrough
 20647  				case OP_POSQUERYI:
 20648  					fallthrough
 20649  				case OP_NOTPOSQUERY:
 20650  					fallthrough
 20651  				case OP_NOTPOSQUERYI:
 20652  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 20653  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 20654  					}
 20655  					break
 20656  				}
 20657  			}
 20658  		}
 20659  	}
 20660  	return TPCRE2_SPTR8(0)
 20661  }
 20662  
 20663  // ************************************************
 20664  //
 20665  //    Check for asserted fixed first code unit    *
 20666  //
 20667  
 20668  // During compilation, the "first code unit" settings from forward assertions
 20669  // are discarded, because they can cause conflicts with actual literals that
 20670  // follow. However, if we end up without a first code unit setting for an
 20671  // unanchored pattern, it is worth scanning the regex to see if there is an
 20672  // initial asserted first code unit. If all branches start with the same asserted
 20673  // code unit, or with a non-conditional bracket all of whose alternatives start
 20674  // with the same asserted code unit (recurse ad lib), then we return that code
 20675  // unit, with the flags set to zero or REQ_CASELESS; otherwise return zero with
 20676  // REQ_NONE in the flags.
 20677  //
 20678  // Arguments:
 20679  //   code       points to start of compiled pattern
 20680  //   flags      points to the first code unit flags
 20681  //   inassert   non-zero if in an assertion
 20682  //
 20683  // Returns:     the fixed first code unit, or 0 with REQ_NONE in flags
 20684  
 20685  func find_firstassertedcu(tls *libc.TLS, code TPCRE2_SPTR8, flags uintptr, inassert Tuint32_t) Tuint32_t { /* pcre2_compile.c:8777:1: */
 20686  	bp := tls.Alloc(4)
 20687  	defer tls.Free(4)
 20688  
 20689  	var c Tuint32_t = Tuint32_t(0)
 20690  	var cflags Tuint32_t = DREQ_NONE
 20691  
 20692  	*(*Tuint32_t)(unsafe.Pointer(flags)) = DREQ_NONE
 20693  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20694  		var d Tuint32_t
 20695  		// var dflags Tuint32_t at bp, 4
 20696  
 20697  		var xl int32
 20698  		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 {
 20699  			xl = DIMM2_SIZE
 20700  		} else {
 20701  			xl = 0
 20702  		}
 20703  		var scode TPCRE2_SPTR8 = first_significant_code(tls, code+uintptr(1)+uintptr(DLINK_SIZE)+uintptr(xl), DTRUE)
 20704  		var op TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))
 20705  
 20706  		switch int32(op) {
 20707  		default:
 20708  			return Tuint32_t(0)
 20709  
 20710  		case OP_BRA:
 20711  			fallthrough
 20712  		case OP_BRAPOS:
 20713  			fallthrough
 20714  		case OP_CBRA:
 20715  			fallthrough
 20716  		case OP_SCBRA:
 20717  			fallthrough
 20718  		case OP_CBRAPOS:
 20719  			fallthrough
 20720  		case OP_SCBRAPOS:
 20721  			fallthrough
 20722  		case OP_ASSERT:
 20723  			fallthrough
 20724  		case OP_ASSERT_NA:
 20725  			fallthrough
 20726  		case OP_ONCE:
 20727  			fallthrough
 20728  		case OP_SCRIPT_RUN:
 20729  			d = find_firstassertedcu(tls, scode, bp, inassert+func() uint32 {
 20730  				if int32(op) == OP_ASSERT || int32(op) == OP_ASSERT_NA {
 20731  					return uint32(1)
 20732  				}
 20733  				return uint32(0)
 20734  			}())
 20735  			if *(*Tuint32_t)(unsafe.Pointer(bp)) >= DREQ_NONE {
 20736  				return Tuint32_t(0)
 20737  			}
 20738  			if cflags >= DREQ_NONE {
 20739  				c = d
 20740  				cflags = *(*Tuint32_t)(unsafe.Pointer(bp /* dflags */))
 20741  			} else if c != d || cflags != *(*Tuint32_t)(unsafe.Pointer(bp)) {
 20742  				return Tuint32_t(0)
 20743  			}
 20744  			break
 20745  
 20746  		case OP_EXACT:
 20747  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20748  			fallthrough
 20749  		// Fall through
 20750  
 20751  		case OP_CHAR:
 20752  			fallthrough
 20753  		case OP_PLUS:
 20754  			fallthrough
 20755  		case OP_MINPLUS:
 20756  			fallthrough
 20757  		case OP_POSPLUS:
 20758  			if inassert == Tuint32_t(0) {
 20759  				return Tuint32_t(0)
 20760  			}
 20761  			if cflags >= DREQ_NONE {
 20762  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20763  				cflags = Tuint32_t(0)
 20764  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20765  				return Tuint32_t(0)
 20766  			}
 20767  			break
 20768  
 20769  		case OP_EXACTI:
 20770  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20771  			fallthrough
 20772  		// Fall through
 20773  
 20774  		case OP_CHARI:
 20775  			fallthrough
 20776  		case OP_PLUSI:
 20777  			fallthrough
 20778  		case OP_MINPLUSI:
 20779  			fallthrough
 20780  		case OP_POSPLUSI:
 20781  			if inassert == Tuint32_t(0) {
 20782  				return Tuint32_t(0)
 20783  			}
 20784  
 20785  			// If the character is more than one code unit long, we cannot set its
 20786  			//      first code unit when matching caselessly. Later scanning may pick up
 20787  			//      multiple code units.
 20788  
 20789  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) >= 0x80 {
 20790  				return Tuint32_t(0)
 20791  			}
 20792  
 20793  			if cflags >= DREQ_NONE {
 20794  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20795  				cflags = DREQ_CASELESS
 20796  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20797  				return Tuint32_t(0)
 20798  			}
 20799  			break
 20800  		}
 20801  
 20802  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20803  	}
 20804  
 20805  	*(*Tuint32_t)(unsafe.Pointer(flags)) = cflags
 20806  	return c
 20807  }
 20808  
 20809  // ************************************************
 20810  //
 20811  //     Add an entry to the name/number table      *
 20812  //
 20813  
 20814  // This function is called between compiling passes to add an entry to the
 20815  // name/number table, maintaining alphabetical order. Checking for permitted
 20816  // and forbidden duplicates has already been done.
 20817  //
 20818  // Arguments:
 20819  //   cb           the compile data block
 20820  //   name         the name to add
 20821  //   length       the length of the name
 20822  //   groupno      the group number
 20823  //   tablecount   the count of names in the table so far
 20824  //
 20825  // Returns:       nothing
 20826  
 20827  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: */
 20828  	var i Tuint32_t
 20829  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 20830  
 20831  	for i = Tuint32_t(0); i < tablecount; i++ {
 20832  		var crc int32 = libc.Xmemcmp(tls, name, slot+uintptr(DIMM2_SIZE), uint32(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20833  		if crc == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE+length)))) != 0 {
 20834  			crc = -1
 20835  		} // Current name is a substring
 20836  
 20837  		// Make space in the table and break the loop for an earlier name. For a
 20838  		//   duplicate or later name, carry on. We do this for duplicates so that in the
 20839  		//   simple case (when ?(| is not used) they are in order of their numbers. In all
 20840  		//   cases they are in the order in which they appear in the pattern.
 20841  
 20842  		if crc < 0 {
 20843  			libc.Xmemmove(tls, slot+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size), slot,
 20844  				uint32((tablecount-i)*Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 20845  			break
 20846  		}
 20847  
 20848  		// Continue the loop for a later or duplicate name
 20849  
 20850  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 20851  	}
 20852  
 20853  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)) = TPCRE2_UCHAR8(groupno >> 8)
 20854  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)) = TPCRE2_UCHAR8(groupno & uint32(255))
 20855  	libc.Xmemcpy(tls, slot+uintptr(DIMM2_SIZE), name, uint32(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20856  
 20857  	// Add a terminating zero and fill the rest of the slot with zeroes so that
 20858  	// the memory is all initialized. Otherwise valgrind moans about uninitialized
 20859  	// memory when saving serialized compiled patterns.
 20860  
 20861  	libc.Xmemset(tls, slot+uintptr(DIMM2_SIZE)+uintptr(length), 0,
 20862  		uint32((int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)-length-DIMM2_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20863  }
 20864  
 20865  // ************************************************
 20866  //
 20867  //             Skip in parsed pattern             *
 20868  //
 20869  
 20870  // This function is called to skip parts of the parsed pattern when finding the
 20871  // length of a lookbehind branch. It is called after (*ACCEPT) and (*FAIL) to find
 20872  // the end of the branch, it is called to skip over an internal lookaround or
 20873  // (DEFINE) group, and it is also called to skip to the end of a class, during
 20874  // which it will never encounter nested groups (but there's no need to have
 20875  // special code for that).
 20876  //
 20877  // When called to find the end of a branch or group, pptr must point to the first
 20878  // meta code inside the branch, not the branch-starting code. In other cases it
 20879  // can point to the item that causes the function to be called.
 20880  //
 20881  // Arguments:
 20882  //   pptr       current pointer to skip from
 20883  //   skiptype   PSKIP_CLASS when skipping to end of class
 20884  //              PSKIP_ALT when META_ALT ends the skip
 20885  //              PSKIP_KET when only META_KET ends the skip
 20886  //
 20887  // Returns:     new value of pptr
 20888  //              NULL if META_END is reached - should never occur
 20889  //                or for an unknown meta value - likewise
 20890  
 20891  func parsed_skip(tls *libc.TLS, pptr uintptr, skiptype Tuint32_t) uintptr { /* pcre2_compile.c:8950:17: */
 20892  	var nestlevel Tuint32_t = Tuint32_t(0)
 20893  
 20894  	for ; ; pptr += 4 {
 20895  		var meta Tuint32_t = *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0xffff0000
 20896  
 20897  		switch meta {
 20898  		default: // Just skip over most items
 20899  			if meta < DMETA_END {
 20900  				continue
 20901  			} // Literal
 20902  			break
 20903  
 20904  		// This should never occur.
 20905  
 20906  		case DMETA_END:
 20907  			return uintptr(0)
 20908  
 20909  		// The data for these items is variable in length.
 20910  
 20911  		case DMETA_BACKREF: // Offset is present only if group >= 10
 20912  			if *(*Tuint32_t)(unsafe.Pointer(pptr))&0x0000ffff >= Tuint32_t(10) {
 20913  				pptr += 4 * uintptr(DSIZEOFFSET)
 20914  			}
 20915  			break
 20916  
 20917  		case DMETA_ESCAPE: // A few escapes are followed by data items.
 20918  			switch *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0x0000ffff {
 20919  			case ESC_P:
 20920  				fallthrough
 20921  			case ESC_p:
 20922  				pptr += 4 * uintptr(1)
 20923  				break
 20924  
 20925  			case ESC_g:
 20926  				fallthrough
 20927  			case ESC_k:
 20928  				pptr += 4 * uintptr(1+DSIZEOFFSET)
 20929  				break
 20930  			}
 20931  			break
 20932  
 20933  		case DMETA_MARK:
 20934  			fallthrough // Add the length of the name.
 20935  		case DMETA_COMMIT_ARG:
 20936  			fallthrough
 20937  		case DMETA_PRUNE_ARG:
 20938  			fallthrough
 20939  		case DMETA_SKIP_ARG:
 20940  			fallthrough
 20941  		case DMETA_THEN_ARG:
 20942  			pptr += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(pptr + 1*4)))
 20943  			break
 20944  
 20945  		// These are the "active" items in this loop.
 20946  
 20947  		case DMETA_CLASS_END:
 20948  			if skiptype == PSKIP_CLASS {
 20949  				return pptr
 20950  			}
 20951  			break
 20952  
 20953  		case DMETA_ATOMIC:
 20954  			fallthrough
 20955  		case DMETA_CAPTURE:
 20956  			fallthrough
 20957  		case DMETA_COND_ASSERT:
 20958  			fallthrough
 20959  		case DMETA_COND_DEFINE:
 20960  			fallthrough
 20961  		case DMETA_COND_NAME:
 20962  			fallthrough
 20963  		case DMETA_COND_NUMBER:
 20964  			fallthrough
 20965  		case DMETA_COND_RNAME:
 20966  			fallthrough
 20967  		case DMETA_COND_RNUMBER:
 20968  			fallthrough
 20969  		case DMETA_COND_VERSION:
 20970  			fallthrough
 20971  		case DMETA_LOOKAHEAD:
 20972  			fallthrough
 20973  		case DMETA_LOOKAHEADNOT:
 20974  			fallthrough
 20975  		case DMETA_LOOKAHEAD_NA:
 20976  			fallthrough
 20977  		case DMETA_LOOKBEHIND:
 20978  			fallthrough
 20979  		case DMETA_LOOKBEHINDNOT:
 20980  			fallthrough
 20981  		case DMETA_LOOKBEHIND_NA:
 20982  			fallthrough
 20983  		case DMETA_NOCAPTURE:
 20984  			fallthrough
 20985  		case DMETA_SCRIPT_RUN:
 20986  			nestlevel++
 20987  			break
 20988  
 20989  		case DMETA_ALT:
 20990  			if nestlevel == Tuint32_t(0) && skiptype == PSKIP_ALT {
 20991  				return pptr
 20992  			}
 20993  			break
 20994  
 20995  		case DMETA_KET:
 20996  			if nestlevel == Tuint32_t(0) {
 20997  				return pptr
 20998  			}
 20999  			nestlevel--
 21000  			break
 21001  		}
 21002  
 21003  		// The extra data item length for each meta is in a table.
 21004  
 21005  		meta = meta >> 16 & Tuint32_t(0x7fff)
 21006  		if uint32(meta) >= uint32(unsafe.Sizeof(meta_extra_lengths)) {
 21007  			return uintptr(0)
 21008  		}
 21009  		pptr += 4 * uintptr(meta_extra_lengths[meta])
 21010  	}
 21011  	// Control never reaches here
 21012  	return pptr
 21013  }
 21014  
 21015  // ************************************************
 21016  //
 21017  //       Find length of a parsed group            *
 21018  //
 21019  
 21020  // This is called for nested groups within a branch of a lookbehind whose
 21021  // length is being computed. If all the branches in the nested group have the same
 21022  // length, that is OK. On entry, the pointer must be at the first element after
 21023  // the group initializing code. On exit it points to OP_KET. Caching is used to
 21024  // improve processing speed when the same capturing group occurs many times.
 21025  //
 21026  // Arguments:
 21027  //   pptrptr     pointer to pointer in the parsed pattern
 21028  //   isinline    FALSE if a reference or recursion; TRUE for inline group
 21029  //   errcodeptr  pointer to the errorcode
 21030  //   lcptr       pointer to the loop counter
 21031  //   group       number of captured group or -1 for a non-capturing group
 21032  //   recurses    chain of recurse_check to catch mutual recursion
 21033  //   cb          pointer to the compile data
 21034  //
 21035  // Returns:      the group length or a negative number
 21036  
 21037  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: */
 21038  	var branchlength int32
 21039  	var grouplength int32
 21040  	var groupinfo Tuint32_t
 21041  	grouplength = -1
 21042  
 21043  	// The cache can be used only if there is no possibility of there being two
 21044  	// groups with the same number. We do not need to set the end pointer for a group
 21045  	// that is being processed as a back reference or recursion, but we must do so for
 21046  	// an inline group.
 21047  
 21048  	if !(group > 0 && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21049  		goto __1
 21050  	}
 21051  
 21052  	groupinfo = *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4))
 21053  	if !(groupinfo&DGI_NOT_FIXED_LENGTH != Tuint32_t(0)) {
 21054  		goto __2
 21055  	}
 21056  	return -1
 21057  __2:
 21058  	;
 21059  	if !(groupinfo&DGI_SET_FIXED_LENGTH != Tuint32_t(0)) {
 21060  		goto __3
 21061  	}
 21062  
 21063  	if !(isinline != 0) {
 21064  		goto __4
 21065  	}
 21066  	*(*uintptr)(unsafe.Pointer(pptrptr)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(pptrptr)), PSKIP_KET)
 21067  __4:
 21068  	;
 21069  	return int32(groupinfo & DGI_FIXED_LENGTH_MASK)
 21070  __3:
 21071  	;
 21072  __1:
 21073  	;
 21074  
 21075  	// Scan the group. In this case we find the end pointer of necessity.
 21076  
 21077  __5:
 21078  
 21079  	branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21080  	if !(branchlength < 0) {
 21081  		goto __8
 21082  	}
 21083  	goto ISNOTFIXED
 21084  __8:
 21085  	;
 21086  	if !(grouplength == -1) {
 21087  		goto __9
 21088  	}
 21089  	grouplength = branchlength
 21090  	goto __10
 21091  __9:
 21092  	if !(grouplength != branchlength) {
 21093  		goto __11
 21094  	}
 21095  	goto ISNOTFIXED
 21096  __11:
 21097  	;
 21098  __10:
 21099  	;
 21100  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pptrptr)))) == DMETA_KET) {
 21101  		goto __12
 21102  	}
 21103  	goto __7
 21104  __12:
 21105  	;
 21106  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4 // Skip META_ALT
 21107  	goto __6
 21108  __6:
 21109  	goto __5
 21110  	goto __7
 21111  __7:
 21112  	;
 21113  
 21114  	if !(group > 0) {
 21115  		goto __13
 21116  	}
 21117  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_SET_FIXED_LENGTH | uint32(grouplength)
 21118  __13:
 21119  	;
 21120  	return grouplength
 21121  
 21122  ISNOTFIXED:
 21123  	if !(group > 0) {
 21124  		goto __14
 21125  	}
 21126  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_NOT_FIXED_LENGTH
 21127  __14:
 21128  	;
 21129  	return -1
 21130  }
 21131  
 21132  // ************************************************
 21133  //
 21134  //        Find length of a parsed branch          *
 21135  //
 21136  
 21137  // Return a fixed length for a branch in a lookbehind, giving an error if the
 21138  // length is not fixed. On entry, *pptrptr points to the first element inside the
 21139  // branch. On exit it is set to point to the ALT or KET.
 21140  //
 21141  // Arguments:
 21142  //   pptrptr     pointer to pointer in the parsed pattern
 21143  //   errcodeptr  pointer to error code
 21144  //   lcptr       pointer to loop counter
 21145  //   recurses    chain of recurse_check to catch mutual recursion
 21146  //   cb          pointer to compile block
 21147  //
 21148  // Returns:      the length, or a negative value on error
 21149  
 21150  func get_branchlength(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9134:1: */
 21151  	bp := tls.Alloc(16)
 21152  	defer tls.Free(16)
 21153  
 21154  	var branchlength int32
 21155  	var grouplength int32
 21156  	var lastitemlength Tuint32_t
 21157  	// var pptr uintptr at bp, 4
 21158  
 21159  	var offset Tsize_t
 21160  	// var this_recurse Tparsed_recurse_check at bp+8, 8
 21161  
 21162  	var i int32
 21163  	var name TPCRE2_SPTR8
 21164  	var is_dupname TBOOL
 21165  	var ng uintptr
 21166  	var meta_code Tuint32_t
 21167  	var length Tuint32_t
 21168  	var r uintptr
 21169  	// var gptr uintptr at bp+4, 4
 21170  
 21171  	var gptrend uintptr
 21172  	var escape Tuint32_t
 21173  	var group Tuint32_t
 21174  	var itemlength Tuint32_t
 21175  	branchlength = 0
 21176  	lastitemlength = Tuint32_t(0)
 21177  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 21178  
 21179  	// A large and/or complex regex can take too long to process. This can happen
 21180  	// more often when (?| groups are present in the pattern because their length
 21181  	// cannot be cached.
 21182  
 21183  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(lcptr)), 1) > 2000) {
 21184  		goto __1
 21185  	}
 21186  
 21187  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR35 // Lookbehind is too complicated
 21188  	return -1
 21189  __1:
 21190  	;
 21191  
 21192  	// Scan the branch, accumulating the length.
 21193  
 21194  __2:
 21195  	;
 21196  	group = Tuint32_t(0)
 21197  	itemlength = Tuint32_t(0)
 21198  
 21199  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END) {
 21200  		goto __5
 21201  	}
 21202  
 21203  	itemlength = Tuint32_t(1)
 21204  	goto __6
 21205  __5:
 21206  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 21207  	case DMETA_KET:
 21208  		goto __8
 21209  	case DMETA_ALT:
 21210  		goto __9
 21211  
 21212  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21213  	//     actual termination.
 21214  
 21215  	case DMETA_ACCEPT:
 21216  		goto __10
 21217  	case DMETA_FAIL:
 21218  		goto __11
 21219  
 21220  	case DMETA_MARK:
 21221  		goto __12
 21222  	case DMETA_COMMIT_ARG:
 21223  		goto __13
 21224  	case DMETA_PRUNE_ARG:
 21225  		goto __14
 21226  	case DMETA_SKIP_ARG:
 21227  		goto __15
 21228  	case DMETA_THEN_ARG:
 21229  		goto __16
 21230  
 21231  	case DMETA_CIRCUMFLEX:
 21232  		goto __17
 21233  	case DMETA_COMMIT:
 21234  		goto __18
 21235  	case DMETA_DOLLAR:
 21236  		goto __19
 21237  	case DMETA_PRUNE:
 21238  		goto __20
 21239  	case DMETA_SKIP:
 21240  		goto __21
 21241  	case DMETA_THEN:
 21242  		goto __22
 21243  
 21244  	case DMETA_OPTIONS:
 21245  		goto __23
 21246  
 21247  	case DMETA_BIGVALUE:
 21248  		goto __24
 21249  
 21250  	case DMETA_CLASS:
 21251  		goto __25
 21252  	case DMETA_CLASS_NOT:
 21253  		goto __26
 21254  
 21255  	case DMETA_CLASS_EMPTY_NOT:
 21256  		goto __27
 21257  	case DMETA_DOT:
 21258  		goto __28
 21259  
 21260  	case DMETA_CALLOUT_NUMBER:
 21261  		goto __29
 21262  
 21263  	case DMETA_CALLOUT_STRING:
 21264  		goto __30
 21265  
 21266  	// Only some escapes consume a character. Of those, \R and \X are never
 21267  	//     allowed because they might match more than character. \C is allowed only in
 21268  	//     32-bit and non-UTF 8/16-bit modes.
 21269  
 21270  	case DMETA_ESCAPE:
 21271  		goto __31
 21272  
 21273  	// Lookaheads do not contribute to the length of this branch, but they may
 21274  	//     contain lookbehinds within them whose lengths need to be set.
 21275  
 21276  	case DMETA_LOOKAHEAD:
 21277  		goto __32
 21278  	case DMETA_LOOKAHEADNOT:
 21279  		goto __33
 21280  	case DMETA_LOOKAHEAD_NA:
 21281  		goto __34
 21282  
 21283  	// A nested lookbehind does not contribute any length to this lookbehind,
 21284  	//     but must itself be checked and have its lengths set.
 21285  
 21286  	case DMETA_LOOKBEHIND:
 21287  		goto __35
 21288  	case DMETA_LOOKBEHINDNOT:
 21289  		goto __36
 21290  	case DMETA_LOOKBEHIND_NA:
 21291  		goto __37
 21292  
 21293  	// Back references and recursions are handled by very similar code. At this
 21294  	//     stage, the names generated in the parsing pass are available, but the main
 21295  	//     name table has not yet been created. So for the named varieties, scan the
 21296  	//     list of names in order to get the number of the first one in the pattern,
 21297  	//     and whether or not this name is duplicated.
 21298  
 21299  	case DMETA_BACKREF_BYNAME:
 21300  		goto __38
 21301  	// Fall through
 21302  
 21303  	case DMETA_RECURSE_BYNAME:
 21304  		goto __39 // Duplicate name or number
 21305  
 21306  	// The offset values for back references < 10 are in a separate vector
 21307  	//     because otherwise they would use more than two parsed pattern elements on
 21308  	//     64-bit systems.
 21309  
 21310  	case DMETA_BACKREF:
 21311  		goto __40
 21312  
 21313  	// Fall through
 21314  	// For groups >= 10 - picking up group twice does no harm.
 21315  
 21316  	// A true recursion implies not fixed length, but a subroutine call may
 21317  	//     be OK. Back reference "recursions" are also failed.
 21318  
 21319  	case DMETA_RECURSE:
 21320  		goto __41
 21321  
 21322  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21323  	//     the length of this branch. Skip from the following item to the next
 21324  	//     unpaired ket.
 21325  
 21326  	case DMETA_COND_DEFINE:
 21327  		goto __42
 21328  
 21329  	// Check other nested groups - advance past the initial data for each type
 21330  	//     and then seek a fixed length with get_grouplength().
 21331  
 21332  	case DMETA_COND_NAME:
 21333  		goto __43
 21334  	case DMETA_COND_NUMBER:
 21335  		goto __44
 21336  	case DMETA_COND_RNAME:
 21337  		goto __45
 21338  	case DMETA_COND_RNUMBER:
 21339  		goto __46
 21340  
 21341  	case DMETA_COND_ASSERT:
 21342  		goto __47
 21343  
 21344  	case DMETA_COND_VERSION:
 21345  		goto __48
 21346  
 21347  	case DMETA_CAPTURE:
 21348  		goto __49
 21349  	// Fall through
 21350  
 21351  	case DMETA_ATOMIC:
 21352  		goto __50
 21353  	case DMETA_NOCAPTURE:
 21354  		goto __51
 21355  	case DMETA_SCRIPT_RUN:
 21356  		goto __52
 21357  
 21358  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21359  	//     must subtract the length that has already been added.
 21360  
 21361  	case DMETA_MINMAX:
 21362  		goto __53
 21363  	case DMETA_MINMAX_PLUS:
 21364  		goto __54
 21365  	case DMETA_MINMAX_QUERY:
 21366  		goto __55
 21367  	// Fall through
 21368  
 21369  	// Any other item means this branch does not have a fixed length.
 21370  
 21371  	default:
 21372  		goto __56
 21373  	}
 21374  	goto __7
 21375  
 21376  __8:
 21377  __9:
 21378  	goto EXIT
 21379  
 21380  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21381  	//     actual termination.
 21382  
 21383  __10:
 21384  __11:
 21385  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_ALT)
 21386  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21387  		goto __57
 21388  	}
 21389  	goto PARSED_SKIP_FAILED
 21390  __57:
 21391  	;
 21392  	goto EXIT
 21393  
 21394  __12:
 21395  __13:
 21396  __14:
 21397  __15:
 21398  __16:
 21399  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))+Tuint32_t(1))
 21400  	goto __7
 21401  
 21402  __17:
 21403  __18:
 21404  __19:
 21405  __20:
 21406  __21:
 21407  __22:
 21408  	goto __7
 21409  
 21410  __23:
 21411  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21412  	goto __7
 21413  
 21414  __24:
 21415  	itemlength = Tuint32_t(1)
 21416  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21417  	goto __7
 21418  
 21419  __25:
 21420  __26:
 21421  	itemlength = Tuint32_t(1)
 21422  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_CLASS)
 21423  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21424  		goto __58
 21425  	}
 21426  	goto PARSED_SKIP_FAILED
 21427  __58:
 21428  	;
 21429  	goto __7
 21430  
 21431  __27:
 21432  __28:
 21433  	itemlength = Tuint32_t(1)
 21434  	goto __7
 21435  
 21436  __29:
 21437  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21438  	goto __7
 21439  
 21440  __30:
 21441  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 21442  	goto __7
 21443  
 21444  	// Only some escapes consume a character. Of those, \R and \X are never
 21445  	//     allowed because they might match more than character. \C is allowed only in
 21446  	//     32-bit and non-UTF 8/16-bit modes.
 21447  
 21448  __31:
 21449  	escape = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21450  	if !(escape == ESC_R || escape == ESC_X) {
 21451  		goto __59
 21452  	}
 21453  	return -1
 21454  __59:
 21455  	;
 21456  	if !(escape > ESC_b && escape < ESC_Z) {
 21457  		goto __60
 21458  	}
 21459  
 21460  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0) && escape == ESC_C) {
 21461  		goto __61
 21462  	}
 21463  
 21464  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR36
 21465  	return -1
 21466  __61:
 21467  	;
 21468  	itemlength = Tuint32_t(1)
 21469  	if !(escape == ESC_p || escape == ESC_P) {
 21470  		goto __62
 21471  	}
 21472  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21473  __62:
 21474  	; // Skip prop data
 21475  __60:
 21476  	;
 21477  	goto __7
 21478  
 21479  	// Lookaheads do not contribute to the length of this branch, but they may
 21480  	//     contain lookbehinds within them whose lengths need to be set.
 21481  
 21482  __32:
 21483  __33:
 21484  __34:
 21485  	*(*int32)(unsafe.Pointer(errcodeptr)) = check_lookbehinds(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, bp, recurses, cb, lcptr)
 21486  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) != 0) {
 21487  		goto __63
 21488  	}
 21489  	return -1
 21490  __63:
 21491  	;
 21492  
 21493  	// Ignore any qualifiers that follow a lookahead assertion.
 21494  
 21495  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21496  	case DMETA_ASTERISK:
 21497  		goto __65
 21498  	case DMETA_ASTERISK_PLUS:
 21499  		goto __66
 21500  	case DMETA_ASTERISK_QUERY:
 21501  		goto __67
 21502  	case DMETA_PLUS:
 21503  		goto __68
 21504  	case DMETA_PLUS_PLUS:
 21505  		goto __69
 21506  	case DMETA_PLUS_QUERY:
 21507  		goto __70
 21508  	case DMETA_QUERY:
 21509  		goto __71
 21510  	case DMETA_QUERY_PLUS:
 21511  		goto __72
 21512  	case DMETA_QUERY_QUERY:
 21513  		goto __73
 21514  
 21515  	case DMETA_MINMAX:
 21516  		goto __74
 21517  	case DMETA_MINMAX_PLUS:
 21518  		goto __75
 21519  	case DMETA_MINMAX_QUERY:
 21520  		goto __76
 21521  
 21522  	default:
 21523  		goto __77
 21524  	}
 21525  	goto __64
 21526  
 21527  __65:
 21528  __66:
 21529  __67:
 21530  __68:
 21531  __69:
 21532  __70:
 21533  __71:
 21534  __72:
 21535  __73:
 21536  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21537  	goto __64
 21538  
 21539  __74:
 21540  __75:
 21541  __76:
 21542  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21543  	goto __64
 21544  
 21545  __77:
 21546  	goto __64
 21547  __64:
 21548  	;
 21549  	goto __7
 21550  
 21551  	// A nested lookbehind does not contribute any length to this lookbehind,
 21552  	//     but must itself be checked and have its lengths set.
 21553  
 21554  __35:
 21555  __36:
 21556  __37:
 21557  	if !!(set_lookbehind_lengths(tls, bp, errcodeptr, lcptr, recurses, cb) != 0) {
 21558  		goto __78
 21559  	}
 21560  	return -1
 21561  __78:
 21562  	;
 21563  	goto __7
 21564  
 21565  	// Back references and recursions are handled by very similar code. At this
 21566  	//     stage, the names generated in the parsing pass are available, but the main
 21567  	//     name table has not yet been created. So for the named varieties, scan the
 21568  	//     list of names in order to get the number of the first one in the pattern,
 21569  	//     and whether or not this name is duplicated.
 21570  
 21571  __38:
 21572  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 21573  		goto __79
 21574  	}
 21575  	goto ISNOTFIXED
 21576  __79:
 21577  	;
 21578  	// Fall through
 21579  
 21580  __39:
 21581  
 21582  	is_dupname = DFALSE
 21583  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 21584  	meta_code = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000
 21585  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp)), 4)))
 21586  
 21587  	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)))
 21588  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21589  
 21590  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 21591  	i = 0
 21592  __80:
 21593  	if !(i < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 21594  		goto __82
 21595  	}
 21596  
 21597  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint32(length)) == 0) {
 21598  		goto __83
 21599  	}
 21600  
 21601  	group = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 21602  	is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup)
 21603  	goto __82
 21604  __83:
 21605  	;
 21606  	goto __81
 21607  __81:
 21608  	i++
 21609  	ng += 12
 21610  	goto __80
 21611  	goto __82
 21612  __82:
 21613  	;
 21614  
 21615  	if !(group == Tuint32_t(0)) {
 21616  		goto __84
 21617  	}
 21618  
 21619  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21620  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21621  	return -1
 21622  __84:
 21623  	;
 21624  
 21625  	// A numerical back reference can be fixed length if duplicate capturing
 21626  	//       groups are not being used. A non-duplicate named back reference can also
 21627  	//       be handled.
 21628  
 21629  	if !(meta_code == DMETA_RECURSE_BYNAME || !(is_dupname != 0) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21630  		goto __85
 21631  	}
 21632  	goto RECURSE_OR_BACKREF_LENGTH
 21633  __85:
 21634  	; // Handle as a numbered version.
 21635  
 21636  	goto ISNOTFIXED // Duplicate name or number
 21637  
 21638  	// The offset values for back references < 10 are in a separate vector
 21639  	//     because otherwise they would use more than two parsed pattern elements on
 21640  	//     64-bit systems.
 21641  
 21642  __40:
 21643  	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)) {
 21644  		goto __86
 21645  	}
 21646  	goto ISNOTFIXED
 21647  __86:
 21648  	;
 21649  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21650  	if !(group < Tuint32_t(10)) {
 21651  		goto __87
 21652  	}
 21653  
 21654  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 44 + uintptr(group)*4))
 21655  	goto RECURSE_OR_BACKREF_LENGTH
 21656  __87:
 21657  	;
 21658  
 21659  	// Fall through
 21660  	// For groups >= 10 - picking up group twice does no harm.
 21661  
 21662  	// A true recursion implies not fixed length, but a subroutine call may
 21663  	//     be OK. Back reference "recursions" are also failed.
 21664  
 21665  __41:
 21666  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21667  	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)))
 21668  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21669  
 21670  RECURSE_OR_BACKREF_LENGTH:
 21671  	if !(group > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 21672  		goto __88
 21673  	}
 21674  
 21675  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21676  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21677  	return -1
 21678  __88:
 21679  	;
 21680  	if !(group == Tuint32_t(0)) {
 21681  		goto __89
 21682  	}
 21683  	goto ISNOTFIXED
 21684  __89:
 21685  	; // Local recursion
 21686  	*(*uintptr)(unsafe.Pointer(bp + 4 /* gptr */)) = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 21687  __90:
 21688  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))) != DMETA_END) {
 21689  		goto __92
 21690  	}
 21691  
 21692  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4))))&0xffff0000 == DMETA_BIGVALUE) {
 21693  		goto __93
 21694  	}
 21695  	*(*uintptr)(unsafe.Pointer(bp + 4 /* gptr */)) += 4
 21696  	goto __94
 21697  __93:
 21698  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))) == DMETA_CAPTURE|group) {
 21699  		goto __95
 21700  	}
 21701  	goto __92
 21702  __95:
 21703  	;
 21704  __94:
 21705  	;
 21706  	goto __91
 21707  __91:
 21708  	*(*uintptr)(unsafe.Pointer(bp + 4 /* gptr */)) += 4
 21709  	goto __90
 21710  	goto __92
 21711  __92:
 21712  	;
 21713  
 21714  	// We must start the search for the end of the group at the first meta code
 21715  	//     inside the group. Otherwise it will be treated as an enclosed group.
 21716  
 21717  	gptrend = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp + 4))+uintptr(1)*4, PSKIP_KET)
 21718  	if !(gptrend == uintptr(0)) {
 21719  		goto __96
 21720  	}
 21721  	goto PARSED_SKIP_FAILED
 21722  __96:
 21723  	;
 21724  	if !(*(*uintptr)(unsafe.Pointer(bp)) > *(*uintptr)(unsafe.Pointer(bp + 4)) && *(*uintptr)(unsafe.Pointer(bp)) < gptrend) {
 21725  		goto __97
 21726  	}
 21727  	goto ISNOTFIXED
 21728  __97:
 21729  	; // Local recursion
 21730  	r = recurses
 21731  __98:
 21732  	if !(r != uintptr(0)) {
 21733  		goto __100
 21734  	}
 21735  	if !((*Tparsed_recurse_check)(unsafe.Pointer(r)).Fgroupptr == *(*uintptr)(unsafe.Pointer(bp + 4))) {
 21736  		goto __101
 21737  	}
 21738  	goto __100
 21739  __101:
 21740  	;
 21741  	goto __99
 21742  __99:
 21743  	r = (*Tparsed_recurse_check)(unsafe.Pointer(r)).Fprev
 21744  	goto __98
 21745  	goto __100
 21746  __100:
 21747  	;
 21748  	if !(r != uintptr(0)) {
 21749  		goto __102
 21750  	}
 21751  	goto ISNOTFIXED
 21752  __102:
 21753  	; // Mutual recursion
 21754  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 8 /* &this_recurse */)).Fprev = recurses
 21755  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 8 /* &this_recurse */)).Fgroupptr = *(*uintptr)(unsafe.Pointer(bp + 4 /* gptr */))
 21756  
 21757  	// We do not need to know the position of the end of the group, that is,
 21758  	//     gptr is not used after the call to get_grouplength(). Setting the second
 21759  	//     argument FALSE stops it scanning for the end when the length can be found
 21760  	//     in the cache.
 21761  
 21762  	*(*uintptr)(unsafe.Pointer(bp + 4 /* gptr */)) += 4
 21763  	grouplength = get_grouplength(tls, bp+4, DFALSE, errcodeptr, lcptr, int32(group),
 21764  		bp+8, cb)
 21765  	if !(grouplength < 0) {
 21766  		goto __103
 21767  	}
 21768  
 21769  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) == 0) {
 21770  		goto __104
 21771  	}
 21772  	goto ISNOTFIXED
 21773  __104:
 21774  	;
 21775  	return -1 // Error already set
 21776  __103:
 21777  	;
 21778  	itemlength = Tuint32_t(grouplength)
 21779  	goto __7
 21780  
 21781  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21782  	//     the length of this branch. Skip from the following item to the next
 21783  	//     unpaired ket.
 21784  
 21785  __42:
 21786  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, PSKIP_KET)
 21787  	goto __7
 21788  
 21789  	// Check other nested groups - advance past the initial data for each type
 21790  	//     and then seek a fixed length with get_grouplength().
 21791  
 21792  __43:
 21793  __44:
 21794  __45:
 21795  __46:
 21796  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2+DSIZEOFFSET)
 21797  	goto CHECK_GROUP
 21798  
 21799  __47:
 21800  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21801  	goto CHECK_GROUP
 21802  
 21803  __48:
 21804  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(4)
 21805  	goto CHECK_GROUP
 21806  
 21807  __49:
 21808  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21809  	// Fall through
 21810  
 21811  __50:
 21812  __51:
 21813  __52:
 21814  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21815  CHECK_GROUP:
 21816  	grouplength = get_grouplength(tls, bp, DTRUE, errcodeptr, lcptr, int32(group),
 21817  		recurses, cb)
 21818  	if !(grouplength < 0) {
 21819  		goto __105
 21820  	}
 21821  	return -1
 21822  __105:
 21823  	;
 21824  	itemlength = Tuint32_t(grouplength)
 21825  	goto __7
 21826  
 21827  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21828  	//     must subtract the length that has already been added.
 21829  
 21830  __53:
 21831  __54:
 21832  __55:
 21833  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) {
 21834  		goto __106
 21835  	}
 21836  
 21837  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21838  	case Tuint32_t(0):
 21839  		goto __108
 21840  
 21841  	case Tuint32_t(1):
 21842  		goto __109
 21843  
 21844  	default:
 21845  		goto __110
 21846  	}
 21847  	goto __107
 21848  
 21849  __108:
 21850  	branchlength = int32(Tuint32_t(branchlength) - lastitemlength)
 21851  	goto __107
 21852  
 21853  __109:
 21854  	itemlength = Tuint32_t(0)
 21855  	goto __107
 21856  
 21857  __110: // Check for integer overflow
 21858  	if !(lastitemlength != Tuint32_t(0) && Tuint32_t(0x7fffffff)/lastitemlength < *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))-Tuint32_t(1)) {
 21859  		goto __111
 21860  	}
 21861  
 21862  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87 // Integer overflow; lookbehind too big
 21863  	return -1
 21864  __111:
 21865  	;
 21866  	itemlength = (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) - Tuint32_t(1)) * lastitemlength
 21867  	goto __107
 21868  __107:
 21869  	;
 21870  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21871  	goto __7
 21872  __106:
 21873  	;
 21874  	// Fall through
 21875  
 21876  	// Any other item means this branch does not have a fixed length.
 21877  
 21878  __56:
 21879  ISNOTFIXED:
 21880  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25 // Not fixed length
 21881  	return -1
 21882  __7:
 21883  	;
 21884  __6:
 21885  	;
 21886  
 21887  	// Add the item length to the branchlength, checking for integer overflow and
 21888  	//   for the branch length exceeding the limit.
 21889  
 21890  	if !(0x7fffffff-branchlength < int32(itemlength) || libc.AssignAddInt32(&branchlength, int32(itemlength)) > 65535) {
 21891  		goto __112
 21892  	}
 21893  
 21894  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87
 21895  	return -1
 21896  __112:
 21897  	;
 21898  
 21899  	// Save this item length for use if the next item is a quantifier.
 21900  
 21901  	lastitemlength = itemlength
 21902  	goto __3
 21903  __3:
 21904  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21905  	goto __2
 21906  	goto __4
 21907  __4:
 21908  	;
 21909  
 21910  EXIT:
 21911  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 21912  	return branchlength
 21913  
 21914  PARSED_SKIP_FAILED:
 21915  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR90
 21916  	return -1
 21917  }
 21918  
 21919  // ************************************************
 21920  //
 21921  //        Set lengths in a lookbehind             *
 21922  //
 21923  
 21924  // This function is called for each lookbehind, to set the lengths in its
 21925  // branches. An error occurs if any branch does not have a fixed length that is
 21926  // less than the maximum (65535). On exit, the pointer must be left on the final
 21927  // ket.
 21928  //
 21929  // The function also maintains the max_lookbehind value. Any lookbehind branch
 21930  // that contains a nested lookbehind may actually look further back than the
 21931  // length of the branch. The additional amount is passed back from
 21932  // get_branchlength() as an "extra" value.
 21933  //
 21934  // Arguments:
 21935  //   pptrptr     pointer to pointer in the parsed pattern
 21936  //   errcodeptr  pointer to error code
 21937  //   lcptr       pointer to loop counter
 21938  //   recurses    chain of recurse_check to catch mutual recursion
 21939  //   cb          pointer to compile block
 21940  //
 21941  // Returns:      TRUE if all is well
 21942  //               FALSE otherwise, with error code and offset set
 21943  
 21944  func set_lookbehind_lengths(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:9545:1: */
 21945  	var offset Tsize_t
 21946  	var branchlength int32
 21947  	var bptr uintptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21948  
 21949  	{
 21950  		offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 2*4)))
 21951  	}
 21952  	// Offset for error messages
 21953  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(DSIZEOFFSET) * 4
 21954  
 21955  	for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(bptr)) == DMETA_ALT {
 21956  		*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4
 21957  		branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21958  		if branchlength < 0 {
 21959  			// The errorcode and offset may already be set from a nested lookbehind.
 21960  			if *(*int32)(unsafe.Pointer(errcodeptr)) == 0 {
 21961  				*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25
 21962  			}
 21963  			if (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset == libc.CplUint32(Tsize_t(0)) {
 21964  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21965  			}
 21966  			return DFALSE
 21967  		}
 21968  		if branchlength > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind {
 21969  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = branchlength
 21970  		}
 21971  		*(*Tuint32_t)(unsafe.Pointer(bptr)) |= Tuint32_t(branchlength) // branchlength never more than 65535
 21972  		bptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21973  	}
 21974  
 21975  	return DTRUE
 21976  }
 21977  
 21978  // ************************************************
 21979  //
 21980  //         Check parsed pattern lookbehinds       *
 21981  //
 21982  
 21983  // This function is called at the end of parsing a pattern if any lookbehinds
 21984  // were encountered. It scans the parsed pattern for them, calling
 21985  // set_lookbehind_lengths() for each one. At the start, the errorcode is zero and
 21986  // the error offset is marked unset. The enables the functions above not to
 21987  // override settings from deeper nestings.
 21988  //
 21989  // This function is called recursively from get_branchlength() for lookaheads in
 21990  // order to process any lookbehinds that they may contain. It stops when it hits a
 21991  // non-nested closing parenthesis in this case, returning a pointer to it.
 21992  //
 21993  // Arguments
 21994  //   pptr      points to where to start (start of pattern or start of lookahead)
 21995  //   retptr    if not NULL, return the ket pointer here
 21996  //   recurses  chain of recurse_check to catch mutual recursion
 21997  //   cb        points to the compile block
 21998  //   lcptr     points to loop counter
 21999  //
 22000  // Returns:    0 on success, or an errorcode (cb->erroroffset will be set)
 22001  
 22002  func check_lookbehinds(tls *libc.TLS, pptr uintptr, retptr uintptr, recurses uintptr, cb uintptr, lcptr uintptr) int32 { /* pcre2_compile.c:9602:1: */
 22003  	bp := tls.Alloc(8)
 22004  	defer tls.Free(8)
 22005  	*(*uintptr)(unsafe.Pointer(bp)) = pptr
 22006  
 22007  	*(*int32)(unsafe.Pointer(bp + 4 /* errorcode */)) = 0
 22008  	var nestlevel int32 = 0
 22009  
 22010  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = libc.CplUint32(Tsize_t(0))
 22011  
 22012  	for ; *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != DMETA_END; *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 {
 22013  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END {
 22014  			continue
 22015  		} // Literal
 22016  
 22017  		switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 22018  		default:
 22019  			return ERR70 // Unrecognized meta code
 22020  
 22021  		case DMETA_ESCAPE:
 22022  			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 {
 22023  				*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22024  			}
 22025  			break
 22026  
 22027  		case DMETA_KET:
 22028  			if libc.PreDecInt32(&nestlevel, 1) < 0 {
 22029  				if retptr != uintptr(0) {
 22030  					*(*uintptr)(unsafe.Pointer(retptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 22031  				}
 22032  				return 0
 22033  			}
 22034  			break
 22035  
 22036  		case DMETA_ATOMIC:
 22037  			fallthrough
 22038  		case DMETA_CAPTURE:
 22039  			fallthrough
 22040  		case DMETA_COND_ASSERT:
 22041  			fallthrough
 22042  		case DMETA_LOOKAHEAD:
 22043  			fallthrough
 22044  		case DMETA_LOOKAHEADNOT:
 22045  			fallthrough
 22046  		case DMETA_LOOKAHEAD_NA:
 22047  			fallthrough
 22048  		case DMETA_NOCAPTURE:
 22049  			fallthrough
 22050  		case DMETA_SCRIPT_RUN:
 22051  			nestlevel++
 22052  			break
 22053  
 22054  		case DMETA_ACCEPT:
 22055  			fallthrough
 22056  		case DMETA_ALT:
 22057  			fallthrough
 22058  		case DMETA_ASTERISK:
 22059  			fallthrough
 22060  		case DMETA_ASTERISK_PLUS:
 22061  			fallthrough
 22062  		case DMETA_ASTERISK_QUERY:
 22063  			fallthrough
 22064  		case DMETA_BACKREF:
 22065  			fallthrough
 22066  		case DMETA_CIRCUMFLEX:
 22067  			fallthrough
 22068  		case DMETA_CLASS:
 22069  			fallthrough
 22070  		case DMETA_CLASS_EMPTY:
 22071  			fallthrough
 22072  		case DMETA_CLASS_EMPTY_NOT:
 22073  			fallthrough
 22074  		case DMETA_CLASS_END:
 22075  			fallthrough
 22076  		case DMETA_CLASS_NOT:
 22077  			fallthrough
 22078  		case DMETA_COMMIT:
 22079  			fallthrough
 22080  		case DMETA_DOLLAR:
 22081  			fallthrough
 22082  		case DMETA_DOT:
 22083  			fallthrough
 22084  		case DMETA_FAIL:
 22085  			fallthrough
 22086  		case DMETA_PLUS:
 22087  			fallthrough
 22088  		case DMETA_PLUS_PLUS:
 22089  			fallthrough
 22090  		case DMETA_PLUS_QUERY:
 22091  			fallthrough
 22092  		case DMETA_PRUNE:
 22093  			fallthrough
 22094  		case DMETA_QUERY:
 22095  			fallthrough
 22096  		case DMETA_QUERY_PLUS:
 22097  			fallthrough
 22098  		case DMETA_QUERY_QUERY:
 22099  			fallthrough
 22100  		case DMETA_RANGE_ESCAPED:
 22101  			fallthrough
 22102  		case DMETA_RANGE_LITERAL:
 22103  			fallthrough
 22104  		case DMETA_SKIP:
 22105  			fallthrough
 22106  		case DMETA_THEN:
 22107  			break
 22108  
 22109  		case DMETA_RECURSE:
 22110  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22111  			break
 22112  
 22113  		case DMETA_BACKREF_BYNAME:
 22114  			fallthrough
 22115  		case DMETA_RECURSE_BYNAME:
 22116  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22117  			break
 22118  
 22119  		case DMETA_COND_DEFINE:
 22120  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22121  			nestlevel++
 22122  			break
 22123  
 22124  		case DMETA_COND_NAME:
 22125  			fallthrough
 22126  		case DMETA_COND_NUMBER:
 22127  			fallthrough
 22128  		case DMETA_COND_RNAME:
 22129  			fallthrough
 22130  		case DMETA_COND_RNUMBER:
 22131  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22132  			nestlevel++
 22133  			break
 22134  
 22135  		case DMETA_COND_VERSION:
 22136  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22137  			nestlevel++
 22138  			break
 22139  
 22140  		case DMETA_CALLOUT_STRING:
 22141  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 22142  			break
 22143  
 22144  		case DMETA_BIGVALUE:
 22145  			fallthrough
 22146  		case DMETA_OPTIONS:
 22147  			fallthrough
 22148  		case DMETA_POSIX:
 22149  			fallthrough
 22150  		case DMETA_POSIX_NEG:
 22151  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22152  			break
 22153  
 22154  		case DMETA_MINMAX:
 22155  			fallthrough
 22156  		case DMETA_MINMAX_QUERY:
 22157  			fallthrough
 22158  		case DMETA_MINMAX_PLUS:
 22159  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 22160  			break
 22161  
 22162  		case DMETA_CALLOUT_NUMBER:
 22163  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22164  			break
 22165  
 22166  		case DMETA_MARK:
 22167  			fallthrough
 22168  		case DMETA_COMMIT_ARG:
 22169  			fallthrough
 22170  		case DMETA_PRUNE_ARG:
 22171  			fallthrough
 22172  		case DMETA_SKIP_ARG:
 22173  			fallthrough
 22174  		case DMETA_THEN_ARG:
 22175  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(Tuint32_t(1)+*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))
 22176  			break
 22177  
 22178  		case DMETA_LOOKBEHIND:
 22179  			fallthrough
 22180  		case DMETA_LOOKBEHINDNOT:
 22181  			fallthrough
 22182  		case DMETA_LOOKBEHIND_NA:
 22183  			if !(set_lookbehind_lengths(tls, bp, bp+4, lcptr, recurses, cb) != 0) {
 22184  				return *(*int32)(unsafe.Pointer(bp + 4 /* errorcode */))
 22185  			}
 22186  			break
 22187  		}
 22188  	}
 22189  
 22190  	return 0
 22191  }
 22192  
 22193  // ************************************************
 22194  //
 22195  //     External function to compile a pattern     *
 22196  //
 22197  
 22198  // This function reads a regular expression in the form of a string and returns
 22199  // a pointer to a block of store holding a compiled version of the expression.
 22200  //
 22201  // Arguments:
 22202  //   pattern       the regular expression
 22203  //   patlen        the length of the pattern, or PCRE2_ZERO_TERMINATED
 22204  //   options       option bits
 22205  //   errorptr      pointer to errorcode
 22206  //   erroroffset   pointer to error offset
 22207  //   ccontext      points to a compile context or is NULL
 22208  //
 22209  // Returns:        pointer to compiled data block, or NULL on error,
 22210  //                 with errorcode and erroroffset set
 22211  
 22212  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: */
 22213  	bp := tls.Alloc(17652)
 22214  	defer tls.Free(17652)
 22215  
 22216  	var utf TBOOL // Set TRUE for UTF mode
 22217  	var ucp TBOOL // Set TRUE for UCP mode
 22218  	// var has_lookbehind TBOOL at bp+17548, 4
 22219  	// Set TRUE if a lookbehind is found
 22220  	var zero_terminated TBOOL
 22221  	_ = zero_terminated // Set TRUE for zero-terminated pattern
 22222  	var re uintptr      // What we will return
 22223  	// var cb Tcompile_block_8 at bp+17360, 188
 22224  	// "Static" compile-time data
 22225  	var tables uintptr // Char tables base pointer
 22226  
 22227  	// var code uintptr at bp+17556, 4
 22228  	// Current pointer in compiled code
 22229  	var codestart TPCRE2_SPTR8 // Start of compiled code
 22230  	var ptr TPCRE2_SPTR8       // Current pointer in pattern
 22231  	// var pptr uintptr at bp+17560, 4
 22232  	// Current pointer in parsed pattern
 22233  
 22234  	// var length Tsize_t at bp+17584, 4
 22235  	// Allow for final END opcode
 22236  	var usedlength Tsize_t         // Actual length used
 22237  	var re_blocksize Tsize_t       // Size of memory block
 22238  	var big32count Tsize_t         // 32-bit literals >= 0x80000000
 22239  	var parsed_size_needed Tsize_t // Needed for parsed pattern
 22240  
 22241  	// var firstcuflags Tuint32_t at bp+17572, 4
 22242  
 22243  	// var reqcuflags Tuint32_t at bp+17580, 4
 22244  	// Type of first/req code unit
 22245  	// var firstcu Tuint32_t at bp+17568, 4
 22246  
 22247  	// var reqcu Tuint32_t at bp+17576, 4
 22248  	// Value of first/req code unit
 22249  	var setflags Tuint32_t // NL and BSR set flags
 22250  
 22251  	var skipatstart Tuint32_t // When checking (*UTF) etc
 22252  	var limit_heap Tuint32_t
 22253  	var limit_match Tuint32_t // Unset match limits
 22254  	var limit_depth Tuint32_t
 22255  	var newline int32 // Unset; can be set by the pattern
 22256  	var bsr int32     // Unset; can be set by the pattern
 22257  	// var errorcode int32 at bp+17564, 4
 22258  	// Initialize to avoid compiler warn
 22259  	var regexrc int32 // Return from compile
 22260  
 22261  	var i Tuint32_t // Local loop counter
 22262  
 22263  	// Comments at the head of this file explain about these variables.
 22264  
 22265  	// var stack_groupinfo [256]Tuint32_t at bp+12000, 1024
 22266  
 22267  	// var stack_parsed_pattern [1024]Tuint32_t at bp+13264, 4096
 22268  
 22269  	// var named_groups [20]Tnamed_group_8 at bp+13024, 240
 22270  
 22271  	// The workspace is used in different ways in the different compiling phases.
 22272  	// It needs to be 16-bit aligned for the preliminary parsing scan.
 22273  
 22274  	// var c16workspace [3000]Tuint32_t at bp, 12000
 22275  
 22276  	var cworkspace uintptr
 22277  	var c Tuint32_t
 22278  	var pp Tuint32_t
 22279  	var p uintptr
 22280  	var heap_parsed_pattern uintptr
 22281  	// var loopcount int32 at bp+17552, 4
 22282  
 22283  	var ng uintptr
 22284  	var search_from TPCRE2_SPTR8
 22285  	var p1 int32
 22286  	var groupnumber int32
 22287  	var rcode uintptr
 22288  	var rgroup TPCRE2_SPTR8
 22289  	var ccount uint32
 22290  	var start int32
 22291  	// var rc [8]Trecurse_cache at bp+17588, 64
 22292  
 22293  	var temp uintptr
 22294  	var minminlength int32
 22295  	*(*TBOOL)(unsafe.Pointer(bp + 17548 /* has_lookbehind */)) = DFALSE
 22296  	re = uintptr(0)
 22297  	*(*Tsize_t)(unsafe.Pointer(bp + 17584 /* length */)) = Tsize_t(1)
 22298  	big32count = Tsize_t(0)
 22299  	setflags = Tuint32_t(0)
 22300  	limit_heap = 4294967295
 22301  	limit_match = 4294967295
 22302  	limit_depth = 4294967295
 22303  	newline = 0
 22304  	bsr = 0
 22305  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = 0
 22306  	cworkspace = bp /* c16workspace */
 22307  
 22308  	// -------------- Check arguments and set up the pattern -----------------
 22309  
 22310  	// There must be error code and offset pointers.
 22311  
 22312  	if !(errorptr == uintptr(0) || erroroffset == uintptr(0)) {
 22313  		goto __1
 22314  	}
 22315  	return uintptr(0)
 22316  __1:
 22317  	;
 22318  	*(*int32)(unsafe.Pointer(errorptr)) = ERR0
 22319  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(0)
 22320  
 22321  	// There must be a pattern!
 22322  
 22323  	if !(pattern == uintptr(0)) {
 22324  		goto __2
 22325  	}
 22326  
 22327  	*(*int32)(unsafe.Pointer(errorptr)) = ERR16
 22328  	return uintptr(0)
 22329  __2:
 22330  	;
 22331  
 22332  	// A NULL compile context means "use a default context"
 22333  
 22334  	if !(ccontext == uintptr(0)) {
 22335  		goto __3
 22336  	}
 22337  	ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 22338  __3:
 22339  	;
 22340  
 22341  	// PCRE2_MATCH_INVALID_UTF implies UTF
 22342  
 22343  	if !(options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 22344  		goto __4
 22345  	}
 22346  	options = options | DPCRE2_UTF
 22347  __4:
 22348  	;
 22349  
 22350  	// Check that all undefined public option bits are zero.
 22351  
 22352  	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)) {
 22353  		goto __5
 22354  	}
 22355  
 22356  	*(*int32)(unsafe.Pointer(errorptr)) = ERR17
 22357  	return uintptr(0)
 22358  __5:
 22359  	;
 22360  
 22361  	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))) {
 22362  		goto __6
 22363  	}
 22364  
 22365  	*(*int32)(unsafe.Pointer(errorptr)) = ERR92
 22366  	return uintptr(0)
 22367  __6:
 22368  	;
 22369  
 22370  	// A zero-terminated pattern is indicated by the special length value
 22371  	// PCRE2_ZERO_TERMINATED. Check for an overlong pattern.
 22372  
 22373  	if !(libc.AssignInt32(&zero_terminated, libc.Bool32(patlen == libc.CplUint32(Tsize_t(0)))) != 0) {
 22374  		goto __7
 22375  	}
 22376  	patlen = X_pcre2_strlen_8(tls, pattern)
 22377  __7:
 22378  	;
 22379  
 22380  	if !(patlen > (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length) {
 22381  		goto __8
 22382  	}
 22383  
 22384  	*(*int32)(unsafe.Pointer(errorptr)) = ERR88
 22385  	return uintptr(0)
 22386  __8:
 22387  	;
 22388  
 22389  	// From here on, all returns from this function should end up going via the
 22390  	// EXIT label.
 22391  
 22392  	// ------------ Initialize the "static" compile data --------------
 22393  
 22394  	if (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables != uintptr(0) {
 22395  		tables = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables
 22396  	} else {
 22397  		tables = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8))
 22398  	}
 22399  
 22400  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Flcc = tables + uintptr(Dlcc_offset)     // Individual
 22401  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ffcc = tables + uintptr(Dfcc_offset)     //   character
 22402  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fcbits = tables + uintptr(Dcbits_offset) //      tables
 22403  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fctypes = tables + uintptr(Dcbits_offset+Dcbit_length)
 22404  
 22405  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22406  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fbracount = Tuint32_t(0)
 22407  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fcx = ccontext
 22408  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fdupnames = DFALSE
 22409  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fend_pattern = pattern + uintptr(patlen)
 22410  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ferroroffset = Tsize_t(0)
 22411  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fexternal_flags = Tuint32_t(0)
 22412  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fexternal_options = options
 22413  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fgroupinfo = bp + 12000 /* &stack_groupinfo[0] */
 22414  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fhad_recurse = DFALSE
 22415  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Flastcapture = Tuint32_t(0)
 22416  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fmax_lookbehind = 0
 22417  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fname_entry_size = Tuint16_t(0)
 22418  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fname_table = uintptr(0)
 22419  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnamed_groups = bp + 13024 /* &named_groups[0] */
 22420  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnamed_group_list_size = Tuint32_t(DNAMED_GROUP_LIST_SIZE)
 22421  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnames_found = Tuint16_t(0)
 22422  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fopen_caps = uintptr(0)
 22423  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22424  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparsed_pattern = bp + 13264 /* &stack_parsed_pattern[0] */
 22425  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22426  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fstart_code = cworkspace
 22427  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fstart_pattern = pattern
 22428  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fstart_workspace = cworkspace
 22429  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fworkspace_size = Tsize_t(3000 * DLINK_SIZE)
 22430  
 22431  	// Maximum back reference and backref bitmap. The bitmap records up to 31 back
 22432  	// references to help in deciding whether (.*) can be treated as anchored or not.
 22433  
 22434  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ftop_backref = Tuint32_t(0)
 22435  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fbackref_map = Tuint32_t(0)
 22436  
 22437  	// Escape sequences \1 to \9 are always back references, but as they are only
 22438  	// two characters long, only two elements can be used in the parsed_pattern
 22439  	// vector. The first contains the reference, and we'd like to use the second to
 22440  	// record the offset in the pattern, so that forward references to non-existent
 22441  	// groups can be diagnosed later with an offset. However, on 64-bit systems,
 22442  	// PCRE2_SIZE won't fit. Instead, we have a vector of offsets for the first
 22443  	// occurrence of \1 to \9, indexed by the second parsed_pattern value. All other
 22444  	// references have enough space for the offset to be put into the parsed pattern.
 22445  
 22446  	i = Tuint32_t(0)
 22447  __9:
 22448  	if !(i < Tuint32_t(10)) {
 22449  		goto __11
 22450  	}
 22451  	*(*Tsize_t)(unsafe.Pointer(bp + 17360 + 44 + uintptr(i)*4)) = libc.CplUint32(Tsize_t(0))
 22452  	goto __10
 22453  __10:
 22454  	i++
 22455  	goto __9
 22456  	goto __11
 22457  __11:
 22458  	;
 22459  
 22460  	// --------------- Start looking at the pattern ---------------
 22461  
 22462  	// Unless PCRE2_LITERAL is set, check for global one-time option settings at
 22463  	// the start of the pattern, and remember the offset to the actual regex. With
 22464  	// valgrind support, make the terminator of a zero-terminated pattern
 22465  	// inaccessible. This catches bugs that would otherwise only show up for
 22466  	// non-zero-terminated patterns.
 22467  
 22468  	ptr = pattern
 22469  	skipatstart = Tuint32_t(0)
 22470  
 22471  	if !(options&DPCRE2_LITERAL == Tuint32_t(0)) {
 22472  		goto __12
 22473  	}
 22474  
 22475  __13:
 22476  	if !(patlen-Tsize_t(skipatstart) >= Tsize_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart)))) == '\050' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart+Tuint32_t(1))))) == '\052') {
 22477  		goto __14
 22478  	}
 22479  
 22480  	i = Tuint32_t(0)
 22481  __15:
 22482  	if !(uint32(i) < uint32(unsafe.Sizeof(pso_list))/uint32(unsafe.Sizeof(Tpso{}))) {
 22483  		goto __17
 22484  	}
 22485  
 22486  	p = uintptr(unsafe.Pointer(&pso_list)) + uintptr(i)*12
 22487  
 22488  	if !(patlen-Tsize_t(skipatstart)-Tsize_t(2) >= Tsize_t((*Tpso)(unsafe.Pointer(p)).Flength) && X_pcre2_strncmp_c8_8(tls, ptr+uintptr(skipatstart)+uintptr(2), (*Tpso)(unsafe.Pointer(p)).Fname,
 22489  		uint32((*Tpso)(unsafe.Pointer(p)).Flength)) == 0) {
 22490  		goto __18
 22491  	}
 22492  
 22493  	skipatstart = skipatstart + Tuint32_t(int32((*Tpso)(unsafe.Pointer(p)).Flength)+2)
 22494  	switch int32((*Tpso)(unsafe.Pointer(p)).Ftype) {
 22495  	case PSO_OPT:
 22496  		goto __20
 22497  
 22498  	case PSO_FLG:
 22499  		goto __21
 22500  
 22501  	case PSO_NL:
 22502  		goto __22
 22503  
 22504  	case PSO_BSR:
 22505  		goto __23
 22506  
 22507  	case PSO_LIMM:
 22508  		goto __24
 22509  	case PSO_LIMD:
 22510  		goto __25
 22511  	case PSO_LIMH:
 22512  		goto __26
 22513  	}
 22514  	goto __19
 22515  
 22516  __20:
 22517  	*(*Tuint32_t)(unsafe.Pointer(bp + 17360 + 108)) |= (*Tpso)(unsafe.Pointer(p)).Fvalue
 22518  	goto __19
 22519  
 22520  __21:
 22521  	setflags = setflags | (*Tpso)(unsafe.Pointer(p)).Fvalue
 22522  	goto __19
 22523  
 22524  __22:
 22525  	newline = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22526  	setflags = setflags | Tuint32_t(DPCRE2_NL_SET)
 22527  	goto __19
 22528  
 22529  __23:
 22530  	bsr = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22531  	setflags = setflags | Tuint32_t(DPCRE2_BSR_SET)
 22532  	goto __19
 22533  
 22534  __24:
 22535  __25:
 22536  __26:
 22537  	c = Tuint32_t(0)
 22538  	pp = skipatstart
 22539  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22540  		goto __27
 22541  	}
 22542  
 22543  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR60
 22544  	ptr += TPCRE2_SPTR8(pp)
 22545  	goto HAD_EARLY_ERROR
 22546  __27:
 22547  	;
 22548  __28:
 22549  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22550  		goto __29
 22551  	}
 22552  
 22553  	if !(c > 4294967295/uint32(10)-uint32(1)) {
 22554  		goto __30
 22555  	}
 22556  	goto __29
 22557  __30:
 22558  	; // Integer overflow
 22559  	c = c*Tuint32_t(10) + Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1)))))-'\060')
 22560  	goto __28
 22561  __29:
 22562  	;
 22563  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1))))) != '\051') {
 22564  		goto __31
 22565  	}
 22566  
 22567  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR60
 22568  	ptr += TPCRE2_SPTR8(pp)
 22569  	goto HAD_EARLY_ERROR
 22570  __31:
 22571  	;
 22572  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMH) {
 22573  		goto __32
 22574  	}
 22575  	limit_heap = c
 22576  	goto __33
 22577  __32:
 22578  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMM) {
 22579  		goto __34
 22580  	}
 22581  	limit_match = c
 22582  	goto __35
 22583  __34:
 22584  	limit_depth = c
 22585  __35:
 22586  	;
 22587  __33:
 22588  	;
 22589  	skipatstart = skipatstart + (pp - skipatstart)
 22590  	goto __19
 22591  __19:
 22592  	;
 22593  	goto __17 // Out of the table scan loop
 22594  __18:
 22595  	;
 22596  	goto __16
 22597  __16:
 22598  	i++
 22599  	goto __15
 22600  	goto __17
 22601  __17:
 22602  	;
 22603  	if !(uint32(i) >= uint32(unsafe.Sizeof(pso_list))/uint32(unsafe.Sizeof(Tpso{}))) {
 22604  		goto __36
 22605  	}
 22606  	goto __14
 22607  __36:
 22608  	; // Out of pso loop
 22609  	goto __13
 22610  __14:
 22611  	;
 22612  __12:
 22613  	;
 22614  
 22615  	// End of pattern-start options; advance to start of real regex.
 22616  
 22617  	ptr += TPCRE2_SPTR8(skipatstart)
 22618  
 22619  	// Can't support UTF or UCP if PCRE2 was built without Unicode support.
 22620  
 22621  	// Check UTF. We have the original options in 'options', with that value as
 22622  	// modified by (*UTF) etc in cb->external_options. The extra option
 22623  	// PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not permitted in UTF-16 mode because the
 22624  	// surrogate code points cannot be represented in UTF-16.
 22625  
 22626  	utf = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
 22627  	if !(utf != 0) {
 22628  		goto __37
 22629  	}
 22630  
 22631  	if !(options&DPCRE2_NEVER_UTF != Tuint32_t(0)) {
 22632  		goto __38
 22633  	}
 22634  
 22635  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR74
 22636  	goto HAD_EARLY_ERROR
 22637  __38:
 22638  	;
 22639  	if !(options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) && libc.AssignPtrInt32(bp+17564, X_pcre2_valid_utf_8(tls, pattern, patlen, erroroffset)) != 0) {
 22640  		goto __39
 22641  	}
 22642  	goto HAD_ERROR
 22643  __39:
 22644  	; // Offset was set by valid_utf()
 22645  
 22646  __37:
 22647  	;
 22648  
 22649  	// Check UCP lockout.
 22650  
 22651  	ucp = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
 22652  	if !(ucp != 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fexternal_options&DPCRE2_NEVER_UCP != Tuint32_t(0)) {
 22653  		goto __40
 22654  	}
 22655  
 22656  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR75
 22657  	goto HAD_EARLY_ERROR
 22658  __40:
 22659  	;
 22660  
 22661  	// Process the BSR setting.
 22662  
 22663  	if !(bsr == 0) {
 22664  		goto __41
 22665  	}
 22666  	bsr = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention)
 22667  __41:
 22668  	;
 22669  
 22670  	// Process the newline setting.
 22671  
 22672  	if !(newline == 0) {
 22673  		goto __42
 22674  	}
 22675  	newline = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention)
 22676  __42:
 22677  	;
 22678  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 22679  	switch newline {
 22680  	case DPCRE2_NEWLINE_CR:
 22681  		goto __44
 22682  
 22683  	case DPCRE2_NEWLINE_LF:
 22684  		goto __45
 22685  
 22686  	case DPCRE2_NEWLINE_NUL:
 22687  		goto __46
 22688  
 22689  	case DPCRE2_NEWLINE_CRLF:
 22690  		goto __47
 22691  
 22692  	case DPCRE2_NEWLINE_ANY:
 22693  		goto __48
 22694  
 22695  	case DPCRE2_NEWLINE_ANYCRLF:
 22696  		goto __49
 22697  
 22698  	default:
 22699  		goto __50
 22700  	}
 22701  	goto __43
 22702  
 22703  __44:
 22704  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnllen = Tuint32_t(1)
 22705  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17360 + 160)) = TPCRE2_UCHAR8('\015')
 22706  	goto __43
 22707  
 22708  __45:
 22709  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnllen = Tuint32_t(1)
 22710  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17360 + 160)) = TPCRE2_UCHAR8('\012')
 22711  	goto __43
 22712  
 22713  __46:
 22714  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnllen = Tuint32_t(1)
 22715  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17360 + 160)) = TPCRE2_UCHAR8(0)
 22716  	goto __43
 22717  
 22718  __47:
 22719  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnllen = Tuint32_t(2)
 22720  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17360 + 160)) = TPCRE2_UCHAR8('\015')
 22721  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17360 + 160 + 1)) = TPCRE2_UCHAR8('\012')
 22722  	goto __43
 22723  
 22724  __48:
 22725  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 22726  	goto __43
 22727  
 22728  __49:
 22729  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 22730  	goto __43
 22731  
 22732  __50:
 22733  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR56
 22734  	goto HAD_EARLY_ERROR
 22735  __43:
 22736  	;
 22737  
 22738  	// Pre-scan the pattern to do two things: (1) Discover the named groups and
 22739  	// their numerical equivalents, so that this information is always available for
 22740  	// the remaining processing. (2) At the same time, parse the pattern and put a
 22741  	// processed version into the parsed_pattern vector. This has escapes interpreted
 22742  	// and comments removed (amongst other things).
 22743  	//
 22744  	// In all but one case, when PCRE2_AUTO_CALLOUT is not set, the number of unsigned
 22745  	// 32-bit ints in the parsed pattern is bounded by the length of the pattern plus
 22746  	// one (for the terminator) plus four if PCRE2_EXTRA_WORD or PCRE2_EXTRA_LINE is
 22747  	// set. The exceptional case is when running in 32-bit, non-UTF mode, when literal
 22748  	// characters greater than META_END (0x80000000) have to be coded as two units. In
 22749  	// this case, therefore, we scan the pattern to check for such values.
 22750  
 22751  	// Ensure that the parsed pattern buffer is big enough. When PCRE2_AUTO_CALLOUT
 22752  	// is set we have to assume a numerical callout (4 elements) for each character
 22753  	// plus one at the end. This is overkill, but memory is plentiful these days. For
 22754  	// many smaller patterns the vector on the stack (which was set up above) can be
 22755  	// used.
 22756  
 22757  	parsed_size_needed = patlen - Tsize_t(skipatstart) + big32count
 22758  
 22759  	if !((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&(DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_MATCH_LINE) != Tuint32_t(0)) {
 22760  		goto __51
 22761  	}
 22762  	parsed_size_needed = parsed_size_needed + Tsize_t(4)
 22763  __51:
 22764  	;
 22765  
 22766  	if !(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0)) {
 22767  		goto __52
 22768  	}
 22769  	parsed_size_needed = (parsed_size_needed + Tsize_t(1)) * Tsize_t(5)
 22770  __52:
 22771  	;
 22772  
 22773  	if !(parsed_size_needed >= Tsize_t(DPARSED_PATTERN_DEFAULT_SIZE)) {
 22774  		goto __53
 22775  	}
 22776  
 22777  	heap_parsed_pattern = (*struct {
 22778  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22779  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22780  		(parsed_size_needed+Tsize_t(1))*Tsize_t(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22781  	if !(heap_parsed_pattern == uintptr(0)) {
 22782  		goto __54
 22783  	}
 22784  
 22785  	*(*int32)(unsafe.Pointer(errorptr)) = ERR21
 22786  	goto EXIT
 22787  __54:
 22788  	;
 22789  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparsed_pattern = heap_parsed_pattern
 22790  __53:
 22791  	;
 22792  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fparsed_pattern + uintptr(parsed_size_needed)*4 + uintptr(1)*4
 22793  
 22794  	// Do the parsing scan.
 22795  
 22796  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = parse_regex(tls, ptr, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fexternal_options, bp+17548, bp+17360)
 22797  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) != 0) {
 22798  		goto __55
 22799  	}
 22800  	goto HAD_CB_ERROR
 22801  __55:
 22802  	;
 22803  
 22804  	// Workspace is needed to remember information about numbered groups: whether a
 22805  	// group can match an empty string and what its fixed length is. This is done to
 22806  	// avoid the possibility of recursive references causing very long compile times
 22807  	// when checking these features. Unnumbered groups do not have this exposure since
 22808  	// they cannot be referenced. We use an indexed vector for this purpose. If there
 22809  	// are sufficiently few groups, the default vector on the stack, as set up above,
 22810  	// can be used. Otherwise we have to get/free a special vector. The vector must be
 22811  	// initialized to zero.
 22812  
 22813  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fbracount >= Tuint32_t(DGROUPINFO_DEFAULT_SIZE)) {
 22814  		goto __56
 22815  	}
 22816  
 22817  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fgroupinfo = (*struct {
 22818  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22819  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22820  		uint32((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fbracount+Tuint32_t(1))*uint32(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22821  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fgroupinfo == uintptr(0)) {
 22822  		goto __57
 22823  	}
 22824  
 22825  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR21
 22826  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ferroroffset = Tsize_t(0)
 22827  	goto HAD_CB_ERROR
 22828  __57:
 22829  	;
 22830  __56:
 22831  	;
 22832  	libc.Xmemset(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fgroupinfo, 0, uint32((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fbracount+Tuint32_t(1))*uint32(unsafe.Sizeof(Tuint32_t(0))))
 22833  
 22834  	// If there were any lookbehinds, scan the parsed pattern to figure out their
 22835  	// lengths.
 22836  
 22837  	if !(*(*TBOOL)(unsafe.Pointer(bp + 17548)) != 0) {
 22838  		goto __58
 22839  	}
 22840  
 22841  	*(*int32)(unsafe.Pointer(bp + 17552 /* loopcount */)) = 0
 22842  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = check_lookbehinds(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fparsed_pattern, uintptr(0), uintptr(0), bp+17360, bp+17552)
 22843  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) != 0) {
 22844  		goto __59
 22845  	}
 22846  	goto HAD_CB_ERROR
 22847  __59:
 22848  	;
 22849  __58:
 22850  	;
 22851  
 22852  	// For debugging, there is a function that shows the parsed data vector.
 22853  
 22854  	// For debugging capturing information this code can be enabled.
 22855  
 22856  	// Pretend to compile the pattern while actually just accumulating the amount
 22857  	// of memory required in the 'length' variable. This behaviour is triggered by
 22858  	// passing a non-NULL final argument to compile_regex(). We pass a block of
 22859  	// workspace (cworkspace) for it to compile parts of the pattern into; the
 22860  	// compiled code is discarded when it is no longer needed, so hopefully this
 22861  	// workspace will never overflow, though there is a test for its doing so.
 22862  	//
 22863  	// On error, errorcode will be set non-zero, so we don't need to look at the
 22864  	// result of the function. The initial options have been put into the cb block,
 22865  	// but we still have to pass a separate options variable (the first argument)
 22866  	// because the options may change as the pattern is processed.
 22867  
 22868  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ferroroffset = patlen // For any subsequent errors that do not set it
 22869  	*(*uintptr)(unsafe.Pointer(bp + 17560 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparsed_pattern
 22870  	*(*uintptr)(unsafe.Pointer(bp + 17556 /* code */)) = cworkspace
 22871  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17556 /* code */)))) = OP_BRA
 22872  
 22873  	compile_regex(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fexternal_options, bp+17556, bp+17560, bp+17564, uint32(0), bp+17568,
 22874  		bp+17572, bp+17576, bp+17580, uintptr(0), bp+17360, bp+17584)
 22875  
 22876  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) != 0) {
 22877  		goto __60
 22878  	}
 22879  	goto HAD_CB_ERROR
 22880  __60:
 22881  	; // Offset is in cb.erroroffset
 22882  
 22883  	// This should be caught in compile_regex(), but just in case...
 22884  
 22885  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 17584)) > Tsize_t(int32(1)<<16)) {
 22886  		goto __61
 22887  	}
 22888  
 22889  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR20
 22890  	goto HAD_CB_ERROR
 22891  __61:
 22892  	;
 22893  
 22894  	// Compute the size of, and then get and initialize, the data block for storing
 22895  	// the compiled pattern and names table. Integer overflow should no longer be
 22896  	// possible because nowadays we limit the maximum value of cb.names_found and
 22897  	// cb.name_entry_size.
 22898  
 22899  	re_blocksize = uint32(unsafe.Sizeof(Tpcre2_real_code_8{})) + (*(*Tsize_t)(unsafe.Pointer(bp + 17584))+Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fnames_found)*Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fname_entry_size))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)
 22900  	re = (*struct {
 22901  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22902  	})(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)
 22903  	if !(re == uintptr(0)) {
 22904  		goto __62
 22905  	}
 22906  
 22907  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR21
 22908  	goto HAD_CB_ERROR
 22909  __62:
 22910  	;
 22911  
 22912  	// The compiler may put padding at the end of the pcre2_real_code structure in
 22913  	// order to round it up to a multiple of 4 or 8 bytes. This means that when a
 22914  	// compiled pattern is copied (for example, when serialized) undefined bytes are
 22915  	// read, and this annoys debuggers such as valgrind. To avoid this, we explicitly
 22916  	// write to the last 8 bytes of the structure before setting the fields.
 22917  
 22918  	libc.Xmemset(tls, re+uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{})))-uintptr(8), 0, uint32(8))
 22919  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl
 22920  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables = tables
 22921  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fexecutable_jit = uintptr(0)
 22922  	libc.Xmemset(tls, re+20, 0, uint32(32)*uint32(unsafe.Sizeof(Tuint8_t(0))))
 22923  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize = re_blocksize
 22924  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number = DMAGIC_NUMBER
 22925  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options = options
 22926  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fexternal_options
 22927  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options
 22928  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags = Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) | (*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fexternal_flags | setflags
 22929  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap = limit_heap
 22930  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match = limit_match
 22931  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth = limit_depth
 22932  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(0)
 22933  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = Tuint32_t(0)
 22934  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention = Tuint16_t(bsr)
 22935  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention = Tuint16_t(newline)
 22936  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t(0)
 22937  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(0)
 22938  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t(0)
 22939  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t(0)
 22940  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fname_entry_size
 22941  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnames_found
 22942  
 22943  	// The basic block is immediately followed by the name table, and the compiled
 22944  	// code follows after that.
 22945  
 22946  	codestart = re + uintptr(uint32(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))
 22947  
 22948  	// Update the compile data block for the actual compile. The starting points of
 22949  	// the name/number translation table and of the code are passed around in the
 22950  	// compile data block. The start/end pattern and initial options are already set
 22951  	// from the pre-compile phase, as is the name_entry_size field.
 22952  
 22953  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22954  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22955  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Flastcapture = Tuint32_t(0)
 22956  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fname_table = re + uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{})))
 22957  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fstart_code = codestart
 22958  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22959  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fhad_accept = DFALSE
 22960  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fhad_pruneorskip = DFALSE
 22961  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fopen_caps = uintptr(0)
 22962  
 22963  	// If any named groups were found, create the name/number table from the list
 22964  	// created in the pre-pass.
 22965  
 22966  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fnames_found) > 0) {
 22967  		goto __63
 22968  	}
 22969  
 22970  	ng = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fnamed_groups
 22971  	i = Tuint32_t(0)
 22972  __64:
 22973  	if !(i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fnames_found)) {
 22974  		goto __66
 22975  	}
 22976  	add_name_to_table(tls, bp+17360, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber, i)
 22977  	goto __65
 22978  __65:
 22979  	i++
 22980  	ng += 12
 22981  	goto __64
 22982  	goto __66
 22983  __66:
 22984  	;
 22985  __63:
 22986  	;
 22987  
 22988  	// Set up a starting, non-extracting bracket, then compile the expression. On
 22989  	// error, errorcode will be set non-zero, so we don't need to look at the result
 22990  	// of the function here.
 22991  
 22992  	*(*uintptr)(unsafe.Pointer(bp + 17560 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fparsed_pattern
 22993  	*(*uintptr)(unsafe.Pointer(bp + 17556 /* code */)) = codestart
 22994  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17556 /* code */)))) = OP_BRA
 22995  	regexrc = compile_regex(tls, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options, bp+17556, bp+17560, bp+17564, uint32(0),
 22996  		bp+17568, bp+17572, bp+17576, bp+17580, uintptr(0), bp+17360, uintptr(0))
 22997  	if !(regexrc < 0) {
 22998  		goto __67
 22999  	}
 23000  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_MATCH_EMPTY)
 23001  __67:
 23002  	;
 23003  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fbracount)
 23004  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Ftop_backref)
 23005  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17360 /* &cb */)).Fmax_lookbehind)
 23006  
 23007  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fhad_accept != 0) {
 23008  		goto __68
 23009  	}
 23010  
 23011  	*(*Tuint32_t)(unsafe.Pointer(bp + 17576 /* reqcu */)) = Tuint32_t(0) // Must disable after (*ACCEPT)
 23012  	*(*Tuint32_t)(unsafe.Pointer(bp + 17580 /* reqcuflags */)) = DREQ_NONE
 23013  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_HASACCEPT) // Disables minimum length
 23014  __68:
 23015  	;
 23016  
 23017  	// Fill in the final opcode and check for disastrous overflow. If no overflow,
 23018  	// but the estimated length exceeds the really used length, adjust the value of
 23019  	// re->blocksize, and if valgrind support is configured, mark the extra allocated
 23020  	// memory as unaddressable, so that any out-of-bound reads can be detected.
 23021  
 23022  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 17556 /* code */)), 1))) = OP_END
 23023  	usedlength = Tsize_t((int32(*(*uintptr)(unsafe.Pointer(bp + 17556))) - int32(codestart)) / 1)
 23024  	if !(usedlength > *(*Tsize_t)(unsafe.Pointer(bp + 17584))) {
 23025  		goto __69
 23026  	}
 23027  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR23
 23028  	goto __70
 23029  __69:
 23030  
 23031  	*(*Tsize_t)(unsafe.Pointer(re + 52)) -= (*(*Tsize_t)(unsafe.Pointer(bp + 17584)) - usedlength) * Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)
 23032  __70:
 23033  	;
 23034  
 23035  	// Scan the pattern for recursion/subroutine calls and convert the group
 23036  	// numbers into offsets. Maintain a small cache so that repeated groups containing
 23037  	// recursions are efficiently handled.
 23038  
 23039  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) == 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fhad_recurse != 0) {
 23040  		goto __71
 23041  	}
 23042  
 23043  	ccount = uint32(0)
 23044  	start = DRSCAN_CACHE_SIZE
 23045  
 23046  	rcode = find_recurse(tls, codestart, utf)
 23047  __72:
 23048  	if !(rcode != uintptr(0)) {
 23049  		goto __74
 23050  	}
 23051  
 23052  	groupnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)))))
 23053  	if !(groupnumber == 0) {
 23054  		goto __75
 23055  	}
 23056  	rgroup = codestart
 23057  	goto __76
 23058  __75:
 23059  
 23060  	search_from = codestart
 23061  	rgroup = uintptr(0)
 23062  	i = Tuint32_t(0)
 23063  	p1 = start
 23064  __77:
 23065  	if !(i < ccount) {
 23066  		goto __79
 23067  	}
 23068  
 23069  	if !(groupnumber == (*Trecurse_cache)(unsafe.Pointer(bp+17588+uintptr(p1)*8)).Fgroupnumber) {
 23070  		goto __80
 23071  	}
 23072  
 23073  	rgroup = (*Trecurse_cache)(unsafe.Pointer(bp + 17588 + uintptr(p1)*8)).Fgroup
 23074  	goto __79
 23075  __80:
 23076  	;
 23077  
 23078  	// Group n+1 must always start to the right of group n, so we can save
 23079  	//         search time below when the new group number is greater than any of the
 23080  	//         previously found groups.
 23081  
 23082  	if !(groupnumber > (*Trecurse_cache)(unsafe.Pointer(bp+17588+uintptr(p1)*8)).Fgroupnumber) {
 23083  		goto __81
 23084  	}
 23085  	search_from = (*Trecurse_cache)(unsafe.Pointer(bp + 17588 + uintptr(p1)*8)).Fgroup
 23086  __81:
 23087  	;
 23088  	goto __78
 23089  __78:
 23090  	i++
 23091  	p1 = (p1 + 1) & 7
 23092  	goto __77
 23093  	goto __79
 23094  __79:
 23095  	;
 23096  
 23097  	if !(rgroup == uintptr(0)) {
 23098  		goto __82
 23099  	}
 23100  
 23101  	rgroup = X_pcre2_find_bracket_8(tls, search_from, utf, groupnumber)
 23102  	if !(rgroup == uintptr(0)) {
 23103  		goto __83
 23104  	}
 23105  
 23106  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR53
 23107  	goto __74
 23108  __83:
 23109  	;
 23110  	if !(libc.PreDecInt32(&start, 1) < 0) {
 23111  		goto __84
 23112  	}
 23113  	start = DRSCAN_CACHE_SIZE - 1
 23114  __84:
 23115  	;
 23116  	(*Trecurse_cache)(unsafe.Pointer(bp + 17588 + uintptr(start)*8)).Fgroupnumber = groupnumber
 23117  	(*Trecurse_cache)(unsafe.Pointer(bp + 17588 + uintptr(start)*8)).Fgroup = rgroup
 23118  	if !(ccount < uint32(DRSCAN_CACHE_SIZE)) {
 23119  		goto __85
 23120  	}
 23121  	ccount++
 23122  __85:
 23123  	;
 23124  __82:
 23125  	;
 23126  __76:
 23127  	;
 23128  
 23129  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)) = TPCRE2_UCHAR8((int32(rgroup) - int32(codestart)) / 1 >> 8)
 23130  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)) = TPCRE2_UCHAR8((int32(rgroup) - int32(codestart)) / 1 & 255)
 23131  	goto __73
 23132  __73:
 23133  	rcode = find_recurse(tls, rcode+uintptr(1)+uintptr(DLINK_SIZE), utf)
 23134  	goto __72
 23135  	goto __74
 23136  __74:
 23137  	;
 23138  __71:
 23139  	;
 23140  
 23141  	// In rare debugging situations we sometimes need to look at the compiled code
 23142  	// at this stage.
 23143  
 23144  	// Unless disabled, check whether any single character iterators can be
 23145  	// auto-possessified. The function overwrites the appropriate opcode values, so
 23146  	// the type of the pointer must be cast. NOTE: the intermediate variable "temp" is
 23147  	// used in this code because at least one compiler gives a warning about loss of
 23148  	// "const" attribute if the cast (PCRE2_UCHAR *)codestart is used directly in the
 23149  	// function call.
 23150  
 23151  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) == 0 && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_AUTO_POSSESS == Tuint32_t(0)) {
 23152  		goto __86
 23153  	}
 23154  
 23155  	temp = codestart
 23156  	if !(X_pcre2_auto_possessify_8(tls, temp, bp+17360) != 0) {
 23157  		goto __87
 23158  	}
 23159  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR80
 23160  __87:
 23161  	;
 23162  __86:
 23163  	;
 23164  
 23165  	// Failed to compile, or error while post-processing.
 23166  
 23167  	if !(*(*int32)(unsafe.Pointer(bp + 17564)) != 0) {
 23168  		goto __88
 23169  	}
 23170  	goto HAD_CB_ERROR
 23171  __88:
 23172  	;
 23173  
 23174  	// Successful compile. If the anchored option was not passed, set it if
 23175  	// we can determine that the pattern is anchored by virtue of ^ characters or \A
 23176  	// or anything else, such as starting with non-atomic .* when DOTALL is set and
 23177  	// there are no occurrences of *PRUNE or *SKIP (though there is an option to
 23178  	// disable this case).
 23179  
 23180  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_anchored(tls, codestart, uint32(0), bp+17360, 0, DFALSE) != 0) {
 23181  		goto __89
 23182  	}
 23183  	*(*Tuint32_t)(unsafe.Pointer(re + 64)) |= DPCRE2_ANCHORED
 23184  __89:
 23185  	;
 23186  
 23187  	// Set up the first code unit or startline flag, the required code unit, and
 23188  	// then study the pattern. This code need not be obeyed if PCRE2_NO_START_OPTIMIZE
 23189  	// is set, as the data it would create will not be used. Note that a first code
 23190  	// unit (but not the startline flag) is useful for anchored patterns because it
 23191  	// can still give a quick "no match" and also avoid searching for a last code
 23192  	// unit.
 23193  
 23194  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 23195  		goto __90
 23196  	}
 23197  
 23198  	minminlength = 0 // For minimal minlength from first/required CU
 23199  
 23200  	// If we do not have a first code unit, see if there is one that is asserted
 23201  	//   (these are not saved during the compile because they can cause conflicts with
 23202  	//   actual literals that follow).
 23203  
 23204  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17572)) >= DREQ_NONE) {
 23205  		goto __91
 23206  	}
 23207  	*(*Tuint32_t)(unsafe.Pointer(bp + 17568 /* firstcu */)) = find_firstassertedcu(tls, codestart, bp+17572, uint32(0))
 23208  __91:
 23209  	;
 23210  
 23211  	// Save the data for a first code unit. The existence of one means the
 23212  	//   minimum length must be at least 1.
 23213  
 23214  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17572)) < DREQ_NONE) {
 23215  		goto __92
 23216  	}
 23217  
 23218  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17568 /* firstcu */))
 23219  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_FIRSTSET)
 23220  	minminlength++
 23221  
 23222  	// Handle caseless first code units.
 23223  
 23224  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17572))&DREQ_CASELESS != Tuint32_t(0)) {
 23225  		goto __94
 23226  	}
 23227  
 23228  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17568)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17568)) < Tuint32_t(255)) {
 23229  		goto __95
 23230  	}
 23231  
 23232  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17568)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17568))) {
 23233  		goto __97
 23234  	}
 23235  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23236  __97:
 23237  	;
 23238  	goto __96
 23239  __95:
 23240  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17568)))+(*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 + 17568)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17568)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17568))) {
 23241  		goto __98
 23242  	}
 23243  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23244  __98:
 23245  	;
 23246  __96:
 23247  	;
 23248  __94:
 23249  	;
 23250  	goto __93
 23251  __92:
 23252  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_startline(tls, codestart, uint32(0), bp+17360, 0, DFALSE) != 0) {
 23253  		goto __99
 23254  	}
 23255  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_STARTLINE)
 23256  __99:
 23257  	;
 23258  __93:
 23259  	;
 23260  
 23261  	// Handle the "required code unit", if one is set. In the UTF case we can
 23262  	//   increment the minimum minimum length only if we are sure this really is a
 23263  	//   different character and not a non-starting code unit of the first character,
 23264  	//   because the minimum length count is in characters, not code units.
 23265  
 23266  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17580)) < DREQ_NONE) {
 23267  		goto __100
 23268  	}
 23269  
 23270  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17572)) >= DREQ_NONE || *(*Tuint32_t)(unsafe.Pointer(bp + 17568))&Tuint32_t(0x80) == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17576))&Tuint32_t(0x80) == Tuint32_t(0)) {
 23271  		goto __101
 23272  	} /* Req is ASCII */
 23273  
 23274  	minminlength++
 23275  __101:
 23276  	;
 23277  
 23278  	// In the case of an anchored pattern, set up the value only if it follows
 23279  	//     a variable length item in the pattern.
 23280  
 23281  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17580))&DREQ_VARY != Tuint32_t(0)) {
 23282  		goto __102
 23283  	}
 23284  
 23285  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17576 /* reqcu */))
 23286  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_LASTSET)
 23287  
 23288  	// Handle caseless required code units as for first code units (above).
 23289  
 23290  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17580))&DREQ_CASELESS != Tuint32_t(0)) {
 23291  		goto __103
 23292  	}
 23293  
 23294  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17576)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17576)) < Tuint32_t(255)) {
 23295  		goto __104
 23296  	}
 23297  
 23298  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17576)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17576))) {
 23299  		goto __106
 23300  	}
 23301  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23302  __106:
 23303  	;
 23304  	goto __105
 23305  __104:
 23306  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17576)))+(*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 + 17576)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17576)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17576))) {
 23307  		goto __107
 23308  	}
 23309  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23310  __107:
 23311  	;
 23312  __105:
 23313  	;
 23314  __103:
 23315  	;
 23316  __102:
 23317  	;
 23318  __100:
 23319  	;
 23320  
 23321  	// Study the compiled pattern to set up information such as a bitmap of
 23322  	//   starting code units and a minimum matching length.
 23323  
 23324  	if !(X_pcre2_study_8(tls, re) != 0) {
 23325  		goto __108
 23326  	}
 23327  
 23328  	*(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */)) = ERR31
 23329  	goto HAD_CB_ERROR
 23330  __108:
 23331  	;
 23332  
 23333  	// If study() set a bitmap of starting code units, it implies a minimum
 23334  	//   length of at least one.
 23335  
 23336  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) && minminlength == 0) {
 23337  		goto __109
 23338  	}
 23339  	minminlength = 1
 23340  __109:
 23341  	;
 23342  
 23343  	// If the minimum length set (or not set) by study() is less than the minimum
 23344  	//   implied by required code units, override it.
 23345  
 23346  	if !(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength) < minminlength) {
 23347  		goto __110
 23348  	}
 23349  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(minminlength)
 23350  __110:
 23351  	;
 23352  __90:
 23353  	; // End of start-of-match optimizations.
 23354  
 23355  	// Control ends up here in all cases. When running under valgrind, make a
 23356  	// pattern's terminating zero defined again. If memory was obtained for the parsed
 23357  	// version of the pattern, free it before returning. Also free the list of named
 23358  	// groups if a larger one had to be obtained, and likewise the group information
 23359  	// vector.
 23360  
 23361  EXIT:
 23362  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fparsed_pattern != bp+13264) {
 23363  		goto __111
 23364  	}
 23365  	(*struct {
 23366  		f func(*libc.TLS, uintptr, uintptr)
 23367  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fparsed_pattern, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23368  __111:
 23369  	;
 23370  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 23371  		goto __112
 23372  	}
 23373  	(*struct {
 23374  		f func(*libc.TLS, uintptr, uintptr)
 23375  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fnamed_groups, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23376  __112:
 23377  	;
 23378  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Fgroupinfo != bp+12000) {
 23379  		goto __113
 23380  	}
 23381  	(*struct {
 23382  		f func(*libc.TLS, uintptr, uintptr)
 23383  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17360 /* &cb */)).Fgroupinfo, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23384  __113:
 23385  	;
 23386  	return re // Will be NULL after an error
 23387  
 23388  	// Errors discovered in parse_regex() set the offset value in the compile
 23389  	// block. Errors discovered before it is called must compute it from the ptr
 23390  	// value. After parse_regex() is called, the offset in the compile block is set to
 23391  	// the end of the pattern, but certain errors in compile_regex() may reset it if
 23392  	// an offset is available in the parsed pattern.
 23393  
 23394  HAD_CB_ERROR:
 23395  	ptr = pattern + uintptr((*Tcompile_block_8)(unsafe.Pointer(bp+17360)).Ferroroffset)
 23396  
 23397  HAD_EARLY_ERROR:
 23398  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int32(ptr) - int32(pattern)) / 1)
 23399  
 23400  HAD_ERROR:
 23401  	*(*int32)(unsafe.Pointer(errorptr)) = *(*int32)(unsafe.Pointer(bp + 17564 /* errorcode */))
 23402  	Xpcre2_code_free_8(tls, re)
 23403  	re = uintptr(0)
 23404  	goto EXIT
 23405  	return uintptr(0)
 23406  }
 23407  
 23408  // End of pcre2_compile.c
 23409  
 23410  // ************************************************
 23411  //
 23412  //      Perl-Compatible Regular Expressions       *
 23413  //
 23414  
 23415  // PCRE is a library of functions to support regular expressions whose syntax
 23416  // and semantics are as close as possible to those of the Perl 5 language.
 23417  //
 23418  //                        Written by Philip Hazel
 23419  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 23420  //           New API code Copyright (c) 2016-2020 University of Cambridge
 23421  //
 23422  // -----------------------------------------------------------------------------
 23423  // Redistribution and use in source and binary forms, with or without
 23424  // modification, are permitted provided that the following conditions are met:
 23425  //
 23426  //     * Redistributions of source code must retain the above copyright notice,
 23427  //       this list of conditions and the following disclaimer.
 23428  //
 23429  //     * Redistributions in binary form must reproduce the above copyright
 23430  //       notice, this list of conditions and the following disclaimer in the
 23431  //       documentation and/or other materials provided with the distribution.
 23432  //
 23433  //     * Neither the name of the University of Cambridge nor the names of its
 23434  //       contributors may be used to endorse or promote products derived from
 23435  //       this software without specific prior written permission.
 23436  //
 23437  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 23438  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 23439  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23440  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 23441  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 23442  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 23443  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 23444  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 23445  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 23446  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 23447  // POSSIBILITY OF SUCH DAMAGE.
 23448  // -----------------------------------------------------------------------------
 23449  
 23450  // src/config.h.  Generated from config.h.in by configure.
 23451  // src/config.h.in.  Generated from configure.ac by autoheader.
 23452  
 23453  // PCRE2 is written in Standard C, but there are a few non-standard things it
 23454  // can cope with, allowing it to run on SunOS4 and other "close to standard"
 23455  // systems.
 23456  //
 23457  // In environments that support the GNU autotools, config.h.in is converted into
 23458  // config.h by the "configure" script. In environments that use CMake,
 23459  // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
 23460  // hand" without using "configure" or CMake, you should copy the distributed
 23461  // config.h.generic to config.h, and edit the macro definitions to be the way you
 23462  // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
 23463  // so that config.h is included at the start of every source.
 23464  //
 23465  // Alternatively, you can avoid editing by using -D on the compiler command line
 23466  // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
 23467  // but if you do, default values will be taken from config.h for non-boolean
 23468  // macros that are not defined on the command line.
 23469  //
 23470  // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be
 23471  // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All
 23472  // such macros are listed as a commented #undef in config.h.generic. Macros such
 23473  // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
 23474  // surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
 23475  //
 23476  // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
 23477  // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
 23478  // sure both macros are undefined; an emulation function will then be used.
 23479  
 23480  // By default, the \R escape sequence matches any Unicode line ending
 23481  //    character or sequence of characters. If BSR_ANYCRLF is defined (to any
 23482  //    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
 23483  //    The build-time default can be overridden by the user of PCRE2 at runtime.
 23484  //
 23485  // #undef BSR_ANYCRLF
 23486  
 23487  // Define to any value to disable the use of the z and t modifiers in
 23488  //    formatting settings such as %zu or %td (this is rarely needed).
 23489  // #undef DISABLE_PERCENT_ZT
 23490  
 23491  // If you are compiling for a system that uses EBCDIC instead of ASCII
 23492  //    character codes, define this macro to any value. When EBCDIC is set, PCRE2
 23493  //    assumes that all input strings are in EBCDIC. If you do not define this
 23494  //    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
 23495  //    is not possible to build a version of PCRE2 that supports both EBCDIC and
 23496  //    UTF-8/16/32.
 23497  // #undef EBCDIC
 23498  
 23499  // In an EBCDIC environment, define this macro to any value to arrange for the
 23500  //    NL character to be 0x25 instead of the default 0x15. NL plays the role that
 23501  //    LF does in an ASCII/Unicode environment.
 23502  // #undef EBCDIC_NL25
 23503  
 23504  // Define this if your compiler supports __attribute__((uninitialized))
 23505  // #undef HAVE_ATTRIBUTE_UNINITIALIZED
 23506  
 23507  // Define to 1 if you have the `bcopy' function.
 23508  
 23509  // Define to 1 if you have the <bzlib.h> header file.
 23510  
 23511  // Define to 1 if you have the <dirent.h> header file.
 23512  
 23513  // Define to 1 if you have the <dlfcn.h> header file.
 23514  
 23515  // Define to 1 if you have the <editline/readline.h> header file.
 23516  // #undef HAVE_EDITLINE_READLINE_H
 23517  
 23518  // Define to 1 if you have the <edit/readline/readline.h> header file.
 23519  // #undef HAVE_EDIT_READLINE_READLINE_H
 23520  
 23521  // Define to 1 if you have the <inttypes.h> header file.
 23522  
 23523  // Define to 1 if you have the <limits.h> header file.
 23524  
 23525  // Define to 1 if you have the `memfd_create' function.
 23526  
 23527  // Define to 1 if you have the `memmove' function.
 23528  
 23529  // Define to 1 if you have the <minix/config.h> header file.
 23530  // #undef HAVE_MINIX_CONFIG_H
 23531  
 23532  // Define to 1 if you have the `mkostemp' function.
 23533  
 23534  // Define if you have POSIX threads libraries and header files.
 23535  // #undef HAVE_PTHREAD
 23536  
 23537  // Have PTHREAD_PRIO_INHERIT.
 23538  // #undef HAVE_PTHREAD_PRIO_INHERIT
 23539  
 23540  // Define to 1 if you have the <readline.h> header file.
 23541  // #undef HAVE_READLINE_H
 23542  
 23543  // Define to 1 if you have the <readline/history.h> header file.
 23544  // #undef HAVE_READLINE_HISTORY_H
 23545  
 23546  // Define to 1 if you have the <readline/readline.h> header file.
 23547  // #undef HAVE_READLINE_READLINE_H
 23548  
 23549  // Define to 1 if you have the `realpath' function.
 23550  
 23551  // Define to 1 if you have the `secure_getenv' function.
 23552  
 23553  // Define to 1 if you have the <stdint.h> header file.
 23554  
 23555  // Define to 1 if you have the <stdio.h> header file.
 23556  
 23557  // Define to 1 if you have the <stdlib.h> header file.
 23558  
 23559  // Define to 1 if you have the `strerror' function.
 23560  
 23561  // Define to 1 if you have the <strings.h> header file.
 23562  
 23563  // Define to 1 if you have the <string.h> header file.
 23564  
 23565  // Define to 1 if you have the <sys/stat.h> header file.
 23566  
 23567  // Define to 1 if you have the <sys/types.h> header file.
 23568  
 23569  // Define to 1 if you have the <sys/wait.h> header file.
 23570  
 23571  // Define to 1 if you have the <unistd.h> header file.
 23572  
 23573  // Define to 1 if the compiler supports simple visibility declarations.
 23574  
 23575  // Define to 1 if you have the <wchar.h> header file.
 23576  
 23577  // Define to 1 if you have the <windows.h> header file.
 23578  // #undef HAVE_WINDOWS_H
 23579  
 23580  // Define to 1 if you have the <zlib.h> header file.
 23581  
 23582  // This limits the amount of memory that may be used while matching a pattern.
 23583  //    It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply
 23584  //    to JIT matching. The value is in kibibytes (units of 1024 bytes).
 23585  
 23586  // The value of LINK_SIZE determines the number of bytes used to store links
 23587  //    as offsets within the compiled regex. The default is 2, which allows for
 23588  //    compiled patterns up to 65535 code units long. This covers the vast
 23589  //    majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes
 23590  //    instead. This allows for longer patterns in extreme cases.
 23591  
 23592  // Define to the sub-directory where libtool stores uninstalled libraries.
 23593  
 23594  // The value of MATCH_LIMIT determines the default number of times the
 23595  //    pcre2_match() function can record a backtrack position during a single
 23596  //    matching attempt. The value is also used to limit a loop counter in
 23597  //    pcre2_dfa_match(). There is a runtime interface for setting a different
 23598  //    limit. The limit exists in order to catch runaway regular expressions that
 23599  //    take for ever to determine that they do not match. The default is set very
 23600  //    large so that it does not accidentally catch legitimate cases.
 23601  
 23602  // The above limit applies to all backtracks, whether or not they are nested.
 23603  //    In some environments it is desirable to limit the nesting of backtracking
 23604  //    (that is, the depth of tree that is searched) more strictly, in order to
 23605  //    restrict the maximum amount of heap memory that is used. The value of
 23606  //    MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it
 23607  //    must be less than the value of MATCH_LIMIT. The default is to use the same
 23608  //    value as MATCH_LIMIT. There is a runtime method for setting a different
 23609  //    limit. In the case of pcre2_dfa_match(), this limit controls the depth of
 23610  //    the internal nested function calls that are used for pattern recursions,
 23611  //    lookarounds, and atomic groups.
 23612  
 23613  // This limit is parameterized just in case anybody ever wants to change it.
 23614  //    Care must be taken if it is increased, because it guards against integer
 23615  //    overflow caused by enormously large patterns.
 23616  
 23617  // This limit is parameterized just in case anybody ever wants to change it.
 23618  //    Care must be taken if it is increased, because it guards against integer
 23619  //    overflow caused by enormously large patterns.
 23620  
 23621  // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.
 23622  // #undef NEVER_BACKSLASH_C
 23623  
 23624  // The value of NEWLINE_DEFAULT determines the default newline character
 23625  //    sequence. PCRE2 client programs can override this by selecting other values
 23626  //    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5
 23627  //    (ANYCRLF), and 6 (NUL).
 23628  
 23629  // Name of package
 23630  
 23631  // Define to the address where bug reports for this package should be sent.
 23632  
 23633  // Define to the full name of this package.
 23634  
 23635  // Define to the full name and version of this package.
 23636  
 23637  // Define to the one symbol short name of this package.
 23638  
 23639  // Define to the home page for this package.
 23640  
 23641  // Define to the version of this package.
 23642  
 23643  // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
 23644  //    parentheses (of any kind) in a pattern. This limits the amount of system
 23645  //    stack that is used while compiling a pattern.
 23646  
 23647  // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by
 23648  //    pcre2grep to hold parts of the file it is searching. The buffer will be
 23649  //    expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing
 23650  //    very long lines. The actual amount of memory used by pcre2grep is three
 23651  //    times this number, because it allows for the buffering of "before" and
 23652  //    "after" lines.
 23653  
 23654  // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer
 23655  //    used by pcre2grep to hold parts of the file it is searching. The actual
 23656  //    amount of memory used by pcre2grep is three times this number, because it
 23657  //    allows for the buffering of "before" and "after" lines.
 23658  
 23659  // to make a symbol visible
 23660  
 23661  // to make a symbol visible
 23662  
 23663  // Define to any value to include debugging code.
 23664  // #undef PCRE2_DEBUG
 23665  
 23666  // to make a symbol visible
 23667  
 23668  // If you are compiling for a system other than a Unix-like system or
 23669  //    Win32, and it needs some magic to be inserted before the definition
 23670  //    of a function that is exported by the library, define this macro to
 23671  //    contain the relevant magic. If you do not define this macro, a suitable
 23672  //     __declspec value is used for Windows systems; in other environments
 23673  //    "extern" is used for a C compiler and "extern C" for a C++ compiler.
 23674  //    This macro apears at the start of every exported function that is part
 23675  //    of the external API. It does not appear on functions that are "external"
 23676  //    in the C sense, but which are internal to the library.
 23677  
 23678  // Define to any value if linking statically (TODO: make nice with Libtool)
 23679  
 23680  // Define to necessary symbol if this constant uses a non-standard name on
 23681  //    your system.
 23682  // #undef PTHREAD_CREATE_JOINABLE
 23683  
 23684  // Define to any non-zero number to enable support for SELinux compatible
 23685  //    executable memory allocator in JIT. Note that this will have no effect
 23686  //    unless SUPPORT_JIT is also defined.
 23687  // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR
 23688  
 23689  // Define to 1 if all of the C90 standard headers exist (not just the ones
 23690  //    required in a freestanding environment). This macro is provided for
 23691  //    backward compatibility; new code need not use it.
 23692  
 23693  // Define to any value to enable support for Just-In-Time compiling.
 23694  // #undef SUPPORT_JIT
 23695  
 23696  // Define to any value to allow pcre2grep to be linked with libbz2, so that it
 23697  //    is able to handle .bz2 files.
 23698  // #undef SUPPORT_LIBBZ2
 23699  
 23700  // Define to any value to allow pcre2test to be linked with libedit.
 23701  // #undef SUPPORT_LIBEDIT
 23702  
 23703  // Define to any value to allow pcre2test to be linked with libreadline.
 23704  // #undef SUPPORT_LIBREADLINE
 23705  
 23706  // Define to any value to allow pcre2grep to be linked with libz, so that it
 23707  //    is able to handle .gz files.
 23708  // #undef SUPPORT_LIBZ
 23709  
 23710  // Define to any value to enable callout script support in pcre2grep.
 23711  
 23712  // Define to any value to enable fork support in pcre2grep callout scripts.
 23713  //    This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined.
 23714  //
 23715  
 23716  // Define to any value to enable JIT support in pcre2grep. Note that this will
 23717  //    have no effect unless SUPPORT_JIT is also defined.
 23718  // #undef SUPPORT_PCRE2GREP_JIT
 23719  
 23720  // Define to any value to enable the 16 bit PCRE2 library.
 23721  // #undef SUPPORT_PCRE2_16
 23722  
 23723  // Define to any value to enable the 32 bit PCRE2 library.
 23724  // #undef SUPPORT_PCRE2_32
 23725  
 23726  // Define to any value to enable the 8 bit PCRE2 library.
 23727  
 23728  // Define to any value to enable support for Unicode and UTF encoding. This
 23729  //    will work even in an EBCDIC environment, but it is incompatible with the
 23730  //    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
 23731  //    ASCII/Unicode, but not both at once.
 23732  
 23733  // Define to any value for valgrind support to find invalid memory reads.
 23734  // #undef SUPPORT_VALGRIND
 23735  
 23736  // Enable extensions on AIX 3, Interix.
 23737  // Enable general extensions on macOS.
 23738  // Enable general extensions on Solaris.
 23739  // Enable GNU extensions on systems that have them.
 23740  // Enable X/Open compliant socket functions that do not require linking
 23741  //    with -lxnet on HP-UX 11.11.
 23742  // Identify the host operating system as Minix.
 23743  //    This macro does not affect the system headers' behavior.
 23744  //    A future release of Autoconf may stop defining this macro.
 23745  // # undef _MINIX
 23746  // Enable general extensions on NetBSD.
 23747  //    Enable NetBSD compatibility extensions on Minix.
 23748  // Enable OpenBSD compatibility extensions on NetBSD.
 23749  //    Oddly enough, this does nothing on OpenBSD.
 23750  // Define to 1 if needed for POSIX-compatible behavior.
 23751  // # undef _POSIX_SOURCE
 23752  // Define to 2 if needed for POSIX-compatible behavior.
 23753  // # undef _POSIX_1_SOURCE
 23754  // Enable POSIX-compatible threading on Solaris.
 23755  // Enable extensions specified by ISO/IEC TS 18661-5:2014.
 23756  // Enable extensions specified by ISO/IEC TS 18661-1:2014.
 23757  // Enable extensions specified by ISO/IEC TS 18661-2:2015.
 23758  // Enable extensions specified by ISO/IEC TS 18661-4:2015.
 23759  // Enable extensions specified by ISO/IEC TS 18661-3:2015.
 23760  // Enable extensions specified by ISO/IEC TR 24731-2:2010.
 23761  // Enable extensions specified by ISO/IEC 24747:2009.
 23762  // Enable extensions on HP NonStop.
 23763  // Enable X/Open extensions.  Define to 500 only if necessary
 23764  //    to make mbstate_t available.
 23765  // # undef _XOPEN_SOURCE
 23766  
 23767  // Version number of package
 23768  
 23769  // Define to empty if `const' does not conform to ANSI C.
 23770  // #undef const
 23771  
 23772  // Define to the type of a signed integer type of width exactly 64 bits if
 23773  //    such a type exists and the standard includes do not define it.
 23774  // #undef int64_t
 23775  
 23776  // Define to `unsigned int' if <sys/types.h> does not define.
 23777  // #undef size_t
 23778  
 23779  // Save the configured link size, which is in bytes. In 16-bit and 32-bit modes
 23780  // its value gets changed by pcre2_intmodedep.h (included by pcre2_internal.h) to
 23781  // be in code units.
 23782  
 23783  var configured_link_size int32 = DLINK_SIZE /* pcre2_config.c:49:12 */
 23784  
 23785  // This function is needed only when memmove() is not available.
 23786  
 23787  // End of pcre2_internal.h
 23788  
 23789  // These macros are the standard way of turning unquoted text into C strings.
 23790  // They allow macros like PCRE2_MAJOR to be defined without quotes, which is
 23791  // convenient for user programs that want to test their values.
 23792  
 23793  // ************************************************
 23794  //
 23795  // Return info about what features are configured *
 23796  //
 23797  
 23798  // If where is NULL, the length of memory required is returned.
 23799  //
 23800  // Arguments:
 23801  //   what             what information is required
 23802  //   where            where to put the information
 23803  //
 23804  // Returns:           0 if a numerical value is returned
 23805  //                    >= 0 if a string value
 23806  //                    PCRE2_ERROR_BADOPTION if "where" not recognized
 23807  //                      or JIT target requested when JIT not enabled
 23808  
 23809  func Xpcre2_config_8(tls *libc.TLS, what Tuint32_t, where uintptr) int32 { /* pcre2_config.c:78:1: */
 23810  	if where == uintptr(0) {
 23811  		switch what {
 23812  		default:
 23813  			return -34
 23814  			fallthrough
 23815  
 23816  		case Tuint32_t(DPCRE2_CONFIG_BSR):
 23817  			fallthrough
 23818  		case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23819  			fallthrough
 23820  		case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23821  			fallthrough
 23822  		case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23823  			fallthrough
 23824  		case Tuint32_t(DPCRE2_CONFIG_JIT):
 23825  			fallthrough
 23826  		case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23827  			fallthrough
 23828  		case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23829  			fallthrough
 23830  		case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23831  			fallthrough
 23832  		case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23833  			fallthrough
 23834  		case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23835  			fallthrough
 23836  		case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23837  			fallthrough // Obsolete
 23838  		case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23839  			fallthrough
 23840  		case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23841  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 23842  			fallthrough
 23843  
 23844  		// These are handled below
 23845  
 23846  		case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23847  			fallthrough
 23848  		case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23849  			fallthrough
 23850  		case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23851  			break
 23852  		}
 23853  	}
 23854  
 23855  	switch what {
 23856  	default:
 23857  		return -34
 23858  
 23859  	case Tuint32_t(DPCRE2_CONFIG_BSR):
 23860  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPCRE2_BSR_UNICODE)
 23861  		break
 23862  
 23863  	case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23864  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0 +
 23865  			1)
 23866  		break
 23867  
 23868  	case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23869  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23870  		break
 23871  
 23872  	case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23873  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DHEAP_LIMIT)
 23874  		break
 23875  
 23876  	case Tuint32_t(DPCRE2_CONFIG_JIT):
 23877  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23878  		break
 23879  
 23880  	case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23881  		return -34
 23882  
 23883  	case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23884  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(configured_link_size)
 23885  		break
 23886  
 23887  	case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23888  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23889  		break
 23890  
 23891  	case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23892  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DNEWLINE_DEFAULT)
 23893  		break
 23894  
 23895  	case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23896  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23897  		break
 23898  
 23899  	case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23900  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPARENS_NEST_LIMIT)
 23901  		break
 23902  
 23903  	// This is now obsolete. The stack is no longer used via recursion for
 23904  	//   handling backtracking in pcre2_match().
 23905  
 23906  	case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23907  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23908  		break
 23909  
 23910  	case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23911  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(Dcbits_offset + Dcbit_length + 256)
 23912  		break
 23913  
 23914  	case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23915  		{
 23916  			var v uintptr = X_pcre2_unicode_version_8
 23917  			return int32(Tsize_t(1) + func() uint32 {
 23918  				if where == uintptr(0) {
 23919  					return libc.Xstrlen(tls, v)
 23920  				}
 23921  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23922  			}())
 23923  
 23924  		}
 23925  		break
 23926  
 23927  	case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23928  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(1)
 23929  		break
 23930  
 23931  	// The hackery in setting "v" below is to cope with the case when
 23932  	//   PCRE2_PRERELEASE is set to an empty string (which it is for real releases).
 23933  	//   If the second alternative is used in this case, it does not leave a space
 23934  	//   before the date. On the other hand, if all four macros are put into a single
 23935  	//   XSTRING when PCRE2_PRERELEASE is not empty, an unwanted space is inserted.
 23936  	//   There are problems using an "obvious" approach like this:
 23937  	//
 23938  	//      XSTRING(PCRE2_MAJOR) "." XSTRING(PCRE_MINOR)
 23939  	//      XSTRING(PCRE2_PRERELEASE) " " XSTRING(PCRE_DATE)
 23940  	//
 23941  	//   because, when PCRE2_PRERELEASE is empty, this leads to an attempted expansion
 23942  	//   of STRING(). The C standard states: "If (before argument substitution) any
 23943  	//   argument consists of no preprocessing tokens, the behavior is undefined." It
 23944  	//   turns out the gcc treats this case as a single empty string - which is what
 23945  	//   we really want - but Visual C grumbles about the lack of an argument for the
 23946  	//   macro. Unfortunately, both are within their rights. As there seems to be no
 23947  	//   way to test for a macro's value being empty at compile time, we have to
 23948  	//   resort to a runtime test.
 23949  
 23950  	case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23951  		{
 23952  			var v uintptr
 23953  			if int32(*(*int8)(unsafe.Pointer(ts + 630 + 1))) == 0 {
 23954  				v = ts + 632 /* "10.40 2022-04-14" */
 23955  			} else {
 23956  				v = ts + 649 /* "10.402022-04-14" */
 23957  			}
 23958  			return int32(Tsize_t(1) + func() uint32 {
 23959  				if where == uintptr(0) {
 23960  					return libc.Xstrlen(tls, v)
 23961  				}
 23962  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23963  			}())
 23964  
 23965  		}
 23966  	}
 23967  
 23968  	return 0
 23969  }
 23970  
 23971  // End of pcre2_config.c
 23972  
 23973  // This function is needed only when memmove() is not available.
 23974  
 23975  // End of pcre2_internal.h
 23976  
 23977  // ************************************************
 23978  //
 23979  //          Default malloc/free functions         *
 23980  //
 23981  
 23982  // Ignore the "user data" argument in each case.
 23983  
 23984  func default_malloc(tls *libc.TLS, size Tsize_t, data uintptr) uintptr { /* pcre2_context.c:56:13: */
 23985  	_ = data
 23986  	return libc.Xmalloc(tls, size)
 23987  }
 23988  
 23989  func default_free(tls *libc.TLS, block uintptr, data uintptr) { /* pcre2_context.c:63:13: */
 23990  	_ = data
 23991  	libc.Xfree(tls, block)
 23992  }
 23993  
 23994  // ************************************************
 23995  //
 23996  //        Get a block and save memory control     *
 23997  //
 23998  
 23999  // This internal function is called to get a block of memory in which the
 24000  // memory control data is to be stored at the start for future use.
 24001  //
 24002  // Arguments:
 24003  //   size        amount of memory required
 24004  //   memctl      pointer to a memctl block or NULL
 24005  //
 24006  // Returns:      pointer to memory or NULL on failure
 24007  
 24008  func X_pcre2_memctl_malloc_8(tls *libc.TLS, size Tsize_t, memctl uintptr) uintptr { /* pcre2_context.c:85:13: */
 24009  	var newmemctl uintptr
 24010  	var yield uintptr
 24011  	if memctl == uintptr(0) {
 24012  		yield = libc.Xmalloc(tls, size)
 24013  	} else {
 24014  		yield = (*struct {
 24015  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24016  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, size, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 24017  	}
 24018  	if yield == uintptr(0) {
 24019  		return uintptr(0)
 24020  	}
 24021  	newmemctl = yield
 24022  	if memctl == uintptr(0) {
 24023  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmalloc = *(*uintptr)(unsafe.Pointer(&struct {
 24024  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24025  		}{default_malloc}))
 24026  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Ffree = *(*uintptr)(unsafe.Pointer(&struct {
 24027  			f func(*libc.TLS, uintptr, uintptr)
 24028  		}{default_free}))
 24029  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmemory_data = uintptr(0)
 24030  	} else {
 24031  		*(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)) = *(*Tpcre2_memctl)(unsafe.Pointer(memctl))
 24032  	}
 24033  	return yield
 24034  }
 24035  
 24036  // ************************************************
 24037  //
 24038  //          Create and initialize contexts        *
 24039  //
 24040  
 24041  // Initializing for compile and match contexts is done in separate, private
 24042  // functions so that these can be called from functions such as pcre2_compile()
 24043  // when an external context is not supplied. The initializing functions have an
 24044  // option to set up default memory management.
 24045  
 24046  func Xpcre2_general_context_create_8(tls *libc.TLS, private_malloc uintptr, private_free uintptr, memory_data uintptr) uintptr { /* pcre2_context.c:114:38: */
 24047  	var gcontext uintptr
 24048  	if private_malloc == uintptr(0) {
 24049  		private_malloc = *(*uintptr)(unsafe.Pointer(&struct {
 24050  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24051  		}{default_malloc}))
 24052  	}
 24053  	if private_free == uintptr(0) {
 24054  		private_free = *(*uintptr)(unsafe.Pointer(&struct {
 24055  			f func(*libc.TLS, uintptr, uintptr)
 24056  		}{default_free}))
 24057  	}
 24058  	gcontext = (*struct {
 24059  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24060  	})(unsafe.Pointer(&struct{ uintptr }{private_malloc})).f(tls, uint32(unsafe.Sizeof(Tpcre2_real_general_context_8{})), memory_data)
 24061  	if gcontext == uintptr(0) {
 24062  		return uintptr(0)
 24063  	}
 24064  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc = private_malloc
 24065  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree = private_free
 24066  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data = memory_data
 24067  	return gcontext
 24068  }
 24069  
 24070  // A default compile context is set up to save having to initialize at run time
 24071  // when no context is supplied to the compile function.
 24072  
 24073  var X_pcre2_default_compile_context_8 = Tpcre2_compile_context_8{
 24074  	Fmemctl:             Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Stack guard data
 24075  	Ftables:             0,                                   // Character tables
 24076  	Fmax_pattern_length: libc.CplUint32(Tsize_t(0)),
 24077  	Fbsr_convention:     Tuint16_t(DPCRE2_BSR_UNICODE), // Backslash R default
 24078  	Fnewline_convention: Tuint16_t(DNEWLINE_DEFAULT),   // Newline convention
 24079  	Fparens_nest_limit:  Tuint32_t(DPARENS_NEST_LIMIT)} /* pcre2_context.c:133:29 */
 24080  
 24081  // Extra options
 24082  
 24083  // The create function copies the default into the new memory, but must
 24084  // override the default memory handling functions if a gcontext was provided.
 24085  
 24086  func Xpcre2_compile_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:147:38: */
 24087  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24088  		uint32(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), gcontext)
 24089  	if ccontext == uintptr(0) {
 24090  		return uintptr(0)
 24091  	}
 24092  	*(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_compile_context_8
 24093  	if gcontext != uintptr(0) {
 24094  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24095  	}
 24096  	return ccontext
 24097  }
 24098  
 24099  // A default match context is set up to save having to initialize at run time
 24100  // when no context is supplied to a match function.
 24101  
 24102  var X_pcre2_default_match_context_8 = Tpcre2_match_context_8{
 24103  	Fmemctl:       Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Substitute callout data
 24104  	Foffset_limit: libc.CplUint32(Tsize_t(0)),
 24105  	Fheap_limit:   Tuint32_t(DHEAP_LIMIT),
 24106  	Fmatch_limit:  Tuint32_t(DMATCH_LIMIT),
 24107  	Fdepth_limit:  Tuint32_t(DMATCH_LIMIT)} /* pcre2_context.c:163:27 */
 24108  
 24109  // The create function copies the default into the new memory, but must
 24110  // override the default memory handling functions if a gcontext was provided.
 24111  
 24112  func Xpcre2_match_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:181:36: */
 24113  	var mcontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24114  		uint32(unsafe.Sizeof(Tpcre2_real_match_context_8{})), gcontext)
 24115  	if mcontext == uintptr(0) {
 24116  		return uintptr(0)
 24117  	}
 24118  	*(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)) = X_pcre2_default_match_context_8
 24119  	if gcontext != uintptr(0) {
 24120  		*(*Tpcre2_memctl)(unsafe.Pointer(mcontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24121  	}
 24122  	return mcontext
 24123  }
 24124  
 24125  // A default convert context is set up to save having to initialize at run time
 24126  // when no context is supplied to the convert function.
 24127  
 24128  var X_pcre2_default_convert_context_8 = Tpcre2_convert_context_8{
 24129  	Fmemctl:         Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Default memory handling
 24130  	Fglob_separator: Tuint32_t('\057'),                   // Default path separator
 24131  	Fglob_escape:    Tuint32_t('\134'),                   // Default escape character
 24132  } /* pcre2_context.c:197:29 */
 24133  
 24134  // The create function copies the default into the new memory, but must
 24135  // override the default memory handling functions if a gcontext was provided.
 24136  
 24137  func Xpcre2_convert_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:211:38: */
 24138  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24139  		uint32(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), gcontext)
 24140  	if ccontext == uintptr(0) {
 24141  		return uintptr(0)
 24142  	}
 24143  	*(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_convert_context_8
 24144  	if gcontext != uintptr(0) {
 24145  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24146  	}
 24147  	return ccontext
 24148  }
 24149  
 24150  // ************************************************
 24151  //
 24152  //              Context copy functions            *
 24153  //
 24154  
 24155  func Xpcre2_general_context_copy_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:228:38: */
 24156  	var new uintptr = (*struct {
 24157  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24158  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint32(unsafe.Sizeof(Tpcre2_real_general_context_8{})),
 24159  		(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 24160  	if new == uintptr(0) {
 24161  		return uintptr(0)
 24162  	}
 24163  	libc.Xmemcpy(tls, new, gcontext, uint32(unsafe.Sizeof(Tpcre2_real_general_context_8{})))
 24164  	return new
 24165  }
 24166  
 24167  func Xpcre2_compile_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:240:38: */
 24168  	var new uintptr = (*struct {
 24169  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24170  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint32(unsafe.Sizeof(Tpcre2_real_compile_context_8{})),
 24171  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24172  	if new == uintptr(0) {
 24173  		return uintptr(0)
 24174  	}
 24175  	libc.Xmemcpy(tls, new, ccontext, uint32(unsafe.Sizeof(Tpcre2_real_compile_context_8{})))
 24176  	return new
 24177  }
 24178  
 24179  func Xpcre2_match_context_copy_8(tls *libc.TLS, mcontext uintptr) uintptr { /* pcre2_context.c:252:36: */
 24180  	var new uintptr = (*struct {
 24181  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24182  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmalloc})).f(tls, uint32(unsafe.Sizeof(Tpcre2_real_match_context_8{})),
 24183  		(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data)
 24184  	if new == uintptr(0) {
 24185  		return uintptr(0)
 24186  	}
 24187  	libc.Xmemcpy(tls, new, mcontext, uint32(unsafe.Sizeof(Tpcre2_real_match_context_8{})))
 24188  	return new
 24189  }
 24190  
 24191  func Xpcre2_convert_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:265:38: */
 24192  	var new uintptr = (*struct {
 24193  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24194  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint32(unsafe.Sizeof(Tpcre2_real_convert_context_8{})),
 24195  		(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24196  	if new == uintptr(0) {
 24197  		return uintptr(0)
 24198  	}
 24199  	libc.Xmemcpy(tls, new, ccontext, uint32(unsafe.Sizeof(Tpcre2_real_convert_context_8{})))
 24200  	return new
 24201  }
 24202  
 24203  // ************************************************
 24204  //
 24205  //              Context free functions            *
 24206  //
 24207  
 24208  func Xpcre2_general_context_free_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_context.c:282:1: */
 24209  	if gcontext != uintptr(0) {
 24210  		(*struct {
 24211  			f func(*libc.TLS, uintptr, uintptr)
 24212  		})(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)
 24213  	}
 24214  }
 24215  
 24216  func Xpcre2_compile_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:290:1: */
 24217  	if ccontext != uintptr(0) {
 24218  		(*struct {
 24219  			f func(*libc.TLS, uintptr, uintptr)
 24220  		})(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)
 24221  	}
 24222  }
 24223  
 24224  func Xpcre2_match_context_free_8(tls *libc.TLS, mcontext uintptr) { /* pcre2_context.c:298:1: */
 24225  	if mcontext != uintptr(0) {
 24226  		(*struct {
 24227  			f func(*libc.TLS, uintptr, uintptr)
 24228  		})(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)
 24229  	}
 24230  }
 24231  
 24232  func Xpcre2_convert_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:306:1: */
 24233  	if ccontext != uintptr(0) {
 24234  		(*struct {
 24235  			f func(*libc.TLS, uintptr, uintptr)
 24236  		})(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)
 24237  	}
 24238  }
 24239  
 24240  // ************************************************
 24241  //
 24242  //             Set values in contexts             *
 24243  //
 24244  
 24245  // All these functions return 0 for success or PCRE2_ERROR_BADDATA if invalid
 24246  // data is given. Only some of the functions are able to test the validity of the
 24247  // data.
 24248  
 24249  // ------------ Compile context ------------
 24250  
 24251  func Xpcre2_set_character_tables_8(tls *libc.TLS, ccontext uintptr, tables uintptr) int32 { /* pcre2_context.c:325:1: */
 24252  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables = tables
 24253  	return 0
 24254  }
 24255  
 24256  func Xpcre2_set_bsr_8(tls *libc.TLS, ccontext uintptr, value Tuint32_t) int32 { /* pcre2_context.c:333:1: */
 24257  	switch value {
 24258  	case Tuint32_t(DPCRE2_BSR_ANYCRLF):
 24259  		fallthrough
 24260  	case Tuint32_t(DPCRE2_BSR_UNICODE):
 24261  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention = Tuint16_t(value)
 24262  		return 0
 24263  
 24264  	default:
 24265  		return -29
 24266  	}
 24267  	return int32(0)
 24268  }
 24269  
 24270  func Xpcre2_set_max_pattern_length_8(tls *libc.TLS, ccontext uintptr, length Tsize_t) int32 { /* pcre2_context.c:348:1: */
 24271  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length = length
 24272  	return 0
 24273  }
 24274  
 24275  func Xpcre2_set_newline_8(tls *libc.TLS, ccontext uintptr, newline Tuint32_t) int32 { /* pcre2_context.c:355:1: */
 24276  	switch newline {
 24277  	case Tuint32_t(DPCRE2_NEWLINE_CR):
 24278  		fallthrough
 24279  	case Tuint32_t(DPCRE2_NEWLINE_LF):
 24280  		fallthrough
 24281  	case Tuint32_t(DPCRE2_NEWLINE_CRLF):
 24282  		fallthrough
 24283  	case Tuint32_t(DPCRE2_NEWLINE_ANY):
 24284  		fallthrough
 24285  	case Tuint32_t(DPCRE2_NEWLINE_ANYCRLF):
 24286  		fallthrough
 24287  	case Tuint32_t(DPCRE2_NEWLINE_NUL):
 24288  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention = Tuint16_t(newline)
 24289  		return 0
 24290  
 24291  	default:
 24292  		return -29
 24293  	}
 24294  	return int32(0)
 24295  }
 24296  
 24297  func Xpcre2_set_parens_nest_limit_8(tls *libc.TLS, ccontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:374:1: */
 24298  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fparens_nest_limit = limit
 24299  	return 0
 24300  }
 24301  
 24302  func Xpcre2_set_compile_extra_options_8(tls *libc.TLS, ccontext uintptr, options Tuint32_t) int32 { /* pcre2_context.c:381:1: */
 24303  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options = options
 24304  	return 0
 24305  }
 24306  
 24307  func Xpcre2_set_compile_recursion_guard_8(tls *libc.TLS, ccontext uintptr, guard uintptr, user_data uintptr) int32 { /* pcre2_context.c:388:1: */
 24308  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard = guard
 24309  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard_data = user_data
 24310  	return 0
 24311  }
 24312  
 24313  // ------------ Match context ------------
 24314  
 24315  func Xpcre2_set_callout_8(tls *libc.TLS, mcontext uintptr, callout uintptr, callout_data uintptr) int32 { /* pcre2_context.c:400:1: */
 24316  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout = callout
 24317  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data = callout_data
 24318  	return 0
 24319  }
 24320  
 24321  func Xpcre2_set_substitute_callout_8(tls *libc.TLS, mcontext uintptr, substitute_callout uintptr, substitute_callout_data uintptr) int32 { /* pcre2_context.c:409:1: */
 24322  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout = substitute_callout
 24323  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data = substitute_callout_data
 24324  	return 0
 24325  }
 24326  
 24327  func Xpcre2_set_heap_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:419:1: */
 24328  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit = limit
 24329  	return 0
 24330  }
 24331  
 24332  func Xpcre2_set_match_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:426:1: */
 24333  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit = limit
 24334  	return 0
 24335  }
 24336  
 24337  func Xpcre2_set_depth_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:433:1: */
 24338  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit = limit
 24339  	return 0
 24340  }
 24341  
 24342  func Xpcre2_set_offset_limit_8(tls *libc.TLS, mcontext uintptr, limit Tsize_t) int32 { /* pcre2_context.c:440:1: */
 24343  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit = limit
 24344  	return 0
 24345  }
 24346  
 24347  // This function became obsolete at release 10.30. It is kept as a synonym for
 24348  // backwards compatibility.
 24349  
 24350  func Xpcre2_set_recursion_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:450:1: */
 24351  	return Xpcre2_set_depth_limit_8(tls, mcontext, limit)
 24352  }
 24353  
 24354  func Xpcre2_set_recursion_memory_management_8(tls *libc.TLS, mcontext uintptr, mymalloc uintptr, myfree uintptr, mydata uintptr) int32 { /* pcre2_context.c:456:1: */
 24355  	_ = mcontext
 24356  	_ = mymalloc
 24357  	_ = myfree
 24358  	_ = mydata
 24359  	return 0
 24360  }
 24361  
 24362  // ------------ Convert context ------------
 24363  
 24364  func Xpcre2_set_glob_separator_8(tls *libc.TLS, ccontext uintptr, separator Tuint32_t) int32 { /* pcre2_context.c:470:1: */
 24365  	if separator != Tuint32_t('\057') && separator != Tuint32_t('\134') && separator != Tuint32_t('\056') {
 24366  		return -29
 24367  	}
 24368  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator = separator
 24369  	return 0
 24370  }
 24371  
 24372  func Xpcre2_set_glob_escape_8(tls *libc.TLS, ccontext uintptr, escape Tuint32_t) int32 { /* pcre2_context.c:479:1: */
 24373  	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) {
 24374  		return -29
 24375  	}
 24376  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape = escape
 24377  	return 0
 24378  }
 24379  
 24380  // End of pcre2_context.c
 24381  
 24382  // Macro to add a character string to the output buffer, checking for overflow.
 24383  
 24384  // Literals that must be escaped: \ ? * + | . ^ $ { } [ ] ( )
 24385  
 24386  var pcre2_escaped_literals uintptr = ts + 665 /* "\\?*+|.^${}[]()" */ /* pcre2_convert.c:87:19 */
 24387  
 24388  // Recognized escaped metacharacters in POSIX basic patterns.
 24389  
 24390  var posix_meta_escapes uintptr = ts + 680 /* "(){}123456789" */ /* pcre2_convert.c:96:19 */
 24391  
 24392  // ************************************************
 24393  //
 24394  //           Convert a POSIX pattern              *
 24395  //
 24396  
 24397  // This function handles both basic and extended POSIX patterns.
 24398  //
 24399  // Arguments:
 24400  //   pattype        the pattern type
 24401  //   pattern        the pattern
 24402  //   plength        length in code units
 24403  //   utf            TRUE if UTF
 24404  //   use_buffer     where to put the output
 24405  //   use_length     length of use_buffer
 24406  //   bufflenptr     where to put the used length
 24407  //   dummyrun       TRUE if a dummy run
 24408  //   ccontext       the convert context
 24409  //
 24410  // Returns:         0 => success
 24411  //                 !0 => error code
 24412  
 24413  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: */
 24414  	var s uintptr
 24415  	var posix TPCRE2_SPTR8
 24416  	var p uintptr
 24417  	var pp uintptr
 24418  	var endp uintptr // Allow for trailing zero
 24419  	var convlength Tsize_t
 24420  	var bracount Tuint32_t
 24421  	var posix_state Tuint32_t
 24422  	var lastspecial Tuint32_t
 24423  	var extended TBOOL
 24424  	var nextisliteral TBOOL
 24425  	var c Tuint32_t
 24426  	var sc Tuint32_t
 24427  	var clength int32
 24428  	posix = pattern
 24429  	p = use_buffer
 24430  	pp = p
 24431  	endp = p + uintptr(use_length) - uintptr(1)
 24432  	convlength = Tsize_t(0)
 24433  	bracount = Tuint32_t(0)
 24434  	posix_state = POSIX_START_REGEX
 24435  	lastspecial = Tuint32_t(0)
 24436  	extended = libc.Bool32(pattype&DPCRE2_CONVERT_POSIX_EXTENDED != Tuint32_t(0))
 24437  	nextisliteral = DFALSE
 24438  
 24439  	_ = utf      // Not used when Unicode not supported
 24440  	_ = ccontext // Not currently used
 24441  
 24442  	// Initialize default for error offset as end of input.
 24443  
 24444  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = plength
 24445  	s = ts + 694
 24446  __1:
 24447  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24448  		goto __3
 24449  	}
 24450  	if !(p >= endp) {
 24451  		goto __4
 24452  	}
 24453  	return -48
 24454  __4:
 24455  	;
 24456  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24457  	goto __2
 24458  __2:
 24459  	s++
 24460  	goto __1
 24461  	goto __3
 24462  __3:
 24463  	;
 24464  
 24465  	// Now scan the input.
 24466  
 24467  __5:
 24468  	if !(plength > Tsize_t(0)) {
 24469  		goto __6
 24470  	}
 24471  	clength = 1
 24472  
 24473  	// Add in the length of the last item, then, if in the dummy run, pull the
 24474  	//   pointer back to the start of the (temporary) buffer and then remember the
 24475  	//   start of the next item.
 24476  
 24477  	convlength = convlength + Tsize_t((int32(p)-int32(pp))/1)
 24478  	if !(dummyrun != 0) {
 24479  		goto __7
 24480  	}
 24481  	p = use_buffer
 24482  __7:
 24483  	;
 24484  	pp = p
 24485  
 24486  	// Pick up the next character
 24487  
 24488  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))
 24489  	if !(utf != 0 && c >= 0xc0) {
 24490  		goto __8
 24491  	}
 24492  	if !(c&0x20 == Tuint32_t(0)) {
 24493  		goto __9
 24494  	}
 24495  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f
 24496  	clength++
 24497  	goto __10
 24498  __9:
 24499  	if !(c&0x10 == Tuint32_t(0)) {
 24500  		goto __11
 24501  	}
 24502  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f
 24503  	clength = clength + 2
 24504  	goto __12
 24505  __11:
 24506  	if !(c&0x08 == Tuint32_t(0)) {
 24507  		goto __13
 24508  	}
 24509  	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
 24510  	clength = clength + 3
 24511  	goto __14
 24512  __13:
 24513  	if !(c&0x04 == Tuint32_t(0)) {
 24514  		goto __15
 24515  	}
 24516  	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
 24517  	clength = clength + 4
 24518  	goto __16
 24519  __15:
 24520  	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
 24521  	clength = clength + 5
 24522  __16:
 24523  	;
 24524  __14:
 24525  	;
 24526  __12:
 24527  	;
 24528  __10:
 24529  	;
 24530  __8:
 24531  	;
 24532  
 24533  	posix += TPCRE2_SPTR8(clength)
 24534  	plength = plength - Tsize_t(clength)
 24535  
 24536  	if nextisliteral != 0 {
 24537  		sc = uint32(0)
 24538  	} else {
 24539  		sc = c
 24540  	}
 24541  	nextisliteral = DFALSE
 24542  
 24543  	// Handle a character within a class.
 24544  
 24545  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 24546  		goto __17
 24547  	}
 24548  
 24549  	if !(c == Tuint32_t('\135')) {
 24550  		goto __19
 24551  	}
 24552  
 24553  	s = ts + 701
 24554  __21:
 24555  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24556  		goto __23
 24557  	}
 24558  	if !(p >= endp) {
 24559  		goto __24
 24560  	}
 24561  	return -48
 24562  __24:
 24563  	;
 24564  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24565  	goto __22
 24566  __22:
 24567  	s++
 24568  	goto __21
 24569  	goto __23
 24570  __23:
 24571  	;
 24572  
 24573  	posix_state = POSIX_NOT_BRACKET
 24574  	goto __20
 24575  __19:
 24576  
 24577  	switch posix_state {
 24578  	case POSIX_CLASS_STARTED:
 24579  		goto __26
 24580  	// Fall through
 24581  
 24582  	case POSIX_CLASS_NOT_STARTED:
 24583  		goto __27
 24584  
 24585  	case POSIX_CLASS_STARTING:
 24586  		goto __28
 24587  	}
 24588  	goto __25
 24589  
 24590  __26:
 24591  	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) {
 24592  		goto __29
 24593  	}
 24594  	goto __25
 24595  __29:
 24596  	; // Remain in started state
 24597  	posix_state = POSIX_CLASS_NOT_STARTED
 24598  	if !(c == Tuint32_t('\072') && plength > Tsize_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24599  		goto __30
 24600  	}
 24601  
 24602  	s = ts + 703
 24603  __31:
 24604  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24605  		goto __33
 24606  	}
 24607  	if !(p >= endp) {
 24608  		goto __34
 24609  	}
 24610  	return -48
 24611  __34:
 24612  	;
 24613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24614  	goto __32
 24615  __32:
 24616  	s++
 24617  	goto __31
 24618  	goto __33
 24619  __33:
 24620  	;
 24621  
 24622  	plength--
 24623  	posix++
 24624  	goto __5 // With next character after :]
 24625  __30:
 24626  	;
 24627  	// Fall through
 24628  
 24629  __27:
 24630  	if !(c == Tuint32_t('\133')) {
 24631  		goto __35
 24632  	}
 24633  	posix_state = POSIX_CLASS_STARTING
 24634  __35:
 24635  	;
 24636  	goto __25
 24637  
 24638  __28:
 24639  	if !(c == Tuint32_t('\072')) {
 24640  		goto __36
 24641  	}
 24642  	posix_state = POSIX_CLASS_STARTED
 24643  __36:
 24644  	;
 24645  	goto __25
 24646  __25:
 24647  	;
 24648  
 24649  	if !(c == Tuint32_t('\134')) {
 24650  		goto __37
 24651  	}
 24652  	s = ts + 706
 24653  __38:
 24654  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24655  		goto __40
 24656  	}
 24657  	if !(p >= endp) {
 24658  		goto __41
 24659  	}
 24660  	return -48
 24661  __41:
 24662  	;
 24663  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24664  	goto __39
 24665  __39:
 24666  	s++
 24667  	goto __38
 24668  	goto __40
 24669  __40:
 24670  	;
 24671  __37:
 24672  	;
 24673  
 24674  	if !(p+uintptr(clength) > endp) {
 24675  		goto __42
 24676  	}
 24677  	return -48
 24678  __42:
 24679  	;
 24680  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint32(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 24681  	p += uintptr(clength)
 24682  __20:
 24683  	;
 24684  	goto __18
 24685  __17:
 24686  	switch sc {
 24687  	case Tuint32_t('\133'):
 24688  		goto __44
 24689  
 24690  	case Tuint32_t('\134'):
 24691  		goto __45
 24692  
 24693  	case Tuint32_t('\051'):
 24694  		goto __46
 24695  
 24696  	case Tuint32_t('\050'):
 24697  		goto __47
 24698  	// Fall through
 24699  
 24700  	case Tuint32_t('\077'):
 24701  		goto __48
 24702  	case Tuint32_t('\053'):
 24703  		goto __49
 24704  	case Tuint32_t('\173'):
 24705  		goto __50
 24706  	case Tuint32_t('\175'):
 24707  		goto __51
 24708  	case Tuint32_t('\174'):
 24709  		goto __52
 24710  	// Fall through
 24711  
 24712  	case Tuint32_t('\056'):
 24713  		goto __53
 24714  	case Tuint32_t('\044'):
 24715  		goto __54
 24716  
 24717  	case Tuint32_t('\052'):
 24718  		goto __55 // Ignore second and subsequent asterisks
 24719  
 24720  	case Tuint32_t('\136'):
 24721  		goto __56
 24722  	// Fall through
 24723  
 24724  	default:
 24725  		goto __57
 24726  	}
 24727  	goto __43
 24728  
 24729  __44:
 24730  	s = ts + 708
 24731  __58:
 24732  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24733  		goto __60
 24734  	}
 24735  	if !(p >= endp) {
 24736  		goto __61
 24737  	}
 24738  	return -48
 24739  __61:
 24740  	;
 24741  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24742  	goto __59
 24743  __59:
 24744  	s++
 24745  	goto __58
 24746  	goto __60
 24747  __60:
 24748  	;
 24749  
 24750  	// Handle start of "normal" character classes
 24751  
 24752  	posix_state = POSIX_CLASS_NOT_STARTED
 24753  
 24754  	// Handle ^ and ] as first characters
 24755  
 24756  	if !(plength > Tsize_t(0)) {
 24757  		goto __62
 24758  	}
 24759  
 24760  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\136') {
 24761  		goto __63
 24762  	}
 24763  
 24764  	posix++
 24765  	plength--
 24766  	s = ts + 710
 24767  __64:
 24768  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24769  		goto __66
 24770  	}
 24771  	if !(p >= endp) {
 24772  		goto __67
 24773  	}
 24774  	return -48
 24775  __67:
 24776  	;
 24777  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24778  	goto __65
 24779  __65:
 24780  	s++
 24781  	goto __64
 24782  	goto __66
 24783  __66:
 24784  	;
 24785  
 24786  __63:
 24787  	;
 24788  	if !(plength > Tsize_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24789  		goto __68
 24790  	}
 24791  
 24792  	posix++
 24793  	plength--
 24794  	s = ts + 701
 24795  __69:
 24796  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24797  		goto __71
 24798  	}
 24799  	if !(p >= endp) {
 24800  		goto __72
 24801  	}
 24802  	return -48
 24803  __72:
 24804  	;
 24805  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24806  	goto __70
 24807  __70:
 24808  	s++
 24809  	goto __69
 24810  	goto __71
 24811  __71:
 24812  	;
 24813  
 24814  __68:
 24815  	;
 24816  __62:
 24817  	;
 24818  	goto __43
 24819  
 24820  __45:
 24821  	if !(plength == Tsize_t(0)) {
 24822  		goto __73
 24823  	}
 24824  	return DPCRE2_ERROR_END_BACKSLASH
 24825  __73:
 24826  	;
 24827  	if !(extended != 0) {
 24828  		goto __74
 24829  	}
 24830  	nextisliteral = DTRUE
 24831  	goto __75
 24832  __74:
 24833  
 24834  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) < 127 && libc.Xstrchr(tls, posix_meta_escapes, int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))) != uintptr(0)) {
 24835  		goto __76
 24836  	}
 24837  
 24838  	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) {
 24839  		goto __78
 24840  	}
 24841  	s = ts + 706
 24842  __79:
 24843  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24844  		goto __81
 24845  	}
 24846  	if !(p >= endp) {
 24847  		goto __82
 24848  	}
 24849  	return -48
 24850  __82:
 24851  	;
 24852  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24853  	goto __80
 24854  __80:
 24855  	s++
 24856  	goto __79
 24857  	goto __81
 24858  __81:
 24859  	;
 24860  __78:
 24861  	;
 24862  
 24863  	if !(p+uintptr(1) > endp) {
 24864  		goto __83
 24865  	}
 24866  	return -48
 24867  __83:
 24868  	;
 24869  	lastspecial = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&p, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&posix, 1)))))
 24870  	plength--
 24871  	goto __77
 24872  __76:
 24873  	nextisliteral = DTRUE
 24874  __77:
 24875  	;
 24876  __75:
 24877  	;
 24878  	goto __43
 24879  
 24880  __46:
 24881  	if !(!(extended != 0) || bracount == Tuint32_t(0)) {
 24882  		goto __84
 24883  	}
 24884  	goto ESCAPE_LITERAL
 24885  __84:
 24886  	;
 24887  	bracount--
 24888  	goto COPY_SPECIAL
 24889  
 24890  __47:
 24891  	bracount++
 24892  	// Fall through
 24893  
 24894  __48:
 24895  __49:
 24896  __50:
 24897  __51:
 24898  __52:
 24899  	if !!(extended != 0) {
 24900  		goto __85
 24901  	}
 24902  	goto ESCAPE_LITERAL
 24903  __85:
 24904  	;
 24905  	// Fall through
 24906  
 24907  __53:
 24908  __54:
 24909  	posix_state = POSIX_NOT_BRACKET
 24910  COPY_SPECIAL:
 24911  	lastspecial = c
 24912  	if !(p+uintptr(1) > endp) {
 24913  		goto __86
 24914  	}
 24915  	return -48
 24916  __86:
 24917  	;
 24918  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(c)
 24919  	goto __43
 24920  
 24921  __55:
 24922  	if !(lastspecial != Tuint32_t('\052')) {
 24923  		goto __87
 24924  	}
 24925  
 24926  	if !(!(extended != 0) && (posix_state < POSIX_NOT_BRACKET || lastspecial == Tuint32_t('\050'))) {
 24927  		goto __88
 24928  	}
 24929  	goto ESCAPE_LITERAL
 24930  __88:
 24931  	;
 24932  	goto COPY_SPECIAL
 24933  __87:
 24934  	;
 24935  	goto __43 // Ignore second and subsequent asterisks
 24936  
 24937  __56:
 24938  	if !(extended != 0) {
 24939  		goto __89
 24940  	}
 24941  	goto COPY_SPECIAL
 24942  __89:
 24943  	;
 24944  	if !(posix_state == POSIX_START_REGEX || lastspecial == Tuint32_t('\050')) {
 24945  		goto __90
 24946  	}
 24947  
 24948  	posix_state = POSIX_ANCHORED
 24949  	goto COPY_SPECIAL
 24950  __90:
 24951  	;
 24952  	// Fall through
 24953  
 24954  __57:
 24955  	if !(c < Tuint32_t(128) && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0)) {
 24956  		goto __91
 24957  	}
 24958  
 24959  ESCAPE_LITERAL:
 24960  	s = ts + 706
 24961  __92:
 24962  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24963  		goto __94
 24964  	}
 24965  	if !(p >= endp) {
 24966  		goto __95
 24967  	}
 24968  	return -48
 24969  __95:
 24970  	;
 24971  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24972  	goto __93
 24973  __93:
 24974  	s++
 24975  	goto __92
 24976  	goto __94
 24977  __94:
 24978  	;
 24979  
 24980  __91:
 24981  	;
 24982  	lastspecial = Tuint32_t(0xff) // Indicates nothing special
 24983  	if !(p+uintptr(clength) > endp) {
 24984  		goto __96
 24985  	}
 24986  	return -48
 24987  __96:
 24988  	;
 24989  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint32(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 24990  	p += uintptr(clength)
 24991  	posix_state = POSIX_NOT_BRACKET
 24992  	goto __43
 24993  __43:
 24994  	;
 24995  __18:
 24996  	;
 24997  	goto __5
 24998  __6:
 24999  	;
 25000  
 25001  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 25002  		goto __97
 25003  	}
 25004  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25005  __97:
 25006  	;
 25007  	convlength = convlength + Tsize_t((int32(p)-int32(pp))/1) // Final segment
 25008  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = convlength
 25009  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(0)
 25010  	return 0
 25011  }
 25012  
 25013  // ************************************************
 25014  //
 25015  //           Convert a glob pattern               *
 25016  //
 25017  
 25018  // Context for writing the output into a buffer.
 25019  
 25020  type Spcre2_output_context = struct {
 25021  	Foutput      uintptr
 25022  	Foutput_end  TPCRE2_SPTR8
 25023  	Foutput_size Tsize_t
 25024  	Fout_str     [8]Tuint8_t
 25025  } /* pcre2_convert.c:369:9 */
 25026  
 25027  // ************************************************
 25028  //
 25029  //           Convert a glob pattern               *
 25030  //
 25031  
 25032  // Context for writing the output into a buffer.
 25033  
 25034  type Tpcre2_output_context = Spcre2_output_context /* pcre2_convert.c:374:3 */
 25035  
 25036  // Write a character into the output.
 25037  //
 25038  // Arguments:
 25039  //   out            output context
 25040  //   chr            the next character
 25041  
 25042  func convert_glob_write(tls *libc.TLS, out uintptr, chr TPCRE2_UCHAR8) { /* pcre2_convert.c:385:1: */
 25043  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size++
 25044  
 25045  	if (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput < (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end {
 25046  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput, 1))) = chr
 25047  	}
 25048  }
 25049  
 25050  // Write a string into the output.
 25051  //
 25052  // Arguments:
 25053  //   out            output context
 25054  //   length         length of out->out_str
 25055  
 25056  func convert_glob_write_str(tls *libc.TLS, out uintptr, length Tsize_t) { /* pcre2_convert.c:402:1: */
 25057  	var out_str uintptr = out + 12 /* &.out_str */
 25058  	var output uintptr = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput
 25059  	var output_end TPCRE2_SPTR8 = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end
 25060  	var output_size Tsize_t = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size
 25061  
 25062  	for __ccgo := true; __ccgo; __ccgo = libc.PreDecUint32(&length, 1) != Tsize_t(0) {
 25063  		output_size++
 25064  
 25065  		if output < output_end {
 25066  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&output, 1))) = *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&out_str, 1)))
 25067  		}
 25068  	}
 25069  
 25070  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput = output
 25071  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size = output_size
 25072  }
 25073  
 25074  // Prints the separator into the output.
 25075  //
 25076  // Arguments:
 25077  //   out            output context
 25078  //   separator      glob separator
 25079  //   with_escape    backslash is needed before separator
 25080  
 25081  func convert_glob_print_separator(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:432:1: */
 25082  	if with_escape != 0 {
 25083  		convert_glob_write(tls, out, uint8('\134'))
 25084  	}
 25085  
 25086  	convert_glob_write(tls, out, separator)
 25087  }
 25088  
 25089  // Prints a wildcard into the output.
 25090  //
 25091  // Arguments:
 25092  //   out            output context
 25093  //   separator      glob separator
 25094  //   with_escape    backslash is needed before separator
 25095  
 25096  func convert_glob_print_wildcard(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:451:1: */
 25097  	*(*Tuint8_t)(unsafe.Pointer(out + 12)) = Tuint8_t('\133')
 25098  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 1)) = Tuint8_t('\136')
 25099  	convert_glob_write_str(tls, out, uint32(2))
 25100  
 25101  	convert_glob_print_separator(tls, out, separator, with_escape)
 25102  
 25103  	convert_glob_write(tls, out, uint8('\135'))
 25104  }
 25105  
 25106  // Parse a posix class.
 25107  //
 25108  // Arguments:
 25109  //   from           starting point of scanning the range
 25110  //   pattern_end    end of pattern
 25111  //   out            output context
 25112  //
 25113  // Returns:  >0 => class index
 25114  //           0  => malformed class
 25115  
 25116  func convert_glob_parse_class(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr) int32 { /* pcre2_convert.c:476:1: */
 25117  	var start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) + uintptr(1)
 25118  	var pattern TPCRE2_SPTR8 = start
 25119  	var class_ptr uintptr
 25120  	var c TPCRE2_UCHAR8
 25121  	var class_index int32
 25122  
 25123  	for 1 != 0 {
 25124  		if pattern >= pattern_end {
 25125  			return 0
 25126  		}
 25127  
 25128  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))
 25129  
 25130  		if int32(c) < '\141' || int32(c) > '\172' {
 25131  			break
 25132  		}
 25133  	}
 25134  
 25135  	if int32(c) != '\072' || pattern >= pattern_end || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25136  		return 0
 25137  	}
 25138  
 25139  	class_ptr = posix_classes
 25140  	class_index = 1
 25141  
 25142  	for 1 != 0 {
 25143  		if int32(*(*int8)(unsafe.Pointer(class_ptr))) == 0 {
 25144  			return 0
 25145  		}
 25146  
 25147  		pattern = start
 25148  
 25149  		for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == int32(TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(class_ptr)))) {
 25150  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25151  				pattern += uintptr(2)
 25152  				start -= uintptr(2)
 25153  
 25154  				for __ccgo := true; __ccgo; __ccgo = start < pattern {
 25155  					convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&start, 1))))
 25156  				}
 25157  
 25158  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25159  				return class_index
 25160  			}
 25161  			pattern++
 25162  			class_ptr++
 25163  		}
 25164  
 25165  		for int32(*(*int8)(unsafe.Pointer(class_ptr))) != '\072' {
 25166  			class_ptr++
 25167  		}
 25168  		class_ptr++
 25169  		class_index++
 25170  	}
 25171  	return int32(0)
 25172  }
 25173  
 25174  var posix_classes uintptr = ts + 712 /* "alnum:alpha:asci..." */ /* pcre2_convert.c:479:19 */
 25175  
 25176  // Checks whether the character is in the class.
 25177  //
 25178  // Arguments:
 25179  //   class_index    class index
 25180  //   c              character
 25181  //
 25182  // Returns:   !0 => character is found in the class
 25183  //             0 => otherwise
 25184  
 25185  func convert_glob_char_in_class(tls *libc.TLS, class_index int32, c TPCRE2_UCHAR8) TBOOL { /* pcre2_convert.c:542:1: */
 25186  	switch class_index {
 25187  	case 1:
 25188  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalnum)
 25189  	case 2:
 25190  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalpha)
 25191  	case 3:
 25192  		return 1
 25193  	case 4:
 25194  		return libc.Bool32(int32(c) == '\011' || int32(c) == '\040')
 25195  	case 5:
 25196  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_IScntrl)
 25197  	case 6:
 25198  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISdigit)
 25199  	case 7:
 25200  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISgraph)
 25201  	case 8:
 25202  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISlower)
 25203  	case 9:
 25204  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISprint)
 25205  	case 10:
 25206  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISpunct)
 25207  	case 11:
 25208  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISspace)
 25209  	case 12:
 25210  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISupper)
 25211  	case 13:
 25212  		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')
 25213  	default:
 25214  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISxdigit)
 25215  	}
 25216  	return TBOOL(0)
 25217  }
 25218  
 25219  // Parse a range of characters.
 25220  //
 25221  // Arguments:
 25222  //   from           starting point of scanning the range
 25223  //   pattern_end    end of pattern
 25224  //   out            output context
 25225  //   separator      glob separator
 25226  //   with_escape    backslash is needed before separator
 25227  //
 25228  // Returns:         0 => success
 25229  //                 !0 => error code
 25230  
 25231  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: */
 25232  	var is_negative TBOOL = DFALSE
 25233  	var separator_seen TBOOL = DFALSE
 25234  	var has_prev_c TBOOL
 25235  	var pattern TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25236  	var char_start TPCRE2_SPTR8 = uintptr(0)
 25237  	var c Tuint32_t
 25238  	var prev_c Tuint32_t
 25239  	var len int32
 25240  	var class_index int32
 25241  
 25242  	_ = utf // Avoid compiler warning.
 25243  
 25244  	if pattern >= pattern_end {
 25245  		*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25246  		return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25247  	}
 25248  
 25249  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\041' ||
 25250  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\136' {
 25251  		pattern++
 25252  
 25253  		if pattern >= pattern_end {
 25254  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25255  			return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25256  		}
 25257  
 25258  		is_negative = DTRUE
 25259  
 25260  		*(*Tuint8_t)(unsafe.Pointer(out + 12)) = Tuint8_t('\133')
 25261  		*(*Tuint8_t)(unsafe.Pointer(out + 12 + 1)) = Tuint8_t('\136')
 25262  		len = 2
 25263  
 25264  		if !(no_wildsep != 0) {
 25265  			if with_escape != 0 {
 25266  				*(*Tuint8_t)(unsafe.Pointer(out + 12 + uintptr(len))) = Tuint8_t('\134')
 25267  				len++
 25268  			}
 25269  			*(*Tuint8_t)(unsafe.Pointer(out + 12 + uintptr(len))) = separator
 25270  		}
 25271  
 25272  		convert_glob_write_str(tls, out, uint32(len+1))
 25273  	} else {
 25274  		convert_glob_write(tls, out, uint8('\133'))
 25275  	}
 25276  
 25277  	has_prev_c = DFALSE
 25278  	prev_c = Tuint32_t(0)
 25279  
 25280  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\135' {
 25281  		*(*Tuint8_t)(unsafe.Pointer(out + 12)) = Tuint8_t('\134')
 25282  		*(*Tuint8_t)(unsafe.Pointer(out + 12 + 1)) = Tuint8_t('\135')
 25283  		convert_glob_write_str(tls, out, uint32(2))
 25284  		has_prev_c = DTRUE
 25285  		prev_c = Tuint32_t('\135')
 25286  		pattern++
 25287  	}
 25288  
 25289  	for pattern < pattern_end {
 25290  		char_start = pattern
 25291  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25292  		if utf != 0 && c >= 0xc0 {
 25293  			if c&0x20 == Tuint32_t(0) {
 25294  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25295  			} else if c&0x10 == Tuint32_t(0) {
 25296  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25297  				pattern += uintptr(2)
 25298  			} else if c&0x08 == Tuint32_t(0) {
 25299  				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
 25300  				pattern += uintptr(3)
 25301  			} else if c&0x04 == Tuint32_t(0) {
 25302  				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
 25303  				pattern += uintptr(4)
 25304  			} else {
 25305  				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
 25306  				pattern += uintptr(5)
 25307  			}
 25308  		}
 25309  
 25310  		if c == Tuint32_t('\135') {
 25311  			convert_glob_write(tls, out, uint8(c))
 25312  
 25313  			if !(is_negative != 0) && !(no_wildsep != 0) && separator_seen != 0 {
 25314  				*(*Tuint8_t)(unsafe.Pointer(out + 12)) = Tuint8_t('\050')
 25315  				*(*Tuint8_t)(unsafe.Pointer(out + 12 + 1)) = Tuint8_t('\077')
 25316  				*(*Tuint8_t)(unsafe.Pointer(out + 12 + 2)) = Tuint8_t('\074')
 25317  				*(*Tuint8_t)(unsafe.Pointer(out + 12 + 3)) = Tuint8_t('\041')
 25318  				convert_glob_write_str(tls, out, uint32(4))
 25319  
 25320  				convert_glob_print_separator(tls, out, separator, with_escape)
 25321  				convert_glob_write(tls, out, uint8('\051'))
 25322  			}
 25323  
 25324  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25325  			return 0
 25326  		}
 25327  
 25328  		if pattern >= pattern_end {
 25329  			break
 25330  		}
 25331  
 25332  		if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25333  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25334  			class_index = convert_glob_parse_class(tls, from, pattern_end, out)
 25335  
 25336  			if class_index != 0 {
 25337  				pattern = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25338  
 25339  				has_prev_c = DFALSE
 25340  				prev_c = Tuint32_t(0)
 25341  
 25342  				if !(is_negative != 0) && convert_glob_char_in_class(tls, class_index, separator) != 0 {
 25343  					separator_seen = DTRUE
 25344  				}
 25345  				continue
 25346  			}
 25347  		} else if c == Tuint32_t('\055') && has_prev_c != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25348  			convert_glob_write(tls, out, uint8('\055'))
 25349  
 25350  			char_start = pattern
 25351  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25352  			if utf != 0 && c >= 0xc0 {
 25353  				if c&0x20 == Tuint32_t(0) {
 25354  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25355  				} else if c&0x10 == Tuint32_t(0) {
 25356  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25357  					pattern += uintptr(2)
 25358  				} else if c&0x08 == Tuint32_t(0) {
 25359  					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
 25360  					pattern += uintptr(3)
 25361  				} else if c&0x04 == Tuint32_t(0) {
 25362  					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
 25363  					pattern += uintptr(4)
 25364  				} else {
 25365  					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
 25366  					pattern += uintptr(5)
 25367  				}
 25368  			}
 25369  
 25370  			if pattern >= pattern_end {
 25371  				break
 25372  			}
 25373  
 25374  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25375  				char_start = pattern
 25376  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25377  				if utf != 0 && c >= 0xc0 {
 25378  					if c&0x20 == Tuint32_t(0) {
 25379  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25380  					} else if c&0x10 == Tuint32_t(0) {
 25381  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25382  						pattern += uintptr(2)
 25383  					} else if c&0x08 == Tuint32_t(0) {
 25384  						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
 25385  						pattern += uintptr(3)
 25386  					} else if c&0x04 == Tuint32_t(0) {
 25387  						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
 25388  						pattern += uintptr(4)
 25389  					} else {
 25390  						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
 25391  						pattern += uintptr(5)
 25392  					}
 25393  				}
 25394  
 25395  			} else if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25396  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25397  				return -64
 25398  			}
 25399  
 25400  			if prev_c > c {
 25401  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25402  				return -64
 25403  			}
 25404  
 25405  			if prev_c < Tuint32_t(separator) && Tuint32_t(separator) < c {
 25406  				separator_seen = DTRUE
 25407  			}
 25408  
 25409  			has_prev_c = DFALSE
 25410  			prev_c = Tuint32_t(0)
 25411  		} else {
 25412  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25413  				char_start = pattern
 25414  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25415  				if utf != 0 && c >= 0xc0 {
 25416  					if c&0x20 == Tuint32_t(0) {
 25417  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25418  					} else if c&0x10 == Tuint32_t(0) {
 25419  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25420  						pattern += uintptr(2)
 25421  					} else if c&0x08 == Tuint32_t(0) {
 25422  						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
 25423  						pattern += uintptr(3)
 25424  					} else if c&0x04 == Tuint32_t(0) {
 25425  						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
 25426  						pattern += uintptr(4)
 25427  					} else {
 25428  						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
 25429  						pattern += uintptr(5)
 25430  					}
 25431  				}
 25432  
 25433  				if pattern >= pattern_end {
 25434  					break
 25435  				}
 25436  			}
 25437  
 25438  			has_prev_c = DTRUE
 25439  			prev_c = c
 25440  		}
 25441  
 25442  		if c == Tuint32_t('\133') || c == Tuint32_t('\135') || c == Tuint32_t('\134') || c == Tuint32_t('\055') {
 25443  			convert_glob_write(tls, out, uint8('\134'))
 25444  		}
 25445  
 25446  		if c == Tuint32_t(separator) {
 25447  			separator_seen = DTRUE
 25448  		}
 25449  
 25450  		for __ccgo := true; __ccgo; __ccgo = char_start < pattern {
 25451  			convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&char_start, 1))))
 25452  		}
 25453  	}
 25454  
 25455  	*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25456  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25457  }
 25458  
 25459  // Prints a (*COMMIT) into the output.
 25460  //
 25461  // Arguments:
 25462  //   out            output context
 25463  
 25464  func convert_glob_print_commit(tls *libc.TLS, out uintptr) { /* pcre2_convert.c:754:1: */
 25465  	*(*Tuint8_t)(unsafe.Pointer(out + 12)) = Tuint8_t('\050')
 25466  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 1)) = Tuint8_t('\052')
 25467  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 2)) = Tuint8_t('\103')
 25468  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 3)) = Tuint8_t('\117')
 25469  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 4)) = Tuint8_t('\115')
 25470  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 5)) = Tuint8_t('\115')
 25471  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 6)) = Tuint8_t('\111')
 25472  	*(*Tuint8_t)(unsafe.Pointer(out + 12 + 7)) = Tuint8_t('\124')
 25473  	convert_glob_write_str(tls, out, uint32(8))
 25474  	convert_glob_write(tls, out, uint8('\051'))
 25475  }
 25476  
 25477  // Bash glob converter.
 25478  //
 25479  // Arguments:
 25480  //   pattype        the pattern type
 25481  //   pattern        the pattern
 25482  //   plength        length in code units
 25483  //   utf            TRUE if UTF
 25484  //   use_buffer     where to put the output
 25485  //   use_length     length of use_buffer
 25486  //   bufflenptr     where to put the used length
 25487  //   dummyrun       TRUE if a dummy run
 25488  //   ccontext       the convert context
 25489  //
 25490  // Returns:         0 => success
 25491  //                 !0 => error code
 25492  
 25493  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: */
 25494  	bp := tls.Alloc(24)
 25495  	defer tls.Free(24)
 25496  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) = pattern
 25497  
 25498  	// var out Tpcre2_output_context at bp, 20
 25499  
 25500  	var pattern_start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))
 25501  	var pattern_end TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) + uintptr(plength)
 25502  	var separator TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator)
 25503  	var escape TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape)
 25504  	var c TPCRE2_UCHAR8
 25505  	var no_wildsep TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR != Tuint32_t(0))
 25506  	var no_starstar TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_STARSTAR != Tuint32_t(0))
 25507  	var in_atomic TBOOL = DFALSE
 25508  	var after_starstar TBOOL = DFALSE
 25509  	var no_slash_z TBOOL = DFALSE
 25510  	var with_escape TBOOL
 25511  	var is_start TBOOL
 25512  	var after_separator TBOOL
 25513  	var result int32 = 0
 25514  
 25515  	_ = utf // Avoid compiler warning.
 25516  
 25517  	if utf != 0 && (int32(separator) >= 128 || int32(escape) >= 128) {
 25518  		// Currently only ASCII characters are supported.
 25519  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t(0)
 25520  		return -64
 25521  	}
 25522  
 25523  	with_escape = libc.Bool32(libc.Xstrchr(tls, pcre2_escaped_literals, int32(separator)) != uintptr(0))
 25524  
 25525  	// Initialize default for error offset as end of input.
 25526  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput = use_buffer
 25527  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_end = use_buffer + uintptr(use_length)
 25528  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_size = Tsize_t(0)
 25529  
 25530  	*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\050')
 25531  	*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25532  	*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\163')
 25533  	*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 3)) = Tuint8_t('\051')
 25534  	convert_glob_write_str(tls, bp, uint32(4))
 25535  
 25536  	is_start = DTRUE
 25537  
 25538  	if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == '\052' {
 25539  		if no_wildsep != 0 {
 25540  			is_start = DFALSE
 25541  		} else if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) + 1))) == '\052' {
 25542  			is_start = DFALSE
 25543  		}
 25544  	}
 25545  
 25546  	if is_start != 0 {
 25547  		*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\134')
 25548  		*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\101')
 25549  		convert_glob_write_str(tls, bp, uint32(2))
 25550  	}
 25551  
 25552  	for *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end {
 25553  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */)), 1)))
 25554  
 25555  		if int32(c) == '\052' {
 25556  			is_start = libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) == pattern_start+uintptr(1))
 25557  
 25558  			if in_atomic != 0 {
 25559  				convert_glob_write(tls, bp, uint8('\051'))
 25560  				in_atomic = DFALSE
 25561  			}
 25562  
 25563  			if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == '\052' {
 25564  				after_separator = libc.Bool32(is_start != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) + libc.UintptrFromInt32(-2)))) == int32(separator))
 25565  
 25566  				for __ccgo := true; __ccgo; __ccgo = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == '\052' {
 25567  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))++
 25568  				}
 25569  
 25570  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) >= pattern_end {
 25571  					no_slash_z = DTRUE
 25572  					break
 25573  				}
 25574  
 25575  				after_starstar = DTRUE
 25576  
 25577  				if after_separator != 0 && int32(escape) != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == int32(escape) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) + 1))) == int32(separator) {
 25578  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))++
 25579  				}
 25580  
 25581  				if is_start != 0 {
 25582  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) != int32(separator) {
 25583  						continue
 25584  					}
 25585  
 25586  					*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\050')
 25587  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25588  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\072')
 25589  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 3)) = Tuint8_t('\134')
 25590  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 4)) = Tuint8_t('\101')
 25591  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 5)) = Tuint8_t('\174')
 25592  					convert_glob_write_str(tls, bp, uint32(6))
 25593  
 25594  					convert_glob_print_separator(tls, bp, separator, with_escape)
 25595  					convert_glob_write(tls, bp, uint8('\051'))
 25596  
 25597  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))++
 25598  					continue
 25599  				}
 25600  
 25601  				convert_glob_print_commit(tls, bp)
 25602  
 25603  				if !(after_separator != 0) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) != int32(separator) {
 25604  					*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\056')
 25605  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\052')
 25606  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\077')
 25607  					convert_glob_write_str(tls, bp, uint32(3))
 25608  					continue
 25609  				}
 25610  
 25611  				*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\050')
 25612  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25613  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\072')
 25614  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 3)) = Tuint8_t('\056')
 25615  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 4)) = Tuint8_t('\052')
 25616  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 5)) = Tuint8_t('\077')
 25617  
 25618  				convert_glob_write_str(tls, bp, uint32(6))
 25619  
 25620  				convert_glob_print_separator(tls, bp, separator, with_escape)
 25621  
 25622  				*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\051')
 25623  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25624  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\077')
 25625  				convert_glob_write_str(tls, bp, uint32(3))
 25626  
 25627  				*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))++
 25628  				continue
 25629  			}
 25630  
 25631  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == '\052' {
 25632  				for __ccgo1 := true; __ccgo1; __ccgo1 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))))) == '\052' {
 25633  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */))++
 25634  				}
 25635  			}
 25636  
 25637  			if no_wildsep != 0 {
 25638  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) >= pattern_end {
 25639  					no_slash_z = DTRUE
 25640  					break
 25641  				}
 25642  
 25643  				// Start check must be after the end check.
 25644  				if is_start != 0 {
 25645  					continue
 25646  				}
 25647  			}
 25648  
 25649  			if !(is_start != 0) {
 25650  				if after_starstar != 0 {
 25651  					*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\050')
 25652  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25653  					*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 2)) = Tuint8_t('\076')
 25654  					convert_glob_write_str(tls, bp, uint32(3))
 25655  					in_atomic = DTRUE
 25656  				} else {
 25657  					convert_glob_print_commit(tls, bp)
 25658  				}
 25659  			}
 25660  
 25661  			if no_wildsep != 0 {
 25662  				convert_glob_write(tls, bp, uint8('\056'))
 25663  			} else {
 25664  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25665  			}
 25666  
 25667  			*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\052')
 25668  			*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\077')
 25669  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) >= pattern_end {
 25670  				*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\053')
 25671  			}
 25672  			convert_glob_write_str(tls, bp, uint32(2))
 25673  			continue
 25674  		}
 25675  
 25676  		if int32(c) == '\077' {
 25677  			if no_wildsep != 0 {
 25678  				convert_glob_write(tls, bp, uint8('\056'))
 25679  			} else {
 25680  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25681  			}
 25682  			continue
 25683  		}
 25684  
 25685  		if int32(c) == '\133' {
 25686  			result = convert_glob_parse_range(tls, bp+20, pattern_end,
 25687  				bp, utf, separator, with_escape, escape, no_wildsep)
 25688  			if result != 0 {
 25689  				break
 25690  			}
 25691  			continue
 25692  		}
 25693  
 25694  		if int32(escape) != 0 && int32(c) == int32(escape) {
 25695  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20)) >= pattern_end {
 25696  				result = -64
 25697  				break
 25698  			}
 25699  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20 /* pattern */)), 1)))
 25700  		}
 25701  
 25702  		if int32(c) < 128 && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0) {
 25703  			convert_glob_write(tls, bp, uint8('\134'))
 25704  		}
 25705  
 25706  		convert_glob_write(tls, bp, c)
 25707  	}
 25708  
 25709  	if result == 0 {
 25710  		if !(no_slash_z != 0) {
 25711  			*(*Tuint8_t)(unsafe.Pointer(bp + 12)) = Tuint8_t('\134')
 25712  			*(*Tuint8_t)(unsafe.Pointer(bp + 12 + 1)) = Tuint8_t('\172')
 25713  			convert_glob_write_str(tls, bp, uint32(2))
 25714  		}
 25715  
 25716  		if in_atomic != 0 {
 25717  			convert_glob_write(tls, bp, uint8('\051'))
 25718  		}
 25719  
 25720  		convert_glob_write(tls, bp, uint8(0))
 25721  
 25722  		if !(dummyrun != 0) && (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size != Tsize_t((int32((*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput)-int32(use_buffer))/1) {
 25723  			result = -48
 25724  		}
 25725  	}
 25726  
 25727  	if result != 0 {
 25728  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 20))) - int32(pattern_start)) / 1)
 25729  		return result
 25730  	}
 25731  
 25732  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size - Tsize_t(1)
 25733  	return 0
 25734  }
 25735  
 25736  // ************************************************
 25737  //
 25738  //                Convert pattern                 *
 25739  //
 25740  
 25741  // This is the external-facing function for converting other forms of pattern
 25742  // into PCRE2 regular expression patterns. On error, the bufflenptr argument is
 25743  // used to return an offset in the original pattern.
 25744  //
 25745  // Arguments:
 25746  //   pattern     the input pattern
 25747  //   plength     length of input, or PCRE2_ZERO_TERMINATED
 25748  //   options     options bits
 25749  //   buffptr     pointer to pointer to output buffer
 25750  //   bufflenptr  pointer to length of output buffer
 25751  //   ccontext    convert context or NULL
 25752  //
 25753  // Returns:      0 for success, else an error code (+ve or -ve)
 25754  
 25755  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: */
 25756  	bp := tls.Alloc(104)
 25757  	defer tls.Free(104)
 25758  
 25759  	var i int32
 25760  	var rc int32
 25761  	// var dummy_buffer [100]TPCRE2_UCHAR8 at bp, 100
 25762  
 25763  	var use_buffer uintptr = bp /* dummy_buffer */
 25764  	var use_length Tsize_t = Tsize_t(DDUMMY_BUFFER_SIZE)
 25765  	var utf TBOOL = libc.Bool32(options&DPCRE2_CONVERT_UTF != Tuint32_t(0))
 25766  	var pattype Tuint32_t = options & (DPCRE2_CONVERT_GLOB | DPCRE2_CONVERT_POSIX_BASIC | DPCRE2_CONVERT_POSIX_EXTENDED)
 25767  
 25768  	if pattern == uintptr(0) || bufflenptr == uintptr(0) {
 25769  		return -51
 25770  	}
 25771  
 25772  	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) {
 25773  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t(0) // Error offset
 25774  		return -34
 25775  	}
 25776  
 25777  	if plength == libc.CplUint32(Tsize_t(0)) {
 25778  		plength = X_pcre2_strlen_8(tls, pattern)
 25779  	}
 25780  	if ccontext == uintptr(0) {
 25781  		ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8))
 25782  	}
 25783  
 25784  	// Check UTF if required.
 25785  
 25786  	if utf != 0 && options&DPCRE2_CONVERT_NO_UTF_CHECK == Tuint32_t(0) {
 25787  		// var erroroffset Tsize_t at bp+100, 4
 25788  
 25789  		rc = X_pcre2_valid_utf_8(tls, pattern, plength, bp+100)
 25790  		if rc != 0 {
 25791  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = *(*Tsize_t)(unsafe.Pointer(bp + 100 /* erroroffset */))
 25792  			return rc
 25793  		}
 25794  	}
 25795  
 25796  	// If buffptr is not NULL, and what it points to is not NULL, we are being
 25797  	// provided with a buffer and a length, so set them as the buffer to use.
 25798  
 25799  	if buffptr != uintptr(0) && *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) {
 25800  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25801  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr))
 25802  	}
 25803  
 25804  	// Call an individual converter, either just once (if a buffer was provided or
 25805  	// just the length is needed), or twice (if a memory allocation is required).
 25806  
 25807  	for i = 0; i < 2; i++ {
 25808  		var allocated uintptr
 25809  		var dummyrun TBOOL = libc.Bool32(buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) == uintptr(0))
 25810  
 25811  		switch pattype {
 25812  		case DPCRE2_CONVERT_GLOB:
 25813  			rc = convert_glob(tls, options&libc.CplUint32(DPCRE2_CONVERT_GLOB), pattern, plength, utf,
 25814  				use_buffer, use_length, bufflenptr, dummyrun, ccontext)
 25815  			break
 25816  
 25817  		case DPCRE2_CONVERT_POSIX_BASIC:
 25818  			fallthrough
 25819  		case DPCRE2_CONVERT_POSIX_EXTENDED:
 25820  			rc = convert_posix(tls, pattype, pattern, plength, utf, use_buffer, use_length,
 25821  				bufflenptr, dummyrun, ccontext)
 25822  			break
 25823  
 25824  		default:
 25825  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t(0) // Error offset
 25826  			return -44
 25827  		}
 25828  
 25829  		if rc != 0 || buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) { // Buffer was provided or allocated
 25830  			return rc
 25831  		}
 25832  
 25833  		// Allocate memory for the buffer, with hidden space for an allocator at
 25834  		//   the start. The next time round the loop runs the conversion for real.
 25835  
 25836  		allocated = X_pcre2_memctl_malloc_8(tls, uint32(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bufflenptr))+Tsize_t(1))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH), ccontext)
 25837  		if allocated == uintptr(0) {
 25838  			return -48
 25839  		}
 25840  		*(*uintptr)(unsafe.Pointer(buffptr)) = allocated + uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 25841  
 25842  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25843  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr)) + Tsize_t(1)
 25844  	}
 25845  
 25846  	// Control should never get here.
 25847  
 25848  	return -44
 25849  }
 25850  
 25851  // ************************************************
 25852  //
 25853  //            Free converted pattern              *
 25854  //
 25855  
 25856  // This frees a converted pattern that was put in newly-allocated memory.
 25857  //
 25858  // Argument:   the converted pattern
 25859  // Returns:    nothing
 25860  
 25861  func Xpcre2_converted_pattern_free_8(tls *libc.TLS, converted uintptr) { /* pcre2_convert.c:1172:1: */
 25862  	if converted != uintptr(0) {
 25863  		var memctl uintptr = converted - uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 25864  		(*struct {
 25865  			f func(*libc.TLS, uintptr, uintptr)
 25866  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 25867  	}
 25868  }
 25869  
 25870  // End of pcre2_convert.c
 25871  
 25872  // This function is needed only when memmove() is not available.
 25873  
 25874  // End of pcre2_internal.h
 25875  
 25876  // ************************************************
 25877  //
 25878  //      Code parameters and static tables         *
 25879  //
 25880  
 25881  // These are offsets that are used to turn the OP_TYPESTAR and friends opcodes
 25882  // into others, under special conditions. A gap of 20 between the blocks should be
 25883  // enough. The resulting opcodes don't have to be less than 256 because they are
 25884  // never stored, so we push them well clear of the normal opcodes.
 25885  
 25886  // This table identifies those opcodes that are followed immediately by a
 25887  // character that is to be tested in some way. This makes it possible to
 25888  // centralize the loading of these characters. In the case of Type * etc, the
 25889  // "character" is the opcode for \D, \d, \S, \s, \W, or \w, which will always be a
 25890  // small value. Non-zero values in the table are the offsets from the opcode where
 25891  // the character is to be found. ***NOTE*** If the start of this table is
 25892  // modified, the three tables that follow must also be modified.
 25893  
 25894  var coptable = [168]Tuint8_t{
 25895  	Tuint8_t(0),                                                     // End
 25896  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \A, \G, \K, \B, \b
 25897  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \D, \d, \S, \s, \W, \w
 25898  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Any, AllAny, Anybyte
 25899  	Tuint8_t(0), Tuint8_t(0), // \P, \p
 25900  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \R, \H, \h, \V, \v
 25901  	Tuint8_t(0),                                                                  // \X
 25902  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 25903  	Tuint8_t(1), // Char
 25904  	Tuint8_t(1), // Chari
 25905  	Tuint8_t(1), // not
 25906  	Tuint8_t(1), // noti
 25907  	// Positive single-char repeats
 25908  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 25909  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25910  	Tuint8_t(1 + DIMM2_SIZE),
 25911  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25912  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 25913  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25914  	Tuint8_t(1 + DIMM2_SIZE),
 25915  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25916  	// Negative single-char repeats - only for chars < 256
 25917  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 25918  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25919  	Tuint8_t(1 + DIMM2_SIZE),
 25920  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25921  	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
 25922  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25923  	Tuint8_t(1 + DIMM2_SIZE),
 25924  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25925  	// Positive type repeats
 25926  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 25927  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25928  	Tuint8_t(1 + DIMM2_SIZE),
 25929  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25930  	// Character class & ref repeats
 25931  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // *, *?, +, +?, ?, ??
 25932  	Tuint8_t(0), Tuint8_t(0), // CRRANGE, CRMINRANGE
 25933  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Possessive *+, ++, ?+, CRPOSRANGE
 25934  	Tuint8_t(0),                                                     // CLASS
 25935  	Tuint8_t(0),                                                     // NCLASS
 25936  	Tuint8_t(0),                                                     // XCLASS - variable length
 25937  	Tuint8_t(0),                                                     // REF
 25938  	Tuint8_t(0),                                                     // REFI
 25939  	Tuint8_t(0),                                                     // DNREF
 25940  	Tuint8_t(0),                                                     // DNREFI
 25941  	Tuint8_t(0),                                                     // RECURSE
 25942  	Tuint8_t(0),                                                     // CALLOUT
 25943  	Tuint8_t(0),                                                     // CALLOUT_STR
 25944  	Tuint8_t(0),                                                     // Alt
 25945  	Tuint8_t(0),                                                     // Ket
 25946  	Tuint8_t(0),                                                     // KetRmax
 25947  	Tuint8_t(0),                                                     // KetRmin
 25948  	Tuint8_t(0),                                                     // KetRpos
 25949  	Tuint8_t(0),                                                     // Reverse
 25950  	Tuint8_t(0),                                                     // Assert
 25951  	Tuint8_t(0),                                                     // Assert not
 25952  	Tuint8_t(0),                                                     // Assert behind
 25953  	Tuint8_t(0),                                                     // Assert behind not
 25954  	Tuint8_t(0),                                                     // NA assert
 25955  	Tuint8_t(0),                                                     // NA assert behind
 25956  	Tuint8_t(0),                                                     // ONCE
 25957  	Tuint8_t(0),                                                     // SCRIPT_RUN
 25958  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 25959  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 25960  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 25961  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 25962  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 25963  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 25964  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 25965  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 25966  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 25967  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 25968  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 25969  } /* pcre2_dfa_match.c:116:22 */
 25970  
 25971  // This table identifies those opcodes that inspect a character. It is used to
 25972  // remember the fact that a character could have been inspected when the end of
 25973  // the subject is reached. ***NOTE*** If the start of this table is modified, the
 25974  // two tables that follow must also be modified.
 25975  
 25976  var poptable = [168]Tuint8_t{
 25977  	Tuint8_t(0),                                                     // End
 25978  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), // \A, \G, \K, \B, \b
 25979  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \D, \d, \S, \s, \W, \w
 25980  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Any, AllAny, Anybyte
 25981  	Tuint8_t(1), Tuint8_t(1), // \P, \p
 25982  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \R, \H, \h, \V, \v
 25983  	Tuint8_t(1),                                                                  // \X
 25984  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 25985  	Tuint8_t(1), // Char
 25986  	Tuint8_t(1), // Chari
 25987  	Tuint8_t(1), // not
 25988  	Tuint8_t(1), // noti
 25989  	// Positive single-char repeats
 25990  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 25991  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto, minupto, exact
 25992  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+, ++, ?+, upto+
 25993  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 25994  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto I, minupto I, exact I
 25995  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+I, ++I, ?+I, upto+I
 25996  	// Negative single-char repeats - only for chars < 256
 25997  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 25998  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto, minupto, exact
 25999  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+, ++, ?+, upto+
 26000  	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
 26001  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto I, minupto I, exact I
 26002  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+I, ++I, ?+I, upto+I
 26003  	// Positive type repeats
 26004  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 26005  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type upto, minupto, exact
 26006  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *+, ++, ?+, upto+
 26007  	// Character class & ref repeats
 26008  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 26009  	Tuint8_t(1), Tuint8_t(1), // CRRANGE, CRMINRANGE
 26010  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Possessive *+, ++, ?+, CRPOSRANGE
 26011  	Tuint8_t(1),                                                     // CLASS
 26012  	Tuint8_t(1),                                                     // NCLASS
 26013  	Tuint8_t(1),                                                     // XCLASS - variable length
 26014  	Tuint8_t(0),                                                     // REF
 26015  	Tuint8_t(0),                                                     // REFI
 26016  	Tuint8_t(0),                                                     // DNREF
 26017  	Tuint8_t(0),                                                     // DNREFI
 26018  	Tuint8_t(0),                                                     // RECURSE
 26019  	Tuint8_t(0),                                                     // CALLOUT
 26020  	Tuint8_t(0),                                                     // CALLOUT_STR
 26021  	Tuint8_t(0),                                                     // Alt
 26022  	Tuint8_t(0),                                                     // Ket
 26023  	Tuint8_t(0),                                                     // KetRmax
 26024  	Tuint8_t(0),                                                     // KetRmin
 26025  	Tuint8_t(0),                                                     // KetRpos
 26026  	Tuint8_t(0),                                                     // Reverse
 26027  	Tuint8_t(0),                                                     // Assert
 26028  	Tuint8_t(0),                                                     // Assert not
 26029  	Tuint8_t(0),                                                     // Assert behind
 26030  	Tuint8_t(0),                                                     // Assert behind not
 26031  	Tuint8_t(0),                                                     // NA assert
 26032  	Tuint8_t(0),                                                     // NA assert behind
 26033  	Tuint8_t(0),                                                     // ONCE
 26034  	Tuint8_t(0),                                                     // SCRIPT_RUN
 26035  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 26036  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 26037  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 26038  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 26039  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 26040  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 26041  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 26042  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 26043  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 26044  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 26045  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 26046  } /* pcre2_dfa_match.c:198:22 */
 26047  
 26048  // These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W,
 26049  // and \w
 26050  
 26051  var toptable1 = [14]Tuint8_t{
 26052  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26053  	Tuint8_t(Dctype_digit), Tuint8_t(Dctype_digit),
 26054  	Tuint8_t(Dctype_space), Tuint8_t(Dctype_space),
 26055  	Tuint8_t(Dctype_word), Tuint8_t(Dctype_word),
 26056  	Tuint8_t(0), Tuint8_t(0), // OP_ANY, OP_ALLANY
 26057  } /* pcre2_dfa_match.c:273:22 */
 26058  
 26059  var toptable2 = [14]Tuint8_t{
 26060  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26061  	Tuint8_t(Dctype_digit), Tuint8_t(0),
 26062  	Tuint8_t(Dctype_space), Tuint8_t(0),
 26063  	Tuint8_t(Dctype_word), Tuint8_t(0),
 26064  	Tuint8_t(1), Tuint8_t(1), // OP_ANY, OP_ALLANY
 26065  } /* pcre2_dfa_match.c:281:22 */
 26066  
 26067  // Structure for holding data about a particular state, which is in effect the
 26068  // current data for an active path through the match tree. It must consist
 26069  // entirely of ints because the working vector we are passed, and which we put
 26070  // these structures in, is a vector of ints.
 26071  
 26072  type Sstateblock = struct {
 26073  	Foffset int32
 26074  	Fcount  int32
 26075  	Fdata   int32
 26076  } /* pcre2_dfa_match.c:295:9 */
 26077  
 26078  // Structure for holding data about a particular state, which is in effect the
 26079  // current data for an active path through the match tree. It must consist
 26080  // entirely of ints because the working vector we are passed, and which we put
 26081  // these structures in, is a vector of ints.
 26082  
 26083  type Tstateblock = Sstateblock /* pcre2_dfa_match.c:299:3 */
 26084  
 26085  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26086  // local working space and output vectors that were created on the stack. This has
 26087  // caused issues for some patterns, especially in small-stack environments such as
 26088  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26089  // this is too small, heap memory is used, up to the heap_limit. The main
 26090  // parameters are all numbers of ints because the workspace is a vector of ints.
 26091  //
 26092  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26093  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26094  // finding the minimum heap requirement for a match.
 26095  
 26096  // This structure is at the start of each workspace block.
 26097  
 26098  type SRWS_anchor = struct {
 26099  	Fnext uintptr
 26100  	Fsize Tuint32_t
 26101  	Ffree Tuint32_t
 26102  } /* pcre2_dfa_match.c:324:9 */
 26103  
 26104  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26105  // local working space and output vectors that were created on the stack. This has
 26106  // caused issues for some patterns, especially in small-stack environments such as
 26107  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26108  // this is too small, heap memory is used, up to the heap_limit. The main
 26109  // parameters are all numbers of ints because the workspace is a vector of ints.
 26110  //
 26111  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26112  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26113  // finding the minimum heap requirement for a match.
 26114  
 26115  // This structure is at the start of each workspace block.
 26116  
 26117  type TRWS_anchor = SRWS_anchor /* pcre2_dfa_match.c:328:3 */
 26118  
 26119  // ************************************************
 26120  //
 26121  //               Process a callout                *
 26122  //
 26123  
 26124  // This function is called to perform a callout.
 26125  //
 26126  // Arguments:
 26127  //   code              current code pointer
 26128  //   offsets           points to current capture offsets
 26129  //   current_subject   start of current subject match
 26130  //   ptr               current position in subject
 26131  //   mb                the match block
 26132  //   extracode         extra code offset when called from condition
 26133  //   lengthptr         where to return the callout length
 26134  //
 26135  // Returns:            the return from the callout
 26136  
 26137  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: */
 26138  	var cb uintptr = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb
 26139  
 26140  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint32 {
 26141  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26142  			return Tsize_t(X_pcre2_OP_lengths_8[OP_CALLOUT])
 26143  		}
 26144  		return Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+2*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+2*DLINK_SIZE)+extracode+Tsize_t(1)))))))
 26145  	}()
 26146  
 26147  	if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 26148  		return 0
 26149  	} // No callout provided
 26150  
 26151  	// Fixed fields in the callout block are set once and for all at the start of
 26152  	// matching.
 26153  
 26154  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = offsets
 26155  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fstart_match = Tsize_t((int32(current_subject) - int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26156  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int32(ptr) - int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26157  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1)+extracode+Tsize_t(1)))))))
 26158  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+DLINK_SIZE)+extracode+Tsize_t(1)))))))
 26159  
 26160  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26161  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+2*DLINK_SIZE)+extracode))))
 26162  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(0)
 26163  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 26164  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = Tsize_t(0)
 26165  	} else {
 26166  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 26167  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+3*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(Tsize_t(1+3*DLINK_SIZE)+extracode+Tsize_t(1)))))))
 26168  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = code + uintptr(Tsize_t(1+4*DLINK_SIZE)+extracode) + uintptr(1)
 26169  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - Tsize_t(1+4*DLINK_SIZE) - Tsize_t(2)
 26170  	}
 26171  
 26172  	return (*struct {
 26173  		f func(*libc.TLS, uintptr, uintptr) int32
 26174  	})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 26175  }
 26176  
 26177  // ************************************************
 26178  //
 26179  //         Expand local workspace memory          *
 26180  //
 26181  
 26182  // This function is called when internal_dfa_match() is about to be called
 26183  // recursively and there is insufficient working space left in the current
 26184  // workspace block. If there's an existing next block, use it; otherwise get a new
 26185  // block unless the heap limit is reached.
 26186  //
 26187  // Arguments:
 26188  //   rwsptr     pointer to block pointer (updated)
 26189  //   ovecsize   space needed for an ovector
 26190  //   mb         the match block
 26191  //
 26192  // Returns:     0 rwsptr has been updated
 26193  //             !0 an error code
 26194  
 26195  func more_workspace(tls *libc.TLS, rwsptr uintptr, ovecsize uint32, mb uintptr) int32 { /* pcre2_dfa_match.c:413:1: */
 26196  	var rws uintptr = *(*uintptr)(unsafe.Pointer(rwsptr))
 26197  	var new uintptr
 26198  
 26199  	if (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0) {
 26200  		new = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 26201  	} else {
 26202  		var newsize Tuint32_t
 26203  		if (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize >= 4294967295/uint32(2) {
 26204  			newsize = 4294967295 / uint32(2)
 26205  		} else {
 26206  			newsize = (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize * Tuint32_t(2)
 26207  		}
 26208  		var newsizeK Tuint32_t = Tuint32_t(uint32(newsize) / (uint32(1024) / uint32(unsafe.Sizeof(int32(0)))))
 26209  
 26210  		if Tsize_t(newsizeK)+(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit {
 26211  			newsizeK = Tuint32_t((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit - (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used)
 26212  		}
 26213  		newsize = Tuint32_t(uint32(newsizeK) * (uint32(1024) / uint32(unsafe.Sizeof(int32(0)))))
 26214  
 26215  		if uint32(newsize) < uint32(uint32(DRWS_RSIZE)+ovecsize)+uint32(unsafe.Sizeof(TRWS_anchor{}))/uint32(unsafe.Sizeof(int32(0))) {
 26216  			return -63
 26217  		}
 26218  		new = (*struct {
 26219  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 26220  		})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, uint32(newsize)*uint32(unsafe.Sizeof(int32(0))), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 26221  		if new == uintptr(0) {
 26222  			return -48
 26223  		}
 26224  		*(*Tsize_t)(unsafe.Pointer(mb + 44)) += Tsize_t(newsizeK)
 26225  		(*TRWS_anchor)(unsafe.Pointer(new)).Fnext = uintptr(0)
 26226  		(*TRWS_anchor)(unsafe.Pointer(new)).Fsize = newsize
 26227  		(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = new
 26228  	}
 26229  
 26230  	(*TRWS_anchor)(unsafe.Pointer(new)).Ffree = Tuint32_t(uint32((*TRWS_anchor)(unsafe.Pointer(new)).Fsize) - uint32(unsafe.Sizeof(TRWS_anchor{}))/uint32(unsafe.Sizeof(int32(0))))
 26231  	*(*uintptr)(unsafe.Pointer(rwsptr)) = new
 26232  	return 0
 26233  }
 26234  
 26235  // ************************************************
 26236  //
 26237  //     Match a Regular Expression - DFA engine    *
 26238  //
 26239  
 26240  // This internal function applies a compiled pattern to a subject string,
 26241  // starting at a given point, using a DFA engine. This function is called from the
 26242  // external one, possibly multiple times if the pattern is not anchored. The
 26243  // function calls itself recursively for some kinds of subpattern.
 26244  //
 26245  // Arguments:
 26246  //   mb                the match_data block with fixed information
 26247  //   this_start_code   the opening bracket of this subexpression's code
 26248  //   current_subject   where we currently are in the subject string
 26249  //   start_offset      start offset in the subject string
 26250  //   offsets           vector to contain the matching string offsets
 26251  //   offsetcount       size of same
 26252  //   workspace         vector of workspace
 26253  //   wscount           size of same
 26254  //   rlevel            function call recursion level
 26255  //
 26256  // Returns:            > 0 => number of match offset pairs placed in offsets
 26257  //                     = 0 => offsets overflowed; longest matches are present
 26258  //                      -1 => failed to match
 26259  //                    < -1 => some kind of unexpected problem
 26260  //
 26261  // The following macros are used for adding states to the two state vectors (one
 26262  // for the current character, one for the following character).
 26263  
 26264  // And now, here is the code
 26265  
 26266  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: */
 26267  	bp := tls.Alloc(56)
 26268  	defer tls.Free(56)
 26269  
 26270  	var active_states uintptr
 26271  	var new_states uintptr
 26272  	var temp_states uintptr
 26273  	var next_active_state uintptr
 26274  	var next_new_state uintptr
 26275  	var ctypes uintptr
 26276  	var lcc uintptr
 26277  	var fcc uintptr
 26278  	var ptr TPCRE2_SPTR8
 26279  	var end_code TPCRE2_SPTR8
 26280  	// var new_recursive Tdfa_recursion_info at bp+32, 12
 26281  
 26282  	var active_count int32
 26283  	var new_count int32
 26284  	var match_count int32
 26285  
 26286  	// Some fields in the mb block are frequently referenced, so we load them into
 26287  	// independent variables in the hope that this will perform better.
 26288  
 26289  	var start_subject TPCRE2_SPTR8
 26290  	var end_subject TPCRE2_SPTR8
 26291  	var start_code TPCRE2_SPTR8
 26292  	var utf TBOOL
 26293  	var utf_or_ucp TBOOL
 26294  	var reset_could_continue TBOOL
 26295  	var back Tsize_t
 26296  	var current_offset Tsize_t
 26297  	var bstate int32
 26298  	var revlen Tuint32_t
 26299  	var back1 Tsize_t
 26300  	var max_back Tsize_t
 26301  	var gone_back Tsize_t
 26302  	var length int32
 26303  	var cat Tuint32_t
 26304  	var temp TPCRE2_SPTR8
 26305  	var temp1 TPCRE2_SPTR8
 26306  	var cat1 Tuint32_t
 26307  	var left_word int32
 26308  	var right_word int32
 26309  	var OK TBOOL
 26310  	var cp uintptr
 26311  	var prop uintptr
 26312  	var OK1 TBOOL
 26313  	var cp1 uintptr
 26314  	var prop1 uintptr
 26315  	// var ncount int32 at bp, 4
 26316  
 26317  	var ncount1 int32
 26318  	var OK2 TBOOL
 26319  	var OK3 TBOOL
 26320  	var OK4 TBOOL
 26321  	var cp2 uintptr
 26322  	var prop2 uintptr
 26323  	// var ncount2 int32 at bp+4, 4
 26324  
 26325  	var ncount3 int32
 26326  	var OK5 TBOOL
 26327  	var OK6 TBOOL
 26328  	var OK7 TBOOL
 26329  	var cp3 uintptr
 26330  	var prop3 uintptr
 26331  	var nptr TPCRE2_SPTR8
 26332  	// var ncount4 int32 at bp+8, 4
 26333  
 26334  	var ncount5 int32
 26335  	var OK8 TBOOL
 26336  	var OK9 TBOOL
 26337  	var othercase uint32
 26338  	// var ncount6 int32 at bp+12, 4
 26339  
 26340  	var nptr1 TPCRE2_SPTR8
 26341  	var otherd Tuint32_t
 26342  	var otherd1 Tuint32_t
 26343  	var otherd2 Tuint32_t
 26344  	var otherd3 Tuint32_t
 26345  	var otherd4 Tuint32_t
 26346  	var otherd5 Tuint32_t
 26347  	var max int32
 26348  	var isinclass TBOOL
 26349  	var next_state_offset int32
 26350  	var ecode TPCRE2_SPTR8
 26351  	var rc int32
 26352  	var local_workspace uintptr
 26353  	var local_offsets uintptr
 26354  	var endasscode TPCRE2_SPTR8
 26355  	// var rws uintptr at bp+16, 4
 26356  
 26357  	// var callout_length Tsize_t at bp+20, 4
 26358  
 26359  	var value uint32
 26360  	var rc1 int32
 26361  	var local_workspace1 uintptr
 26362  	var local_offsets1 uintptr
 26363  	var asscode TPCRE2_SPTR8
 26364  	var endasscode1 TPCRE2_SPTR8
 26365  	// var rws1 uintptr at bp+24, 4
 26366  
 26367  	var codelink int32
 26368  	var condcode TPCRE2_UCHAR8
 26369  	var p TPCRE2_SPTR8
 26370  	var pp TPCRE2_SPTR8
 26371  	var charcount Tsize_t
 26372  	var rc2 int32
 26373  	var local_workspace2 uintptr
 26374  	var local_offsets2 uintptr
 26375  	// var rws2 uintptr at bp+28, 4
 26376  
 26377  	var ri uintptr
 26378  	var callpat TPCRE2_SPTR8
 26379  	var recno Tuint32_t
 26380  	var p1 TPCRE2_SPTR8
 26381  	var pp1 TPCRE2_SPTR8
 26382  	var end_subpattern TPCRE2_SPTR8
 26383  	var next_state_offset1 int32
 26384  	var rc3 int32
 26385  	var local_workspace3 uintptr
 26386  	var local_offsets3 uintptr
 26387  	var charcount1 Tsize_t
 26388  	var matched_count Tsize_t
 26389  	var local_ptr TPCRE2_SPTR8
 26390  	// var rws3 uintptr at bp+44, 4
 26391  
 26392  	var allow_zero TBOOL
 26393  	var p2 TPCRE2_SPTR8
 26394  	var pp2 TPCRE2_SPTR8
 26395  	var end_subpattern1 TPCRE2_SPTR8
 26396  	var charcount2 Tsize_t
 26397  	var next_state_offset2 int32
 26398  	var repeat_state_offset int32
 26399  	var rc4 int32
 26400  	var local_workspace4 uintptr
 26401  	var local_offsets4 uintptr
 26402  	// var rws4 uintptr at bp+48, 4
 26403  
 26404  	// var callout_length1 Tsize_t at bp+52, 4
 26405  
 26406  	var current_state uintptr
 26407  	var caseless TBOOL
 26408  	var code TPCRE2_SPTR8
 26409  	var codevalue Tuint32_t
 26410  	var state_offset int32
 26411  	var rrc int32
 26412  	var count int32
 26413  	var i int32
 26414  	var j int32
 26415  	var clen int32
 26416  	var dlen int32
 26417  	var c Tuint32_t
 26418  	var d Tuint32_t
 26419  	var forced_fail int32
 26420  	var partial_newline TBOOL
 26421  	var could_continue TBOOL
 26422  	start_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject
 26423  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 26424  	start_code = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code
 26425  	utf = libc.Bool32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 26426  	utf_or_ucp = libc.Bool32(utf != 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 26427  	reset_could_continue = DFALSE
 26428  
 26429  	if !(libc.PostIncUint32(&(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 26430  		goto __1
 26431  	}
 26432  	return -47
 26433  __1:
 26434  	;
 26435  	if !(libc.PostIncUint32(&rlevel, 1) > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 26436  		goto __2
 26437  	}
 26438  	return -53
 26439  __2:
 26440  	;
 26441  	offsetcount = offsetcount & libc.Uint32(libc.Uint32FromInt32(-2)) // Round down
 26442  
 26443  	wscount = wscount - 2
 26444  	wscount = (wscount - wscount%(int32(uint32(unsafe.Sizeof(Tstateblock{}))/uint32(unsafe.Sizeof(int32(0))))*2)) / (2 * int32(uint32(unsafe.Sizeof(Tstateblock{}))/uint32(unsafe.Sizeof(int32(0)))))
 26445  
 26446  	ctypes = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 26447  	lcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dlcc_offset)
 26448  	fcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset)
 26449  
 26450  	match_count = -1 // A negative number
 26451  
 26452  	active_states = workspace + uintptr(2)*4
 26453  	next_new_state = libc.AssignUintptr(&new_states, active_states+uintptr(wscount)*12)
 26454  	new_count = 0
 26455  
 26456  	// The first thing in any (sub) pattern is a bracket of some sort. Push all
 26457  	// the alternative states onto the list, and find out where the end is. This
 26458  	// makes is possible to use this function recursively, when we want to stop at a
 26459  	// matching internal ket rather than at the end.
 26460  	//
 26461  	// If we are dealing with a backward assertion we have to find out the maximum
 26462  	// amount to move back, and set up each alternative appropriately.
 26463  
 26464  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK_NOT) {
 26465  		goto __3
 26466  	}
 26467  
 26468  	max_back = Tsize_t(0)
 26469  
 26470  	end_code = this_start_code
 26471  __5:
 26472  
 26473  	back = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26474  	if !(back > max_back) {
 26475  		goto __8
 26476  	}
 26477  	max_back = back
 26478  __8:
 26479  	;
 26480  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26481  	goto __6
 26482  __6:
 26483  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26484  		goto __5
 26485  	}
 26486  	goto __7
 26487  __7:
 26488  	;
 26489  
 26490  	// If we can't go back the amount required for the longest lookbehind
 26491  	//   pattern, go back as far as we can; some alternatives may still be viable.
 26492  
 26493  	// In character mode we have to step back character by character
 26494  
 26495  	if !(utf != 0) {
 26496  		goto __9
 26497  	}
 26498  
 26499  	gone_back = Tsize_t(0)
 26500  __11:
 26501  	if !(gone_back < max_back) {
 26502  		goto __13
 26503  	}
 26504  
 26505  	if !(current_subject <= start_subject) {
 26506  		goto __14
 26507  	}
 26508  	goto __13
 26509  __14:
 26510  	;
 26511  	current_subject--
 26512  __15:
 26513  	if !(current_subject > start_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(current_subject)))&0xc0 == 0x80) {
 26514  		goto __16
 26515  	}
 26516  	current_subject--
 26517  	goto __15
 26518  __16:
 26519  	;
 26520  	goto __12
 26521  __12:
 26522  	gone_back++
 26523  	goto __11
 26524  	goto __13
 26525  __13:
 26526  	;
 26527  	goto __10
 26528  __9:
 26529  
 26530  	/* In byte-mode we can do this quickly. */
 26531  
 26532  	current_offset = Tsize_t((int32(current_subject) - int32(start_subject)) / 1)
 26533  	if current_offset < max_back {
 26534  		gone_back = current_offset
 26535  	} else {
 26536  		gone_back = max_back
 26537  	}
 26538  	current_subject -= TPCRE2_SPTR8(gone_back)
 26539  __10:
 26540  	;
 26541  
 26542  	// Save the earliest consulted character
 26543  
 26544  	if !(current_subject < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 26545  		goto __17
 26546  	}
 26547  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = current_subject
 26548  __17:
 26549  	;
 26550  
 26551  	// Now we can process the individual branches. There will be an OP_REVERSE at
 26552  	//   the start of each branch, except when the length of the branch is zero.
 26553  
 26554  	end_code = this_start_code
 26555  __18:
 26556  
 26557  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 3))) == OP_REVERSE {
 26558  		revlen = uint32(1 + DLINK_SIZE)
 26559  	} else {
 26560  		revlen = uint32(0)
 26561  	}
 26562  	if revlen == Tuint32_t(0) {
 26563  		back1 = uint32(0)
 26564  	} else {
 26565  		back1 = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26566  	}
 26567  	if !(back1 <= gone_back) {
 26568  		goto __21
 26569  	}
 26570  
 26571  	bstate = int32(uint32((int32(end_code)-int32(start_code))/1+1+DLINK_SIZE) + uint32(revlen))
 26572  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26573  		goto __22
 26574  	}
 26575  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -bstate
 26576  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26577  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(gone_back - back1)
 26578  	next_new_state += 12
 26579  	goto __23
 26580  __22:
 26581  	return -43
 26582  __23:
 26583  	;
 26584  __21:
 26585  	;
 26586  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26587  	goto __19
 26588  __19:
 26589  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26590  		goto __18
 26591  	}
 26592  	goto __20
 26593  __20:
 26594  	;
 26595  	goto __4
 26596  __3:
 26597  
 26598  	end_code = this_start_code
 26599  
 26600  	// Restarting
 26601  
 26602  	if !(rlevel == Tuint32_t(1) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 26603  		goto __24
 26604  	}
 26605  
 26606  __26:
 26607  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26608  	goto __27
 26609  __27:
 26610  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26611  		goto __26
 26612  	}
 26613  	goto __28
 26614  __28:
 26615  	;
 26616  	new_count = *(*int32)(unsafe.Pointer(workspace + 1*4))
 26617  	if !!(*(*int32)(unsafe.Pointer(workspace)) != 0) {
 26618  		goto __29
 26619  	}
 26620  	libc.Xmemcpy(tls, new_states, active_states, Tsize_t(new_count)*Tsize_t(unsafe.Sizeof(Tstateblock{})))
 26621  __29:
 26622  	;
 26623  	goto __25
 26624  __24:
 26625  
 26626  	length = 1 + DLINK_SIZE + func() int32 {
 26627  		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 {
 26628  			return DIMM2_SIZE
 26629  		}
 26630  		return 0
 26631  	}()
 26632  __30:
 26633  
 26634  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26635  		goto __33
 26636  	}
 26637  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = int32((int32(end_code)-int32(start_code))/1 + int32(length))
 26638  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26639  	next_new_state += 12
 26640  	goto __34
 26641  __33:
 26642  	return -43
 26643  __34:
 26644  	;
 26645  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26646  	length = 1 + DLINK_SIZE
 26647  	goto __31
 26648  __31:
 26649  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26650  		goto __30
 26651  	}
 26652  	goto __32
 26653  __32:
 26654  	;
 26655  __25:
 26656  	;
 26657  __4:
 26658  	;
 26659  
 26660  	*(*int32)(unsafe.Pointer(workspace)) = 0 // Bit indicating which vector is current
 26661  
 26662  	// Loop for scanning the subject
 26663  
 26664  	ptr = current_subject
 26665  __35:
 26666  	forced_fail = 0
 26667  	partial_newline = DFALSE
 26668  	could_continue = reset_could_continue
 26669  	reset_could_continue = DFALSE
 26670  
 26671  	if !(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 26672  		goto __38
 26673  	}
 26674  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = ptr
 26675  __38:
 26676  	;
 26677  
 26678  	// Make the new state list into the active state list and empty the
 26679  	//   new state list.
 26680  
 26681  	temp_states = active_states
 26682  	active_states = new_states
 26683  	new_states = temp_states
 26684  	active_count = new_count
 26685  	new_count = 0
 26686  
 26687  	*(*int32)(unsafe.Pointer(workspace)) ^= 1 // Remember for the restarting feature
 26688  	*(*int32)(unsafe.Pointer(workspace + 1*4)) = active_count
 26689  
 26690  	// Set the pointers for adding new states
 26691  
 26692  	next_active_state = active_states + uintptr(active_count)*12
 26693  	next_new_state = new_states
 26694  
 26695  	// Load the current character from the subject outside the loop, as many
 26696  	//   different states may want to look at it, and we assume that at least one
 26697  	//   will.
 26698  
 26699  	if !(ptr < end_subject) {
 26700  		goto __39
 26701  	}
 26702  
 26703  	clen = 1 // Number of data items in the character
 26704  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 26705  	if !(utf != 0 && c >= 0xc0) {
 26706  		goto __41
 26707  	}
 26708  	if !(c&0x20 == Tuint32_t(0)) {
 26709  		goto __42
 26710  	}
 26711  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 26712  	clen++
 26713  	goto __43
 26714  __42:
 26715  	if !(c&0x10 == Tuint32_t(0)) {
 26716  		goto __44
 26717  	}
 26718  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 26719  	clen = clen + 2
 26720  	goto __45
 26721  __44:
 26722  	if !(c&0x08 == Tuint32_t(0)) {
 26723  		goto __46
 26724  	}
 26725  	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
 26726  	clen = clen + 3
 26727  	goto __47
 26728  __46:
 26729  	if !(c&0x04 == Tuint32_t(0)) {
 26730  		goto __48
 26731  	}
 26732  	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
 26733  	clen = clen + 4
 26734  	goto __49
 26735  __48:
 26736  	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
 26737  	clen = clen + 5
 26738  __49:
 26739  	;
 26740  __47:
 26741  	;
 26742  __45:
 26743  	;
 26744  __43:
 26745  	;
 26746  __41:
 26747  	;
 26748  
 26749  	goto __40
 26750  __39:
 26751  
 26752  	clen = 0 // This indicates the end of the subject
 26753  	c = DNOTACHAR // This value should never actually be used
 26754  __40:
 26755  	;
 26756  
 26757  	// Scan up the active states and act on each one. The result of an action
 26758  	//   may be to add more states to the currently active list (e.g. on hitting a
 26759  	//   parenthesis) or it may be to put states on the new list, for considering
 26760  	//   when we move the character pointer on.
 26761  
 26762  	i = 0
 26763  __50:
 26764  	if !(i < active_count) {
 26765  		goto __52
 26766  	}
 26767  	current_state = active_states + uintptr(i)*12
 26768  	caseless = DFALSE
 26769  	state_offset = (*Tstateblock)(unsafe.Pointer(current_state)).Foffset
 26770  
 26771  	// A negative offset is a special case meaning "hold off going to this
 26772  	//     (negated) state until the number of characters in the data field have
 26773  	//     been skipped". If the could_continue flag was passed over from a previous
 26774  	//     state, arrange for it to passed on.
 26775  
 26776  	if !(state_offset < 0) {
 26777  		goto __53
 26778  	}
 26779  
 26780  	if !((*Tstateblock)(unsafe.Pointer(current_state)).Fdata > 0) {
 26781  		goto __54
 26782  	}
 26783  
 26784  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26785  		goto __56
 26786  	}
 26787  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 26788  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount
 26789  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = (*Tstateblock)(unsafe.Pointer(current_state)).Fdata - 1
 26790  	next_new_state += 12
 26791  	goto __57
 26792  __56:
 26793  	return -43
 26794  __57:
 26795  	;
 26796  	if !(could_continue != 0) {
 26797  		goto __58
 26798  	}
 26799  	reset_could_continue = DTRUE
 26800  __58:
 26801  	;
 26802  	goto __51
 26803  	goto __55
 26804  __54:
 26805  
 26806  	(*Tstateblock)(unsafe.Pointer(current_state)).Foffset = libc.AssignInt32(&state_offset, -state_offset)
 26807  __55:
 26808  	;
 26809  __53:
 26810  	;
 26811  
 26812  	// Check for a duplicate state with the same count, and skip if found.
 26813  	//     See the note at the head of this module about the possibility of improving
 26814  	//     performance here.
 26815  
 26816  	j = 0
 26817  __59:
 26818  	if !(j < i) {
 26819  		goto __61
 26820  	}
 26821  
 26822  	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) {
 26823  		goto __62
 26824  	}
 26825  	goto NEXT_ACTIVE_STATE
 26826  __62:
 26827  	;
 26828  	goto __60
 26829  __60:
 26830  	j++
 26831  	goto __59
 26832  	goto __61
 26833  __61:
 26834  	;
 26835  
 26836  	// The state offset is the offset to the opcode
 26837  
 26838  	code = start_code + uintptr(state_offset)
 26839  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
 26840  
 26841  	// If this opcode inspects a character, but we are at the end of the
 26842  	//     subject, remember the fact for use when testing for a partial match.
 26843  
 26844  	if !(clen == 0 && int32(poptable[codevalue]) != 0) {
 26845  		goto __63
 26846  	}
 26847  	could_continue = DTRUE
 26848  __63:
 26849  	;
 26850  
 26851  	// If this opcode is followed by an inline character, load it. It is
 26852  	//     tempting to test for the presence of a subject character here, but that
 26853  	//     is wrong, because sometimes zero repetitions of the subject are
 26854  	//     permitted.
 26855  	//
 26856  	//     We also use this mechanism for opcodes such as OP_TYPEPLUS that take an
 26857  	//     argument that is not a data character - but is always one byte long because
 26858  	//     the values are small. We have to take special action to deal with  \P, \p,
 26859  	//     \H, \h, \V, \v and \X in this case. To keep the other cases fast, convert
 26860  	//     these ones to new opcodes.
 26861  
 26862  	if !(int32(coptable[codevalue]) > 0) {
 26863  		goto __64
 26864  	}
 26865  
 26866  	dlen = 1
 26867  	if !(utf != 0) {
 26868  		goto __66
 26869  	}
 26870  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26871  	if !(d >= 0xc0) {
 26872  		goto __68
 26873  	}
 26874  	if !(d&0x20 == Tuint32_t(0)) {
 26875  		goto __69
 26876  	}
 26877  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f
 26878  	dlen++
 26879  	goto __70
 26880  __69:
 26881  	if !(d&0x10 == Tuint32_t(0)) {
 26882  		goto __71
 26883  	}
 26884  	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
 26885  	dlen = dlen + 2
 26886  	goto __72
 26887  __71:
 26888  	if !(d&0x08 == Tuint32_t(0)) {
 26889  		goto __73
 26890  	}
 26891  	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
 26892  	dlen = dlen + 3
 26893  	goto __74
 26894  __73:
 26895  	if !(d&0x04 == Tuint32_t(0)) {
 26896  		goto __75
 26897  	}
 26898  	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
 26899  	dlen = dlen + 4
 26900  	goto __76
 26901  __75:
 26902  	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
 26903  	dlen = dlen + 5
 26904  __76:
 26905  	;
 26906  __74:
 26907  	;
 26908  __72:
 26909  	;
 26910  __70:
 26911  	;
 26912  __68:
 26913  	;
 26914  
 26915  	goto __67
 26916  __66:
 26917  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26918  __67:
 26919  	;
 26920  	if !(codevalue >= OP_TYPESTAR) {
 26921  		goto __77
 26922  	}
 26923  
 26924  	switch d {
 26925  	case OP_ANYBYTE:
 26926  		goto __79
 26927  	case OP_NOTPROP:
 26928  		goto __80
 26929  	case OP_PROP:
 26930  		goto __81
 26931  	case OP_ANYNL:
 26932  		goto __82
 26933  	case OP_EXTUNI:
 26934  		goto __83
 26935  	case OP_NOT_HSPACE:
 26936  		goto __84
 26937  	case OP_HSPACE:
 26938  		goto __85
 26939  	case OP_NOT_VSPACE:
 26940  		goto __86
 26941  	case OP_VSPACE:
 26942  		goto __87
 26943  	default:
 26944  		goto __88
 26945  	}
 26946  	goto __78
 26947  
 26948  __79:
 26949  	return -42
 26950  __80:
 26951  __81:
 26952  	codevalue = codevalue + Tuint32_t(DOP_PROP_EXTRA)
 26953  	goto __78
 26954  __82:
 26955  	codevalue = codevalue + Tuint32_t(DOP_ANYNL_EXTRA)
 26956  	goto __78
 26957  __83:
 26958  	codevalue = codevalue + Tuint32_t(DOP_EXTUNI_EXTRA)
 26959  	goto __78
 26960  __84:
 26961  __85:
 26962  	codevalue = codevalue + Tuint32_t(DOP_HSPACE_EXTRA)
 26963  	goto __78
 26964  __86:
 26965  __87:
 26966  	codevalue = codevalue + Tuint32_t(DOP_VSPACE_EXTRA)
 26967  	goto __78
 26968  __88:
 26969  	goto __78
 26970  __78:
 26971  	;
 26972  __77:
 26973  	;
 26974  	goto __65
 26975  __64:
 26976  
 26977  	dlen = 0 // Not strictly necessary, but compilers moan
 26978  	d = DNOTACHAR // if these variables are not set.
 26979  __65:
 26980  	;
 26981  
 26982  	// Now process the individual opcodes
 26983  
 26984  	switch codevalue {
 26985  	// ==========================================================================
 26986  	// These cases are never obeyed. This is a fudge that causes a compile-
 26987  	//       time error if the vectors coptable or poptable, which are indexed by
 26988  	//       opcode, are not the correct length. It seems to be the only way to do
 26989  	//       such a check at compile time, as the sizeof() operator does not work
 26990  	//       in the C preprocessor.
 26991  
 26992  	case OP_TABLE_LENGTH:
 26993  		goto __90
 26994  	case Tuint32_t(OP_TABLE_LENGTH + libc.Bool32(uint32(unsafe.Sizeof(coptable)) == OP_TABLE_LENGTH && uint32(unsafe.Sizeof(poptable)) == OP_TABLE_LENGTH)):
 26995  		goto __91
 26996  
 26997  		// ==========================================================================
 26998  	// Reached a closing bracket. If not at the end of the pattern, carry
 26999  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27000  	//       state. Note that KETRPOS will always be encountered at the end of the
 27001  	//       subpattern, because the possessive subpattern repeats are always handled
 27002  	//       using recursive calls. Thus, it never adds any new states.
 27003  	//
 27004  	//       At the end of the (sub)pattern, unless we have an empty string and
 27005  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27006  	//       start of the subject, save the match data, shifting up all previous
 27007  	//       matches so we always have the longest first.
 27008  
 27009  	case OP_KET:
 27010  		goto __92
 27011  	case OP_KETRMIN:
 27012  		goto __93
 27013  	case OP_KETRMAX:
 27014  		goto __94
 27015  	case OP_KETRPOS:
 27016  		goto __95
 27017  
 27018  		// ==========================================================================
 27019  	// These opcodes add to the current list of states without looking
 27020  	//       at the current character.
 27021  
 27022  	//-----------------------------------------------------------------
 27023  	case OP_ALT:
 27024  		goto __96
 27025  
 27026  	//-----------------------------------------------------------------
 27027  	case OP_BRA:
 27028  		goto __97
 27029  	case OP_SBRA:
 27030  		goto __98
 27031  
 27032  	//-----------------------------------------------------------------
 27033  	case OP_CBRA:
 27034  		goto __99
 27035  	case OP_SCBRA:
 27036  		goto __100
 27037  
 27038  	//-----------------------------------------------------------------
 27039  	case OP_BRAZERO:
 27040  		goto __101
 27041  	case OP_BRAMINZERO:
 27042  		goto __102
 27043  
 27044  	//-----------------------------------------------------------------
 27045  	case OP_SKIPZERO:
 27046  		goto __103
 27047  
 27048  	//-----------------------------------------------------------------
 27049  	case OP_CIRC:
 27050  		goto __104
 27051  
 27052  	//-----------------------------------------------------------------
 27053  	case OP_CIRCM:
 27054  		goto __105
 27055  
 27056  	//-----------------------------------------------------------------
 27057  	case OP_EOD:
 27058  		goto __106
 27059  
 27060  	//-----------------------------------------------------------------
 27061  	case OP_SOD:
 27062  		goto __107
 27063  
 27064  	//-----------------------------------------------------------------
 27065  	case OP_SOM:
 27066  		goto __108
 27067  
 27068  		// ==========================================================================
 27069  	// These opcodes inspect the next subject character, and sometimes
 27070  	//       the previous one as well, but do not have an argument. The variable
 27071  	//       clen contains the length of the current character and is zero if we are
 27072  	//       at the end of the subject.
 27073  
 27074  	//-----------------------------------------------------------------
 27075  	case OP_ANY:
 27076  		goto __109
 27077  
 27078  	//-----------------------------------------------------------------
 27079  	case OP_ALLANY:
 27080  		goto __110
 27081  
 27082  	//-----------------------------------------------------------------
 27083  	case OP_EODN:
 27084  		goto __111
 27085  
 27086  	//-----------------------------------------------------------------
 27087  	case OP_DOLL:
 27088  		goto __112
 27089  
 27090  	//-----------------------------------------------------------------
 27091  	case OP_DOLLM:
 27092  		goto __113
 27093  
 27094  	//-----------------------------------------------------------------
 27095  
 27096  	case OP_DIGIT:
 27097  		goto __114
 27098  	case OP_WHITESPACE:
 27099  		goto __115
 27100  	case OP_WORDCHAR:
 27101  		goto __116
 27102  
 27103  	//-----------------------------------------------------------------
 27104  	case OP_NOT_DIGIT:
 27105  		goto __117
 27106  	case OP_NOT_WHITESPACE:
 27107  		goto __118
 27108  	case OP_NOT_WORDCHAR:
 27109  		goto __119
 27110  
 27111  	//-----------------------------------------------------------------
 27112  	case OP_WORD_BOUNDARY:
 27113  		goto __120
 27114  	case OP_NOT_WORD_BOUNDARY:
 27115  		goto __121
 27116  
 27117  	//-----------------------------------------------------------------
 27118  	// Check the next character by Unicode property. We will get here only
 27119  	//       if the support is in the binary; otherwise a compile-time error occurs.
 27120  	//
 27121  
 27122  	case OP_PROP:
 27123  		goto __122
 27124  	case OP_NOTPROP:
 27125  		goto __123
 27126  
 27127  		// ==========================================================================
 27128  	// These opcodes likewise inspect the subject character, but have an
 27129  	//       argument that is not a data character. It is one of these opcodes:
 27130  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 27131  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 27132  
 27133  	case OP_TYPEPLUS:
 27134  		goto __124
 27135  	case OP_TYPEMINPLUS:
 27136  		goto __125
 27137  	case OP_TYPEPOSPLUS:
 27138  		goto __126
 27139  
 27140  	//-----------------------------------------------------------------
 27141  	case OP_TYPEQUERY:
 27142  		goto __127
 27143  	case OP_TYPEMINQUERY:
 27144  		goto __128
 27145  	case OP_TYPEPOSQUERY:
 27146  		goto __129
 27147  
 27148  	//-----------------------------------------------------------------
 27149  	case OP_TYPESTAR:
 27150  		goto __130
 27151  	case OP_TYPEMINSTAR:
 27152  		goto __131
 27153  	case OP_TYPEPOSSTAR:
 27154  		goto __132
 27155  
 27156  	//-----------------------------------------------------------------
 27157  	case OP_TYPEEXACT:
 27158  		goto __133
 27159  
 27160  	//-----------------------------------------------------------------
 27161  	case OP_TYPEUPTO:
 27162  		goto __134
 27163  	case OP_TYPEMINUPTO:
 27164  		goto __135
 27165  	case OP_TYPEPOSUPTO:
 27166  		goto __136
 27167  
 27168  		// ==========================================================================
 27169  	// These are virtual opcodes that are used when something like
 27170  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 27171  	//       argument. It keeps the code above fast for the other cases. The argument
 27172  	//       is in the d variable.
 27173  
 27174  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPLUS):
 27175  		goto __137
 27176  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINPLUS):
 27177  		goto __138
 27178  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSPLUS):
 27179  		goto __139
 27180  
 27181  	//-----------------------------------------------------------------
 27182  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPLUS):
 27183  		goto __140
 27184  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINPLUS):
 27185  		goto __141
 27186  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSPLUS):
 27187  		goto __142
 27188  
 27189  	//-----------------------------------------------------------------
 27190  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPLUS):
 27191  		goto __143
 27192  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINPLUS):
 27193  		goto __144
 27194  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSPLUS):
 27195  		goto __145
 27196  
 27197  	//-----------------------------------------------------------------
 27198  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPLUS):
 27199  		goto __146
 27200  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINPLUS):
 27201  		goto __147
 27202  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSPLUS):
 27203  		goto __148
 27204  
 27205  	//-----------------------------------------------------------------
 27206  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPLUS):
 27207  		goto __149
 27208  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINPLUS):
 27209  		goto __150
 27210  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSPLUS):
 27211  		goto __151
 27212  
 27213  	//-----------------------------------------------------------------
 27214  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEQUERY):
 27215  		goto __152
 27216  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINQUERY):
 27217  		goto __153
 27218  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSQUERY):
 27219  		goto __154
 27220  
 27221  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPESTAR):
 27222  		goto __155
 27223  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINSTAR):
 27224  		goto __156
 27225  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSSTAR):
 27226  		goto __157
 27227  
 27228  	//-----------------------------------------------------------------
 27229  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEQUERY):
 27230  		goto __158
 27231  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINQUERY):
 27232  		goto __159
 27233  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSQUERY):
 27234  		goto __160
 27235  
 27236  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPESTAR):
 27237  		goto __161
 27238  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINSTAR):
 27239  		goto __162
 27240  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSSTAR):
 27241  		goto __163
 27242  
 27243  	//-----------------------------------------------------------------
 27244  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEQUERY):
 27245  		goto __164
 27246  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINQUERY):
 27247  		goto __165
 27248  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSQUERY):
 27249  		goto __166
 27250  
 27251  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPESTAR):
 27252  		goto __167
 27253  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINSTAR):
 27254  		goto __168
 27255  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSSTAR):
 27256  		goto __169
 27257  
 27258  	//-----------------------------------------------------------------
 27259  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEQUERY):
 27260  		goto __170
 27261  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINQUERY):
 27262  		goto __171
 27263  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSQUERY):
 27264  		goto __172
 27265  
 27266  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPESTAR):
 27267  		goto __173
 27268  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINSTAR):
 27269  		goto __174
 27270  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSSTAR):
 27271  		goto __175
 27272  
 27273  	//-----------------------------------------------------------------
 27274  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEQUERY):
 27275  		goto __176
 27276  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINQUERY):
 27277  		goto __177
 27278  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSQUERY):
 27279  		goto __178
 27280  
 27281  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPESTAR):
 27282  		goto __179
 27283  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINSTAR):
 27284  		goto __180
 27285  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSSTAR):
 27286  		goto __181
 27287  
 27288  	//-----------------------------------------------------------------
 27289  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEEXACT):
 27290  		goto __182
 27291  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEUPTO):
 27292  		goto __183
 27293  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINUPTO):
 27294  		goto __184
 27295  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSUPTO):
 27296  		goto __185
 27297  
 27298  	//-----------------------------------------------------------------
 27299  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEEXACT):
 27300  		goto __186
 27301  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEUPTO):
 27302  		goto __187
 27303  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINUPTO):
 27304  		goto __188
 27305  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSUPTO):
 27306  		goto __189
 27307  
 27308  	//-----------------------------------------------------------------
 27309  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEEXACT):
 27310  		goto __190
 27311  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEUPTO):
 27312  		goto __191
 27313  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINUPTO):
 27314  		goto __192
 27315  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSUPTO):
 27316  		goto __193
 27317  
 27318  	//-----------------------------------------------------------------
 27319  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEEXACT):
 27320  		goto __194
 27321  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEUPTO):
 27322  		goto __195
 27323  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINUPTO):
 27324  		goto __196
 27325  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSUPTO):
 27326  		goto __197
 27327  
 27328  	//-----------------------------------------------------------------
 27329  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEEXACT):
 27330  		goto __198
 27331  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEUPTO):
 27332  		goto __199
 27333  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINUPTO):
 27334  		goto __200
 27335  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSUPTO):
 27336  		goto __201
 27337  
 27338  		// ==========================================================================
 27339  	// These opcodes are followed by a character that is usually compared
 27340  	//       to the current subject character; it is loaded into d. We still get
 27341  	//       here even if there is no subject character, because in some cases zero
 27342  	//       repetitions are permitted.
 27343  
 27344  	//-----------------------------------------------------------------
 27345  	case OP_CHAR:
 27346  		goto __202
 27347  
 27348  	//-----------------------------------------------------------------
 27349  	case OP_CHARI:
 27350  		goto __203
 27351  
 27352  	//-----------------------------------------------------------------
 27353  	// This is a tricky one because it can match more than one character.
 27354  	//       Find out how many characters to skip, and then set up a negative state
 27355  	//       to wait for them to pass before continuing.
 27356  
 27357  	case OP_EXTUNI:
 27358  		goto __204
 27359  
 27360  	//-----------------------------------------------------------------
 27361  	// This is a tricky like EXTUNI because it too can match more than one
 27362  	//       character (when CR is followed by LF). In this case, set up a negative
 27363  	//       state to wait for one character to pass before continuing.
 27364  
 27365  	case OP_ANYNL:
 27366  		goto __205
 27367  
 27368  	//-----------------------------------------------------------------
 27369  	case OP_NOT_VSPACE:
 27370  		goto __206
 27371  
 27372  	//-----------------------------------------------------------------
 27373  	case OP_VSPACE:
 27374  		goto __207
 27375  
 27376  	//-----------------------------------------------------------------
 27377  	case OP_NOT_HSPACE:
 27378  		goto __208
 27379  
 27380  	//-----------------------------------------------------------------
 27381  	case OP_HSPACE:
 27382  		goto __209
 27383  
 27384  	//-----------------------------------------------------------------
 27385  	// Match a negated single character casefully.
 27386  
 27387  	case OP_NOT:
 27388  		goto __210
 27389  
 27390  	//-----------------------------------------------------------------
 27391  	// Match a negated single character caselessly.
 27392  
 27393  	case OP_NOTI:
 27394  		goto __211
 27395  
 27396  	//-----------------------------------------------------------------
 27397  	case OP_PLUSI:
 27398  		goto __212
 27399  	case OP_MINPLUSI:
 27400  		goto __213
 27401  	case OP_POSPLUSI:
 27402  		goto __214
 27403  	case OP_NOTPLUSI:
 27404  		goto __215
 27405  	case OP_NOTMINPLUSI:
 27406  		goto __216
 27407  	case OP_NOTPOSPLUSI:
 27408  		goto __217
 27409  
 27410  	// Fall through
 27411  	case OP_PLUS:
 27412  		goto __218
 27413  	case OP_MINPLUS:
 27414  		goto __219
 27415  	case OP_POSPLUS:
 27416  		goto __220
 27417  	case OP_NOTPLUS:
 27418  		goto __221
 27419  	case OP_NOTMINPLUS:
 27420  		goto __222
 27421  	case OP_NOTPOSPLUS:
 27422  		goto __223
 27423  
 27424  	//-----------------------------------------------------------------
 27425  	case OP_QUERYI:
 27426  		goto __224
 27427  	case OP_MINQUERYI:
 27428  		goto __225
 27429  	case OP_POSQUERYI:
 27430  		goto __226
 27431  	case OP_NOTQUERYI:
 27432  		goto __227
 27433  	case OP_NOTMINQUERYI:
 27434  		goto __228
 27435  	case OP_NOTPOSQUERYI:
 27436  		goto __229
 27437  	// Fall through
 27438  	case OP_QUERY:
 27439  		goto __230
 27440  	case OP_MINQUERY:
 27441  		goto __231
 27442  	case OP_POSQUERY:
 27443  		goto __232
 27444  	case OP_NOTQUERY:
 27445  		goto __233
 27446  	case OP_NOTMINQUERY:
 27447  		goto __234
 27448  	case OP_NOTPOSQUERY:
 27449  		goto __235
 27450  
 27451  	//-----------------------------------------------------------------
 27452  	case OP_STARI:
 27453  		goto __236
 27454  	case OP_MINSTARI:
 27455  		goto __237
 27456  	case OP_POSSTARI:
 27457  		goto __238
 27458  	case OP_NOTSTARI:
 27459  		goto __239
 27460  	case OP_NOTMINSTARI:
 27461  		goto __240
 27462  	case OP_NOTPOSSTARI:
 27463  		goto __241
 27464  	// Fall through
 27465  	case OP_STAR:
 27466  		goto __242
 27467  	case OP_MINSTAR:
 27468  		goto __243
 27469  	case OP_POSSTAR:
 27470  		goto __244
 27471  	case OP_NOTSTAR:
 27472  		goto __245
 27473  	case OP_NOTMINSTAR:
 27474  		goto __246
 27475  	case OP_NOTPOSSTAR:
 27476  		goto __247
 27477  
 27478  	//-----------------------------------------------------------------
 27479  	case OP_EXACTI:
 27480  		goto __248
 27481  	case OP_NOTEXACTI:
 27482  		goto __249
 27483  	// Fall through
 27484  	case OP_EXACT:
 27485  		goto __250
 27486  	case OP_NOTEXACT:
 27487  		goto __251
 27488  
 27489  	//-----------------------------------------------------------------
 27490  	case OP_UPTOI:
 27491  		goto __252
 27492  	case OP_MINUPTOI:
 27493  		goto __253
 27494  	case OP_POSUPTOI:
 27495  		goto __254
 27496  	case OP_NOTUPTOI:
 27497  		goto __255
 27498  	case OP_NOTMINUPTOI:
 27499  		goto __256
 27500  	case OP_NOTPOSUPTOI:
 27501  		goto __257
 27502  	// Fall through
 27503  	case OP_UPTO:
 27504  		goto __258
 27505  	case OP_MINUPTO:
 27506  		goto __259
 27507  	case OP_POSUPTO:
 27508  		goto __260
 27509  	case OP_NOTUPTO:
 27510  		goto __261
 27511  	case OP_NOTMINUPTO:
 27512  		goto __262
 27513  	case OP_NOTPOSUPTO:
 27514  		goto __263
 27515  
 27516  		// ==========================================================================
 27517  	// These are the class-handling opcodes
 27518  
 27519  	case OP_CLASS:
 27520  		goto __264
 27521  	case OP_NCLASS:
 27522  		goto __265
 27523  	case OP_XCLASS:
 27524  		goto __266
 27525  
 27526  		// ==========================================================================
 27527  	// These are the opcodes for fancy brackets of various kinds. We have
 27528  	//       to use recursion in order to handle them. The "always failing" assertion
 27529  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 27530  	//       though the other "backtracking verbs" are not supported.
 27531  
 27532  	case OP_FAIL:
 27533  		goto __267
 27534  
 27535  	case OP_ASSERT:
 27536  		goto __268
 27537  	case OP_ASSERT_NOT:
 27538  		goto __269
 27539  	case OP_ASSERTBACK:
 27540  		goto __270
 27541  	case OP_ASSERTBACK_NOT:
 27542  		goto __271
 27543  
 27544  	//-----------------------------------------------------------------
 27545  	case OP_COND:
 27546  		goto __272
 27547  	case OP_SCOND:
 27548  		goto __273
 27549  
 27550  	//-----------------------------------------------------------------
 27551  	case OP_RECURSE:
 27552  		goto __274
 27553  
 27554  	//-----------------------------------------------------------------
 27555  	case OP_BRAPOS:
 27556  		goto __275
 27557  	case OP_SBRAPOS:
 27558  		goto __276
 27559  	case OP_CBRAPOS:
 27560  		goto __277
 27561  	case OP_SCBRAPOS:
 27562  		goto __278
 27563  	case OP_BRAPOSZERO:
 27564  		goto __279
 27565  
 27566  	//-----------------------------------------------------------------
 27567  	case OP_ONCE:
 27568  		goto __280
 27569  
 27570  		// ==========================================================================
 27571  	// Handle callouts
 27572  
 27573  	case OP_CALLOUT:
 27574  		goto __281
 27575  	case OP_CALLOUT_STR:
 27576  		goto __282
 27577  
 27578  		// ==========================================================================
 27579  	default:
 27580  		goto __283
 27581  	}
 27582  	goto __89
 27583  
 27584  	// ==========================================================================
 27585  	// These cases are never obeyed. This is a fudge that causes a compile-
 27586  	//       time error if the vectors coptable or poptable, which are indexed by
 27587  	//       opcode, are not the correct length. It seems to be the only way to do
 27588  	//       such a check at compile time, as the sizeof() operator does not work
 27589  	//       in the C preprocessor.
 27590  
 27591  __90:
 27592  __91:
 27593  	return 0
 27594  
 27595  	// ==========================================================================
 27596  	// Reached a closing bracket. If not at the end of the pattern, carry
 27597  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27598  	//       state. Note that KETRPOS will always be encountered at the end of the
 27599  	//       subpattern, because the possessive subpattern repeats are always handled
 27600  	//       using recursive calls. Thus, it never adds any new states.
 27601  	//
 27602  	//       At the end of the (sub)pattern, unless we have an empty string and
 27603  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27604  	//       start of the subject, save the match data, shifting up all previous
 27605  	//       matches so we always have the longest first.
 27606  
 27607  __92:
 27608  __93:
 27609  __94:
 27610  __95:
 27611  	if !(code != end_code) {
 27612  		goto __284
 27613  	}
 27614  
 27615  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27616  		goto __286
 27617  	}
 27618  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DLINK_SIZE
 27619  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27620  	next_active_state += 12
 27621  	goto __287
 27622  __286:
 27623  	return -43
 27624  __287:
 27625  	;
 27626  	if !(codevalue != OP_KET) {
 27627  		goto __288
 27628  	}
 27629  
 27630  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27631  		goto __289
 27632  	}
 27633  	(*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)))))
 27634  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27635  	next_active_state += 12
 27636  	goto __290
 27637  __289:
 27638  	return -43
 27639  __290:
 27640  	;
 27641  __288:
 27642  	;
 27643  	goto __285
 27644  __284:
 27645  
 27646  	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))) {
 27647  		goto __291
 27648  	}
 27649  
 27650  	if !(match_count < 0) {
 27651  		goto __292
 27652  	}
 27653  	if offsetcount >= Tuint32_t(2) {
 27654  		match_count = 1
 27655  	} else {
 27656  		match_count = 0
 27657  	}
 27658  	goto __293
 27659  __292:
 27660  	if !(match_count > 0 && libc.PreIncInt32(&match_count, 1)*2 > int32(offsetcount)) {
 27661  		goto __294
 27662  	}
 27663  	match_count = 0
 27664  __294:
 27665  	;
 27666  __293:
 27667  	;
 27668  	count = func() int32 {
 27669  		if match_count == 0 {
 27670  			return int32(offsetcount)
 27671  		}
 27672  		return match_count * 2
 27673  	}() - 2
 27674  	if !(count > 0) {
 27675  		goto __295
 27676  	}
 27677  	libc.Xmemmove(tls, offsets+uintptr(2)*4, offsets,
 27678  		Tsize_t(count)*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 27679  __295:
 27680  	;
 27681  	if !(offsetcount >= Tuint32_t(2)) {
 27682  		goto __296
 27683  	}
 27684  
 27685  	*(*Tsize_t)(unsafe.Pointer(offsets)) = Tsize_t((int32(current_subject) - int32(start_subject)) / 1)
 27686  	*(*Tsize_t)(unsafe.Pointer(offsets + 1*4)) = Tsize_t((int32(ptr) - int32(start_subject)) / 1)
 27687  __296:
 27688  	;
 27689  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_SHORTEST != Tuint32_t(0)) {
 27690  		goto __297
 27691  	}
 27692  	return match_count
 27693  __297:
 27694  	;
 27695  __291:
 27696  	;
 27697  __285:
 27698  	;
 27699  	goto __89
 27700  
 27701  	// ==========================================================================
 27702  	// These opcodes add to the current list of states without looking
 27703  	//       at the current character.
 27704  
 27705  	//-----------------------------------------------------------------
 27706  __96:
 27707  __298:
 27708  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27709  	goto __299
 27710  __299:
 27711  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27712  		goto __298
 27713  	}
 27714  	goto __300
 27715  __300:
 27716  	;
 27717  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27718  		goto __301
 27719  	}
 27720  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code) - int32(start_code)) / 1)
 27721  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27722  	next_active_state += 12
 27723  	goto __302
 27724  __301:
 27725  	return -43
 27726  __302:
 27727  	;
 27728  	goto __89
 27729  
 27730  	//-----------------------------------------------------------------
 27731  __97:
 27732  __98:
 27733  __303:
 27734  
 27735  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27736  		goto __306
 27737  	}
 27738  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code)-int32(start_code))/1 + 1 + DLINK_SIZE)
 27739  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27740  	next_active_state += 12
 27741  	goto __307
 27742  __306:
 27743  	return -43
 27744  __307:
 27745  	;
 27746  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27747  	goto __304
 27748  __304:
 27749  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27750  		goto __303
 27751  	}
 27752  	goto __305
 27753  __305:
 27754  	;
 27755  	goto __89
 27756  
 27757  	//-----------------------------------------------------------------
 27758  __99:
 27759  __100:
 27760  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27761  		goto __308
 27762  	}
 27763  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code)-int32(start_code))/1 + 1 + DLINK_SIZE + DIMM2_SIZE)
 27764  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27765  	next_active_state += 12
 27766  	goto __309
 27767  __308:
 27768  	return -43
 27769  __309:
 27770  	;
 27771  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27772  __310:
 27773  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27774  		goto __311
 27775  	}
 27776  
 27777  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27778  		goto __312
 27779  	}
 27780  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code)-int32(start_code))/1 + 1 + DLINK_SIZE)
 27781  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27782  	next_active_state += 12
 27783  	goto __313
 27784  __312:
 27785  	return -43
 27786  __313:
 27787  	;
 27788  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27789  	goto __310
 27790  __311:
 27791  	;
 27792  	goto __89
 27793  
 27794  	//-----------------------------------------------------------------
 27795  __101:
 27796  __102:
 27797  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27798  		goto __314
 27799  	}
 27800  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27801  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27802  	next_active_state += 12
 27803  	goto __315
 27804  __314:
 27805  	return -43
 27806  __315:
 27807  	;
 27808  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27809  __316:
 27810  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27811  		goto __317
 27812  	}
 27813  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27814  	goto __316
 27815  __317:
 27816  	;
 27817  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27818  		goto __318
 27819  	}
 27820  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code)-int32(start_code))/1 + 1 + DLINK_SIZE)
 27821  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27822  	next_active_state += 12
 27823  	goto __319
 27824  __318:
 27825  	return -43
 27826  __319:
 27827  	;
 27828  	goto __89
 27829  
 27830  	//-----------------------------------------------------------------
 27831  __103:
 27832  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27833  __320:
 27834  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27835  		goto __321
 27836  	}
 27837  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27838  	goto __320
 27839  __321:
 27840  	;
 27841  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27842  		goto __322
 27843  	}
 27844  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(code)-int32(start_code))/1 + 1 + DLINK_SIZE)
 27845  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27846  	next_active_state += 12
 27847  	goto __323
 27848  __322:
 27849  	return -43
 27850  __323:
 27851  	;
 27852  	goto __89
 27853  
 27854  	//-----------------------------------------------------------------
 27855  __104:
 27856  	if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0)) {
 27857  		goto __324
 27858  	}
 27859  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27860  		goto __325
 27861  	}
 27862  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27863  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27864  	next_active_state += 12
 27865  	goto __326
 27866  __325:
 27867  	return -43
 27868  __326:
 27869  	;
 27870  __324:
 27871  	;
 27872  	goto __89
 27873  
 27874  	//-----------------------------------------------------------------
 27875  __105:
 27876  	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)) &&
 27877  		func() int32 {
 27878  			if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27879  				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+72, utf) != 0)
 27880  			}
 27881  			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 + 80))) && ((*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 + 80 + 1)))))
 27882  		}() != 0) {
 27883  		goto __327
 27884  	}
 27885  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27886  		goto __328
 27887  	}
 27888  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27889  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27890  	next_active_state += 12
 27891  	goto __329
 27892  __328:
 27893  	return -43
 27894  __329:
 27895  	;
 27896  __327:
 27897  	;
 27898  	goto __89
 27899  
 27900  	//-----------------------------------------------------------------
 27901  __106:
 27902  	if !(ptr >= end_subject) {
 27903  		goto __330
 27904  	}
 27905  
 27906  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 27907  		goto __331
 27908  	}
 27909  	return -2
 27910  	goto __332
 27911  __331:
 27912  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27913  		goto __333
 27914  	}
 27915  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27916  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27917  	next_active_state += 12
 27918  	goto __334
 27919  __333:
 27920  	return -43
 27921  __334:
 27922  	;
 27923  __332:
 27924  	;
 27925  __330:
 27926  	;
 27927  	goto __89
 27928  
 27929  	//-----------------------------------------------------------------
 27930  __107:
 27931  	if !(ptr == start_subject) {
 27932  		goto __335
 27933  	}
 27934  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27935  		goto __336
 27936  	}
 27937  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27938  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27939  	next_active_state += 12
 27940  	goto __337
 27941  __336:
 27942  	return -43
 27943  __337:
 27944  	;
 27945  __335:
 27946  	;
 27947  	goto __89
 27948  
 27949  	//-----------------------------------------------------------------
 27950  __108:
 27951  	if !(ptr == start_subject+uintptr(start_offset)) {
 27952  		goto __338
 27953  	}
 27954  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27955  		goto __339
 27956  	}
 27957  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27958  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27959  	next_active_state += 12
 27960  	goto __340
 27961  __339:
 27962  	return -43
 27963  __340:
 27964  	;
 27965  __338:
 27966  	;
 27967  	goto __89
 27968  
 27969  	// ==========================================================================
 27970  	// These opcodes inspect the next subject character, and sometimes
 27971  	//       the previous one as well, but do not have an argument. The variable
 27972  	//       clen contains the length of the current character and is zero if we are
 27973  	//       at the end of the subject.
 27974  
 27975  	//-----------------------------------------------------------------
 27976  __109:
 27977  	if !(clen > 0 && !(func() int32 {
 27978  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27979  			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+72, utf) != 0)
 27980  		}
 27981  		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 + 80))) && ((*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 + 80 + 1)))))
 27982  	}() != 0)) {
 27983  		goto __341
 27984  	}
 27985  
 27986  	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 + 80)))) {
 27987  		goto __342
 27988  	}
 27989  
 27990  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 27991  	goto __343
 27992  __342:
 27993  
 27994  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 27995  		goto __344
 27996  	}
 27997  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 27998  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 27999  	next_new_state += 12
 28000  	goto __345
 28001  __344:
 28002  	return -43
 28003  __345:
 28004  	;
 28005  __343:
 28006  	;
 28007  __341:
 28008  	;
 28009  	goto __89
 28010  
 28011  	//-----------------------------------------------------------------
 28012  __110:
 28013  	if !(clen > 0) {
 28014  		goto __346
 28015  	}
 28016  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28017  		goto __347
 28018  	}
 28019  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28020  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28021  	next_new_state += 12
 28022  	goto __348
 28023  __347:
 28024  	return -43
 28025  __348:
 28026  	;
 28027  __346:
 28028  	;
 28029  	goto __89
 28030  
 28031  	//-----------------------------------------------------------------
 28032  __111:
 28033  	if !(clen == 0 || func() int32 {
 28034  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28035  			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+72, utf) != 0)
 28036  		}
 28037  		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 + 80))) && ((*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 + 80 + 1)))))
 28038  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28039  		goto __349
 28040  	}
 28041  
 28042  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28043  		goto __350
 28044  	}
 28045  	return -2
 28046  __350:
 28047  	;
 28048  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28049  		goto __351
 28050  	}
 28051  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28052  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28053  	next_active_state += 12
 28054  	goto __352
 28055  __351:
 28056  	return -43
 28057  __352:
 28058  	;
 28059  __349:
 28060  	;
 28061  	goto __89
 28062  
 28063  	//-----------------------------------------------------------------
 28064  __112:
 28065  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28066  		goto __353
 28067  	}
 28068  
 28069  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28070  		goto __354
 28071  	}
 28072  	could_continue = DTRUE
 28073  	goto __355
 28074  __354:
 28075  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28076  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28077  			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+72, utf) != 0)
 28078  		}
 28079  		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 + 80))) && ((*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 + 80 + 1)))))
 28080  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28081  		goto __356
 28082  	}
 28083  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28084  		goto __358
 28085  	}
 28086  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28087  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28088  	next_active_state += 12
 28089  	goto __359
 28090  __358:
 28091  	return -43
 28092  __359:
 28093  	;
 28094  	goto __357
 28095  __356:
 28096  	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 + 80)))) {
 28097  		goto __360
 28098  	}
 28099  
 28100  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28101  		goto __361
 28102  	}
 28103  
 28104  	reset_could_continue = DTRUE
 28105  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28106  		goto __363
 28107  	}
 28108  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28109  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28110  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28111  	next_new_state += 12
 28112  	goto __364
 28113  __363:
 28114  	return -43
 28115  __364:
 28116  	;
 28117  	goto __362
 28118  __361:
 28119  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28120  __362:
 28121  	;
 28122  __360:
 28123  	;
 28124  __357:
 28125  	;
 28126  __355:
 28127  	;
 28128  __353:
 28129  	;
 28130  	goto __89
 28131  
 28132  	//-----------------------------------------------------------------
 28133  __113:
 28134  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28135  		goto __365
 28136  	}
 28137  
 28138  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28139  		goto __367
 28140  	}
 28141  	could_continue = DTRUE
 28142  	goto __368
 28143  __367:
 28144  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28145  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28146  			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+72, utf) != 0)
 28147  		}
 28148  		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 + 80))) && ((*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 + 80 + 1)))))
 28149  	}() != 0) {
 28150  		goto __369
 28151  	}
 28152  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28153  		goto __371
 28154  	}
 28155  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28156  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28157  	next_active_state += 12
 28158  	goto __372
 28159  __371:
 28160  	return -43
 28161  __372:
 28162  	;
 28163  	goto __370
 28164  __369:
 28165  	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 + 80)))) {
 28166  		goto __373
 28167  	}
 28168  
 28169  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28170  		goto __374
 28171  	}
 28172  
 28173  	reset_could_continue = DTRUE
 28174  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28175  		goto __376
 28176  	}
 28177  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28178  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28179  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28180  	next_new_state += 12
 28181  	goto __377
 28182  __376:
 28183  	return -43
 28184  __377:
 28185  	;
 28186  	goto __375
 28187  __374:
 28188  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28189  __375:
 28190  	;
 28191  __373:
 28192  	;
 28193  __370:
 28194  	;
 28195  __368:
 28196  	;
 28197  	goto __366
 28198  __365:
 28199  	if !(func() int32 {
 28200  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28201  			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+72, utf) != 0)
 28202  		}
 28203  		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 + 80))) && ((*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 + 80 + 1)))))
 28204  	}() != 0) {
 28205  		goto __378
 28206  	}
 28207  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28208  		goto __379
 28209  	}
 28210  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28211  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28212  	next_active_state += 12
 28213  	goto __380
 28214  __379:
 28215  	return -43
 28216  __380:
 28217  	;
 28218  __378:
 28219  	;
 28220  __366:
 28221  	;
 28222  	goto __89
 28223  
 28224  	//-----------------------------------------------------------------
 28225  
 28226  __114:
 28227  __115:
 28228  __116:
 28229  	if !(clen > 0 && c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0) {
 28230  		goto __381
 28231  	}
 28232  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28233  		goto __382
 28234  	}
 28235  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28236  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28237  	next_new_state += 12
 28238  	goto __383
 28239  __382:
 28240  	return -43
 28241  __383:
 28242  	;
 28243  __381:
 28244  	;
 28245  	goto __89
 28246  
 28247  	//-----------------------------------------------------------------
 28248  __117:
 28249  __118:
 28250  __119:
 28251  	if !(clen > 0 && (c >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0)) {
 28252  		goto __384
 28253  	}
 28254  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28255  		goto __385
 28256  	}
 28257  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28258  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28259  	next_new_state += 12
 28260  	goto __386
 28261  __385:
 28262  	return -43
 28263  __386:
 28264  	;
 28265  __384:
 28266  	;
 28267  	goto __89
 28268  
 28269  	//-----------------------------------------------------------------
 28270  __120:
 28271  __121:
 28272  
 28273  	if !(ptr > start_subject) {
 28274  		goto __387
 28275  	}
 28276  
 28277  	temp = ptr - uintptr(1)
 28278  	if !(temp < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 28279  		goto __389
 28280  	}
 28281  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = temp
 28282  __389:
 28283  	;
 28284  	if !(utf != 0) {
 28285  		goto __390
 28286  	}
 28287  __391:
 28288  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))&0xc0 == 0x80) {
 28289  		goto __392
 28290  	}
 28291  	temp--
 28292  	goto __391
 28293  __392:
 28294  	;
 28295  __390:
 28296  	;
 28297  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))
 28298  	if !(utf != 0 && d >= 0xc0) {
 28299  		goto __393
 28300  	}
 28301  	if !(d&0x20 == Tuint32_t(0)) {
 28302  		goto __394
 28303  	}
 28304  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f
 28305  	goto __395
 28306  __394:
 28307  	if !(d&0x10 == Tuint32_t(0)) {
 28308  		goto __396
 28309  	}
 28310  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f
 28311  	goto __397
 28312  __396:
 28313  	if !(d&0x08 == Tuint32_t(0)) {
 28314  		goto __398
 28315  	}
 28316  	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
 28317  	goto __399
 28318  __398:
 28319  	if !(d&0x04 == Tuint32_t(0)) {
 28320  		goto __400
 28321  	}
 28322  	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
 28323  	goto __401
 28324  __400:
 28325  	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
 28326  __401:
 28327  	;
 28328  __399:
 28329  	;
 28330  __397:
 28331  	;
 28332  __395:
 28333  	;
 28334  __393:
 28335  	;
 28336  
 28337  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28338  		goto __402
 28339  	}
 28340  
 28341  	if !(d == Tuint32_t('_')) {
 28342  		goto __404
 28343  	}
 28344  	left_word = DTRUE
 28345  	goto __405
 28346  __404:
 28347  
 28348  	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]
 28349  	left_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 28350  __405:
 28351  	;
 28352  	goto __403
 28353  __402:
 28354  	left_word = libc.Bool32(d < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(d))))&Dctype_word != 0)
 28355  __403:
 28356  	;
 28357  	goto __388
 28358  __387:
 28359  	left_word = DFALSE
 28360  __388:
 28361  	;
 28362  
 28363  	if !(clen > 0) {
 28364  		goto __406
 28365  	}
 28366  
 28367  	if !(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 28368  		goto __408
 28369  	}
 28370  
 28371  	temp1 = ptr + uintptr(1)
 28372  	if !(utf != 0) {
 28373  		goto __409
 28374  	}
 28375  __410:
 28376  	if !(temp1 < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp1)))&0xc0 == 0x80) {
 28377  		goto __411
 28378  	}
 28379  	temp1++
 28380  	goto __410
 28381  __411:
 28382  	;
 28383  __409:
 28384  	;
 28385  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = temp1
 28386  __408:
 28387  	;
 28388  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28389  		goto __412
 28390  	}
 28391  
 28392  	if !(c == Tuint32_t('_')) {
 28393  		goto __414
 28394  	}
 28395  	right_word = DTRUE
 28396  	goto __415
 28397  __414:
 28398  
 28399  	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]
 28400  	right_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 28401  __415:
 28402  	;
 28403  	goto __413
 28404  __412:
 28405  	right_word = libc.Bool32(c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&Dctype_word != 0)
 28406  __413:
 28407  	;
 28408  	goto __407
 28409  __406:
 28410  	right_word = DFALSE
 28411  __407:
 28412  	;
 28413  
 28414  	if !(libc.Bool32(left_word == right_word) == libc.Bool32(codevalue == OP_NOT_WORD_BOUNDARY)) {
 28415  		goto __416
 28416  	}
 28417  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28418  		goto __417
 28419  	}
 28420  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28421  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28422  	next_active_state += 12
 28423  	goto __418
 28424  __417:
 28425  	return -43
 28426  __418:
 28427  	;
 28428  __416:
 28429  	;
 28430  
 28431  	goto __89
 28432  
 28433  	//-----------------------------------------------------------------
 28434  	// Check the next character by Unicode property. We will get here only
 28435  	//       if the support is in the binary; otherwise a compile-time error occurs.
 28436  	//
 28437  
 28438  __122:
 28439  __123:
 28440  	if !(clen > 0) {
 28441  		goto __419
 28442  	}
 28443  
 28444  	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
 28445  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) {
 28446  	case DPT_ANY:
 28447  		goto __421
 28448  
 28449  	case DPT_LAMP:
 28450  		goto __422
 28451  
 28452  	case DPT_GC:
 28453  		goto __423
 28454  
 28455  	case DPT_PC:
 28456  		goto __424
 28457  
 28458  	case DPT_SC:
 28459  		goto __425
 28460  
 28461  	case DPT_SCX:
 28462  		goto __426
 28463  
 28464  	// These are specials for combination cases.
 28465  
 28466  	case DPT_ALNUM:
 28467  		goto __427
 28468  
 28469  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28470  	//           which means that Perl space and POSIX space are now identical. PCRE
 28471  	//           was changed at release 8.34.
 28472  
 28473  	case DPT_SPACE:
 28474  		goto __428 // Perl space
 28475  	case DPT_PXSPACE:
 28476  		goto __429
 28477  
 28478  	case DPT_WORD:
 28479  		goto __430
 28480  
 28481  	case DPT_CLIST:
 28482  		goto __431
 28483  
 28484  	case DPT_UCNC:
 28485  		goto __432
 28486  
 28487  	case DPT_BIDICL:
 28488  		goto __433
 28489  
 28490  	case DPT_BOOL:
 28491  		goto __434
 28492  
 28493  	// Should never occur, but keep compilers from grumbling.
 28494  
 28495  	default:
 28496  		goto __435
 28497  	}
 28498  	goto __420
 28499  
 28500  __421:
 28501  	OK = DTRUE
 28502  	goto __420
 28503  
 28504  __422:
 28505  	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)
 28506  	goto __420
 28507  
 28508  __423:
 28509  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28510  	goto __420
 28511  
 28512  __424:
 28513  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28514  	goto __420
 28515  
 28516  __425:
 28517  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28518  	goto __420
 28519  
 28520  __426:
 28521  	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))
 28522  	goto __420
 28523  
 28524  	// These are specials for combination cases.
 28525  
 28526  __427:
 28527  	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)
 28528  	goto __420
 28529  
 28530  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28531  	//           which means that Perl space and POSIX space are now identical. PCRE
 28532  	//           was changed at release 8.34.
 28533  
 28534  __428: // Perl space
 28535  __429: // POSIX space
 28536  	switch c {
 28537  	case Tuint32_t('\011'):
 28538  		goto __437
 28539  	case Tuint32_t('\040'):
 28540  		goto __438
 28541  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 28542  		goto __439
 28543  	case Tuint32_t(0x1680):
 28544  		goto __440 /* OGHAM SPACE MARK */
 28545  	case Tuint32_t(0x180e):
 28546  		goto __441 /* MONGOLIAN VOWEL SEPARATOR */
 28547  	case Tuint32_t(0x2000):
 28548  		goto __442 /* EN QUAD */
 28549  	case Tuint32_t(0x2001):
 28550  		goto __443 /* EM QUAD */
 28551  	case Tuint32_t(0x2002):
 28552  		goto __444 /* EN SPACE */
 28553  	case Tuint32_t(0x2003):
 28554  		goto __445 /* EM SPACE */
 28555  	case Tuint32_t(0x2004):
 28556  		goto __446 /* THREE-PER-EM SPACE */
 28557  	case Tuint32_t(0x2005):
 28558  		goto __447 /* FOUR-PER-EM SPACE */
 28559  	case Tuint32_t(0x2006):
 28560  		goto __448 /* SIX-PER-EM SPACE */
 28561  	case Tuint32_t(0x2007):
 28562  		goto __449 /* FIGURE SPACE */
 28563  	case Tuint32_t(0x2008):
 28564  		goto __450 /* PUNCTUATION SPACE */
 28565  	case Tuint32_t(0x2009):
 28566  		goto __451 /* THIN SPACE */
 28567  	case Tuint32_t(0x200A):
 28568  		goto __452 /* HAIR SPACE */
 28569  	case Tuint32_t(0x202f):
 28570  		goto __453 /* NARROW NO-BREAK SPACE */
 28571  	case Tuint32_t(0x205f):
 28572  		goto __454 /* MEDIUM MATHEMATICAL SPACE */
 28573  	case Tuint32_t(0x3000):
 28574  		goto __455
 28575  	case Tuint32_t('\012'):
 28576  		goto __456
 28577  	case Tuint32_t('\013'):
 28578  		goto __457
 28579  	case Tuint32_t('\014'):
 28580  		goto __458
 28581  	case Tuint32_t('\015'):
 28582  		goto __459
 28583  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 28584  		goto __460
 28585  	case Tuint32_t(0x2028):
 28586  		goto __461 /* LINE SEPARATOR */
 28587  	case Tuint32_t(0x2029):
 28588  		goto __462
 28589  
 28590  	default:
 28591  		goto __463
 28592  	}
 28593  	goto __436
 28594  
 28595  __437:
 28596  __438:
 28597  __439:
 28598  __440: /* OGHAM SPACE MARK */
 28599  __441: /* MONGOLIAN VOWEL SEPARATOR */
 28600  __442: /* EN QUAD */
 28601  __443: /* EM QUAD */
 28602  __444: /* EN SPACE */
 28603  __445: /* EM SPACE */
 28604  __446: /* THREE-PER-EM SPACE */
 28605  __447: /* FOUR-PER-EM SPACE */
 28606  __448: /* SIX-PER-EM SPACE */
 28607  __449: /* FIGURE SPACE */
 28608  __450: /* PUNCTUATION SPACE */
 28609  __451: /* THIN SPACE */
 28610  __452: /* HAIR SPACE */
 28611  __453: /* NARROW NO-BREAK SPACE */
 28612  __454: /* MEDIUM MATHEMATICAL SPACE */
 28613  __455:
 28614  __456:
 28615  __457:
 28616  __458:
 28617  __459:
 28618  __460:
 28619  __461: /* LINE SEPARATOR */
 28620  __462:
 28621  	OK = DTRUE
 28622  	goto __436
 28623  
 28624  __463:
 28625  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z)
 28626  	goto __436
 28627  __436:
 28628  	;
 28629  	goto __420
 28630  
 28631  __430:
 28632  	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'))
 28633  	goto __420
 28634  
 28635  __431:
 28636  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))*4
 28637  __464:
 28638  
 28639  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 28640  		goto __467
 28641  	}
 28642  	OK = DFALSE
 28643  	goto __466
 28644  __467:
 28645  	;
 28646  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 28647  		goto __468
 28648  	}
 28649  	OK = DTRUE
 28650  	goto __466
 28651  __468:
 28652  	;
 28653  	goto __465
 28654  __465:
 28655  	goto __464
 28656  	goto __466
 28657  __466:
 28658  	;
 28659  	goto __420
 28660  
 28661  __432:
 28662  	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))
 28663  	goto __420
 28664  
 28665  __433:
 28666  	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))))
 28667  	goto __420
 28668  
 28669  __434:
 28670  	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))
 28671  	goto __420
 28672  
 28673  	// Should never occur, but keep compilers from grumbling.
 28674  
 28675  __435:
 28676  	OK = libc.Bool32(codevalue != OP_PROP)
 28677  	goto __420
 28678  __420:
 28679  	;
 28680  
 28681  	if !(OK == libc.Bool32(codevalue == OP_PROP)) {
 28682  		goto __469
 28683  	}
 28684  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28685  		goto __470
 28686  	}
 28687  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 3
 28688  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28689  	next_new_state += 12
 28690  	goto __471
 28691  __470:
 28692  	return -43
 28693  __471:
 28694  	;
 28695  __469:
 28696  	;
 28697  __419:
 28698  	;
 28699  	goto __89
 28700  
 28701  	// ==========================================================================
 28702  	// These opcodes likewise inspect the subject character, but have an
 28703  	//       argument that is not a data character. It is one of these opcodes:
 28704  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 28705  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 28706  
 28707  __124:
 28708  __125:
 28709  __126:
 28710  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 28711  	if !(count > 0) {
 28712  		goto __472
 28713  	}
 28714  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28715  		goto __473
 28716  	}
 28717  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28718  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28719  	next_active_state += 12
 28720  	goto __474
 28721  __473:
 28722  	return -43
 28723  __474:
 28724  	;
 28725  __472:
 28726  	;
 28727  	if !(clen > 0) {
 28728  		goto __475
 28729  	}
 28730  
 28731  	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 + 80)))) {
 28732  		goto __476
 28733  	}
 28734  
 28735  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28736  	goto __477
 28737  __476:
 28738  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28739  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28740  			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+72, utf) != 0)
 28741  		}
 28742  		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 + 80))) && ((*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 + 80 + 1)))))
 28743  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28744  		goto __478
 28745  	}
 28746  
 28747  	if !(count > 0 && codevalue == OP_TYPEPOSPLUS) {
 28748  		goto __479
 28749  	}
 28750  
 28751  	active_count-- // Remove non-match possibility
 28752  	next_active_state -= 12
 28753  __479:
 28754  	;
 28755  	count++
 28756  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28757  		goto __480
 28758  	}
 28759  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28760  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28761  	next_new_state += 12
 28762  	goto __481
 28763  __480:
 28764  	return -43
 28765  __481:
 28766  	;
 28767  __478:
 28768  	;
 28769  __477:
 28770  	;
 28771  __475:
 28772  	;
 28773  	goto __89
 28774  
 28775  	//-----------------------------------------------------------------
 28776  __127:
 28777  __128:
 28778  __129:
 28779  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28780  		goto __482
 28781  	}
 28782  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28783  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28784  	next_active_state += 12
 28785  	goto __483
 28786  __482:
 28787  	return -43
 28788  __483:
 28789  	;
 28790  	if !(clen > 0) {
 28791  		goto __484
 28792  	}
 28793  
 28794  	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 + 80)))) {
 28795  		goto __485
 28796  	}
 28797  
 28798  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28799  	goto __486
 28800  __485:
 28801  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28802  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28803  			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+72, utf) != 0)
 28804  		}
 28805  		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 + 80))) && ((*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 + 80 + 1)))))
 28806  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28807  		goto __487
 28808  	}
 28809  
 28810  	if !(codevalue == OP_TYPEPOSQUERY) {
 28811  		goto __488
 28812  	}
 28813  
 28814  	active_count-- // Remove non-match possibility
 28815  	next_active_state -= 12
 28816  __488:
 28817  	;
 28818  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28819  		goto __489
 28820  	}
 28821  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 28822  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28823  	next_new_state += 12
 28824  	goto __490
 28825  __489:
 28826  	return -43
 28827  __490:
 28828  	;
 28829  __487:
 28830  	;
 28831  __486:
 28832  	;
 28833  __484:
 28834  	;
 28835  	goto __89
 28836  
 28837  	//-----------------------------------------------------------------
 28838  __130:
 28839  __131:
 28840  __132:
 28841  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28842  		goto __491
 28843  	}
 28844  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28845  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28846  	next_active_state += 12
 28847  	goto __492
 28848  __491:
 28849  	return -43
 28850  __492:
 28851  	;
 28852  	if !(clen > 0) {
 28853  		goto __493
 28854  	}
 28855  
 28856  	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 + 80)))) {
 28857  		goto __494
 28858  	}
 28859  
 28860  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28861  	goto __495
 28862  __494:
 28863  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28864  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28865  			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+72, utf) != 0)
 28866  		}
 28867  		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 + 80))) && ((*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 + 80 + 1)))))
 28868  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28869  		goto __496
 28870  	}
 28871  
 28872  	if !(codevalue == OP_TYPEPOSSTAR) {
 28873  		goto __497
 28874  	}
 28875  
 28876  	active_count-- // Remove non-match possibility
 28877  	next_active_state -= 12
 28878  __497:
 28879  	;
 28880  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28881  		goto __498
 28882  	}
 28883  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28884  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28885  	next_new_state += 12
 28886  	goto __499
 28887  __498:
 28888  	return -43
 28889  __499:
 28890  	;
 28891  __496:
 28892  	;
 28893  __495:
 28894  	;
 28895  __493:
 28896  	;
 28897  	goto __89
 28898  
 28899  	//-----------------------------------------------------------------
 28900  __133:
 28901  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28902  	if !(clen > 0) {
 28903  		goto __500
 28904  	}
 28905  
 28906  	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 + 80)))) {
 28907  		goto __501
 28908  	}
 28909  
 28910  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28911  	goto __502
 28912  __501:
 28913  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28914  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28915  			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+72, utf) != 0)
 28916  		}
 28917  		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 + 80))) && ((*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 + 80 + 1)))))
 28918  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28919  		goto __503
 28920  	}
 28921  
 28922  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 28923  		goto __504
 28924  	}
 28925  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28926  		goto __506
 28927  	}
 28928  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 1
 28929  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28930  	next_new_state += 12
 28931  	goto __507
 28932  __506:
 28933  	return -43
 28934  __507:
 28935  	;
 28936  	goto __505
 28937  __504:
 28938  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28939  		goto __508
 28940  	}
 28941  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28942  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28943  	next_new_state += 12
 28944  	goto __509
 28945  __508:
 28946  	return -43
 28947  __509:
 28948  	;
 28949  __505:
 28950  	;
 28951  __503:
 28952  	;
 28953  __502:
 28954  	;
 28955  __500:
 28956  	;
 28957  	goto __89
 28958  
 28959  	//-----------------------------------------------------------------
 28960  __134:
 28961  __135:
 28962  __136:
 28963  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28964  		goto __510
 28965  	}
 28966  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 28967  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28968  	next_active_state += 12
 28969  	goto __511
 28970  __510:
 28971  	return -43
 28972  __511:
 28973  	;
 28974  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28975  	if !(clen > 0) {
 28976  		goto __512
 28977  	}
 28978  
 28979  	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 + 80)))) {
 28980  		goto __513
 28981  	}
 28982  
 28983  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28984  	goto __514
 28985  __513:
 28986  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28987  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28988  			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+72, utf) != 0)
 28989  		}
 28990  		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 + 80))) && ((*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 + 80 + 1)))))
 28991  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28992  		goto __515
 28993  	}
 28994  
 28995  	if !(codevalue == OP_TYPEPOSUPTO) {
 28996  		goto __516
 28997  	}
 28998  
 28999  	active_count-- // Remove non-match possibility
 29000  	next_active_state -= 12
 29001  __516:
 29002  	;
 29003  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 29004  		goto __517
 29005  	}
 29006  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29007  		goto __519
 29008  	}
 29009  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 29010  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 29011  	next_new_state += 12
 29012  	goto __520
 29013  __519:
 29014  	return -43
 29015  __520:
 29016  	;
 29017  	goto __518
 29018  __517:
 29019  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29020  		goto __521
 29021  	}
 29022  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29023  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29024  	next_new_state += 12
 29025  	goto __522
 29026  __521:
 29027  	return -43
 29028  __522:
 29029  	;
 29030  __518:
 29031  	;
 29032  __515:
 29033  	;
 29034  __514:
 29035  	;
 29036  __512:
 29037  	;
 29038  	goto __89
 29039  
 29040  	// ==========================================================================
 29041  	// These are virtual opcodes that are used when something like
 29042  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 29043  	//       argument. It keeps the code above fast for the other cases. The argument
 29044  	//       is in the d variable.
 29045  
 29046  __137:
 29047  __138:
 29048  __139:
 29049  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29050  	if !(count > 0) {
 29051  		goto __523
 29052  	}
 29053  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29054  		goto __524
 29055  	}
 29056  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29057  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29058  	next_active_state += 12
 29059  	goto __525
 29060  __524:
 29061  	return -43
 29062  __525:
 29063  	;
 29064  __523:
 29065  	;
 29066  	if !(clen > 0) {
 29067  		goto __526
 29068  	}
 29069  
 29070  	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
 29071  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29072  	case DPT_ANY:
 29073  		goto __528
 29074  
 29075  	case DPT_LAMP:
 29076  		goto __529
 29077  
 29078  	case DPT_GC:
 29079  		goto __530
 29080  
 29081  	case DPT_PC:
 29082  		goto __531
 29083  
 29084  	case DPT_SC:
 29085  		goto __532
 29086  
 29087  	case DPT_SCX:
 29088  		goto __533
 29089  
 29090  	// These are specials for combination cases.
 29091  
 29092  	case DPT_ALNUM:
 29093  		goto __534
 29094  
 29095  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29096  	//           which means that Perl space and POSIX space are now identical. PCRE
 29097  	//           was changed at release 8.34.
 29098  
 29099  	case DPT_SPACE:
 29100  		goto __535 // Perl space
 29101  	case DPT_PXSPACE:
 29102  		goto __536
 29103  
 29104  	case DPT_WORD:
 29105  		goto __537
 29106  
 29107  	case DPT_CLIST:
 29108  		goto __538
 29109  
 29110  	case DPT_UCNC:
 29111  		goto __539
 29112  
 29113  	case DPT_BIDICL:
 29114  		goto __540
 29115  
 29116  	case DPT_BOOL:
 29117  		goto __541
 29118  
 29119  	// Should never occur, but keep compilers from grumbling.
 29120  
 29121  	default:
 29122  		goto __542
 29123  	}
 29124  	goto __527
 29125  
 29126  __528:
 29127  	OK1 = DTRUE
 29128  	goto __527
 29129  
 29130  __529:
 29131  	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)
 29132  	goto __527
 29133  
 29134  __530:
 29135  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29136  	goto __527
 29137  
 29138  __531:
 29139  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29140  	goto __527
 29141  
 29142  __532:
 29143  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29144  	goto __527
 29145  
 29146  __533:
 29147  	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))
 29148  	goto __527
 29149  
 29150  	// These are specials for combination cases.
 29151  
 29152  __534:
 29153  	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)
 29154  	goto __527
 29155  
 29156  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29157  	//           which means that Perl space and POSIX space are now identical. PCRE
 29158  	//           was changed at release 8.34.
 29159  
 29160  __535: // Perl space
 29161  __536: // POSIX space
 29162  	switch c {
 29163  	case Tuint32_t('\011'):
 29164  		goto __544
 29165  	case Tuint32_t('\040'):
 29166  		goto __545
 29167  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29168  		goto __546
 29169  	case Tuint32_t(0x1680):
 29170  		goto __547 /* OGHAM SPACE MARK */
 29171  	case Tuint32_t(0x180e):
 29172  		goto __548 /* MONGOLIAN VOWEL SEPARATOR */
 29173  	case Tuint32_t(0x2000):
 29174  		goto __549 /* EN QUAD */
 29175  	case Tuint32_t(0x2001):
 29176  		goto __550 /* EM QUAD */
 29177  	case Tuint32_t(0x2002):
 29178  		goto __551 /* EN SPACE */
 29179  	case Tuint32_t(0x2003):
 29180  		goto __552 /* EM SPACE */
 29181  	case Tuint32_t(0x2004):
 29182  		goto __553 /* THREE-PER-EM SPACE */
 29183  	case Tuint32_t(0x2005):
 29184  		goto __554 /* FOUR-PER-EM SPACE */
 29185  	case Tuint32_t(0x2006):
 29186  		goto __555 /* SIX-PER-EM SPACE */
 29187  	case Tuint32_t(0x2007):
 29188  		goto __556 /* FIGURE SPACE */
 29189  	case Tuint32_t(0x2008):
 29190  		goto __557 /* PUNCTUATION SPACE */
 29191  	case Tuint32_t(0x2009):
 29192  		goto __558 /* THIN SPACE */
 29193  	case Tuint32_t(0x200A):
 29194  		goto __559 /* HAIR SPACE */
 29195  	case Tuint32_t(0x202f):
 29196  		goto __560 /* NARROW NO-BREAK SPACE */
 29197  	case Tuint32_t(0x205f):
 29198  		goto __561 /* MEDIUM MATHEMATICAL SPACE */
 29199  	case Tuint32_t(0x3000):
 29200  		goto __562
 29201  	case Tuint32_t('\012'):
 29202  		goto __563
 29203  	case Tuint32_t('\013'):
 29204  		goto __564
 29205  	case Tuint32_t('\014'):
 29206  		goto __565
 29207  	case Tuint32_t('\015'):
 29208  		goto __566
 29209  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29210  		goto __567
 29211  	case Tuint32_t(0x2028):
 29212  		goto __568 /* LINE SEPARATOR */
 29213  	case Tuint32_t(0x2029):
 29214  		goto __569
 29215  
 29216  	default:
 29217  		goto __570
 29218  	}
 29219  	goto __543
 29220  
 29221  __544:
 29222  __545:
 29223  __546:
 29224  __547: /* OGHAM SPACE MARK */
 29225  __548: /* MONGOLIAN VOWEL SEPARATOR */
 29226  __549: /* EN QUAD */
 29227  __550: /* EM QUAD */
 29228  __551: /* EN SPACE */
 29229  __552: /* EM SPACE */
 29230  __553: /* THREE-PER-EM SPACE */
 29231  __554: /* FOUR-PER-EM SPACE */
 29232  __555: /* SIX-PER-EM SPACE */
 29233  __556: /* FIGURE SPACE */
 29234  __557: /* PUNCTUATION SPACE */
 29235  __558: /* THIN SPACE */
 29236  __559: /* HAIR SPACE */
 29237  __560: /* NARROW NO-BREAK SPACE */
 29238  __561: /* MEDIUM MATHEMATICAL SPACE */
 29239  __562:
 29240  __563:
 29241  __564:
 29242  __565:
 29243  __566:
 29244  __567:
 29245  __568: /* LINE SEPARATOR */
 29246  __569:
 29247  	OK1 = DTRUE
 29248  	goto __543
 29249  
 29250  __570:
 29251  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_Z)
 29252  	goto __543
 29253  __543:
 29254  	;
 29255  	goto __527
 29256  
 29257  __537:
 29258  	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'))
 29259  	goto __527
 29260  
 29261  __538:
 29262  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29263  __571:
 29264  
 29265  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 29266  		goto __574
 29267  	}
 29268  	OK1 = DFALSE
 29269  	goto __573
 29270  __574:
 29271  	;
 29272  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 29273  		goto __575
 29274  	}
 29275  	OK1 = DTRUE
 29276  	goto __573
 29277  __575:
 29278  	;
 29279  	goto __572
 29280  __572:
 29281  	goto __571
 29282  	goto __573
 29283  __573:
 29284  	;
 29285  	goto __527
 29286  
 29287  __539:
 29288  	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))
 29289  	goto __527
 29290  
 29291  __540:
 29292  	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))))
 29293  	goto __527
 29294  
 29295  __541:
 29296  	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))
 29297  	goto __527
 29298  
 29299  	// Should never occur, but keep compilers from grumbling.
 29300  
 29301  __542:
 29302  	OK1 = libc.Bool32(codevalue != OP_PROP)
 29303  	goto __527
 29304  __527:
 29305  	;
 29306  
 29307  	if !(OK1 == libc.Bool32(d == OP_PROP)) {
 29308  		goto __576
 29309  	}
 29310  
 29311  	if !(count > 0 && codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSPLUS)) {
 29312  		goto __577
 29313  	}
 29314  
 29315  	active_count-- // Remove non-match possibility
 29316  	next_active_state -= 12
 29317  __577:
 29318  	;
 29319  	count++
 29320  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29321  		goto __578
 29322  	}
 29323  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29324  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29325  	next_new_state += 12
 29326  	goto __579
 29327  __578:
 29328  	return -43
 29329  __579:
 29330  	;
 29331  __576:
 29332  	;
 29333  __526:
 29334  	;
 29335  	goto __89
 29336  
 29337  	//-----------------------------------------------------------------
 29338  __140:
 29339  __141:
 29340  __142:
 29341  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29342  	if !(count > 0) {
 29343  		goto __580
 29344  	}
 29345  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29346  		goto __581
 29347  	}
 29348  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29349  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29350  	next_active_state += 12
 29351  	goto __582
 29352  __581:
 29353  	return -43
 29354  __582:
 29355  	;
 29356  __580:
 29357  	;
 29358  	if !(clen > 0) {
 29359  		goto __583
 29360  	}
 29361  
 29362  	*(*int32)(unsafe.Pointer(bp /* ncount */)) = 0
 29363  	if !(count > 0 && codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSPLUS)) {
 29364  		goto __584
 29365  	}
 29366  
 29367  	active_count-- // Remove non-match possibility
 29368  	next_active_state -= 12
 29369  __584:
 29370  	;
 29371  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 29372  		bp)
 29373  	count++
 29374  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29375  		goto __585
 29376  	}
 29377  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29378  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29379  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp))
 29380  	next_new_state += 12
 29381  	goto __586
 29382  __585:
 29383  	return -43
 29384  __586:
 29385  	;
 29386  __583:
 29387  	;
 29388  	goto __89
 29389  
 29390  	//-----------------------------------------------------------------
 29391  __143:
 29392  __144:
 29393  __145:
 29394  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29395  	if !(count > 0) {
 29396  		goto __587
 29397  	}
 29398  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29399  		goto __588
 29400  	}
 29401  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29402  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29403  	next_active_state += 12
 29404  	goto __589
 29405  __588:
 29406  	return -43
 29407  __589:
 29408  	;
 29409  __587:
 29410  	;
 29411  	if !(clen > 0) {
 29412  		goto __590
 29413  	}
 29414  	ncount1 = 0
 29415  	switch c {
 29416  	case Tuint32_t('\013'):
 29417  		goto __592
 29418  	case Tuint32_t('\014'):
 29419  		goto __593
 29420  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29421  		goto __594
 29422  	case Tuint32_t(0x2028):
 29423  		goto __595
 29424  	case Tuint32_t(0x2029):
 29425  		goto __596
 29426  
 29427  	case Tuint32_t('\015'):
 29428  		goto __597
 29429  	case Tuint32_t('\012'):
 29430  		goto __598
 29431  
 29432  	default:
 29433  		goto __599
 29434  	}
 29435  	goto __591
 29436  
 29437  __592:
 29438  __593:
 29439  __594:
 29440  __595:
 29441  __596:
 29442  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 29443  		goto __600
 29444  	}
 29445  	goto __591
 29446  __600:
 29447  	;
 29448  	goto ANYNL01
 29449  
 29450  __597:
 29451  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 29452  		goto __601
 29453  	}
 29454  	ncount1 = 1
 29455  __601:
 29456  	;
 29457  	// Fall through
 29458  
 29459  ANYNL01:
 29460  __598:
 29461  	if !(count > 0 && codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSPLUS)) {
 29462  		goto __602
 29463  	}
 29464  
 29465  	active_count-- // Remove non-match possibility
 29466  	next_active_state -= 12
 29467  __602:
 29468  	;
 29469  	count++
 29470  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29471  		goto __603
 29472  	}
 29473  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29474  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29475  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount1
 29476  	next_new_state += 12
 29477  	goto __604
 29478  __603:
 29479  	return -43
 29480  __604:
 29481  	;
 29482  	goto __591
 29483  
 29484  __599:
 29485  	goto __591
 29486  __591:
 29487  	;
 29488  __590:
 29489  	;
 29490  	goto __89
 29491  
 29492  	//-----------------------------------------------------------------
 29493  __146:
 29494  __147:
 29495  __148:
 29496  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29497  	if !(count > 0) {
 29498  		goto __605
 29499  	}
 29500  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29501  		goto __606
 29502  	}
 29503  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29504  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29505  	next_active_state += 12
 29506  	goto __607
 29507  __606:
 29508  	return -43
 29509  __607:
 29510  	;
 29511  __605:
 29512  	;
 29513  	if !(clen > 0) {
 29514  		goto __608
 29515  	}
 29516  
 29517  	switch c {
 29518  	case Tuint32_t('\012'):
 29519  		goto __610
 29520  	case Tuint32_t('\013'):
 29521  		goto __611
 29522  	case Tuint32_t('\014'):
 29523  		goto __612
 29524  	case Tuint32_t('\015'):
 29525  		goto __613
 29526  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29527  		goto __614
 29528  	case Tuint32_t(0x2028):
 29529  		goto __615 /* LINE SEPARATOR */
 29530  	case Tuint32_t(0x2029):
 29531  		goto __616
 29532  
 29533  	default:
 29534  		goto __617
 29535  	}
 29536  	goto __609
 29537  
 29538  __610:
 29539  __611:
 29540  __612:
 29541  __613:
 29542  __614:
 29543  __615: /* LINE SEPARATOR */
 29544  __616:
 29545  	OK2 = DTRUE
 29546  	goto __609
 29547  
 29548  __617:
 29549  	OK2 = DFALSE
 29550  	goto __609
 29551  __609:
 29552  	;
 29553  
 29554  	if !(OK2 == libc.Bool32(d == OP_VSPACE)) {
 29555  		goto __618
 29556  	}
 29557  
 29558  	if !(count > 0 && codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29559  		goto __619
 29560  	}
 29561  
 29562  	active_count-- // Remove non-match possibility
 29563  	next_active_state -= 12
 29564  __619:
 29565  	;
 29566  	count++
 29567  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29568  		goto __620
 29569  	}
 29570  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29571  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29572  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29573  	next_new_state += 12
 29574  	goto __621
 29575  __620:
 29576  	return -43
 29577  __621:
 29578  	;
 29579  __618:
 29580  	;
 29581  __608:
 29582  	;
 29583  	goto __89
 29584  
 29585  	//-----------------------------------------------------------------
 29586  __149:
 29587  __150:
 29588  __151:
 29589  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29590  	if !(count > 0) {
 29591  		goto __622
 29592  	}
 29593  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29594  		goto __623
 29595  	}
 29596  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29597  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29598  	next_active_state += 12
 29599  	goto __624
 29600  __623:
 29601  	return -43
 29602  __624:
 29603  	;
 29604  __622:
 29605  	;
 29606  	if !(clen > 0) {
 29607  		goto __625
 29608  	}
 29609  
 29610  	switch c {
 29611  	case Tuint32_t('\011'):
 29612  		goto __627
 29613  	case Tuint32_t('\040'):
 29614  		goto __628
 29615  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29616  		goto __629
 29617  	case Tuint32_t(0x1680):
 29618  		goto __630 /* OGHAM SPACE MARK */
 29619  	case Tuint32_t(0x180e):
 29620  		goto __631 /* MONGOLIAN VOWEL SEPARATOR */
 29621  	case Tuint32_t(0x2000):
 29622  		goto __632 /* EN QUAD */
 29623  	case Tuint32_t(0x2001):
 29624  		goto __633 /* EM QUAD */
 29625  	case Tuint32_t(0x2002):
 29626  		goto __634 /* EN SPACE */
 29627  	case Tuint32_t(0x2003):
 29628  		goto __635 /* EM SPACE */
 29629  	case Tuint32_t(0x2004):
 29630  		goto __636 /* THREE-PER-EM SPACE */
 29631  	case Tuint32_t(0x2005):
 29632  		goto __637 /* FOUR-PER-EM SPACE */
 29633  	case Tuint32_t(0x2006):
 29634  		goto __638 /* SIX-PER-EM SPACE */
 29635  	case Tuint32_t(0x2007):
 29636  		goto __639 /* FIGURE SPACE */
 29637  	case Tuint32_t(0x2008):
 29638  		goto __640 /* PUNCTUATION SPACE */
 29639  	case Tuint32_t(0x2009):
 29640  		goto __641 /* THIN SPACE */
 29641  	case Tuint32_t(0x200A):
 29642  		goto __642 /* HAIR SPACE */
 29643  	case Tuint32_t(0x202f):
 29644  		goto __643 /* NARROW NO-BREAK SPACE */
 29645  	case Tuint32_t(0x205f):
 29646  		goto __644 /* MEDIUM MATHEMATICAL SPACE */
 29647  	case Tuint32_t(0x3000):
 29648  		goto __645
 29649  
 29650  	default:
 29651  		goto __646
 29652  	}
 29653  	goto __626
 29654  
 29655  __627:
 29656  __628:
 29657  __629:
 29658  __630: /* OGHAM SPACE MARK */
 29659  __631: /* MONGOLIAN VOWEL SEPARATOR */
 29660  __632: /* EN QUAD */
 29661  __633: /* EM QUAD */
 29662  __634: /* EN SPACE */
 29663  __635: /* EM SPACE */
 29664  __636: /* THREE-PER-EM SPACE */
 29665  __637: /* FOUR-PER-EM SPACE */
 29666  __638: /* SIX-PER-EM SPACE */
 29667  __639: /* FIGURE SPACE */
 29668  __640: /* PUNCTUATION SPACE */
 29669  __641: /* THIN SPACE */
 29670  __642: /* HAIR SPACE */
 29671  __643: /* NARROW NO-BREAK SPACE */
 29672  __644: /* MEDIUM MATHEMATICAL SPACE */
 29673  __645:
 29674  	OK3 = DTRUE
 29675  	goto __626
 29676  
 29677  __646:
 29678  	OK3 = DFALSE
 29679  	goto __626
 29680  __626:
 29681  	;
 29682  
 29683  	if !(OK3 == libc.Bool32(d == OP_HSPACE)) {
 29684  		goto __647
 29685  	}
 29686  
 29687  	if !(count > 0 && codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29688  		goto __648
 29689  	}
 29690  
 29691  	active_count-- // Remove non-match possibility
 29692  	next_active_state -= 12
 29693  __648:
 29694  	;
 29695  	count++
 29696  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29697  		goto __649
 29698  	}
 29699  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29700  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29701  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29702  	next_new_state += 12
 29703  	goto __650
 29704  __649:
 29705  	return -43
 29706  __650:
 29707  	;
 29708  __647:
 29709  	;
 29710  __625:
 29711  	;
 29712  	goto __89
 29713  
 29714  	//-----------------------------------------------------------------
 29715  __152:
 29716  __153:
 29717  __154:
 29718  	count = 4
 29719  	goto QS1
 29720  
 29721  __155:
 29722  __156:
 29723  __157:
 29724  	count = 0
 29725  
 29726  QS1:
 29727  
 29728  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29729  		goto __651
 29730  	}
 29731  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29732  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29733  	next_active_state += 12
 29734  	goto __652
 29735  __651:
 29736  	return -43
 29737  __652:
 29738  	;
 29739  	if !(clen > 0) {
 29740  		goto __653
 29741  	}
 29742  
 29743  	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
 29744  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29745  	case DPT_ANY:
 29746  		goto __655
 29747  
 29748  	case DPT_LAMP:
 29749  		goto __656
 29750  
 29751  	case DPT_GC:
 29752  		goto __657
 29753  
 29754  	case DPT_PC:
 29755  		goto __658
 29756  
 29757  	case DPT_SC:
 29758  		goto __659
 29759  
 29760  	case DPT_SCX:
 29761  		goto __660
 29762  
 29763  	// These are specials for combination cases.
 29764  
 29765  	case DPT_ALNUM:
 29766  		goto __661
 29767  
 29768  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29769  	//           which means that Perl space and POSIX space are now identical. PCRE
 29770  	//           was changed at release 8.34.
 29771  
 29772  	case DPT_SPACE:
 29773  		goto __662 // Perl space
 29774  	case DPT_PXSPACE:
 29775  		goto __663
 29776  
 29777  	case DPT_WORD:
 29778  		goto __664
 29779  
 29780  	case DPT_CLIST:
 29781  		goto __665
 29782  
 29783  	case DPT_UCNC:
 29784  		goto __666
 29785  
 29786  	case DPT_BIDICL:
 29787  		goto __667
 29788  
 29789  	case DPT_BOOL:
 29790  		goto __668
 29791  
 29792  	// Should never occur, but keep compilers from grumbling.
 29793  
 29794  	default:
 29795  		goto __669
 29796  	}
 29797  	goto __654
 29798  
 29799  __655:
 29800  	OK4 = DTRUE
 29801  	goto __654
 29802  
 29803  __656:
 29804  	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)
 29805  	goto __654
 29806  
 29807  __657:
 29808  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29809  	goto __654
 29810  
 29811  __658:
 29812  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29813  	goto __654
 29814  
 29815  __659:
 29816  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29817  	goto __654
 29818  
 29819  __660:
 29820  	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))
 29821  	goto __654
 29822  
 29823  	// These are specials for combination cases.
 29824  
 29825  __661:
 29826  	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)
 29827  	goto __654
 29828  
 29829  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29830  	//           which means that Perl space and POSIX space are now identical. PCRE
 29831  	//           was changed at release 8.34.
 29832  
 29833  __662: // Perl space
 29834  __663: // POSIX space
 29835  	switch c {
 29836  	case Tuint32_t('\011'):
 29837  		goto __671
 29838  	case Tuint32_t('\040'):
 29839  		goto __672
 29840  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29841  		goto __673
 29842  	case Tuint32_t(0x1680):
 29843  		goto __674 /* OGHAM SPACE MARK */
 29844  	case Tuint32_t(0x180e):
 29845  		goto __675 /* MONGOLIAN VOWEL SEPARATOR */
 29846  	case Tuint32_t(0x2000):
 29847  		goto __676 /* EN QUAD */
 29848  	case Tuint32_t(0x2001):
 29849  		goto __677 /* EM QUAD */
 29850  	case Tuint32_t(0x2002):
 29851  		goto __678 /* EN SPACE */
 29852  	case Tuint32_t(0x2003):
 29853  		goto __679 /* EM SPACE */
 29854  	case Tuint32_t(0x2004):
 29855  		goto __680 /* THREE-PER-EM SPACE */
 29856  	case Tuint32_t(0x2005):
 29857  		goto __681 /* FOUR-PER-EM SPACE */
 29858  	case Tuint32_t(0x2006):
 29859  		goto __682 /* SIX-PER-EM SPACE */
 29860  	case Tuint32_t(0x2007):
 29861  		goto __683 /* FIGURE SPACE */
 29862  	case Tuint32_t(0x2008):
 29863  		goto __684 /* PUNCTUATION SPACE */
 29864  	case Tuint32_t(0x2009):
 29865  		goto __685 /* THIN SPACE */
 29866  	case Tuint32_t(0x200A):
 29867  		goto __686 /* HAIR SPACE */
 29868  	case Tuint32_t(0x202f):
 29869  		goto __687 /* NARROW NO-BREAK SPACE */
 29870  	case Tuint32_t(0x205f):
 29871  		goto __688 /* MEDIUM MATHEMATICAL SPACE */
 29872  	case Tuint32_t(0x3000):
 29873  		goto __689
 29874  	case Tuint32_t('\012'):
 29875  		goto __690
 29876  	case Tuint32_t('\013'):
 29877  		goto __691
 29878  	case Tuint32_t('\014'):
 29879  		goto __692
 29880  	case Tuint32_t('\015'):
 29881  		goto __693
 29882  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29883  		goto __694
 29884  	case Tuint32_t(0x2028):
 29885  		goto __695 /* LINE SEPARATOR */
 29886  	case Tuint32_t(0x2029):
 29887  		goto __696
 29888  
 29889  	default:
 29890  		goto __697
 29891  	}
 29892  	goto __670
 29893  
 29894  __671:
 29895  __672:
 29896  __673:
 29897  __674: /* OGHAM SPACE MARK */
 29898  __675: /* MONGOLIAN VOWEL SEPARATOR */
 29899  __676: /* EN QUAD */
 29900  __677: /* EM QUAD */
 29901  __678: /* EN SPACE */
 29902  __679: /* EM SPACE */
 29903  __680: /* THREE-PER-EM SPACE */
 29904  __681: /* FOUR-PER-EM SPACE */
 29905  __682: /* SIX-PER-EM SPACE */
 29906  __683: /* FIGURE SPACE */
 29907  __684: /* PUNCTUATION SPACE */
 29908  __685: /* THIN SPACE */
 29909  __686: /* HAIR SPACE */
 29910  __687: /* NARROW NO-BREAK SPACE */
 29911  __688: /* MEDIUM MATHEMATICAL SPACE */
 29912  __689:
 29913  __690:
 29914  __691:
 29915  __692:
 29916  __693:
 29917  __694:
 29918  __695: /* LINE SEPARATOR */
 29919  __696:
 29920  	OK4 = DTRUE
 29921  	goto __670
 29922  
 29923  __697:
 29924  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_Z)
 29925  	goto __670
 29926  __670:
 29927  	;
 29928  	goto __654
 29929  
 29930  __664:
 29931  	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'))
 29932  	goto __654
 29933  
 29934  __665:
 29935  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29936  __698:
 29937  
 29938  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 29939  		goto __701
 29940  	}
 29941  	OK4 = DFALSE
 29942  	goto __700
 29943  __701:
 29944  	;
 29945  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 29946  		goto __702
 29947  	}
 29948  	OK4 = DTRUE
 29949  	goto __700
 29950  __702:
 29951  	;
 29952  	goto __699
 29953  __699:
 29954  	goto __698
 29955  	goto __700
 29956  __700:
 29957  	;
 29958  	goto __654
 29959  
 29960  __666:
 29961  	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))
 29962  	goto __654
 29963  
 29964  __667:
 29965  	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))))
 29966  	goto __654
 29967  
 29968  __668:
 29969  	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))
 29970  	goto __654
 29971  
 29972  	// Should never occur, but keep compilers from grumbling.
 29973  
 29974  __669:
 29975  	OK4 = libc.Bool32(codevalue != OP_PROP)
 29976  	goto __654
 29977  __654:
 29978  	;
 29979  
 29980  	if !(OK4 == libc.Bool32(d == OP_PROP)) {
 29981  		goto __703
 29982  	}
 29983  
 29984  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSQUERY)) {
 29985  		goto __704
 29986  	}
 29987  
 29988  	active_count-- // Remove non-match possibility
 29989  	next_active_state -= 12
 29990  __704:
 29991  	;
 29992  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29993  		goto __705
 29994  	}
 29995  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + count
 29996  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 29997  	next_new_state += 12
 29998  	goto __706
 29999  __705:
 30000  	return -43
 30001  __706:
 30002  	;
 30003  __703:
 30004  	;
 30005  __653:
 30006  	;
 30007  	goto __89
 30008  
 30009  	//-----------------------------------------------------------------
 30010  __158:
 30011  __159:
 30012  __160:
 30013  	count = 2
 30014  	goto QS2
 30015  
 30016  __161:
 30017  __162:
 30018  __163:
 30019  	count = 0
 30020  
 30021  QS2:
 30022  
 30023  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30024  		goto __707
 30025  	}
 30026  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30027  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30028  	next_active_state += 12
 30029  	goto __708
 30030  __707:
 30031  	return -43
 30032  __708:
 30033  	;
 30034  	if !(clen > 0) {
 30035  		goto __709
 30036  	}
 30037  
 30038  	*(*int32)(unsafe.Pointer(bp + 4 /* ncount2 */)) = 0
 30039  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSQUERY)) {
 30040  		goto __710
 30041  	}
 30042  
 30043  	active_count-- // Remove non-match possibility
 30044  	next_active_state -= 12
 30045  __710:
 30046  	;
 30047  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30048  		bp+4)
 30049  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30050  		goto __711
 30051  	}
 30052  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30053  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30054  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 4))
 30055  	next_new_state += 12
 30056  	goto __712
 30057  __711:
 30058  	return -43
 30059  __712:
 30060  	;
 30061  __709:
 30062  	;
 30063  	goto __89
 30064  
 30065  	//-----------------------------------------------------------------
 30066  __164:
 30067  __165:
 30068  __166:
 30069  	count = 2
 30070  	goto QS3
 30071  
 30072  __167:
 30073  __168:
 30074  __169:
 30075  	count = 0
 30076  
 30077  QS3:
 30078  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30079  		goto __713
 30080  	}
 30081  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30082  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30083  	next_active_state += 12
 30084  	goto __714
 30085  __713:
 30086  	return -43
 30087  __714:
 30088  	;
 30089  	if !(clen > 0) {
 30090  		goto __715
 30091  	}
 30092  	ncount3 = 0
 30093  	switch c {
 30094  	case Tuint32_t('\013'):
 30095  		goto __717
 30096  	case Tuint32_t('\014'):
 30097  		goto __718
 30098  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30099  		goto __719
 30100  	case Tuint32_t(0x2028):
 30101  		goto __720
 30102  	case Tuint32_t(0x2029):
 30103  		goto __721
 30104  
 30105  	case Tuint32_t('\015'):
 30106  		goto __722
 30107  	case Tuint32_t('\012'):
 30108  		goto __723
 30109  
 30110  	default:
 30111  		goto __724
 30112  	}
 30113  	goto __716
 30114  
 30115  __717:
 30116  __718:
 30117  __719:
 30118  __720:
 30119  __721:
 30120  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30121  		goto __725
 30122  	}
 30123  	goto __716
 30124  __725:
 30125  	;
 30126  	goto ANYNL02
 30127  
 30128  __722:
 30129  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30130  		goto __726
 30131  	}
 30132  	ncount3 = 1
 30133  __726:
 30134  	;
 30135  	// Fall through
 30136  
 30137  ANYNL02:
 30138  __723:
 30139  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSQUERY)) {
 30140  		goto __727
 30141  	}
 30142  
 30143  	active_count-- // Remove non-match possibility
 30144  	next_active_state -= 12
 30145  __727:
 30146  	;
 30147  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30148  		goto __728
 30149  	}
 30150  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30151  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30152  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount3
 30153  	next_new_state += 12
 30154  	goto __729
 30155  __728:
 30156  	return -43
 30157  __729:
 30158  	;
 30159  	goto __716
 30160  
 30161  __724:
 30162  	goto __716
 30163  __716:
 30164  	;
 30165  __715:
 30166  	;
 30167  	goto __89
 30168  
 30169  	//-----------------------------------------------------------------
 30170  __170:
 30171  __171:
 30172  __172:
 30173  	count = 2
 30174  	goto QS4
 30175  
 30176  __173:
 30177  __174:
 30178  __175:
 30179  	count = 0
 30180  
 30181  QS4:
 30182  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30183  		goto __730
 30184  	}
 30185  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30186  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30187  	next_active_state += 12
 30188  	goto __731
 30189  __730:
 30190  	return -43
 30191  __731:
 30192  	;
 30193  	if !(clen > 0) {
 30194  		goto __732
 30195  	}
 30196  
 30197  	switch c {
 30198  	case Tuint32_t('\012'):
 30199  		goto __734
 30200  	case Tuint32_t('\013'):
 30201  		goto __735
 30202  	case Tuint32_t('\014'):
 30203  		goto __736
 30204  	case Tuint32_t('\015'):
 30205  		goto __737
 30206  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30207  		goto __738
 30208  	case Tuint32_t(0x2028):
 30209  		goto __739 /* LINE SEPARATOR */
 30210  	case Tuint32_t(0x2029):
 30211  		goto __740
 30212  
 30213  	default:
 30214  		goto __741
 30215  	}
 30216  	goto __733
 30217  
 30218  __734:
 30219  __735:
 30220  __736:
 30221  __737:
 30222  __738:
 30223  __739: /* LINE SEPARATOR */
 30224  __740:
 30225  	OK5 = DTRUE
 30226  	goto __733
 30227  
 30228  __741:
 30229  	OK5 = DFALSE
 30230  	goto __733
 30231  __733:
 30232  	;
 30233  	if !(OK5 == libc.Bool32(d == OP_VSPACE)) {
 30234  		goto __742
 30235  	}
 30236  
 30237  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30238  		goto __743
 30239  	}
 30240  
 30241  	active_count-- // Remove non-match possibility
 30242  	next_active_state -= 12
 30243  __743:
 30244  	;
 30245  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30246  		goto __744
 30247  	}
 30248  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30249  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30250  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30251  	next_new_state += 12
 30252  	goto __745
 30253  __744:
 30254  	return -43
 30255  __745:
 30256  	;
 30257  __742:
 30258  	;
 30259  __732:
 30260  	;
 30261  	goto __89
 30262  
 30263  	//-----------------------------------------------------------------
 30264  __176:
 30265  __177:
 30266  __178:
 30267  	count = 2
 30268  	goto QS5
 30269  
 30270  __179:
 30271  __180:
 30272  __181:
 30273  	count = 0
 30274  
 30275  QS5:
 30276  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30277  		goto __746
 30278  	}
 30279  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30280  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30281  	next_active_state += 12
 30282  	goto __747
 30283  __746:
 30284  	return -43
 30285  __747:
 30286  	;
 30287  	if !(clen > 0) {
 30288  		goto __748
 30289  	}
 30290  
 30291  	switch c {
 30292  	case Tuint32_t('\011'):
 30293  		goto __750
 30294  	case Tuint32_t('\040'):
 30295  		goto __751
 30296  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 30297  		goto __752
 30298  	case Tuint32_t(0x1680):
 30299  		goto __753 /* OGHAM SPACE MARK */
 30300  	case Tuint32_t(0x180e):
 30301  		goto __754 /* MONGOLIAN VOWEL SEPARATOR */
 30302  	case Tuint32_t(0x2000):
 30303  		goto __755 /* EN QUAD */
 30304  	case Tuint32_t(0x2001):
 30305  		goto __756 /* EM QUAD */
 30306  	case Tuint32_t(0x2002):
 30307  		goto __757 /* EN SPACE */
 30308  	case Tuint32_t(0x2003):
 30309  		goto __758 /* EM SPACE */
 30310  	case Tuint32_t(0x2004):
 30311  		goto __759 /* THREE-PER-EM SPACE */
 30312  	case Tuint32_t(0x2005):
 30313  		goto __760 /* FOUR-PER-EM SPACE */
 30314  	case Tuint32_t(0x2006):
 30315  		goto __761 /* SIX-PER-EM SPACE */
 30316  	case Tuint32_t(0x2007):
 30317  		goto __762 /* FIGURE SPACE */
 30318  	case Tuint32_t(0x2008):
 30319  		goto __763 /* PUNCTUATION SPACE */
 30320  	case Tuint32_t(0x2009):
 30321  		goto __764 /* THIN SPACE */
 30322  	case Tuint32_t(0x200A):
 30323  		goto __765 /* HAIR SPACE */
 30324  	case Tuint32_t(0x202f):
 30325  		goto __766 /* NARROW NO-BREAK SPACE */
 30326  	case Tuint32_t(0x205f):
 30327  		goto __767 /* MEDIUM MATHEMATICAL SPACE */
 30328  	case Tuint32_t(0x3000):
 30329  		goto __768
 30330  
 30331  	default:
 30332  		goto __769
 30333  	}
 30334  	goto __749
 30335  
 30336  __750:
 30337  __751:
 30338  __752:
 30339  __753: /* OGHAM SPACE MARK */
 30340  __754: /* MONGOLIAN VOWEL SEPARATOR */
 30341  __755: /* EN QUAD */
 30342  __756: /* EM QUAD */
 30343  __757: /* EN SPACE */
 30344  __758: /* EM SPACE */
 30345  __759: /* THREE-PER-EM SPACE */
 30346  __760: /* FOUR-PER-EM SPACE */
 30347  __761: /* SIX-PER-EM SPACE */
 30348  __762: /* FIGURE SPACE */
 30349  __763: /* PUNCTUATION SPACE */
 30350  __764: /* THIN SPACE */
 30351  __765: /* HAIR SPACE */
 30352  __766: /* NARROW NO-BREAK SPACE */
 30353  __767: /* MEDIUM MATHEMATICAL SPACE */
 30354  __768:
 30355  	OK6 = DTRUE
 30356  	goto __749
 30357  
 30358  __769:
 30359  	OK6 = DFALSE
 30360  	goto __749
 30361  __749:
 30362  	;
 30363  
 30364  	if !(OK6 == libc.Bool32(d == OP_HSPACE)) {
 30365  		goto __770
 30366  	}
 30367  
 30368  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30369  		goto __771
 30370  	}
 30371  
 30372  	active_count-- // Remove non-match possibility
 30373  	next_active_state -= 12
 30374  __771:
 30375  	;
 30376  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30377  		goto __772
 30378  	}
 30379  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30380  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30381  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30382  	next_new_state += 12
 30383  	goto __773
 30384  __772:
 30385  	return -43
 30386  __773:
 30387  	;
 30388  __770:
 30389  	;
 30390  __748:
 30391  	;
 30392  	goto __89
 30393  
 30394  	//-----------------------------------------------------------------
 30395  __182:
 30396  __183:
 30397  __184:
 30398  __185:
 30399  	if !(codevalue != Tuint32_t(DOP_PROP_EXTRA+OP_TYPEEXACT)) {
 30400  		goto __774
 30401  	}
 30402  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30403  		goto __775
 30404  	}
 30405  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30406  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30407  	next_active_state += 12
 30408  	goto __776
 30409  __775:
 30410  	return -43
 30411  __776:
 30412  	;
 30413  __774:
 30414  	;
 30415  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30416  	if !(clen > 0) {
 30417  		goto __777
 30418  	}
 30419  
 30420  	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
 30421  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4))) {
 30422  	case DPT_ANY:
 30423  		goto __779
 30424  
 30425  	case DPT_LAMP:
 30426  		goto __780
 30427  
 30428  	case DPT_GC:
 30429  		goto __781
 30430  
 30431  	case DPT_PC:
 30432  		goto __782
 30433  
 30434  	case DPT_SC:
 30435  		goto __783
 30436  
 30437  	case DPT_SCX:
 30438  		goto __784
 30439  
 30440  	// These are specials for combination cases.
 30441  
 30442  	case DPT_ALNUM:
 30443  		goto __785
 30444  
 30445  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30446  	//           which means that Perl space and POSIX space are now identical. PCRE
 30447  	//           was changed at release 8.34.
 30448  
 30449  	case DPT_SPACE:
 30450  		goto __786 // Perl space
 30451  	case DPT_PXSPACE:
 30452  		goto __787
 30453  
 30454  	case DPT_WORD:
 30455  		goto __788
 30456  
 30457  	case DPT_CLIST:
 30458  		goto __789
 30459  
 30460  	case DPT_UCNC:
 30461  		goto __790
 30462  
 30463  	case DPT_BIDICL:
 30464  		goto __791
 30465  
 30466  	case DPT_BOOL:
 30467  		goto __792
 30468  
 30469  	// Should never occur, but keep compilers from grumbling.
 30470  
 30471  	default:
 30472  		goto __793
 30473  	}
 30474  	goto __778
 30475  
 30476  __779:
 30477  	OK7 = DTRUE
 30478  	goto __778
 30479  
 30480  __780:
 30481  	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)
 30482  	goto __778
 30483  
 30484  __781:
 30485  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30486  	goto __778
 30487  
 30488  __782:
 30489  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30490  	goto __778
 30491  
 30492  __783:
 30493  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30494  	goto __778
 30495  
 30496  __784:
 30497  	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))
 30498  	goto __778
 30499  
 30500  	// These are specials for combination cases.
 30501  
 30502  __785:
 30503  	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)
 30504  	goto __778
 30505  
 30506  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30507  	//           which means that Perl space and POSIX space are now identical. PCRE
 30508  	//           was changed at release 8.34.
 30509  
 30510  __786: // Perl space
 30511  __787: // POSIX space
 30512  	switch c {
 30513  	case Tuint32_t('\011'):
 30514  		goto __795
 30515  	case Tuint32_t('\040'):
 30516  		goto __796
 30517  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 30518  		goto __797
 30519  	case Tuint32_t(0x1680):
 30520  		goto __798 /* OGHAM SPACE MARK */
 30521  	case Tuint32_t(0x180e):
 30522  		goto __799 /* MONGOLIAN VOWEL SEPARATOR */
 30523  	case Tuint32_t(0x2000):
 30524  		goto __800 /* EN QUAD */
 30525  	case Tuint32_t(0x2001):
 30526  		goto __801 /* EM QUAD */
 30527  	case Tuint32_t(0x2002):
 30528  		goto __802 /* EN SPACE */
 30529  	case Tuint32_t(0x2003):
 30530  		goto __803 /* EM SPACE */
 30531  	case Tuint32_t(0x2004):
 30532  		goto __804 /* THREE-PER-EM SPACE */
 30533  	case Tuint32_t(0x2005):
 30534  		goto __805 /* FOUR-PER-EM SPACE */
 30535  	case Tuint32_t(0x2006):
 30536  		goto __806 /* SIX-PER-EM SPACE */
 30537  	case Tuint32_t(0x2007):
 30538  		goto __807 /* FIGURE SPACE */
 30539  	case Tuint32_t(0x2008):
 30540  		goto __808 /* PUNCTUATION SPACE */
 30541  	case Tuint32_t(0x2009):
 30542  		goto __809 /* THIN SPACE */
 30543  	case Tuint32_t(0x200A):
 30544  		goto __810 /* HAIR SPACE */
 30545  	case Tuint32_t(0x202f):
 30546  		goto __811 /* NARROW NO-BREAK SPACE */
 30547  	case Tuint32_t(0x205f):
 30548  		goto __812 /* MEDIUM MATHEMATICAL SPACE */
 30549  	case Tuint32_t(0x3000):
 30550  		goto __813
 30551  	case Tuint32_t('\012'):
 30552  		goto __814
 30553  	case Tuint32_t('\013'):
 30554  		goto __815
 30555  	case Tuint32_t('\014'):
 30556  		goto __816
 30557  	case Tuint32_t('\015'):
 30558  		goto __817
 30559  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30560  		goto __818
 30561  	case Tuint32_t(0x2028):
 30562  		goto __819 /* LINE SEPARATOR */
 30563  	case Tuint32_t(0x2029):
 30564  		goto __820
 30565  
 30566  	default:
 30567  		goto __821
 30568  	}
 30569  	goto __794
 30570  
 30571  __795:
 30572  __796:
 30573  __797:
 30574  __798: /* OGHAM SPACE MARK */
 30575  __799: /* MONGOLIAN VOWEL SEPARATOR */
 30576  __800: /* EN QUAD */
 30577  __801: /* EM QUAD */
 30578  __802: /* EN SPACE */
 30579  __803: /* EM SPACE */
 30580  __804: /* THREE-PER-EM SPACE */
 30581  __805: /* FOUR-PER-EM SPACE */
 30582  __806: /* SIX-PER-EM SPACE */
 30583  __807: /* FIGURE SPACE */
 30584  __808: /* PUNCTUATION SPACE */
 30585  __809: /* THIN SPACE */
 30586  __810: /* HAIR SPACE */
 30587  __811: /* NARROW NO-BREAK SPACE */
 30588  __812: /* MEDIUM MATHEMATICAL SPACE */
 30589  __813:
 30590  __814:
 30591  __815:
 30592  __816:
 30593  __817:
 30594  __818:
 30595  __819: /* LINE SEPARATOR */
 30596  __820:
 30597  	OK7 = DTRUE
 30598  	goto __794
 30599  
 30600  __821:
 30601  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_Z)
 30602  	goto __794
 30603  __794:
 30604  	;
 30605  	goto __778
 30606  
 30607  __788:
 30608  	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'))
 30609  	goto __778
 30610  
 30611  __789:
 30612  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))*4
 30613  __822:
 30614  
 30615  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 30616  		goto __825
 30617  	}
 30618  	OK7 = DFALSE
 30619  	goto __824
 30620  __825:
 30621  	;
 30622  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 30623  		goto __826
 30624  	}
 30625  	OK7 = DTRUE
 30626  	goto __824
 30627  __826:
 30628  	;
 30629  	goto __823
 30630  __823:
 30631  	goto __822
 30632  	goto __824
 30633  __824:
 30634  	;
 30635  	goto __778
 30636  
 30637  __790:
 30638  	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))
 30639  	goto __778
 30640  
 30641  __791:
 30642  	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))))
 30643  	goto __778
 30644  
 30645  __792:
 30646  	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))
 30647  	goto __778
 30648  
 30649  	// Should never occur, but keep compilers from grumbling.
 30650  
 30651  __793:
 30652  	OK7 = libc.Bool32(codevalue != OP_PROP)
 30653  	goto __778
 30654  __778:
 30655  	;
 30656  
 30657  	if !(OK7 == libc.Bool32(d == OP_PROP)) {
 30658  		goto __827
 30659  	}
 30660  
 30661  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSUPTO)) {
 30662  		goto __828
 30663  	}
 30664  
 30665  	active_count-- // Remove non-match possibility
 30666  	next_active_state -= 12
 30667  __828:
 30668  	;
 30669  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30670  		goto __829
 30671  	}
 30672  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30673  		goto __831
 30674  	}
 30675  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30676  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30677  	next_new_state += 12
 30678  	goto __832
 30679  __831:
 30680  	return -43
 30681  __832:
 30682  	;
 30683  	goto __830
 30684  __829:
 30685  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30686  		goto __833
 30687  	}
 30688  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 30689  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30690  	next_new_state += 12
 30691  	goto __834
 30692  __833:
 30693  	return -43
 30694  __834:
 30695  	;
 30696  __830:
 30697  	;
 30698  __827:
 30699  	;
 30700  __777:
 30701  	;
 30702  	goto __89
 30703  
 30704  	//-----------------------------------------------------------------
 30705  __186:
 30706  __187:
 30707  __188:
 30708  __189:
 30709  	if !(codevalue != Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEEXACT)) {
 30710  		goto __835
 30711  	}
 30712  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30713  		goto __836
 30714  	}
 30715  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30716  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30717  	next_active_state += 12
 30718  	goto __837
 30719  __836:
 30720  	return -43
 30721  __837:
 30722  	;
 30723  __835:
 30724  	;
 30725  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30726  	if !(clen > 0) {
 30727  		goto __838
 30728  	}
 30729  
 30730  	*(*int32)(unsafe.Pointer(bp + 8 /* ncount4 */)) = 0
 30731  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSUPTO)) {
 30732  		goto __839
 30733  	}
 30734  
 30735  	active_count-- // Remove non-match possibility
 30736  	next_active_state -= 12
 30737  __839:
 30738  	;
 30739  	nptr = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30740  		bp+8)
 30741  	if !(nptr >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 30742  		goto __840
 30743  	}
 30744  	reset_could_continue = DTRUE
 30745  __840:
 30746  	;
 30747  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30748  		goto __841
 30749  	}
 30750  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30751  		goto __843
 30752  	}
 30753  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30754  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30755  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30756  	next_new_state += 12
 30757  	goto __844
 30758  __843:
 30759  	return -43
 30760  __844:
 30761  	;
 30762  	goto __842
 30763  __841:
 30764  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30765  		goto __845
 30766  	}
 30767  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30768  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30769  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30770  	next_new_state += 12
 30771  	goto __846
 30772  __845:
 30773  	return -43
 30774  __846:
 30775  	;
 30776  __842:
 30777  	;
 30778  __838:
 30779  	;
 30780  	goto __89
 30781  
 30782  	//-----------------------------------------------------------------
 30783  __190:
 30784  __191:
 30785  __192:
 30786  __193:
 30787  	if !(codevalue != Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEEXACT)) {
 30788  		goto __847
 30789  	}
 30790  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30791  		goto __848
 30792  	}
 30793  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30794  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30795  	next_active_state += 12
 30796  	goto __849
 30797  __848:
 30798  	return -43
 30799  __849:
 30800  	;
 30801  __847:
 30802  	;
 30803  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30804  	if !(clen > 0) {
 30805  		goto __850
 30806  	}
 30807  	ncount5 = 0
 30808  	switch c {
 30809  	case Tuint32_t('\013'):
 30810  		goto __852
 30811  	case Tuint32_t('\014'):
 30812  		goto __853
 30813  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30814  		goto __854
 30815  	case Tuint32_t(0x2028):
 30816  		goto __855
 30817  	case Tuint32_t(0x2029):
 30818  		goto __856
 30819  
 30820  	case Tuint32_t('\015'):
 30821  		goto __857
 30822  	case Tuint32_t('\012'):
 30823  		goto __858
 30824  
 30825  	default:
 30826  		goto __859
 30827  	}
 30828  	goto __851
 30829  
 30830  __852:
 30831  __853:
 30832  __854:
 30833  __855:
 30834  __856:
 30835  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30836  		goto __860
 30837  	}
 30838  	goto __851
 30839  __860:
 30840  	;
 30841  	goto ANYNL03
 30842  
 30843  __857:
 30844  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30845  		goto __861
 30846  	}
 30847  	ncount5 = 1
 30848  __861:
 30849  	;
 30850  	// Fall through
 30851  
 30852  ANYNL03:
 30853  __858:
 30854  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSUPTO)) {
 30855  		goto __862
 30856  	}
 30857  
 30858  	active_count-- // Remove non-match possibility
 30859  	next_active_state -= 12
 30860  __862:
 30861  	;
 30862  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30863  		goto __863
 30864  	}
 30865  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30866  		goto __865
 30867  	}
 30868  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30869  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30870  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30871  	next_new_state += 12
 30872  	goto __866
 30873  __865:
 30874  	return -43
 30875  __866:
 30876  	;
 30877  	goto __864
 30878  __863:
 30879  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30880  		goto __867
 30881  	}
 30882  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30883  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30884  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30885  	next_new_state += 12
 30886  	goto __868
 30887  __867:
 30888  	return -43
 30889  __868:
 30890  	;
 30891  __864:
 30892  	;
 30893  	goto __851
 30894  
 30895  __859:
 30896  	goto __851
 30897  __851:
 30898  	;
 30899  __850:
 30900  	;
 30901  	goto __89
 30902  
 30903  	//-----------------------------------------------------------------
 30904  __194:
 30905  __195:
 30906  __196:
 30907  __197:
 30908  	if !(codevalue != Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEEXACT)) {
 30909  		goto __869
 30910  	}
 30911  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30912  		goto __870
 30913  	}
 30914  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30915  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30916  	next_active_state += 12
 30917  	goto __871
 30918  __870:
 30919  	return -43
 30920  __871:
 30921  	;
 30922  __869:
 30923  	;
 30924  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30925  	if !(clen > 0) {
 30926  		goto __872
 30927  	}
 30928  
 30929  	switch c {
 30930  	case Tuint32_t('\012'):
 30931  		goto __874
 30932  	case Tuint32_t('\013'):
 30933  		goto __875
 30934  	case Tuint32_t('\014'):
 30935  		goto __876
 30936  	case Tuint32_t('\015'):
 30937  		goto __877
 30938  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30939  		goto __878
 30940  	case Tuint32_t(0x2028):
 30941  		goto __879 /* LINE SEPARATOR */
 30942  	case Tuint32_t(0x2029):
 30943  		goto __880
 30944  
 30945  	default:
 30946  		goto __881
 30947  	}
 30948  	goto __873
 30949  
 30950  __874:
 30951  __875:
 30952  __876:
 30953  __877:
 30954  __878:
 30955  __879: /* LINE SEPARATOR */
 30956  __880:
 30957  	OK8 = DTRUE
 30958  	goto __873
 30959  
 30960  __881:
 30961  	OK8 = DFALSE
 30962  __873:
 30963  	;
 30964  
 30965  	if !(OK8 == libc.Bool32(d == OP_VSPACE)) {
 30966  		goto __882
 30967  	}
 30968  
 30969  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 30970  		goto __883
 30971  	}
 30972  
 30973  	active_count-- // Remove non-match possibility
 30974  	next_active_state -= 12
 30975  __883:
 30976  	;
 30977  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30978  		goto __884
 30979  	}
 30980  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30981  		goto __886
 30982  	}
 30983  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30984  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30985  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30986  	next_new_state += 12
 30987  	goto __887
 30988  __886:
 30989  	return -43
 30990  __887:
 30991  	;
 30992  	goto __885
 30993  __884:
 30994  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30995  		goto __888
 30996  	}
 30997  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30998  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30999  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31000  	next_new_state += 12
 31001  	goto __889
 31002  __888:
 31003  	return -43
 31004  __889:
 31005  	;
 31006  __885:
 31007  	;
 31008  __882:
 31009  	;
 31010  __872:
 31011  	;
 31012  	goto __89
 31013  
 31014  	//-----------------------------------------------------------------
 31015  __198:
 31016  __199:
 31017  __200:
 31018  __201:
 31019  	if !(codevalue != Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEEXACT)) {
 31020  		goto __890
 31021  	}
 31022  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31023  		goto __891
 31024  	}
 31025  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 31026  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31027  	next_active_state += 12
 31028  	goto __892
 31029  __891:
 31030  	return -43
 31031  __892:
 31032  	;
 31033  __890:
 31034  	;
 31035  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 31036  	if !(clen > 0) {
 31037  		goto __893
 31038  	}
 31039  
 31040  	switch c {
 31041  	case Tuint32_t('\011'):
 31042  		goto __895
 31043  	case Tuint32_t('\040'):
 31044  		goto __896
 31045  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31046  		goto __897
 31047  	case Tuint32_t(0x1680):
 31048  		goto __898 /* OGHAM SPACE MARK */
 31049  	case Tuint32_t(0x180e):
 31050  		goto __899 /* MONGOLIAN VOWEL SEPARATOR */
 31051  	case Tuint32_t(0x2000):
 31052  		goto __900 /* EN QUAD */
 31053  	case Tuint32_t(0x2001):
 31054  		goto __901 /* EM QUAD */
 31055  	case Tuint32_t(0x2002):
 31056  		goto __902 /* EN SPACE */
 31057  	case Tuint32_t(0x2003):
 31058  		goto __903 /* EM SPACE */
 31059  	case Tuint32_t(0x2004):
 31060  		goto __904 /* THREE-PER-EM SPACE */
 31061  	case Tuint32_t(0x2005):
 31062  		goto __905 /* FOUR-PER-EM SPACE */
 31063  	case Tuint32_t(0x2006):
 31064  		goto __906 /* SIX-PER-EM SPACE */
 31065  	case Tuint32_t(0x2007):
 31066  		goto __907 /* FIGURE SPACE */
 31067  	case Tuint32_t(0x2008):
 31068  		goto __908 /* PUNCTUATION SPACE */
 31069  	case Tuint32_t(0x2009):
 31070  		goto __909 /* THIN SPACE */
 31071  	case Tuint32_t(0x200A):
 31072  		goto __910 /* HAIR SPACE */
 31073  	case Tuint32_t(0x202f):
 31074  		goto __911 /* NARROW NO-BREAK SPACE */
 31075  	case Tuint32_t(0x205f):
 31076  		goto __912 /* MEDIUM MATHEMATICAL SPACE */
 31077  	case Tuint32_t(0x3000):
 31078  		goto __913
 31079  
 31080  	default:
 31081  		goto __914
 31082  	}
 31083  	goto __894
 31084  
 31085  __895:
 31086  __896:
 31087  __897:
 31088  __898: /* OGHAM SPACE MARK */
 31089  __899: /* MONGOLIAN VOWEL SEPARATOR */
 31090  __900: /* EN QUAD */
 31091  __901: /* EM QUAD */
 31092  __902: /* EN SPACE */
 31093  __903: /* EM SPACE */
 31094  __904: /* THREE-PER-EM SPACE */
 31095  __905: /* FOUR-PER-EM SPACE */
 31096  __906: /* SIX-PER-EM SPACE */
 31097  __907: /* FIGURE SPACE */
 31098  __908: /* PUNCTUATION SPACE */
 31099  __909: /* THIN SPACE */
 31100  __910: /* HAIR SPACE */
 31101  __911: /* NARROW NO-BREAK SPACE */
 31102  __912: /* MEDIUM MATHEMATICAL SPACE */
 31103  __913:
 31104  	OK9 = DTRUE
 31105  	goto __894
 31106  
 31107  __914:
 31108  	OK9 = DFALSE
 31109  	goto __894
 31110  __894:
 31111  	;
 31112  
 31113  	if !(OK9 == libc.Bool32(d == OP_HSPACE)) {
 31114  		goto __915
 31115  	}
 31116  
 31117  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 31118  		goto __916
 31119  	}
 31120  
 31121  	active_count-- // Remove non-match possibility
 31122  	next_active_state -= 12
 31123  __916:
 31124  	;
 31125  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 31126  		goto __917
 31127  	}
 31128  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31129  		goto __919
 31130  	}
 31131  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 31132  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31133  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31134  	next_new_state += 12
 31135  	goto __920
 31136  __919:
 31137  	return -43
 31138  __920:
 31139  	;
 31140  	goto __918
 31141  __917:
 31142  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31143  		goto __921
 31144  	}
 31145  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 31146  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31147  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31148  	next_new_state += 12
 31149  	goto __922
 31150  __921:
 31151  	return -43
 31152  __922:
 31153  	;
 31154  __918:
 31155  	;
 31156  __915:
 31157  	;
 31158  __893:
 31159  	;
 31160  	goto __89
 31161  
 31162  	// ==========================================================================
 31163  	// These opcodes are followed by a character that is usually compared
 31164  	//       to the current subject character; it is loaded into d. We still get
 31165  	//       here even if there is no subject character, because in some cases zero
 31166  	//       repetitions are permitted.
 31167  
 31168  	//-----------------------------------------------------------------
 31169  __202:
 31170  	if !(clen > 0 && c == d) {
 31171  		goto __923
 31172  	}
 31173  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31174  		goto __924
 31175  	}
 31176  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31177  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31178  	next_new_state += 12
 31179  	goto __925
 31180  __924:
 31181  	return -43
 31182  __925:
 31183  	;
 31184  __923:
 31185  	;
 31186  	goto __89
 31187  
 31188  	//-----------------------------------------------------------------
 31189  __203:
 31190  	if !(clen == 0) {
 31191  		goto __926
 31192  	}
 31193  	goto __89
 31194  __926:
 31195  	;
 31196  
 31197  	if !(utf_or_ucp != 0) {
 31198  		goto __927
 31199  	}
 31200  
 31201  	if !(c == d) {
 31202  		goto __929
 31203  	}
 31204  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31205  		goto __931
 31206  	}
 31207  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31208  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31209  	next_new_state += 12
 31210  	goto __932
 31211  __931:
 31212  	return -43
 31213  __932:
 31214  	;
 31215  	goto __930
 31216  __929:
 31217  
 31218  	if !(c < Tuint32_t(128)) {
 31219  		goto __933
 31220  	}
 31221  	othercase = uint32(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(c))))
 31222  	goto __934
 31223  __933:
 31224  	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)
 31225  __934:
 31226  	;
 31227  	if !(d == othercase) {
 31228  		goto __935
 31229  	}
 31230  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31231  		goto __936
 31232  	}
 31233  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31234  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31235  	next_new_state += 12
 31236  	goto __937
 31237  __936:
 31238  	return -43
 31239  __937:
 31240  	;
 31241  __935:
 31242  	;
 31243  __930:
 31244  	;
 31245  	goto __928
 31246  __927:
 31247  	/* Not UTF or UCP mode */
 31248  
 31249  	if !(int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(c)))) == int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(d))))) {
 31250  		goto __938
 31251  	}
 31252  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31253  		goto __939
 31254  	}
 31255  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 31256  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31257  	next_new_state += 12
 31258  	goto __940
 31259  __939:
 31260  	return -43
 31261  __940:
 31262  	;
 31263  __938:
 31264  	;
 31265  __928:
 31266  	;
 31267  	goto __89
 31268  
 31269  	//-----------------------------------------------------------------
 31270  	// This is a tricky one because it can match more than one character.
 31271  	//       Find out how many characters to skip, and then set up a negative state
 31272  	//       to wait for them to pass before continuing.
 31273  
 31274  __204:
 31275  	if !(clen > 0) {
 31276  		goto __941
 31277  	}
 31278  
 31279  	*(*int32)(unsafe.Pointer(bp + 12 /* ncount6 */)) = 0
 31280  	nptr1 = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 31281  		end_subject, utf, bp+12)
 31282  	if !(nptr1 >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31283  		goto __942
 31284  	}
 31285  	reset_could_continue = DTRUE
 31286  __942:
 31287  	;
 31288  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31289  		goto __943
 31290  	}
 31291  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31292  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31293  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 12))
 31294  	next_new_state += 12
 31295  	goto __944
 31296  __943:
 31297  	return -43
 31298  __944:
 31299  	;
 31300  __941:
 31301  	;
 31302  	goto __89
 31303  
 31304  	//-----------------------------------------------------------------
 31305  	// This is a tricky like EXTUNI because it too can match more than one
 31306  	//       character (when CR is followed by LF). In this case, set up a negative
 31307  	//       state to wait for one character to pass before continuing.
 31308  
 31309  __205:
 31310  	if !(clen > 0) {
 31311  		goto __945
 31312  	}
 31313  	switch c {
 31314  	case Tuint32_t('\013'):
 31315  		goto __947
 31316  	case Tuint32_t('\014'):
 31317  		goto __948
 31318  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31319  		goto __949
 31320  	case Tuint32_t(0x2028):
 31321  		goto __950
 31322  	case Tuint32_t(0x2029):
 31323  		goto __951
 31324  	// Fall through
 31325  
 31326  	case Tuint32_t('\012'):
 31327  		goto __952
 31328  
 31329  	case Tuint32_t('\015'):
 31330  		goto __953
 31331  	}
 31332  	goto __946
 31333  
 31334  __947:
 31335  __948:
 31336  __949:
 31337  __950:
 31338  __951:
 31339  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 31340  		goto __954
 31341  	}
 31342  	goto __946
 31343  __954:
 31344  	;
 31345  	// Fall through
 31346  
 31347  __952:
 31348  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31349  		goto __955
 31350  	}
 31351  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31352  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31353  	next_new_state += 12
 31354  	goto __956
 31355  __955:
 31356  	return -43
 31357  __956:
 31358  	;
 31359  	goto __946
 31360  
 31361  __953:
 31362  	if !(ptr+uintptr(1) >= end_subject) {
 31363  		goto __957
 31364  	}
 31365  
 31366  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31367  		goto __959
 31368  	}
 31369  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31370  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31371  	next_new_state += 12
 31372  	goto __960
 31373  __959:
 31374  	return -43
 31375  __960:
 31376  	;
 31377  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31378  		goto __961
 31379  	}
 31380  	reset_could_continue = DTRUE
 31381  __961:
 31382  	;
 31383  	goto __958
 31384  __957:
 31385  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 31386  		goto __962
 31387  	}
 31388  
 31389  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31390  		goto __964
 31391  	}
 31392  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31393  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31394  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 31395  	next_new_state += 12
 31396  	goto __965
 31397  __964:
 31398  	return -43
 31399  __965:
 31400  	;
 31401  	goto __963
 31402  __962:
 31403  
 31404  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31405  		goto __966
 31406  	}
 31407  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31408  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31409  	next_new_state += 12
 31410  	goto __967
 31411  __966:
 31412  	return -43
 31413  __967:
 31414  	;
 31415  __963:
 31416  	;
 31417  __958:
 31418  	;
 31419  	goto __946
 31420  __946:
 31421  	;
 31422  __945:
 31423  	;
 31424  	goto __89
 31425  
 31426  	//-----------------------------------------------------------------
 31427  __206:
 31428  	if !(clen > 0) {
 31429  		goto __968
 31430  	}
 31431  	switch c {
 31432  	case Tuint32_t('\012'):
 31433  		goto __970
 31434  	case Tuint32_t('\013'):
 31435  		goto __971
 31436  	case Tuint32_t('\014'):
 31437  		goto __972
 31438  	case Tuint32_t('\015'):
 31439  		goto __973
 31440  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31441  		goto __974
 31442  	case Tuint32_t(0x2028):
 31443  		goto __975 /* LINE SEPARATOR */
 31444  	case Tuint32_t(0x2029):
 31445  		goto __976
 31446  
 31447  	default:
 31448  		goto __977
 31449  	}
 31450  	goto __969
 31451  
 31452  __970:
 31453  __971:
 31454  __972:
 31455  __973:
 31456  __974:
 31457  __975: /* LINE SEPARATOR */
 31458  __976:
 31459  	goto __969
 31460  
 31461  __977:
 31462  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31463  		goto __978
 31464  	}
 31465  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31466  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31467  	next_new_state += 12
 31468  	goto __979
 31469  __978:
 31470  	return -43
 31471  __979:
 31472  	;
 31473  	goto __969
 31474  __969:
 31475  	;
 31476  __968:
 31477  	;
 31478  	goto __89
 31479  
 31480  	//-----------------------------------------------------------------
 31481  __207:
 31482  	if !(clen > 0) {
 31483  		goto __980
 31484  	}
 31485  	switch c {
 31486  	case Tuint32_t('\012'):
 31487  		goto __982
 31488  	case Tuint32_t('\013'):
 31489  		goto __983
 31490  	case Tuint32_t('\014'):
 31491  		goto __984
 31492  	case Tuint32_t('\015'):
 31493  		goto __985
 31494  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31495  		goto __986
 31496  	case Tuint32_t(0x2028):
 31497  		goto __987 /* LINE SEPARATOR */
 31498  	case Tuint32_t(0x2029):
 31499  		goto __988
 31500  
 31501  	default:
 31502  		goto __989
 31503  	}
 31504  	goto __981
 31505  
 31506  __982:
 31507  __983:
 31508  __984:
 31509  __985:
 31510  __986:
 31511  __987: /* LINE SEPARATOR */
 31512  __988:
 31513  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31514  		goto __990
 31515  	}
 31516  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31517  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31518  	next_new_state += 12
 31519  	goto __991
 31520  __990:
 31521  	return -43
 31522  __991:
 31523  	;
 31524  	goto __981
 31525  
 31526  __989:
 31527  	goto __981
 31528  __981:
 31529  	;
 31530  __980:
 31531  	;
 31532  	goto __89
 31533  
 31534  	//-----------------------------------------------------------------
 31535  __208:
 31536  	if !(clen > 0) {
 31537  		goto __992
 31538  	}
 31539  	switch c {
 31540  	case Tuint32_t('\011'):
 31541  		goto __994
 31542  	case Tuint32_t('\040'):
 31543  		goto __995
 31544  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31545  		goto __996
 31546  	case Tuint32_t(0x1680):
 31547  		goto __997 /* OGHAM SPACE MARK */
 31548  	case Tuint32_t(0x180e):
 31549  		goto __998 /* MONGOLIAN VOWEL SEPARATOR */
 31550  	case Tuint32_t(0x2000):
 31551  		goto __999 /* EN QUAD */
 31552  	case Tuint32_t(0x2001):
 31553  		goto __1000 /* EM QUAD */
 31554  	case Tuint32_t(0x2002):
 31555  		goto __1001 /* EN SPACE */
 31556  	case Tuint32_t(0x2003):
 31557  		goto __1002 /* EM SPACE */
 31558  	case Tuint32_t(0x2004):
 31559  		goto __1003 /* THREE-PER-EM SPACE */
 31560  	case Tuint32_t(0x2005):
 31561  		goto __1004 /* FOUR-PER-EM SPACE */
 31562  	case Tuint32_t(0x2006):
 31563  		goto __1005 /* SIX-PER-EM SPACE */
 31564  	case Tuint32_t(0x2007):
 31565  		goto __1006 /* FIGURE SPACE */
 31566  	case Tuint32_t(0x2008):
 31567  		goto __1007 /* PUNCTUATION SPACE */
 31568  	case Tuint32_t(0x2009):
 31569  		goto __1008 /* THIN SPACE */
 31570  	case Tuint32_t(0x200A):
 31571  		goto __1009 /* HAIR SPACE */
 31572  	case Tuint32_t(0x202f):
 31573  		goto __1010 /* NARROW NO-BREAK SPACE */
 31574  	case Tuint32_t(0x205f):
 31575  		goto __1011 /* MEDIUM MATHEMATICAL SPACE */
 31576  	case Tuint32_t(0x3000):
 31577  		goto __1012
 31578  
 31579  	default:
 31580  		goto __1013
 31581  	}
 31582  	goto __993
 31583  
 31584  __994:
 31585  __995:
 31586  __996:
 31587  __997: /* OGHAM SPACE MARK */
 31588  __998: /* MONGOLIAN VOWEL SEPARATOR */
 31589  __999: /* EN QUAD */
 31590  __1000: /* EM QUAD */
 31591  __1001: /* EN SPACE */
 31592  __1002: /* EM SPACE */
 31593  __1003: /* THREE-PER-EM SPACE */
 31594  __1004: /* FOUR-PER-EM SPACE */
 31595  __1005: /* SIX-PER-EM SPACE */
 31596  __1006: /* FIGURE SPACE */
 31597  __1007: /* PUNCTUATION SPACE */
 31598  __1008: /* THIN SPACE */
 31599  __1009: /* HAIR SPACE */
 31600  __1010: /* NARROW NO-BREAK SPACE */
 31601  __1011: /* MEDIUM MATHEMATICAL SPACE */
 31602  __1012:
 31603  	goto __993
 31604  
 31605  __1013:
 31606  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31607  		goto __1014
 31608  	}
 31609  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31610  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31611  	next_new_state += 12
 31612  	goto __1015
 31613  __1014:
 31614  	return -43
 31615  __1015:
 31616  	;
 31617  	goto __993
 31618  __993:
 31619  	;
 31620  __992:
 31621  	;
 31622  	goto __89
 31623  
 31624  	//-----------------------------------------------------------------
 31625  __209:
 31626  	if !(clen > 0) {
 31627  		goto __1016
 31628  	}
 31629  	switch c {
 31630  	case Tuint32_t('\011'):
 31631  		goto __1018
 31632  	case Tuint32_t('\040'):
 31633  		goto __1019
 31634  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31635  		goto __1020
 31636  	case Tuint32_t(0x1680):
 31637  		goto __1021 /* OGHAM SPACE MARK */
 31638  	case Tuint32_t(0x180e):
 31639  		goto __1022 /* MONGOLIAN VOWEL SEPARATOR */
 31640  	case Tuint32_t(0x2000):
 31641  		goto __1023 /* EN QUAD */
 31642  	case Tuint32_t(0x2001):
 31643  		goto __1024 /* EM QUAD */
 31644  	case Tuint32_t(0x2002):
 31645  		goto __1025 /* EN SPACE */
 31646  	case Tuint32_t(0x2003):
 31647  		goto __1026 /* EM SPACE */
 31648  	case Tuint32_t(0x2004):
 31649  		goto __1027 /* THREE-PER-EM SPACE */
 31650  	case Tuint32_t(0x2005):
 31651  		goto __1028 /* FOUR-PER-EM SPACE */
 31652  	case Tuint32_t(0x2006):
 31653  		goto __1029 /* SIX-PER-EM SPACE */
 31654  	case Tuint32_t(0x2007):
 31655  		goto __1030 /* FIGURE SPACE */
 31656  	case Tuint32_t(0x2008):
 31657  		goto __1031 /* PUNCTUATION SPACE */
 31658  	case Tuint32_t(0x2009):
 31659  		goto __1032 /* THIN SPACE */
 31660  	case Tuint32_t(0x200A):
 31661  		goto __1033 /* HAIR SPACE */
 31662  	case Tuint32_t(0x202f):
 31663  		goto __1034 /* NARROW NO-BREAK SPACE */
 31664  	case Tuint32_t(0x205f):
 31665  		goto __1035 /* MEDIUM MATHEMATICAL SPACE */
 31666  	case Tuint32_t(0x3000):
 31667  		goto __1036
 31668  
 31669  	default:
 31670  		goto __1037
 31671  	}
 31672  	goto __1017
 31673  
 31674  __1018:
 31675  __1019:
 31676  __1020:
 31677  __1021: /* OGHAM SPACE MARK */
 31678  __1022: /* MONGOLIAN VOWEL SEPARATOR */
 31679  __1023: /* EN QUAD */
 31680  __1024: /* EM QUAD */
 31681  __1025: /* EN SPACE */
 31682  __1026: /* EM SPACE */
 31683  __1027: /* THREE-PER-EM SPACE */
 31684  __1028: /* FOUR-PER-EM SPACE */
 31685  __1029: /* SIX-PER-EM SPACE */
 31686  __1030: /* FIGURE SPACE */
 31687  __1031: /* PUNCTUATION SPACE */
 31688  __1032: /* THIN SPACE */
 31689  __1033: /* HAIR SPACE */
 31690  __1034: /* NARROW NO-BREAK SPACE */
 31691  __1035: /* MEDIUM MATHEMATICAL SPACE */
 31692  __1036:
 31693  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31694  		goto __1038
 31695  	}
 31696  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31697  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31698  	next_new_state += 12
 31699  	goto __1039
 31700  __1038:
 31701  	return -43
 31702  __1039:
 31703  	;
 31704  	goto __1017
 31705  
 31706  __1037:
 31707  	goto __1017
 31708  __1017:
 31709  	;
 31710  __1016:
 31711  	;
 31712  	goto __89
 31713  
 31714  	//-----------------------------------------------------------------
 31715  	// Match a negated single character casefully.
 31716  
 31717  __210:
 31718  	if !(clen > 0 && c != d) {
 31719  		goto __1040
 31720  	}
 31721  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31722  		goto __1041
 31723  	}
 31724  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31725  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31726  	next_new_state += 12
 31727  	goto __1042
 31728  __1041:
 31729  	return -43
 31730  __1042:
 31731  	;
 31732  __1040:
 31733  	;
 31734  	goto __89
 31735  
 31736  	//-----------------------------------------------------------------
 31737  	// Match a negated single character caselessly.
 31738  
 31739  __211:
 31740  	if !(clen > 0) {
 31741  		goto __1043
 31742  	}
 31743  
 31744  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31745  		goto __1044
 31746  	}
 31747  	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)
 31748  	goto __1045
 31749  __1044:
 31750  	otherd = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31751  __1045:
 31752  	;
 31753  	if !(c != d && c != otherd) {
 31754  		goto __1046
 31755  	}
 31756  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31757  		goto __1047
 31758  	}
 31759  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31760  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31761  	next_new_state += 12
 31762  	goto __1048
 31763  __1047:
 31764  	return -43
 31765  __1048:
 31766  	;
 31767  __1046:
 31768  	;
 31769  __1043:
 31770  	;
 31771  	goto __89
 31772  
 31773  	//-----------------------------------------------------------------
 31774  __212:
 31775  __213:
 31776  __214:
 31777  __215:
 31778  __216:
 31779  __217:
 31780  	caseless = DTRUE
 31781  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31782  
 31783  	// Fall through
 31784  __218:
 31785  __219:
 31786  __220:
 31787  __221:
 31788  __222:
 31789  __223:
 31790  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 31791  	if !(count > 0) {
 31792  		goto __1049
 31793  	}
 31794  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31795  		goto __1050
 31796  	}
 31797  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31798  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31799  	next_active_state += 12
 31800  	goto __1051
 31801  __1050:
 31802  	return -43
 31803  __1051:
 31804  	;
 31805  __1049:
 31806  	;
 31807  	if !(clen > 0) {
 31808  		goto __1052
 31809  	}
 31810  
 31811  	otherd1 = DNOTACHAR
 31812  	if !(caseless != 0) {
 31813  		goto __1053
 31814  	}
 31815  
 31816  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31817  		goto __1054
 31818  	}
 31819  	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)
 31820  	goto __1055
 31821  __1054:
 31822  	otherd1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31823  __1055:
 31824  	;
 31825  __1053:
 31826  	;
 31827  	if !(libc.Bool32(c == d || c == otherd1) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31828  		goto __1056
 31829  	}
 31830  
 31831  	if !(count > 0 && (codevalue == OP_POSPLUS || codevalue == OP_NOTPOSPLUS)) {
 31832  		goto __1057
 31833  	}
 31834  
 31835  	active_count-- // Remove non-match possibility
 31836  	next_active_state -= 12
 31837  __1057:
 31838  	;
 31839  	count++
 31840  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31841  		goto __1058
 31842  	}
 31843  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 31844  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31845  	next_new_state += 12
 31846  	goto __1059
 31847  __1058:
 31848  	return -43
 31849  __1059:
 31850  	;
 31851  __1056:
 31852  	;
 31853  __1052:
 31854  	;
 31855  	goto __89
 31856  
 31857  	//-----------------------------------------------------------------
 31858  __224:
 31859  __225:
 31860  __226:
 31861  __227:
 31862  __228:
 31863  __229:
 31864  	caseless = DTRUE
 31865  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31866  	// Fall through
 31867  __230:
 31868  __231:
 31869  __232:
 31870  __233:
 31871  __234:
 31872  __235:
 31873  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31874  		goto __1060
 31875  	}
 31876  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31877  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31878  	next_active_state += 12
 31879  	goto __1061
 31880  __1060:
 31881  	return -43
 31882  __1061:
 31883  	;
 31884  	if !(clen > 0) {
 31885  		goto __1062
 31886  	}
 31887  
 31888  	otherd2 = DNOTACHAR
 31889  	if !(caseless != 0) {
 31890  		goto __1063
 31891  	}
 31892  
 31893  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31894  		goto __1064
 31895  	}
 31896  	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)
 31897  	goto __1065
 31898  __1064:
 31899  	otherd2 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31900  __1065:
 31901  	;
 31902  __1063:
 31903  	;
 31904  	if !(libc.Bool32(c == d || c == otherd2) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31905  		goto __1066
 31906  	}
 31907  
 31908  	if !(codevalue == OP_POSQUERY || codevalue == OP_NOTPOSQUERY) {
 31909  		goto __1067
 31910  	}
 31911  
 31912  	active_count-- // Remove non-match possibility
 31913  	next_active_state -= 12
 31914  __1067:
 31915  	;
 31916  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31917  		goto __1068
 31918  	}
 31919  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31920  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31921  	next_new_state += 12
 31922  	goto __1069
 31923  __1068:
 31924  	return -43
 31925  __1069:
 31926  	;
 31927  __1066:
 31928  	;
 31929  __1062:
 31930  	;
 31931  	goto __89
 31932  
 31933  	//-----------------------------------------------------------------
 31934  __236:
 31935  __237:
 31936  __238:
 31937  __239:
 31938  __240:
 31939  __241:
 31940  	caseless = DTRUE
 31941  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31942  	// Fall through
 31943  __242:
 31944  __243:
 31945  __244:
 31946  __245:
 31947  __246:
 31948  __247:
 31949  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31950  		goto __1070
 31951  	}
 31952  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31953  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31954  	next_active_state += 12
 31955  	goto __1071
 31956  __1070:
 31957  	return -43
 31958  __1071:
 31959  	;
 31960  	if !(clen > 0) {
 31961  		goto __1072
 31962  	}
 31963  
 31964  	otherd3 = DNOTACHAR
 31965  	if !(caseless != 0) {
 31966  		goto __1073
 31967  	}
 31968  
 31969  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31970  		goto __1074
 31971  	}
 31972  	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)
 31973  	goto __1075
 31974  __1074:
 31975  	otherd3 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31976  __1075:
 31977  	;
 31978  __1073:
 31979  	;
 31980  	if !(libc.Bool32(c == d || c == otherd3) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31981  		goto __1076
 31982  	}
 31983  
 31984  	if !(codevalue == OP_POSSTAR || codevalue == OP_NOTPOSSTAR) {
 31985  		goto __1077
 31986  	}
 31987  
 31988  	active_count-- // Remove non-match possibility
 31989  	next_active_state -= 12
 31990  __1077:
 31991  	;
 31992  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31993  		goto __1078
 31994  	}
 31995  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 31996  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31997  	next_new_state += 12
 31998  	goto __1079
 31999  __1078:
 32000  	return -43
 32001  __1079:
 32002  	;
 32003  __1076:
 32004  	;
 32005  __1072:
 32006  	;
 32007  	goto __89
 32008  
 32009  	//-----------------------------------------------------------------
 32010  __248:
 32011  __249:
 32012  	caseless = DTRUE
 32013  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32014  	// Fall through
 32015  __250:
 32016  __251:
 32017  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32018  	if !(clen > 0) {
 32019  		goto __1080
 32020  	}
 32021  
 32022  	otherd4 = DNOTACHAR
 32023  	if !(caseless != 0) {
 32024  		goto __1081
 32025  	}
 32026  
 32027  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32028  		goto __1082
 32029  	}
 32030  	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)
 32031  	goto __1083
 32032  __1082:
 32033  	otherd4 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32034  __1083:
 32035  	;
 32036  __1081:
 32037  	;
 32038  	if !(libc.Bool32(c == d || c == otherd4) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32039  		goto __1084
 32040  	}
 32041  
 32042  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32043  		goto __1085
 32044  	}
 32045  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32046  		goto __1087
 32047  	}
 32048  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32049  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32050  	next_new_state += 12
 32051  	goto __1088
 32052  __1087:
 32053  	return -43
 32054  __1088:
 32055  	;
 32056  	goto __1086
 32057  __1085:
 32058  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32059  		goto __1089
 32060  	}
 32061  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32062  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32063  	next_new_state += 12
 32064  	goto __1090
 32065  __1089:
 32066  	return -43
 32067  __1090:
 32068  	;
 32069  __1086:
 32070  	;
 32071  __1084:
 32072  	;
 32073  __1080:
 32074  	;
 32075  	goto __89
 32076  
 32077  	//-----------------------------------------------------------------
 32078  __252:
 32079  __253:
 32080  __254:
 32081  __255:
 32082  __256:
 32083  __257:
 32084  	caseless = DTRUE
 32085  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32086  	// Fall through
 32087  __258:
 32088  __259:
 32089  __260:
 32090  __261:
 32091  __262:
 32092  __263:
 32093  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32094  		goto __1091
 32095  	}
 32096  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32097  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32098  	next_active_state += 12
 32099  	goto __1092
 32100  __1091:
 32101  	return -43
 32102  __1092:
 32103  	;
 32104  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32105  	if !(clen > 0) {
 32106  		goto __1093
 32107  	}
 32108  
 32109  	otherd5 = DNOTACHAR
 32110  	if !(caseless != 0) {
 32111  		goto __1094
 32112  	}
 32113  
 32114  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32115  		goto __1095
 32116  	}
 32117  	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)
 32118  	goto __1096
 32119  __1095:
 32120  	otherd5 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32121  __1096:
 32122  	;
 32123  __1094:
 32124  	;
 32125  	if !(libc.Bool32(c == d || c == otherd5) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32126  		goto __1097
 32127  	}
 32128  
 32129  	if !(codevalue == OP_POSUPTO || codevalue == OP_NOTPOSUPTO) {
 32130  		goto __1098
 32131  	}
 32132  
 32133  	active_count-- // Remove non-match possibility
 32134  	next_active_state -= 12
 32135  __1098:
 32136  	;
 32137  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32138  		goto __1099
 32139  	}
 32140  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32141  		goto __1101
 32142  	}
 32143  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32144  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32145  	next_new_state += 12
 32146  	goto __1102
 32147  __1101:
 32148  	return -43
 32149  __1102:
 32150  	;
 32151  	goto __1100
 32152  __1099:
 32153  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32154  		goto __1103
 32155  	}
 32156  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32157  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32158  	next_new_state += 12
 32159  	goto __1104
 32160  __1103:
 32161  	return -43
 32162  __1104:
 32163  	;
 32164  __1100:
 32165  	;
 32166  __1097:
 32167  	;
 32168  __1093:
 32169  	;
 32170  	goto __89
 32171  
 32172  	// ==========================================================================
 32173  	// These are the class-handling opcodes
 32174  
 32175  __264:
 32176  __265:
 32177  __266:
 32178  
 32179  	isinclass = DFALSE
 32180  
 32181  	// For a simple class, there is always just a 32-byte table, and we
 32182  	//         can set isinclass from it.
 32183  
 32184  	if !(codevalue != OP_XCLASS) {
 32185  		goto __1105
 32186  	}
 32187  
 32188  	ecode = code + uintptr(1) + uintptr(uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 32189  	if !(clen > 0) {
 32190  		goto __1107
 32191  	}
 32192  
 32193  	if c > Tuint32_t(255) {
 32194  		isinclass = libc.Bool32(codevalue == OP_NCLASS)
 32195  	} else {
 32196  		isinclass = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(code + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 32197  	}
 32198  __1107:
 32199  	;
 32200  	goto __1106
 32201  __1105:
 32202  
 32203  	ecode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32204  	if !(clen > 0) {
 32205  		goto __1108
 32206  	}
 32207  	isinclass = X_pcre2_xclass_8(tls, c, code+uintptr(1)+uintptr(DLINK_SIZE), utf)
 32208  __1108:
 32209  	;
 32210  __1106:
 32211  	;
 32212  
 32213  	// At this point, isinclass is set for all kinds of class, and ecode
 32214  	//         points to the byte after the end of the class. If there is a
 32215  	//         quantifier, this is where it will be.
 32216  
 32217  	next_state_offset = int32((int32(ecode) - int32(start_code)) / 1)
 32218  
 32219  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) {
 32220  	case OP_CRSTAR:
 32221  		goto __1110
 32222  	case OP_CRMINSTAR:
 32223  		goto __1111
 32224  	case OP_CRPOSSTAR:
 32225  		goto __1112
 32226  
 32227  	case OP_CRPLUS:
 32228  		goto __1113
 32229  	case OP_CRMINPLUS:
 32230  		goto __1114
 32231  	case OP_CRPOSPLUS:
 32232  		goto __1115
 32233  
 32234  	case OP_CRQUERY:
 32235  		goto __1116
 32236  	case OP_CRMINQUERY:
 32237  		goto __1117
 32238  	case OP_CRPOSQUERY:
 32239  		goto __1118
 32240  
 32241  	case OP_CRRANGE:
 32242  		goto __1119
 32243  	case OP_CRMINRANGE:
 32244  		goto __1120
 32245  	case OP_CRPOSRANGE:
 32246  		goto __1121
 32247  
 32248  	default:
 32249  		goto __1122
 32250  	}
 32251  	goto __1109
 32252  
 32253  __1110:
 32254  __1111:
 32255  __1112:
 32256  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32257  		goto __1123
 32258  	}
 32259  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32260  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32261  	next_active_state += 12
 32262  	goto __1124
 32263  __1123:
 32264  	return -43
 32265  __1124:
 32266  	;
 32267  	if !(isinclass != 0) {
 32268  		goto __1125
 32269  	}
 32270  
 32271  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSSTAR) {
 32272  		goto __1126
 32273  	}
 32274  
 32275  	active_count-- // Remove non-match possibility
 32276  	next_active_state -= 12
 32277  __1126:
 32278  	;
 32279  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32280  		goto __1127
 32281  	}
 32282  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32283  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32284  	next_new_state += 12
 32285  	goto __1128
 32286  __1127:
 32287  	return -43
 32288  __1128:
 32289  	;
 32290  __1125:
 32291  	;
 32292  	goto __1109
 32293  
 32294  __1113:
 32295  __1114:
 32296  __1115:
 32297  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32298  	if !(count > 0) {
 32299  		goto __1129
 32300  	}
 32301  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32302  		goto __1130
 32303  	}
 32304  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32305  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32306  	next_active_state += 12
 32307  	goto __1131
 32308  __1130:
 32309  	return -43
 32310  __1131:
 32311  	;
 32312  __1129:
 32313  	;
 32314  	if !(isinclass != 0) {
 32315  		goto __1132
 32316  	}
 32317  
 32318  	if !(count > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSPLUS) {
 32319  		goto __1133
 32320  	}
 32321  
 32322  	active_count-- // Remove non-match possibility
 32323  	next_active_state -= 12
 32324  __1133:
 32325  	;
 32326  	count++
 32327  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32328  		goto __1134
 32329  	}
 32330  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32331  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32332  	next_new_state += 12
 32333  	goto __1135
 32334  __1134:
 32335  	return -43
 32336  __1135:
 32337  	;
 32338  __1132:
 32339  	;
 32340  	goto __1109
 32341  
 32342  __1116:
 32343  __1117:
 32344  __1118:
 32345  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32346  		goto __1136
 32347  	}
 32348  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32349  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32350  	next_active_state += 12
 32351  	goto __1137
 32352  __1136:
 32353  	return -43
 32354  __1137:
 32355  	;
 32356  	if !(isinclass != 0) {
 32357  		goto __1138
 32358  	}
 32359  
 32360  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSQUERY) {
 32361  		goto __1139
 32362  	}
 32363  
 32364  	active_count-- // Remove non-match possibility
 32365  	next_active_state -= 12
 32366  __1139:
 32367  	;
 32368  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32369  		goto __1140
 32370  	}
 32371  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1
 32372  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32373  	next_new_state += 12
 32374  	goto __1141
 32375  __1140:
 32376  	return -43
 32377  __1141:
 32378  	;
 32379  __1138:
 32380  	;
 32381  	goto __1109
 32382  
 32383  __1119:
 32384  __1120:
 32385  __1121:
 32386  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32387  	if !(count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) {
 32388  		goto __1142
 32389  	}
 32390  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32391  		goto __1143
 32392  	}
 32393  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32394  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32395  	next_active_state += 12
 32396  	goto __1144
 32397  __1143:
 32398  	return -43
 32399  __1144:
 32400  	;
 32401  __1142:
 32402  	;
 32403  	if !(isinclass != 0) {
 32404  		goto __1145
 32405  	}
 32406  
 32407  	max = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 4)))))
 32408  
 32409  	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)))))) {
 32410  		goto __1146
 32411  	}
 32412  
 32413  	active_count-- // Remove non-match possibility
 32414  	next_active_state -= 12
 32415  __1146:
 32416  	;
 32417  
 32418  	if !(libc.PreIncInt32(&count, 1) >= max && max != 0) {
 32419  		goto __1147
 32420  	} /* Max 0 => no limit */
 32421  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32422  		goto __1149
 32423  	}
 32424  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32425  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32426  	next_new_state += 12
 32427  	goto __1150
 32428  __1149:
 32429  	return -43
 32430  __1150:
 32431  	;
 32432  	goto __1148
 32433  __1147:
 32434  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32435  		goto __1151
 32436  	}
 32437  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32438  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32439  	next_new_state += 12
 32440  	goto __1152
 32441  __1151:
 32442  	return -43
 32443  __1152:
 32444  	;
 32445  __1148:
 32446  	;
 32447  __1145:
 32448  	;
 32449  	goto __1109
 32450  
 32451  __1122:
 32452  	if !(isinclass != 0) {
 32453  		goto __1153
 32454  	}
 32455  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32456  		goto __1154
 32457  	}
 32458  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset
 32459  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32460  	next_new_state += 12
 32461  	goto __1155
 32462  __1154:
 32463  	return -43
 32464  __1155:
 32465  	;
 32466  __1153:
 32467  	;
 32468  	goto __1109
 32469  __1109:
 32470  	;
 32471  
 32472  	goto __89
 32473  
 32474  	// ==========================================================================
 32475  	// These are the opcodes for fancy brackets of various kinds. We have
 32476  	//       to use recursion in order to handle them. The "always failing" assertion
 32477  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 32478  	//       though the other "backtracking verbs" are not supported.
 32479  
 32480  __267:
 32481  	forced_fail++ // Count FAILs for multiple states
 32482  	goto __89
 32483  
 32484  __268:
 32485  __269:
 32486  __270:
 32487  __271:
 32488  
 32489  	endasscode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32490  	*(*uintptr)(unsafe.Pointer(bp + 16 /* rws */)) = RWS
 32491  
 32492  	if !(uint32((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree) < uint32(DRWS_RSIZE)+uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))) {
 32493  		goto __1156
 32494  	}
 32495  
 32496  	rc = more_workspace(tls, bp+16, uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))), mb)
 32497  	if !(rc != 0) {
 32498  		goto __1157
 32499  	}
 32500  	return rc
 32501  __1157:
 32502  	;
 32503  	RWS = *(*uintptr)(unsafe.Pointer(bp + 16 /* rws */))
 32504  __1156:
 32505  	;
 32506  
 32507  	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
 32508  	local_workspace = local_offsets + uintptr(uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))))*4
 32509  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 8)) -= uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32510  
 32511  __1158:
 32512  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode))) == OP_ALT) {
 32513  		goto __1159
 32514  	}
 32515  	endasscode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 2)))))
 32516  	goto __1158
 32517  __1159:
 32518  	;
 32519  
 32520  	rc = internal_dfa_match(tls,
 32521  		mb,   // static match data
 32522  		code, // this subexpression's code
 32523  		ptr,  // where we currently are
 32524  		Tsize_t((int32(ptr)-int32(start_subject))/1),
 32525  		local_offsets, // offset vector
 32526  		uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))/(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))),
 32527  		local_workspace, // workspace vector
 32528  		DRWS_RSIZE,      // size of same
 32529  		rlevel,          // function recursion level
 32530  		RWS)             // recursion workspace
 32531  
 32532  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 8)) += uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32533  
 32534  	if !(rc < 0 && rc != -1) {
 32535  		goto __1160
 32536  	}
 32537  	return rc
 32538  __1160:
 32539  	;
 32540  	if !(libc.Bool32(rc >= 0) == libc.Bool32(codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK)) {
 32541  		goto __1161
 32542  	}
 32543  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32544  		goto __1162
 32545  	}
 32546  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(endasscode+uintptr(DLINK_SIZE)+uintptr(1)) - int32(start_code)) / 1)
 32547  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32548  	next_active_state += 12
 32549  	goto __1163
 32550  __1162:
 32551  	return -43
 32552  __1163:
 32553  	;
 32554  __1161:
 32555  	;
 32556  
 32557  	goto __89
 32558  
 32559  	//-----------------------------------------------------------------
 32560  __272:
 32561  __273:
 32562  
 32563  	codelink = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32564  
 32565  	// Because of the way auto-callout works during compile, a callout item
 32566  	//         is inserted between OP_COND and an assertion condition. This does not
 32567  	//         happen for the other conditions.
 32568  
 32569  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT ||
 32570  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT_STR) {
 32571  		goto __1164
 32572  	}
 32573  
 32574  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb,
 32575  		uint32(1+DLINK_SIZE), bp+20)
 32576  	if !(rrc < 0) {
 32577  		goto __1165
 32578  	}
 32579  	return rrc
 32580  __1165:
 32581  	; // Abandon
 32582  	if !(rrc > 0) {
 32583  		goto __1166
 32584  	}
 32585  	goto __89
 32586  __1166:
 32587  	;                                                                               // Fail this thread
 32588  	code += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 20 /* callout_length */))) // Skip callout data
 32589  __1164:
 32590  	;
 32591  
 32592  	condcode = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))
 32593  
 32594  	// Back reference conditions and duplicate named recursion conditions
 32595  	//         are not supported
 32596  
 32597  	if !(int32(condcode) == OP_CREF || int32(condcode) == OP_DNCREF || int32(condcode) == OP_DNRREF) {
 32598  		goto __1167
 32599  	}
 32600  	return -40
 32601  __1167:
 32602  	;
 32603  
 32604  	// The DEFINE condition is always false, and the assertion (?!) is
 32605  	//         converted to OP_FAIL.
 32606  
 32607  	if !(int32(condcode) == OP_FALSE || int32(condcode) == OP_FAIL) {
 32608  		goto __1168
 32609  	}
 32610  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32611  		goto __1170
 32612  	}
 32613  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32614  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32615  	next_active_state += 12
 32616  	goto __1171
 32617  __1170:
 32618  	return -43
 32619  __1171:
 32620  	;
 32621  	goto __1169
 32622  __1168:
 32623  	if !(int32(condcode) == OP_TRUE) {
 32624  		goto __1172
 32625  	}
 32626  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32627  		goto __1174
 32628  	}
 32629  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2
 32630  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32631  	next_active_state += 12
 32632  	goto __1175
 32633  __1174:
 32634  	return -43
 32635  __1175:
 32636  	;
 32637  	goto __1173
 32638  __1172:
 32639  	if !(int32(condcode) == OP_RREF) {
 32640  		goto __1176
 32641  	}
 32642  
 32643  	value = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 32644  	if !(value != uint32(DRREF_ANY)) {
 32645  		goto __1178
 32646  	}
 32647  	return -40
 32648  __1178:
 32649  	;
 32650  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive != uintptr(0)) {
 32651  		goto __1179
 32652  	}
 32653  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32654  		goto __1181
 32655  	}
 32656  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2 + DIMM2_SIZE
 32657  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32658  	next_active_state += 12
 32659  	goto __1182
 32660  __1181:
 32661  	return -43
 32662  __1182:
 32663  	;
 32664  	goto __1180
 32665  __1179:
 32666  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32667  		goto __1183
 32668  	}
 32669  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32670  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32671  	next_active_state += 12
 32672  	goto __1184
 32673  __1183:
 32674  	return -43
 32675  __1184:
 32676  	;
 32677  __1180:
 32678  	;
 32679  	goto __1177
 32680  __1176:
 32681  
 32682  	asscode = code + uintptr(DLINK_SIZE) + uintptr(1)
 32683  	endasscode1 = asscode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 2)))))
 32684  	*(*uintptr)(unsafe.Pointer(bp + 24 /* rws1 */)) = RWS
 32685  
 32686  	if !(uint32((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).Ffree) < uint32(DRWS_RSIZE)+uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))) {
 32687  		goto __1185
 32688  	}
 32689  
 32690  	rc1 = more_workspace(tls, bp+24, uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))), mb)
 32691  	if !(rc1 != 0) {
 32692  		goto __1186
 32693  	}
 32694  	return rc1
 32695  __1186:
 32696  	;
 32697  	RWS = *(*uintptr)(unsafe.Pointer(bp + 24 /* rws1 */))
 32698  __1185:
 32699  	;
 32700  
 32701  	local_offsets1 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).Ffree)*4
 32702  	local_workspace1 = local_offsets1 + uintptr(uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))))*4
 32703  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 8)) -= uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32704  
 32705  __1187:
 32706  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1))) == OP_ALT) {
 32707  		goto __1188
 32708  	}
 32709  	endasscode1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 2)))))
 32710  	goto __1187
 32711  __1188:
 32712  	;
 32713  
 32714  	rc1 = internal_dfa_match(tls,
 32715  		mb,      // fixed match data
 32716  		asscode, // this subexpression's code
 32717  		ptr,     // where we currently are
 32718  		Tsize_t((int32(ptr)-int32(start_subject))/1),
 32719  		local_offsets1, // offset vector
 32720  		uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))/(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))),
 32721  		local_workspace1, // workspace vector
 32722  		DRWS_RSIZE,       // size of same
 32723  		rlevel,           // function recursion level
 32724  		RWS)              // recursion workspace
 32725  
 32726  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 8)) += uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32727  
 32728  	if !(rc1 < 0 && rc1 != -1) {
 32729  		goto __1189
 32730  	}
 32731  	return rc1
 32732  __1189:
 32733  	;
 32734  	if !(libc.Bool32(rc1 >= 0) == libc.Bool32(int32(condcode) == OP_ASSERT || int32(condcode) == OP_ASSERTBACK)) {
 32735  		goto __1190
 32736  	}
 32737  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32738  		goto __1192
 32739  	}
 32740  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int32(endasscode1+uintptr(DLINK_SIZE)+uintptr(1)) - int32(start_code)) / 1)
 32741  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32742  	next_active_state += 12
 32743  	goto __1193
 32744  __1192:
 32745  	return -43
 32746  __1193:
 32747  	;
 32748  	goto __1191
 32749  __1190:
 32750  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32751  		goto __1194
 32752  	}
 32753  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32754  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32755  	next_active_state += 12
 32756  	goto __1195
 32757  __1194:
 32758  	return -43
 32759  __1195:
 32760  	;
 32761  __1191:
 32762  	;
 32763  __1177:
 32764  	;
 32765  __1173:
 32766  	;
 32767  __1169:
 32768  	;
 32769  
 32770  	goto __89
 32771  
 32772  	//-----------------------------------------------------------------
 32773  __274:
 32774  
 32775  	*(*uintptr)(unsafe.Pointer(bp + 28 /* rws2 */)) = RWS
 32776  	callpat = start_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32777  	if callpat == (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code {
 32778  		recno = uint32(0)
 32779  	} else {
 32780  		recno = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 4))))
 32781  	}
 32782  
 32783  	if !(uint32((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28)))).Ffree) < uint32(DRWS_RSIZE)+uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))) {
 32784  		goto __1196
 32785  	}
 32786  
 32787  	rc2 = more_workspace(tls, bp+28, uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))), mb)
 32788  	if !(rc2 != 0) {
 32789  		goto __1197
 32790  	}
 32791  	return rc2
 32792  __1197:
 32793  	;
 32794  	RWS = *(*uintptr)(unsafe.Pointer(bp + 28 /* rws2 */))
 32795  __1196:
 32796  	;
 32797  
 32798  	local_offsets2 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28)))).Ffree)*4
 32799  	local_workspace2 = local_offsets2 + uintptr(uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))))*4
 32800  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28)) + 8)) -= uint32(DRWS_RSIZE) + uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32801  
 32802  	// Check for repeating a recursion without advancing the subject
 32803  	//         pointer. This should catch convoluted mutual recursions. (Some simple
 32804  	//         cases are caught at compile time.)
 32805  
 32806  	ri = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32807  __1198:
 32808  	if !(ri != uintptr(0)) {
 32809  		goto __1200
 32810  	}
 32811  	if !(recno == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fgroup_num && ptr == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fsubject_position) {
 32812  		goto __1201
 32813  	}
 32814  	return -52
 32815  __1201:
 32816  	;
 32817  	goto __1199
 32818  __1199:
 32819  	ri = (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fprevrec
 32820  	goto __1198
 32821  	goto __1200
 32822  __1200:
 32823  	;
 32824  
 32825  	// Remember this recursion and where we started it so as to
 32826  	//         catch infinite loops.
 32827  
 32828  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 32 /* &new_recursive */)).Fgroup_num = recno
 32829  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 32 /* &new_recursive */)).Fsubject_position = ptr
 32830  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 32 /* &new_recursive */)).Fprevrec = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32831  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = bp + 32 /* &new_recursive */
 32832  
 32833  	rc2 = internal_dfa_match(tls,
 32834  		mb,      // fixed match data
 32835  		callpat, // this subexpression's code
 32836  		ptr,     // where we currently are
 32837  		Tsize_t((int32(ptr)-int32(start_subject))/1),
 32838  		local_offsets2, // offset vector
 32839  		uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))/(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))),
 32840  		local_workspace2, // workspace vector
 32841  		DRWS_RSIZE,       // size of same
 32842  		rlevel,           // function recursion level
 32843  		RWS)              // recursion workspace
 32844  
 32845  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28)) + 8)) += uint32(DRWS_RSIZE) + uint32(1000)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32846  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = (*Tdfa_recursion_info)(unsafe.Pointer(bp + 32 /* &new_recursive */)).Fprevrec // Done this recursion
 32847  
 32848  	// Ran out of internal offsets
 32849  
 32850  	if !(rc2 == 0) {
 32851  		goto __1202
 32852  	}
 32853  	return -39
 32854  __1202:
 32855  	;
 32856  
 32857  	// For each successful matched substring, set up the next state with a
 32858  	//         count of characters to skip before trying it. Note that the count is in
 32859  	//         characters, not bytes.
 32860  
 32861  	if !(rc2 > 0) {
 32862  		goto __1203
 32863  	}
 32864  
 32865  	rc2 = rc2*2 - 2
 32866  __1205:
 32867  	if !(rc2 >= 0) {
 32868  		goto __1207
 32869  	}
 32870  
 32871  	charcount = *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*4)) - *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*4))
 32872  	if !(utf != 0) {
 32873  		goto __1208
 32874  	}
 32875  
 32876  	p = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*4)))
 32877  	pp = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*4)))
 32878  __1209:
 32879  	if !(p < pp) {
 32880  		goto __1210
 32881  	}
 32882  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0xc0 == 0x80) {
 32883  		goto __1211
 32884  	}
 32885  	charcount--
 32886  __1211:
 32887  	;
 32888  	goto __1209
 32889  __1210:
 32890  	;
 32891  __1208:
 32892  	;
 32893  	if !(charcount > Tsize_t(0)) {
 32894  		goto __1212
 32895  	}
 32896  
 32897  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32898  		goto __1214
 32899  	}
 32900  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + DLINK_SIZE + 1)
 32901  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32902  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount - Tsize_t(1))
 32903  	next_new_state += 12
 32904  	goto __1215
 32905  __1214:
 32906  	return -43
 32907  __1215:
 32908  	;
 32909  	goto __1213
 32910  __1212:
 32911  
 32912  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32913  		goto __1216
 32914  	}
 32915  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 1
 32916  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32917  	next_active_state += 12
 32918  	goto __1217
 32919  __1216:
 32920  	return -43
 32921  __1217:
 32922  	;
 32923  __1213:
 32924  	;
 32925  	goto __1206
 32926  __1206:
 32927  	rc2 = rc2 - 2
 32928  	goto __1205
 32929  	goto __1207
 32930  __1207:
 32931  	;
 32932  	goto __1204
 32933  __1203:
 32934  	if !(rc2 != -1) {
 32935  		goto __1218
 32936  	}
 32937  	return rc2
 32938  __1218:
 32939  	;
 32940  __1204:
 32941  	;
 32942  
 32943  	goto __89
 32944  
 32945  	//-----------------------------------------------------------------
 32946  __275:
 32947  __276:
 32948  __277:
 32949  __278:
 32950  __279:
 32951  
 32952  	local_ptr = ptr
 32953  	*(*uintptr)(unsafe.Pointer(bp + 44 /* rws3 */)) = RWS
 32954  
 32955  	if !(uint32((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44)))).Ffree) < uint32(DRWS_RSIZE)+uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))) {
 32956  		goto __1219
 32957  	}
 32958  
 32959  	rc3 = more_workspace(tls, bp+44, uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))), mb)
 32960  	if !(rc3 != 0) {
 32961  		goto __1220
 32962  	}
 32963  	return rc3
 32964  __1220:
 32965  	;
 32966  	RWS = *(*uintptr)(unsafe.Pointer(bp + 44 /* rws3 */))
 32967  __1219:
 32968  	;
 32969  
 32970  	local_offsets3 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44)))).Ffree)*4
 32971  	local_workspace3 = local_offsets3 + uintptr(uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))))*4
 32972  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44)) + 8)) -= uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 32973  
 32974  	if !(codevalue == OP_BRAPOSZERO) {
 32975  		goto __1221
 32976  	}
 32977  
 32978  	allow_zero = DTRUE
 32979  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&code, 1)))) // Codevalue will be one of above BRAs
 32980  	goto __1222
 32981  __1221:
 32982  	allow_zero = DFALSE
 32983  __1222:
 32984  	;
 32985  
 32986  	// Loop to match the subpattern as many times as possible as if it were
 32987  	//         a complete pattern.
 32988  
 32989  	matched_count = Tsize_t(0)
 32990  __1223:
 32991  	;
 32992  
 32993  	rc3 = internal_dfa_match(tls,
 32994  		mb,        // fixed match data
 32995  		code,      // this subexpression's code
 32996  		local_ptr, // where we currently are
 32997  		Tsize_t((int32(ptr)-int32(start_subject))/1),
 32998  		local_offsets3, // offset vector
 32999  		uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))/(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))),
 33000  		local_workspace3, // workspace vector
 33001  		DRWS_RSIZE,       // size of same
 33002  		rlevel,           // function recursion level
 33003  		RWS)              // recursion workspace
 33004  
 33005  	// Failed to match
 33006  
 33007  	if !(rc3 < 0) {
 33008  		goto __1226
 33009  	}
 33010  
 33011  	if !(rc3 != -1) {
 33012  		goto __1227
 33013  	}
 33014  	return rc3
 33015  __1227:
 33016  	;
 33017  	goto __1225
 33018  __1226:
 33019  	;
 33020  
 33021  	// Matched: break the loop if zero characters matched.
 33022  
 33023  	charcount1 = *(*Tsize_t)(unsafe.Pointer(local_offsets3 + 1*4)) - *(*Tsize_t)(unsafe.Pointer(local_offsets3))
 33024  	if !(charcount1 == Tsize_t(0)) {
 33025  		goto __1228
 33026  	}
 33027  	goto __1225
 33028  __1228:
 33029  	;
 33030  	local_ptr += TPCRE2_SPTR8(charcount1) // Advance temporary position ptr
 33031  	goto __1224
 33032  __1224:
 33033  	matched_count++
 33034  	goto __1223
 33035  	goto __1225
 33036  __1225:
 33037  	;
 33038  
 33039  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44)) + 8)) += uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 33040  
 33041  	// At this point we have matched the subpattern matched_count
 33042  	//         times, and local_ptr is pointing to the character after the end of the
 33043  	//         last match.
 33044  
 33045  	if !(matched_count > Tsize_t(0) || allow_zero != 0) {
 33046  		goto __1229
 33047  	}
 33048  
 33049  	end_subpattern = code
 33050  
 33051  __1230:
 33052  	end_subpattern += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 2)))))
 33053  	goto __1231
 33054  __1231:
 33055  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern))) == OP_ALT {
 33056  		goto __1230
 33057  	}
 33058  	goto __1232
 33059  __1232:
 33060  	;
 33061  	next_state_offset1 = int32((int32(end_subpattern)-int32(start_code))/1 + DLINK_SIZE + 1)
 33062  
 33063  	// Optimization: if there are no more active states, and there
 33064  	//           are no new states yet set up, then skip over the subject string
 33065  	//           right here, to save looping. Otherwise, set up the new state to swing
 33066  	//           into action when the end of the matched substring is reached.
 33067  
 33068  	if !(i+1 >= active_count && new_count == 0) {
 33069  		goto __1233
 33070  	}
 33071  
 33072  	ptr = local_ptr
 33073  	clen = 0
 33074  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33075  		goto __1235
 33076  	}
 33077  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset1
 33078  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33079  	next_new_state += 12
 33080  	goto __1236
 33081  __1235:
 33082  	return -43
 33083  __1236:
 33084  	;
 33085  	goto __1234
 33086  __1233:
 33087  
 33088  	p1 = ptr
 33089  	pp1 = local_ptr
 33090  	charcount1 = Tsize_t((int32(pp1) - int32(p1)) / 1)
 33091  	if !(utf != 0) {
 33092  		goto __1237
 33093  	}
 33094  __1238:
 33095  	if !(p1 < pp1) {
 33096  		goto __1239
 33097  	}
 33098  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))))&0xc0 == 0x80) {
 33099  		goto __1240
 33100  	}
 33101  	charcount1--
 33102  __1240:
 33103  	;
 33104  	goto __1238
 33105  __1239:
 33106  	;
 33107  __1237:
 33108  	;
 33109  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33110  		goto __1241
 33111  	}
 33112  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset1
 33113  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33114  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount1 - Tsize_t(1))
 33115  	next_new_state += 12
 33116  	goto __1242
 33117  __1241:
 33118  	return -43
 33119  __1242:
 33120  	;
 33121  __1234:
 33122  	;
 33123  __1229:
 33124  	;
 33125  
 33126  	goto __89
 33127  
 33128  	//-----------------------------------------------------------------
 33129  __280:
 33130  
 33131  	*(*uintptr)(unsafe.Pointer(bp + 48 /* rws4 */)) = RWS
 33132  
 33133  	if !(uint32((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).Ffree) < uint32(DRWS_RSIZE)+uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))) {
 33134  		goto __1243
 33135  	}
 33136  
 33137  	rc4 = more_workspace(tls, bp+48, uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))), mb)
 33138  	if !(rc4 != 0) {
 33139  		goto __1244
 33140  	}
 33141  	return rc4
 33142  __1244:
 33143  	;
 33144  	RWS = *(*uintptr)(unsafe.Pointer(bp + 48 /* rws4 */))
 33145  __1243:
 33146  	;
 33147  
 33148  	local_offsets4 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).Ffree)*4
 33149  	local_workspace4 = local_offsets4 + uintptr(uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))))*4
 33150  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)) + 8)) -= uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 33151  
 33152  	rc4 = internal_dfa_match(tls,
 33153  		mb,   // fixed match data
 33154  		code, // this subexpression's code
 33155  		ptr,  // where we currently are
 33156  		Tsize_t((int32(ptr)-int32(start_subject))/1),
 33157  		local_offsets4, // offset vector
 33158  		uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))/(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0)))),
 33159  		local_workspace4, // workspace vector
 33160  		DRWS_RSIZE,       // size of same
 33161  		rlevel,           // function recursion level
 33162  		RWS)              // recursion workspace
 33163  
 33164  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)) + 8)) += uint32(DRWS_RSIZE) + uint32(2)*(uint32(unsafe.Sizeof(Tsize_t(0)))/uint32(unsafe.Sizeof(int32(0))))
 33165  
 33166  	if !(rc4 >= 0) {
 33167  		goto __1245
 33168  	}
 33169  
 33170  	end_subpattern1 = code
 33171  	charcount2 = *(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*4)) - *(*Tsize_t)(unsafe.Pointer(local_offsets4))
 33172  
 33173  __1247:
 33174  	end_subpattern1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2)))))
 33175  	goto __1248
 33176  __1248:
 33177  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_ALT {
 33178  		goto __1247
 33179  	}
 33180  	goto __1249
 33181  __1249:
 33182  	;
 33183  	next_state_offset2 = int32((int32(end_subpattern1)-int32(start_code))/1 + DLINK_SIZE + 1)
 33184  
 33185  	// If the end of this subpattern is KETRMAX or KETRMIN, we must
 33186  	//           arrange for the repeat state also to be added to the relevant list.
 33187  	//           Calculate the offset, or set -1 for no repeat.
 33188  
 33189  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMAX || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMIN {
 33190  		repeat_state_offset = int32(uint32((int32(end_subpattern1)-int32(start_code))/1) - uint32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2))))))
 33191  	} else {
 33192  		repeat_state_offset = -1
 33193  	}
 33194  
 33195  	// If we have matched an empty string, add the next state at the
 33196  	//           current character pointer. This is important so that the duplicate
 33197  	//           checking kicks in, which is what breaks infinite loops that match an
 33198  	//           empty string.
 33199  
 33200  	if !(charcount2 == Tsize_t(0)) {
 33201  		goto __1250
 33202  	}
 33203  
 33204  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33205  		goto __1252
 33206  	}
 33207  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset2
 33208  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33209  	next_active_state += 12
 33210  	goto __1253
 33211  __1252:
 33212  	return -43
 33213  __1253:
 33214  	;
 33215  	goto __1251
 33216  __1250:
 33217  	if !(i+1 >= active_count && new_count == 0) {
 33218  		goto __1254
 33219  	}
 33220  
 33221  	ptr += TPCRE2_SPTR8(charcount2)
 33222  	clen = 0
 33223  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33224  		goto __1256
 33225  	}
 33226  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset2
 33227  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33228  	next_new_state += 12
 33229  	goto __1257
 33230  __1256:
 33231  	return -43
 33232  __1257:
 33233  	;
 33234  
 33235  	// If we are adding a repeat state at the new character position,
 33236  	//             we must fudge things so that it is the only current state.
 33237  	//             Otherwise, it might be a duplicate of one we processed before, and
 33238  	//             that would cause it to be skipped.
 33239  
 33240  	if !(repeat_state_offset >= 0) {
 33241  		goto __1258
 33242  	}
 33243  
 33244  	next_active_state = active_states
 33245  	active_count = 0
 33246  	i = -1
 33247  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33248  		goto __1259
 33249  	}
 33250  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = repeat_state_offset
 33251  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33252  	next_active_state += 12
 33253  	goto __1260
 33254  __1259:
 33255  	return -43
 33256  __1260:
 33257  	;
 33258  __1258:
 33259  	;
 33260  	goto __1255
 33261  __1254:
 33262  
 33263  	if !(utf != 0) {
 33264  		goto __1261
 33265  	}
 33266  
 33267  	p2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4)))
 33268  	pp2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*4)))
 33269  __1262:
 33270  	if !(p2 < pp2) {
 33271  		goto __1263
 33272  	}
 33273  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p2, 1))))&0xc0 == 0x80) {
 33274  		goto __1264
 33275  	}
 33276  	charcount2--
 33277  __1264:
 33278  	;
 33279  	goto __1262
 33280  __1263:
 33281  	;
 33282  __1261:
 33283  	;
 33284  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33285  		goto __1265
 33286  	}
 33287  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset2
 33288  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33289  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - Tsize_t(1))
 33290  	next_new_state += 12
 33291  	goto __1266
 33292  __1265:
 33293  	return -43
 33294  __1266:
 33295  	;
 33296  	if !(repeat_state_offset >= 0) {
 33297  		goto __1267
 33298  	}
 33299  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33300  		goto __1268
 33301  	}
 33302  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -repeat_state_offset
 33303  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33304  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - Tsize_t(1))
 33305  	next_new_state += 12
 33306  	goto __1269
 33307  __1268:
 33308  	return -43
 33309  __1269:
 33310  	;
 33311  __1267:
 33312  	;
 33313  __1255:
 33314  	;
 33315  __1251:
 33316  	;
 33317  	goto __1246
 33318  __1245:
 33319  	if !(rc4 != -1) {
 33320  		goto __1270
 33321  	}
 33322  	return rc4
 33323  __1270:
 33324  	;
 33325  __1246:
 33326  	;
 33327  
 33328  	goto __89
 33329  
 33330  	// ==========================================================================
 33331  	// Handle callouts
 33332  
 33333  __281:
 33334  __282:
 33335  
 33336  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb, uint32(0),
 33337  		bp+52)
 33338  	if !(rrc < 0) {
 33339  		goto __1271
 33340  	}
 33341  	return rrc
 33342  __1271:
 33343  	; // Abandon
 33344  	if !(rrc == 0) {
 33345  		goto __1272
 33346  	}
 33347  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33348  		goto __1273
 33349  	}
 33350  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + int32(*(*Tsize_t)(unsafe.Pointer(bp + 52)))
 33351  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33352  	next_active_state += 12
 33353  	goto __1274
 33354  __1273:
 33355  	return -43
 33356  __1274:
 33357  	;
 33358  __1272:
 33359  	;
 33360  
 33361  	goto __89
 33362  
 33363  	// ==========================================================================
 33364  __283: // Unsupported opcode
 33365  	return -42
 33366  __89:
 33367  	;
 33368  
 33369  NEXT_ACTIVE_STATE:
 33370  	goto __51
 33371  
 33372  	goto __51
 33373  __51:
 33374  	i++
 33375  	goto __50
 33376  	goto __52
 33377  __52:
 33378  	; // End of loop scanning active states
 33379  
 33380  	// We have finished the processing at the current subject character. If no
 33381  	//   new states have been set for the next character, we have found all the
 33382  	//   matches that we are going to find. If partial matching has been requested,
 33383  	//   check for appropriate conditions.
 33384  	//
 33385  	//   The "forced_ fail" variable counts the number of (*F) encountered for the
 33386  	//   character. If it is equal to the original active_count (saved in
 33387  	//   workspace[1]) it means that (*F) was found on every active state. In this
 33388  	//   case we don't want to give a partial match.
 33389  	//
 33390  	//   The "could_continue" variable is true if a state could have continued but
 33391  	//   for the fact that the end of the subject was reached.
 33392  
 33393  	if !(new_count <= 0) {
 33394  		goto __1275
 33395  	}
 33396  
 33397  	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) ||
 33398  		(*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))) {
 33399  		goto __1276
 33400  	}
 33401  	match_count = -2
 33402  __1276:
 33403  	;
 33404  	goto __37 // Exit from loop along the subject string
 33405  __1275:
 33406  	;
 33407  
 33408  	// One or more states are active for the next character.
 33409  
 33410  	ptr += TPCRE2_SPTR8(clen) // Advance to next subject character
 33411  	goto __36
 33412  __36:
 33413  	goto __35
 33414  	goto __37
 33415  __37:
 33416  	; // Loop to move along the subject string
 33417  
 33418  	// Control gets here from "break" a few lines above. If we have a match and
 33419  	// PCRE2_ENDANCHORED is set, the match fails.
 33420  
 33421  	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) {
 33422  		goto __1277
 33423  	}
 33424  	match_count = -1
 33425  __1277:
 33426  	;
 33427  
 33428  	return match_count
 33429  }
 33430  
 33431  // ************************************************
 33432  //
 33433  //     Match a pattern using the DFA algorithm    *
 33434  //
 33435  
 33436  // This function matches a compiled pattern to a subject string, using the
 33437  // alternate matching algorithm that finds all matches at once.
 33438  //
 33439  // Arguments:
 33440  //   code          points to the compiled pattern
 33441  //   subject       subject string
 33442  //   length        length of subject string
 33443  //   startoffset   where to start matching in the subject
 33444  //   options       option bits
 33445  //   match_data    points to a match data structure
 33446  //   gcontext      points to a match context
 33447  //   workspace     pointer to workspace
 33448  //   wscount       size of workspace
 33449  //
 33450  // Returns:        > 0 => number of match offset pairs placed in offsets
 33451  //                 = 0 => offsets overflowed; longest matches are present
 33452  //                  -1 => failed to match
 33453  //                < -1 => some kind of unexpected problem
 33454  
 33455  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: */
 33456  	bp := tls.Alloc(30888)
 33457  	defer tls.Free(30888)
 33458  
 33459  	var rc int32
 33460  	var was_zero_terminated int32
 33461  	var re uintptr
 33462  	var start_match TPCRE2_SPTR8
 33463  	var end_subject TPCRE2_SPTR8
 33464  	var bumpalong_limit TPCRE2_SPTR8
 33465  	var req_cu_ptr TPCRE2_SPTR8
 33466  	var utf TBOOL
 33467  	var anchored TBOOL
 33468  	var startline TBOOL
 33469  	var firstline TBOOL
 33470  	var has_first_cu TBOOL
 33471  	var has_req_cu TBOOL
 33472  	var memchr_found_first_cu TPCRE2_SPTR8
 33473  	var memchr_found_first_cu2 TPCRE2_SPTR8
 33474  	var first_cu TPCRE2_UCHAR8
 33475  	var first_cu2 TPCRE2_UCHAR8
 33476  	var req_cu TPCRE2_UCHAR8
 33477  	var req_cu2 TPCRE2_UCHAR8
 33478  	var start_bits uintptr
 33479  
 33480  	// We need to have mb pointing to a match block, because the IS_NEWLINE macro
 33481  	// is used below, and it expects NLBLOCK to be defined as a pointer.
 33482  
 33483  	// var cb Tpcre2_callout_block_8 at bp+30824, 64
 33484  
 33485  	// var actual_match_block Tdfa_match_block_8 at bp, 104
 33486  
 33487  	var mb uintptr
 33488  
 33489  	// Set up a starting block of memory for use during recursive calls to
 33490  	// internal_dfa_match(). By putting this on the stack, it minimizes resource use
 33491  	// in the case when it is not needed. If this is too small, more memory is
 33492  	// obtained from the heap. At the start of each block is an anchor structure.
 33493  
 33494  	// var base_recursion_workspace [7680]int32 at bp+104, 30720
 33495  
 33496  	var rws uintptr
 33497  	var i uint32
 33498  	var check_subject TPCRE2_SPTR8
 33499  	var t TPCRE2_SPTR8
 33500  	var c TPCRE2_UCHAR8
 33501  	var ok TBOOL
 33502  	// In 16-bit and 32_bit modes we have to do our own search, so can
 33503  	//           look for both cases at once.
 33504  
 33505  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 33506  	//           though we have to call it twice in order to find the earliest
 33507  	//           occurrence of the code unit in either of its cases. Caching is used
 33508  	//           to remember the positions of previously found code units. This can
 33509  	//           make a huge difference when the strings are very long and only one
 33510  	//           case is actually present.
 33511  
 33512  	var pp1 TPCRE2_SPTR8
 33513  	var pp2 TPCRE2_SPTR8
 33514  	var searchlength Tsize_t
 33515  	var c1 Tuint32_t
 33516  	var pp TPCRE2_SPTR8
 33517  	var check_length Tsize_t
 33518  	var p TPCRE2_SPTR8
 33519  	var next uintptr
 33520  	was_zero_terminated = 0
 33521  	re = code
 33522  	has_first_cu = DFALSE
 33523  	has_req_cu = DFALSE
 33524  	memchr_found_first_cu = uintptr(0)
 33525  	memchr_found_first_cu2 = uintptr(0)
 33526  	first_cu = TPCRE2_UCHAR8(0)
 33527  	first_cu2 = TPCRE2_UCHAR8(0)
 33528  	req_cu = TPCRE2_UCHAR8(0)
 33529  	req_cu2 = TPCRE2_UCHAR8(0)
 33530  	start_bits = uintptr(0)
 33531  	mb = bp        /* &actual_match_block */
 33532  	rws = bp + 104 /* base_recursion_workspace */
 33533  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = uintptr(0)
 33534  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fsize = uint32(DDFA_START_RWS_SIZE) / uint32(unsafe.Sizeof(int32(0)))
 33535  	(*TRWS_anchor)(unsafe.Pointer(rws)).Ffree = uint32(DDFA_START_RWS_SIZE)/uint32(unsafe.Sizeof(int32(0))) - uint32(unsafe.Sizeof(TRWS_anchor{}))/uint32(unsafe.Sizeof(int32(0)))
 33536  
 33537  	// Recognize NULL, length 0 as an empty string.
 33538  
 33539  	if !(subject == uintptr(0) && length == Tsize_t(0)) {
 33540  		goto __1
 33541  	}
 33542  	subject = ts + 797 /* "" */
 33543  __1:
 33544  	;
 33545  
 33546  	// Plausibility checks
 33547  
 33548  	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)) {
 33549  		goto __2
 33550  	}
 33551  	return -34
 33552  __2:
 33553  	;
 33554  	if !(re == uintptr(0) || subject == uintptr(0) || workspace == uintptr(0) || match_data == uintptr(0)) {
 33555  		goto __3
 33556  	}
 33557  	return -51
 33558  __3:
 33559  	;
 33560  
 33561  	if !(length == libc.CplUint32(Tsize_t(0))) {
 33562  		goto __4
 33563  	}
 33564  
 33565  	length = X_pcre2_strlen_8(tls, subject)
 33566  	was_zero_terminated = 1
 33567  __4:
 33568  	;
 33569  
 33570  	if !(wscount < Tsize_t(20)) {
 33571  		goto __5
 33572  	}
 33573  	return -43
 33574  __5:
 33575  	;
 33576  	if !(start_offset > length) {
 33577  		goto __6
 33578  	}
 33579  	return -33
 33580  __6:
 33581  	;
 33582  
 33583  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 33584  	// time.
 33585  
 33586  	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)) {
 33587  		goto __7
 33588  	}
 33589  	return -34
 33590  __7:
 33591  	;
 33592  
 33593  	// Invalid UTF support is not available for DFA matching.
 33594  
 33595  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 33596  		goto __8
 33597  	}
 33598  	return -66
 33599  __8:
 33600  	;
 33601  
 33602  	// Check that the first field in the block is the magic number. If it is not,
 33603  	// return with PCRE2_ERROR_BADMAGIC.
 33604  
 33605  	if !(uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 33606  		goto __9
 33607  	}
 33608  	return -31
 33609  __9:
 33610  	;
 33611  
 33612  	// Check the code unit width.
 33613  
 33614  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 33615  		goto __10
 33616  	}
 33617  	return -32
 33618  __10:
 33619  	;
 33620  
 33621  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 33622  	// options variable for this function. Users of PCRE2 who are not calling the
 33623  	// function directly would like to have a way of setting these flags, in the same
 33624  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 33625  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 33626  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which can now be
 33627  	// transferred to the options for this function. The bits are guaranteed to be
 33628  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 33629  	// that the match-time bits are not more significant than the flag bits. If by
 33630  	// accident this is not the case, a compile-time division by zero error will
 33631  	// occur.
 33632  
 33633  	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))))
 33634  
 33635  	// If restarting after a partial match, do some sanity checks on the contents
 33636  	// of the workspace.
 33637  
 33638  	if !(options&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 33639  		goto __11
 33640  	}
 33641  
 33642  	if !(*(*int32)(unsafe.Pointer(workspace))&-2 != 0 || *(*int32)(unsafe.Pointer(workspace + 1*4)) < 1 || *(*int32)(unsafe.Pointer(workspace + 1*4)) > int32((wscount-Tsize_t(2))/Tsize_t(int32(uint32(unsafe.Sizeof(Tstateblock{}))/uint32(unsafe.Sizeof(int32(0))))))) {
 33643  		goto __12
 33644  	}
 33645  	return -38
 33646  __12:
 33647  	;
 33648  __11:
 33649  	;
 33650  
 33651  	// Set some local values
 33652  
 33653  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 33654  	start_match = subject + uintptr(start_offset)
 33655  	end_subject = subject + uintptr(length)
 33656  	req_cu_ptr = start_match - uintptr(1)
 33657  	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))
 33658  
 33659  	// The "must be at the start of a line" flags are used in a loop when finding
 33660  	// where to start.
 33661  
 33662  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 33663  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 33664  	bumpalong_limit = end_subject
 33665  
 33666  	// Initialize and set up the fixed fields in the callout block, with a pointer
 33667  	// in the match block.
 33668  
 33669  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb = bp + 30824 /* &cb */
 33670  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fversion = Tuint32_t(2)
 33671  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fsubject = subject
 33672  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fsubject_length = Tsize_t((int32(end_subject) - int32(subject)) / 1)
 33673  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 33674  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fcapture_top = Tuint32_t(1) // No capture support
 33675  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fcapture_last = Tuint32_t(0)
 33676  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30824 /* &cb */)).Fmark = uintptr(0) // No (*MARK) support
 33677  
 33678  	// Get data from the match context, if present, and fill in the remaining
 33679  	// fields in the match block. It is an error to set an offset limit without
 33680  	// setting the flag at compile time.
 33681  
 33682  	if !(mcontext == uintptr(0)) {
 33683  		goto __13
 33684  	}
 33685  
 33686  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = uintptr(0)
 33687  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 33688  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = X_pcre2_default_match_context_8.Fmatch_limit
 33689  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = X_pcre2_default_match_context_8.Fdepth_limit
 33690  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t(X_pcre2_default_match_context_8.Fheap_limit)
 33691  	goto __14
 33692  __13:
 33693  
 33694  	if !((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint32(Tsize_t(0))) {
 33695  		goto __15
 33696  	}
 33697  
 33698  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 33699  		goto __16
 33700  	}
 33701  	return -56
 33702  __16:
 33703  	;
 33704  	bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 33705  __15:
 33706  	;
 33707  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 33708  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 33709  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 33710  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 33711  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 33712  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 33713  __14:
 33714  	;
 33715  
 33716  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match) {
 33717  		goto __17
 33718  	}
 33719  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 33720  __17:
 33721  	;
 33722  
 33723  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth) {
 33724  		goto __18
 33725  	}
 33726  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 33727  __18:
 33728  	;
 33729  
 33730  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit > Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)) {
 33731  		goto __19
 33732  	}
 33733  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 33734  __19:
 33735  	;
 33736  
 33737  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code = re + uintptr(uint32(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))
 33738  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 33739  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 33740  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 33741  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 33742  	(*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))
 33743  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions = options
 33744  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 33745  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 33746  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used = Tsize_t(0)
 33747  
 33748  	// Process the \R and newline settings.
 33749  
 33750  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 33751  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 33752  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 33753  	case DPCRE2_NEWLINE_CR:
 33754  		goto __21
 33755  
 33756  	case DPCRE2_NEWLINE_LF:
 33757  		goto __22
 33758  
 33759  	case DPCRE2_NEWLINE_NUL:
 33760  		goto __23
 33761  
 33762  	case DPCRE2_NEWLINE_CRLF:
 33763  		goto __24
 33764  
 33765  	case DPCRE2_NEWLINE_ANY:
 33766  		goto __25
 33767  
 33768  	case DPCRE2_NEWLINE_ANYCRLF:
 33769  		goto __26
 33770  
 33771  	default:
 33772  		goto __27
 33773  	}
 33774  	goto __20
 33775  
 33776  __21:
 33777  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33778  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 80)) = TPCRE2_UCHAR8('\015')
 33779  	goto __20
 33780  
 33781  __22:
 33782  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33783  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 80)) = TPCRE2_UCHAR8('\012')
 33784  	goto __20
 33785  
 33786  __23:
 33787  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33788  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 80)) = TPCRE2_UCHAR8(0)
 33789  	goto __20
 33790  
 33791  __24:
 33792  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 33793  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 80)) = TPCRE2_UCHAR8('\015')
 33794  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 80 + 1)) = TPCRE2_UCHAR8('\012')
 33795  	goto __20
 33796  
 33797  __25:
 33798  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 33799  	goto __20
 33800  
 33801  __26:
 33802  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 33803  	goto __20
 33804  
 33805  __27:
 33806  	return -44
 33807  __20:
 33808  	;
 33809  
 33810  	// Check a UTF string for validity if required. For 8-bit and 16-bit strings,
 33811  	// we must also check that a starting offset does not point into the middle of a
 33812  	// multiunit character. We check only the portion of the subject that is going to
 33813  	// be inspected during matching - from the offset minus the maximum back reference
 33814  	// to the given length. This saves time when a small part of a large subject is
 33815  	// being matched by the use of a starting offset. Note that the maximum lookbehind
 33816  	// is a number of characters, not code units.
 33817  
 33818  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 33819  		goto __28
 33820  	}
 33821  
 33822  	check_subject = start_match // start_match includes offset
 33823  
 33824  	if !(start_offset > Tsize_t(0)) {
 33825  		goto __29
 33826  	}
 33827  
 33828  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 33829  		goto __30
 33830  	}
 33831  	return -36
 33832  __30:
 33833  	;
 33834  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 33835  __31:
 33836  	if !(i > uint32(0) && check_subject > subject) {
 33837  		goto __33
 33838  	}
 33839  
 33840  	check_subject--
 33841  __34:
 33842  	if !(check_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(check_subject)))&0xc0 == 0x80) {
 33843  		goto __35
 33844  	}
 33845  	check_subject--
 33846  	goto __34
 33847  __35:
 33848  	;
 33849  	goto __32
 33850  __32:
 33851  	i--
 33852  	goto __31
 33853  	goto __33
 33854  __33:
 33855  	;
 33856  __29:
 33857  	;
 33858  
 33859  	// Validate the relevant portion of the subject. After an error, adjust the
 33860  	//   offset to be an absolute offset in the whole string.
 33861  
 33862  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, check_subject,
 33863  		length-Tsize_t((int32(check_subject)-int32(subject))/1), match_data+32)
 33864  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc != 0) {
 33865  		goto __36
 33866  	}
 33867  
 33868  	*(*Tsize_t)(unsafe.Pointer(match_data + 32)) += Tsize_t((int32(check_subject) - int32(subject)) / 1)
 33869  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 33870  __36:
 33871  	;
 33872  __28:
 33873  	;
 33874  
 33875  	// Set up the first code unit to match, if available. If there's no first code
 33876  	// unit there may be a bitmap of possible first characters.
 33877  
 33878  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 33879  		goto __37
 33880  	}
 33881  
 33882  	has_first_cu = DTRUE
 33883  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 33884  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 33885  		goto __39
 33886  	}
 33887  
 33888  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(first_cu)))
 33889  	if !(int32(first_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33890  		goto __40
 33891  	}
 33892  	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))
 33893  __40:
 33894  	;
 33895  __39:
 33896  	;
 33897  	goto __38
 33898  __37:
 33899  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 33900  		goto __41
 33901  	}
 33902  	start_bits = re + 20 /* &.start_bitmap */
 33903  __41:
 33904  	;
 33905  __38:
 33906  	;
 33907  
 33908  	// There may be a "last known required code unit" set.
 33909  
 33910  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 33911  		goto __42
 33912  	}
 33913  
 33914  	has_req_cu = DTRUE
 33915  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 33916  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 33917  		goto __43
 33918  	}
 33919  
 33920  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(req_cu)))
 33921  	if !(int32(req_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33922  		goto __44
 33923  	}
 33924  	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))
 33925  __44:
 33926  	;
 33927  __43:
 33928  	;
 33929  __42:
 33930  	;
 33931  
 33932  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 33933  	// free the memory that was obtained.
 33934  
 33935  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 33936  		goto __45
 33937  	}
 33938  
 33939  	(*struct {
 33940  		f func(*libc.TLS, uintptr, uintptr)
 33941  	})(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,
 33942  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 33943  	*(*Tuint8_t)(unsafe.Pointer(match_data + 37)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 33944  __45:
 33945  	;
 33946  
 33947  	// Fill in fields that are always returned in the match data.
 33948  
 33949  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 33950  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0) // Default for no match
 33951  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = uintptr(0)
 33952  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_DFA_INTERPRETER
 33953  
 33954  	// Call the main matching function, looping for a non-anchored regex after a
 33955  	// failed match. If not restarting, perform certain optimizations at the start of
 33956  	// a match.
 33957  
 33958  __46:
 33959  
 33960  	// ----------------- Start of match optimizations ----------------
 33961  
 33962  	// There are some optimizations that avoid running the match if a known
 33963  	//   starting point is not found, or if a known later code unit is not present.
 33964  	//   However, there is an option (settable at compile time) that disables
 33965  	//   these, for testing and for ensuring that all callouts do actually occur.
 33966  	//   The optimizations must also be avoided when restarting a DFA match.
 33967  
 33968  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0) && options&DPCRE2_DFA_RESTART == Tuint32_t(0)) {
 33969  		goto __49
 33970  	}
 33971  
 33972  	// If firstline is TRUE, the start of the match is constrained to the first
 33973  	//     line of a multiline string. That is, the match must be before or at the
 33974  	//     first newline following the start of matching. Temporarily adjust
 33975  	//     end_subject so that we stop the optimization scans for a first code unit
 33976  	//     immediately after the first character of a newline (the first code unit can
 33977  	//     legitimately be a newline). If the match fails at the newline, later code
 33978  	//     breaks this loop.
 33979  
 33980  	if !(firstline != 0) {
 33981  		goto __50
 33982  	}
 33983  
 33984  	t = start_match
 33985  	if !(utf != 0) {
 33986  		goto __51
 33987  	}
 33988  
 33989  __53:
 33990  	if !(t < end_subject && !(func() int32 {
 33991  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 33992  			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+72, utf) != 0)
 33993  		}
 33994  		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 + 80))) && ((*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 + 80 + 1)))))
 33995  	}() != 0)) {
 33996  		goto __54
 33997  	}
 33998  
 33999  	t++
 34000  __55:
 34001  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 34002  		goto __56
 34003  	}
 34004  	t++
 34005  	goto __55
 34006  __56:
 34007  	;
 34008  	goto __53
 34009  __54:
 34010  	;
 34011  	goto __52
 34012  __51:
 34013  __57:
 34014  	if !(t < end_subject && !(func() int32 {
 34015  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34016  			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+72, utf) != 0)
 34017  		}
 34018  		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 + 80))) && ((*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 + 80 + 1)))))
 34019  	}() != 0)) {
 34020  		goto __58
 34021  	}
 34022  	t++
 34023  	goto __57
 34024  __58:
 34025  	;
 34026  __52:
 34027  	;
 34028  	end_subject = t
 34029  __50:
 34030  	;
 34031  
 34032  	// Anchored: check the first code unit if one is recorded. This may seem
 34033  	//     pointless but it can help in detecting a no match case without scanning for
 34034  	//     the required code unit.
 34035  
 34036  	if !(anchored != 0) {
 34037  		goto __59
 34038  	}
 34039  
 34040  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 34041  		goto __61
 34042  	}
 34043  
 34044  	ok = libc.Bool32(start_match < end_subject)
 34045  	if !(ok != 0) {
 34046  		goto __62
 34047  	}
 34048  
 34049  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 34050  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 34051  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 34052  		goto __63
 34053  	}
 34054  
 34055  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 34056  __63:
 34057  	;
 34058  __62:
 34059  	;
 34060  	if !!(ok != 0) {
 34061  		goto __64
 34062  	}
 34063  	goto __48
 34064  __64:
 34065  	;
 34066  __61:
 34067  	;
 34068  	goto __60
 34069  __59:
 34070  
 34071  	if !(has_first_cu != 0) {
 34072  		goto __65
 34073  	}
 34074  
 34075  	if !(int32(first_cu) != int32(first_cu2)) {
 34076  		goto __67
 34077  	} /* Caseless */
 34078  
 34079  	// In 16-bit and 32_bit modes we have to do our own search, so can
 34080  	//           look for both cases at once.
 34081  
 34082  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 34083  	//           though we have to call it twice in order to find the earliest
 34084  	//           occurrence of the code unit in either of its cases. Caching is used
 34085  	//           to remember the positions of previously found code units. This can
 34086  	//           make a huge difference when the strings are very long and only one
 34087  	//           case is actually present.
 34088  
 34089  	pp1 = uintptr(0)
 34090  	pp2 = uintptr(0)
 34091  	searchlength = Tsize_t((int32(end_subject) - int32(start_match)) / 1)
 34092  
 34093  	// If we haven't got a previously found position for first_cu, or if
 34094  	//           the current starting position is later, we need to do a search. If
 34095  	//           the code unit is not found, set it to the end.
 34096  
 34097  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 34098  		goto __69
 34099  	}
 34100  
 34101  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 34102  	if pp1 == uintptr(0) {
 34103  		memchr_found_first_cu = end_subject
 34104  	} else {
 34105  		memchr_found_first_cu = pp1
 34106  	}
 34107  	goto __70
 34108  __69:
 34109  	if memchr_found_first_cu == end_subject {
 34110  		pp1 = uintptr(0)
 34111  	} else {
 34112  		pp1 = memchr_found_first_cu
 34113  	}
 34114  __70:
 34115  	;
 34116  
 34117  	// Do the same thing for the other case.
 34118  
 34119  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 34120  		goto __71
 34121  	}
 34122  
 34123  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 34124  	if pp2 == uintptr(0) {
 34125  		memchr_found_first_cu2 = end_subject
 34126  	} else {
 34127  		memchr_found_first_cu2 = pp2
 34128  	}
 34129  	goto __72
 34130  __71:
 34131  	if memchr_found_first_cu2 == end_subject {
 34132  		pp2 = uintptr(0)
 34133  	} else {
 34134  		pp2 = memchr_found_first_cu2
 34135  	}
 34136  __72:
 34137  	;
 34138  
 34139  	// Set the start to the end of the subject if neither case was found.
 34140  	//           Otherwise, use the earlier found point.
 34141  
 34142  	if !(pp1 == uintptr(0)) {
 34143  		goto __73
 34144  	}
 34145  	if pp2 == uintptr(0) {
 34146  		start_match = end_subject
 34147  	} else {
 34148  		start_match = pp2
 34149  	}
 34150  	goto __74
 34151  __73:
 34152  	if pp2 == uintptr(0) || pp1 < pp2 {
 34153  		start_match = pp1
 34154  	} else {
 34155  		start_match = pp2
 34156  	}
 34157  __74:
 34158  	;
 34159  
 34160  	goto __68
 34161  __67:
 34162  
 34163  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint32((int32(end_subject)-int32(start_match))/1))
 34164  	if !(start_match == uintptr(0)) {
 34165  		goto __75
 34166  	}
 34167  	start_match = end_subject
 34168  __75:
 34169  	;
 34170  __68:
 34171  	;
 34172  
 34173  	// If we can't find the required code unit, having reached the true end
 34174  	//         of the subject, break the bumpalong loop, to force a match failure,
 34175  	//         except when doing partial matching, when we let the next cycle run at
 34176  	//         the end of the subject. To see why, consider the pattern /(?<=abc)def/,
 34177  	//         which partially matches "abc", even though the string does not contain
 34178  	//         the starting character "d". If we have not reached the true end of the
 34179  	//         subject (PCRE2_FIRSTLINE caused end_subject to be temporarily modified)
 34180  	//         we also let the cycle run, because the matching string is legitimately
 34181  	//         allowed to start with the first code unit of a newline.
 34182  
 34183  	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) {
 34184  		goto __76
 34185  	}
 34186  	goto __48
 34187  __76:
 34188  	;
 34189  	goto __66
 34190  __65:
 34191  	if !(startline != 0) {
 34192  		goto __77
 34193  	}
 34194  
 34195  	if !(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 34196  		goto __79
 34197  	}
 34198  
 34199  	if !(utf != 0) {
 34200  		goto __80
 34201  	}
 34202  
 34203  __82:
 34204  	if !(start_match < end_subject && !(func() int32 {
 34205  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34206  			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+72, utf) != 0)
 34207  		}
 34208  		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 + 80))) && ((*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 + 80 + 1)))))
 34209  	}() != 0)) {
 34210  		goto __83
 34211  	}
 34212  
 34213  	start_match++
 34214  __84:
 34215  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34216  		goto __85
 34217  	}
 34218  	start_match++
 34219  	goto __84
 34220  __85:
 34221  	;
 34222  	goto __82
 34223  __83:
 34224  	;
 34225  	goto __81
 34226  __80:
 34227  __86:
 34228  	if !(start_match < end_subject && !(func() int32 {
 34229  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34230  			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+72, utf) != 0)
 34231  		}
 34232  		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 + 80))) && ((*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 + 80 + 1)))))
 34233  	}() != 0)) {
 34234  		goto __87
 34235  	}
 34236  	start_match++
 34237  	goto __86
 34238  __87:
 34239  	;
 34240  __81:
 34241  	;
 34242  
 34243  	// If we have just passed a CR and the newline option is ANY or
 34244  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 34245  	//           more code unit.
 34246  
 34247  	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') {
 34248  		goto __88
 34249  	}
 34250  	start_match++
 34251  __88:
 34252  	;
 34253  __79:
 34254  	;
 34255  	goto __78
 34256  __77:
 34257  	if !(start_bits != uintptr(0)) {
 34258  		goto __89
 34259  	}
 34260  
 34261  __90:
 34262  	if !(start_match < end_subject) {
 34263  		goto __91
 34264  	}
 34265  
 34266  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 34267  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 34268  		goto __92
 34269  	}
 34270  	goto __91
 34271  __92:
 34272  	;
 34273  	start_match++
 34274  	goto __90
 34275  __91:
 34276  	;
 34277  
 34278  	// See comment above in first_cu checking about the next line.
 34279  
 34280  	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) {
 34281  		goto __93
 34282  	}
 34283  	goto __48
 34284  __93:
 34285  	;
 34286  __89:
 34287  	;
 34288  __78:
 34289  	;
 34290  __66:
 34291  	;
 34292  __60:
 34293  	; // End of first code unit handling
 34294  
 34295  	// Restore fudged end_subject
 34296  
 34297  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 34298  
 34299  	// The following two optimizations are disabled for partial matching.
 34300  
 34301  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0)) {
 34302  		goto __94
 34303  	}
 34304  
 34305  	// The minimum matching length is a lower bound; no actual string of that
 34306  	//       length may actually match the pattern. Although the value is, strictly,
 34307  	//       in characters, we treat it as code units to avoid spending too much time
 34308  	//       in this optimization.
 34309  
 34310  	if !((int32(end_subject)-int32(start_match))/1 < int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 34311  		goto __95
 34312  	}
 34313  	goto NOMATCH_EXIT
 34314  __95:
 34315  	;
 34316  
 34317  	// If req_cu is set, we know that that code unit must appear in the
 34318  	//       subject for the match to succeed. If the first code unit is set, req_cu
 34319  	//       must be later in the subject; otherwise the test starts at the match
 34320  	//       point. This optimization can save a huge amount of backtracking in
 34321  	//       patterns with nested unlimited repeats that aren't going to match.
 34322  	//       Writing separate code for cased/caseless versions makes it go faster, as
 34323  	//       does using an autoincrement and backing off on a match. As in the case of
 34324  	//       the first code unit, using memchr() in the 8-bit library gives a big
 34325  	//       speed up. Unlike the first_cu check above, we do not need to call
 34326  	//       memchr() twice in the caseless case because we only need to check for the
 34327  	//       presence of the character in either case, not find the first occurrence.
 34328  	//
 34329  	//       The search can be skipped if the code unit was found later than the
 34330  	//       current starting point in a previous iteration of the bumpalong loop.
 34331  	//
 34332  	//       HOWEVER: when the subject string is very, very long, searching to its end
 34333  	//       can take a long time, and give bad performance on quite ordinary
 34334  	//       patterns. This showed up when somebody was matching something like
 34335  	//       /^\d+C/ on a 32-megabyte string... so we don't do this when the string is
 34336  	//       sufficiently long, but it's worth searching a lot more for unanchored
 34337  	//       patterns.
 34338  
 34339  	p = start_match + uintptr(func() int32 {
 34340  		if has_first_cu != 0 {
 34341  			return 1
 34342  		}
 34343  		return 0
 34344  	}())
 34345  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 34346  		goto __96
 34347  	}
 34348  
 34349  	check_length = Tsize_t((int32(end_subject) - int32(start_match)) / 1)
 34350  
 34351  	if !(check_length < Tsize_t(DREQ_CU_MAX) || !(anchored != 0) && check_length < Tsize_t(DREQ_CU_MAX*1000)) {
 34352  		goto __97
 34353  	}
 34354  
 34355  	if !(int32(req_cu) != int32(req_cu2)) {
 34356  		goto __98
 34357  	} /* Caseless */
 34358  
 34359  	pp = p
 34360  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint32((int32(end_subject)-int32(pp))/1))
 34361  	if !(p == uintptr(0)) {
 34362  		goto __100
 34363  	}
 34364  
 34365  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint32((int32(end_subject)-int32(pp))/1))
 34366  	if !(p == uintptr(0)) {
 34367  		goto __101
 34368  	}
 34369  	p = end_subject
 34370  __101:
 34371  	;
 34372  __100:
 34373  	;
 34374  	goto __99
 34375  __98:
 34376  
 34377  	p = libc.Xmemchr(tls, p, int32(req_cu), uint32((int32(end_subject)-int32(p))/1))
 34378  	if !(p == uintptr(0)) {
 34379  		goto __102
 34380  	}
 34381  	p = end_subject
 34382  __102:
 34383  	;
 34384  __99:
 34385  	;
 34386  
 34387  	// If we can't find the required code unit, break the matching loop,
 34388  	//           forcing a match failure.
 34389  
 34390  	if !(p >= end_subject) {
 34391  		goto __103
 34392  	}
 34393  	goto __48
 34394  __103:
 34395  	;
 34396  
 34397  	// If we have found the required code unit, save the point where we
 34398  	//           found it, so that we don't search again next time round the loop if
 34399  	//           the start hasn't passed this code unit yet.
 34400  
 34401  	req_cu_ptr = p
 34402  __97:
 34403  	;
 34404  __96:
 34405  	;
 34406  __94:
 34407  	;
 34408  __49:
 34409  	;
 34410  
 34411  	// ------------ End of start of match optimizations ------------
 34412  
 34413  	// Give no match if we have passed the bumpalong limit.
 34414  
 34415  	if !(start_match > bumpalong_limit) {
 34416  		goto __104
 34417  	}
 34418  	goto __48
 34419  __104:
 34420  	;
 34421  
 34422  	// OK, now we can do the business
 34423  
 34424  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 34425  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 34426  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = uintptr(0)
 34427  
 34428  	rc = internal_dfa_match(tls,
 34429  		mb, // fixed match data
 34430  		(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code, // this subexpression's code
 34431  		start_match,  // where we currently are
 34432  		start_offset, // start offset in subject
 34433  		match_data+44,
 34434  		Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)*Tuint32_t(2),
 34435  		workspace,      // workspace vector
 34436  		int32(wscount), // size of same
 34437  		uint32(0),      // function recurse level
 34438  		bp+104)         // initial workspace for recursion
 34439  
 34440  	// Anything other than "no match" means we are done, always; otherwise, carry
 34441  	//   on only if not anchored.
 34442  
 34443  	if !(rc != -1 || anchored != 0) {
 34444  		goto __105
 34445  	}
 34446  
 34447  	if !(rc == -2 && int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) > 0) {
 34448  		goto __106
 34449  	}
 34450  
 34451  	*(*Tsize_t)(unsafe.Pointer(match_data + 44)) = Tsize_t((int32(start_match) - int32(subject)) / 1)
 34452  	*(*Tsize_t)(unsafe.Pointer(match_data + 44 + 1*4)) = Tsize_t((int32(end_subject) - int32(subject)) / 1)
 34453  __106:
 34454  	;
 34455  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int32(subject)) / 1)
 34456  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) - int32(subject)) / 1)
 34457  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int32(start_match) - int32(subject)) / 1)
 34458  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 34459  
 34460  	if !(rc >= 0 && options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 34461  		goto __107
 34462  	}
 34463  
 34464  	length = (length + Tsize_t(was_zero_terminated)) * Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)
 34465  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 34466  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 34467  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 34468  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 34469  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 34470  		goto __109
 34471  	}
 34472  	return -48
 34473  __109:
 34474  	;
 34475  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 34476  	*(*Tuint8_t)(unsafe.Pointer(match_data + 37)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 34477  	goto __108
 34478  __107:
 34479  
 34480  	if !(rc >= 0 || rc == -2) {
 34481  		goto __110
 34482  	}
 34483  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 34484  __110:
 34485  	;
 34486  __108:
 34487  	;
 34488  	goto EXIT
 34489  __105:
 34490  	;
 34491  
 34492  	// Advance to the next subject character unless we are at the end of a line
 34493  	//   and firstline is set.
 34494  
 34495  	if !(firstline != 0 && func() int32 {
 34496  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34497  			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+72, utf) != 0)
 34498  		}
 34499  		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 + 80))) && ((*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 + 80 + 1)))))
 34500  	}() != 0) {
 34501  		goto __111
 34502  	}
 34503  	goto __48
 34504  __111:
 34505  	;
 34506  	start_match++
 34507  	if !(utf != 0) {
 34508  		goto __112
 34509  	}
 34510  
 34511  __113:
 34512  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34513  		goto __114
 34514  	}
 34515  	start_match++
 34516  	goto __113
 34517  __114:
 34518  	;
 34519  __112:
 34520  	;
 34521  	if !(start_match > end_subject) {
 34522  		goto __115
 34523  	}
 34524  	goto __48
 34525  __115:
 34526  	;
 34527  
 34528  	// If we have just passed a CR and we are now at a LF, and the pattern does
 34529  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 34530  	//   or ANY or ANYCRLF, advance the match position by one more character.
 34531  
 34532  	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))) {
 34533  		goto __116
 34534  	}
 34535  	start_match++
 34536  __116:
 34537  	;
 34538  
 34539  	goto __47
 34540  __47:
 34541  	goto __46
 34542  	goto __48
 34543  __48:
 34544  	; // "Bumpalong" loop
 34545  
 34546  NOMATCH_EXIT:
 34547  	rc = -1
 34548  
 34549  EXIT:
 34550  __117:
 34551  	if !((*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0)) {
 34552  		goto __118
 34553  	}
 34554  
 34555  	next = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 34556  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = (*TRWS_anchor)(unsafe.Pointer(next)).Fnext
 34557  	(*struct {
 34558  		f func(*libc.TLS, uintptr, uintptr)
 34559  	})(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)
 34560  	goto __117
 34561  __118:
 34562  	;
 34563  
 34564  	return rc
 34565  }
 34566  
 34567  // End of pcre2_dfa_match.c
 34568  
 34569  // This function is needed only when memmove() is not available.
 34570  
 34571  // End of pcre2_internal.h
 34572  
 34573  // The texts of compile-time error messages. Compile-time error numbers start
 34574  // at COMPILE_ERROR_BASE (100).
 34575  //
 34576  // This used to be a table of strings, but in order to reduce the number of
 34577  // relocations needed when a shared library is loaded dynamically, it is now one
 34578  // long string. We cannot use a table of offsets, because the lengths of inserts
 34579  // such as XSTRING(MAX_NAME_SIZE) are not known. Instead,
 34580  // pcre2_get_error_message() counts through to the one it wants - this isn't a
 34581  // performance issue because these strings are used only when there is an error.
 34582  //
 34583  // Each substring ends with \0 to insert a null character. This includes the final
 34584  // substring, so that the whole string ends with \0\0, which can be detected when
 34585  // counting through.
 34586  
 34587  var compile_error_texts =
 34588  
 34589  // 5
 34590  
 34591  // 10
 34592  
 34593  // 15
 34594  
 34595  // 20
 34596  
 34597  // 25
 34598  
 34599  // 30
 34600  
 34601  // 35
 34602  
 34603  // 40
 34604  
 34605  // 45
 34606  
 34607  // 50
 34608  
 34609  // 55
 34610  
 34611  // "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)\0"
 34612  // Was the above
 34613  // 60
 34614  
 34615  // 65
 34616  
 34617  // 70
 34618  
 34619  // 75
 34620  
 34621  // 80
 34622  
 34623  // 85
 34624  
 34625  // 90
 34626  
 34627  // 95
 34628  
 34629  *(*[4381]uint8)(unsafe.Pointer(ts + 798)) /* pcre2_error.c:65:28 */
 34630  
 34631  // Match-time and UTF error texts are in the same format.
 34632  
 34633  var match_error_texts =
 34634  
 34635  // 5
 34636  
 34637  // 10
 34638  
 34639  // 15
 34640  
 34641  // 20
 34642  
 34643  // 25
 34644  
 34645  // 30
 34646  
 34647  // 35
 34648  
 34649  // Never returned by PCRE2 itself
 34650  
 34651  // 40
 34652  
 34653  // 45
 34654  
 34655  // 50
 34656  
 34657  // 55
 34658  
 34659  // 60
 34660  
 34661  // 65
 34662  
 34663  *(*[2476]uint8)(unsafe.Pointer(ts + 5179)) /* pcre2_error.c:194:28 */
 34664  
 34665  // ************************************************
 34666  //
 34667  //            Return error message                *
 34668  //
 34669  
 34670  // This function copies an error message into a buffer whose units are of an
 34671  // appropriate width. Error numbers are positive for compile-time errors, and
 34672  // negative for match-time errors (except for UTF errors), but the numbers are all
 34673  // distinct.
 34674  //
 34675  // Arguments:
 34676  //   enumber       error number
 34677  //   buffer        where to put the message (zero terminated)
 34678  //   size          size of the buffer in code units
 34679  //
 34680  // Returns:        length of message if all is well
 34681  //                 negative on error
 34682  
 34683  func Xpcre2_get_error_message_8(tls *libc.TLS, enumber int32, buffer uintptr, size Tsize_t) int32 { /* pcre2_error.c:297:1: */
 34684  	var message uintptr
 34685  	var i Tsize_t
 34686  	var n int32
 34687  
 34688  	if size == Tsize_t(0) {
 34689  		return -48
 34690  	}
 34691  
 34692  	if enumber >= DCOMPILE_ERROR_BASE {
 34693  		message = uintptr(unsafe.Pointer(&compile_error_texts))
 34694  		n = enumber - DCOMPILE_ERROR_BASE
 34695  	} else if enumber < 0 {
 34696  		message = uintptr(unsafe.Pointer(&match_error_texts))
 34697  		n = -enumber
 34698  	} else {
 34699  		message = ts + 7655 /* "\x00" */ // Empty message list
 34700  		n = 1
 34701  	}
 34702  
 34703  	for ; n > 0; n-- {
 34704  		for int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))) != 0 {
 34705  		}
 34706  
 34707  		if int32(*(*uint8)(unsafe.Pointer(message))) == 0 {
 34708  			return -29
 34709  		}
 34710  	}
 34711  
 34712  	for i = Tsize_t(0); int32(*(*uint8)(unsafe.Pointer(message))) != 0; i++ {
 34713  		if i >= size-Tsize_t(1) {
 34714  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0) // Terminate partial message
 34715  			return -48
 34716  		}
 34717  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))
 34718  	}
 34719  
 34720  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0)
 34721  	return int32(i)
 34722  }
 34723  
 34724  // End of pcre2_error.c
 34725  
 34726  // This function is needed only when memmove() is not available.
 34727  
 34728  // End of pcre2_internal.h
 34729  
 34730  // Dummy function
 34731  
 34732  // ************************************************
 34733  //
 34734  //      Match an extended grapheme sequence       *
 34735  //
 34736  
 34737  //
 34738  // Arguments:
 34739  //   c              the first character
 34740  //   eptr           pointer to next character
 34741  //   start_subject  pointer to start of subject
 34742  //   end_subject    pointer to end of subject
 34743  //   utf            TRUE if in UTF mode
 34744  //   xcount         pointer to count of additional characters,
 34745  //                    or NULL if count not needed
 34746  //
 34747  // Returns:         pointer after the end of the sequence
 34748  
 34749  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: */
 34750  	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)
 34751  
 34752  	for eptr < end_subject {
 34753  		var rgb int32
 34754  		var len int32 = 1
 34755  		if !(utf != 0) {
 34756  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34757  		} else {
 34758  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34759  			if c >= 0xc0 {
 34760  				if c&0x20 == Tuint32_t(0) {
 34761  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 34762  					len++
 34763  				} else if c&0x10 == Tuint32_t(0) {
 34764  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f
 34765  					len = len + 2
 34766  				} else if c&0x08 == Tuint32_t(0) {
 34767  					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
 34768  					len = len + 3
 34769  				} else if c&0x04 == Tuint32_t(0) {
 34770  					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
 34771  					len = len + 4
 34772  				} else {
 34773  					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
 34774  					len = len + 5
 34775  				}
 34776  			}
 34777  
 34778  		}
 34779  		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)
 34780  		if X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0) {
 34781  			break
 34782  		}
 34783  
 34784  		// Not breaking between Regional Indicators is allowed only if there
 34785  		//   are an even number of preceding RIs.
 34786  
 34787  		if lgb == ucp_gbRegional_Indicator && rgb == ucp_gbRegional_Indicator {
 34788  			var ricount int32 = 0
 34789  			var bptr TPCRE2_SPTR8 = eptr - uintptr(1)
 34790  			if utf != 0 {
 34791  				for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34792  					bptr--
 34793  				}
 34794  			}
 34795  
 34796  			// bptr is pointing to the left-hand character
 34797  
 34798  			for bptr > start_subject {
 34799  				bptr--
 34800  				if utf != 0 {
 34801  					for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34802  						bptr--
 34803  					}
 34804  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34805  					if c >= 0xc0 {
 34806  						if c&0x20 == Tuint32_t(0) {
 34807  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f
 34808  						} else if c&0x10 == Tuint32_t(0) {
 34809  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f
 34810  						} else if c&0x08 == Tuint32_t(0) {
 34811  							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
 34812  						} else if c&0x04 == Tuint32_t(0) {
 34813  							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
 34814  						} else {
 34815  							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
 34816  						}
 34817  					}
 34818  
 34819  				} else {
 34820  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34821  				}
 34822  				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 {
 34823  					break
 34824  				}
 34825  				ricount++
 34826  			}
 34827  			if ricount&1 != 0 {
 34828  				break
 34829  			} // Grapheme break required
 34830  		}
 34831  
 34832  		// If Extend or ZWJ follows Extended_Pictographic, do not update lgb; this
 34833  		//   allows any number of them before a following Extended_Pictographic.
 34834  
 34835  		if rgb != ucp_gbExtend && rgb != ucp_gbZWJ || lgb != ucp_gbExtended_Pictographic {
 34836  			lgb = rgb
 34837  		}
 34838  
 34839  		eptr += TPCRE2_SPTR8(len)
 34840  		if xcount != uintptr(0) {
 34841  			*(*int32)(unsafe.Pointer(xcount)) += 1
 34842  		}
 34843  	}
 34844  
 34845  	return eptr
 34846  }
 34847  
 34848  // End of pcre2_extuni.c
 34849  
 34850  // This function is needed only when memmove() is not available.
 34851  
 34852  // End of pcre2_internal.h
 34853  
 34854  // ************************************************
 34855  //
 34856  //    Scan compiled regex for specific bracket    *
 34857  //
 34858  
 34859  //
 34860  // Arguments:
 34861  //   code        points to start of expression
 34862  //   utf         TRUE in UTF mode
 34863  //   number      the required bracket number or negative to find a lookbehind
 34864  //
 34865  // Returns:      pointer to the opcode for the bracket, or NULL if not found
 34866  
 34867  func X_pcre2_find_bracket_8(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, number int32) TPCRE2_SPTR8 { /* pcre2_find_bracket.c:70:1: */
 34868  	for {
 34869  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 34870  
 34871  		if int32(c) == OP_END {
 34872  			return uintptr(0)
 34873  		}
 34874  
 34875  		// XCLASS is used for classes that cannot be represented just by a bit map.
 34876  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 34877  		//   callouts with string arguments. In both cases the length in the table is
 34878  		//   zero; the actual length is stored in the compiled code.
 34879  
 34880  		if int32(c) == OP_XCLASS {
 34881  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 34882  		} else if int32(c) == OP_CALLOUT_STR {
 34883  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 34884  		} else if int32(c) == OP_REVERSE {
 34885  			if number < 0 {
 34886  				return code
 34887  			}
 34888  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34889  		} else if int32(c) == OP_CBRA || int32(c) == OP_SCBRA || int32(c) == OP_CBRAPOS || int32(c) == OP_SCBRAPOS {
 34890  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))))
 34891  			if n == number {
 34892  				return code
 34893  			}
 34894  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34895  		} else {
 34896  			switch int32(c) {
 34897  			case OP_TYPESTAR:
 34898  				fallthrough
 34899  			case OP_TYPEMINSTAR:
 34900  				fallthrough
 34901  			case OP_TYPEPLUS:
 34902  				fallthrough
 34903  			case OP_TYPEMINPLUS:
 34904  				fallthrough
 34905  			case OP_TYPEQUERY:
 34906  				fallthrough
 34907  			case OP_TYPEMINQUERY:
 34908  				fallthrough
 34909  			case OP_TYPEPOSSTAR:
 34910  				fallthrough
 34911  			case OP_TYPEPOSPLUS:
 34912  				fallthrough
 34913  			case OP_TYPEPOSQUERY:
 34914  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 34915  					code += uintptr(2)
 34916  				}
 34917  				break
 34918  				fallthrough
 34919  
 34920  			case OP_TYPEUPTO:
 34921  				fallthrough
 34922  			case OP_TYPEMINUPTO:
 34923  				fallthrough
 34924  			case OP_TYPEEXACT:
 34925  				fallthrough
 34926  			case OP_TYPEPOSUPTO:
 34927  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 34928  					code += uintptr(2)
 34929  				}
 34930  				break
 34931  				fallthrough
 34932  
 34933  			case OP_MARK:
 34934  				fallthrough
 34935  			case OP_COMMIT_ARG:
 34936  				fallthrough
 34937  			case OP_PRUNE_ARG:
 34938  				fallthrough
 34939  			case OP_SKIP_ARG:
 34940  				fallthrough
 34941  			case OP_THEN_ARG:
 34942  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 34943  				break
 34944  			}
 34945  
 34946  			// Add in the fixed length from the table
 34947  
 34948  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34949  
 34950  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
 34951  			//   followed by a multi-byte character. The length in the table is a minimum, so
 34952  			//   we have to arrange to skip the extra bytes.
 34953  
 34954  			if utf != 0 {
 34955  				switch int32(c) {
 34956  				case OP_CHAR:
 34957  					fallthrough
 34958  				case OP_CHARI:
 34959  					fallthrough
 34960  				case OP_NOT:
 34961  					fallthrough
 34962  				case OP_NOTI:
 34963  					fallthrough
 34964  				case OP_EXACT:
 34965  					fallthrough
 34966  				case OP_EXACTI:
 34967  					fallthrough
 34968  				case OP_NOTEXACT:
 34969  					fallthrough
 34970  				case OP_NOTEXACTI:
 34971  					fallthrough
 34972  				case OP_UPTO:
 34973  					fallthrough
 34974  				case OP_UPTOI:
 34975  					fallthrough
 34976  				case OP_NOTUPTO:
 34977  					fallthrough
 34978  				case OP_NOTUPTOI:
 34979  					fallthrough
 34980  				case OP_MINUPTO:
 34981  					fallthrough
 34982  				case OP_MINUPTOI:
 34983  					fallthrough
 34984  				case OP_NOTMINUPTO:
 34985  					fallthrough
 34986  				case OP_NOTMINUPTOI:
 34987  					fallthrough
 34988  				case OP_POSUPTO:
 34989  					fallthrough
 34990  				case OP_POSUPTOI:
 34991  					fallthrough
 34992  				case OP_NOTPOSUPTO:
 34993  					fallthrough
 34994  				case OP_NOTPOSUPTOI:
 34995  					fallthrough
 34996  				case OP_STAR:
 34997  					fallthrough
 34998  				case OP_STARI:
 34999  					fallthrough
 35000  				case OP_NOTSTAR:
 35001  					fallthrough
 35002  				case OP_NOTSTARI:
 35003  					fallthrough
 35004  				case OP_MINSTAR:
 35005  					fallthrough
 35006  				case OP_MINSTARI:
 35007  					fallthrough
 35008  				case OP_NOTMINSTAR:
 35009  					fallthrough
 35010  				case OP_NOTMINSTARI:
 35011  					fallthrough
 35012  				case OP_POSSTAR:
 35013  					fallthrough
 35014  				case OP_POSSTARI:
 35015  					fallthrough
 35016  				case OP_NOTPOSSTAR:
 35017  					fallthrough
 35018  				case OP_NOTPOSSTARI:
 35019  					fallthrough
 35020  				case OP_PLUS:
 35021  					fallthrough
 35022  				case OP_PLUSI:
 35023  					fallthrough
 35024  				case OP_NOTPLUS:
 35025  					fallthrough
 35026  				case OP_NOTPLUSI:
 35027  					fallthrough
 35028  				case OP_MINPLUS:
 35029  					fallthrough
 35030  				case OP_MINPLUSI:
 35031  					fallthrough
 35032  				case OP_NOTMINPLUS:
 35033  					fallthrough
 35034  				case OP_NOTMINPLUSI:
 35035  					fallthrough
 35036  				case OP_POSPLUS:
 35037  					fallthrough
 35038  				case OP_POSPLUSI:
 35039  					fallthrough
 35040  				case OP_NOTPOSPLUS:
 35041  					fallthrough
 35042  				case OP_NOTPOSPLUSI:
 35043  					fallthrough
 35044  				case OP_QUERY:
 35045  					fallthrough
 35046  				case OP_QUERYI:
 35047  					fallthrough
 35048  				case OP_NOTQUERY:
 35049  					fallthrough
 35050  				case OP_NOTQUERYI:
 35051  					fallthrough
 35052  				case OP_MINQUERY:
 35053  					fallthrough
 35054  				case OP_MINQUERYI:
 35055  					fallthrough
 35056  				case OP_NOTMINQUERY:
 35057  					fallthrough
 35058  				case OP_NOTMINQUERYI:
 35059  					fallthrough
 35060  				case OP_POSQUERY:
 35061  					fallthrough
 35062  				case OP_POSQUERYI:
 35063  					fallthrough
 35064  				case OP_NOTPOSQUERY:
 35065  					fallthrough
 35066  				case OP_NOTPOSQUERYI:
 35067  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 35068  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 35069  					}
 35070  					break
 35071  				}
 35072  			}
 35073  		}
 35074  	}
 35075  	return TPCRE2_SPTR8(0)
 35076  }
 35077  
 35078  // End of pcre2_find_bracket.c
 35079  
 35080  // This function is needed only when memmove() is not available.
 35081  
 35082  // End of pcre2_internal.h
 35083  
 35084  // ************************************************
 35085  //
 35086  //        JIT compile a Regular Expression        *
 35087  //
 35088  
 35089  // This function used JIT to convert a previously-compiled pattern into machine
 35090  // code.
 35091  //
 35092  // Arguments:
 35093  //   code          a compiled pattern
 35094  //   options       JIT option bits
 35095  //
 35096  // Returns:        0: success or (*NOJIT) was used
 35097  //                <0: an error code
 35098  
 35099  func Xpcre2_jit_compile_8(tls *libc.TLS, code uintptr, options Tuint32_t) int32 { /* pcre2_jit_compile.c:14382:1: */
 35100  	var re uintptr = code
 35101  
 35102  	if code == uintptr(0) {
 35103  		return -51
 35104  	}
 35105  
 35106  	if options&libc.CplUint32(DPCRE2_JIT_COMPLETE|DPCRE2_JIT_PARTIAL_SOFT|DPCRE2_JIT_PARTIAL_HARD|DPCRE2_JIT_INVALID_UTF) != Tuint32_t(0) {
 35107  		return -45
 35108  	}
 35109  
 35110  	// Support for invalid UTF was first introduced in JIT, with the option
 35111  	// PCRE2_JIT_INVALID_UTF. Later, support was added to the interpreter, and the
 35112  	// compile-time option PCRE2_MATCH_INVALID_UTF was created. This is now the
 35113  	// preferred feature, with the earlier option deprecated. However, for backward
 35114  	// compatibility, if the earlier option is set, it forces the new option so that
 35115  	// if JIT matching falls back to the interpreter, there is still support for
 35116  	// invalid UTF. However, if this function has already been successfully called
 35117  	// without PCRE2_JIT_INVALID_UTF and without PCRE2_MATCH_INVALID_UTF (meaning that
 35118  	// non-invalid-supporting JIT code was compiled), give an error.
 35119  	//
 35120  	// If in the future support for PCRE2_JIT_INVALID_UTF is withdrawn, the following
 35121  	// actions are needed:
 35122  	//
 35123  	//   1. Remove the definition from pcre2.h.in and from the list in
 35124  	//      PUBLIC_JIT_COMPILE_OPTIONS above.
 35125  	//
 35126  	//   2. Replace PCRE2_JIT_INVALID_UTF with a local flag in this module.
 35127  	//
 35128  	//   3. Replace PCRE2_JIT_INVALID_UTF in pcre2_jit_test.c.
 35129  	//
 35130  	//   4. Delete the following short block of code. The setting of "re" and
 35131  	//      "functions" can be moved into the JIT-only block below, but if that is
 35132  	//      done, (void)re and (void)functions will be needed in the non-JIT case, to
 35133  	//      avoid compiler warnings.
 35134  
 35135  	if options&DPCRE2_JIT_INVALID_UTF != Tuint32_t(0) {
 35136  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF == Tuint32_t(0) {
 35137  			*(*Tuint32_t)(unsafe.Pointer(re + 64)) |= DPCRE2_MATCH_INVALID_UTF
 35138  		}
 35139  	}
 35140  
 35141  	// The above tests are run with and without JIT support. This means that
 35142  	// PCRE2_JIT_INVALID_UTF propagates back into the regex options (ensuring
 35143  	// interpreter support) even in the absence of JIT. But now, if there is no JIT
 35144  	// support, give an error return.
 35145  
 35146  	return -45
 35147  }
 35148  
 35149  // JIT compiler uses an all-in-one approach. This improves security,
 35150  //    since the code generator functions are not exported.
 35151  
 35152  // ************************************************
 35153  //
 35154  //      Perl-Compatible Regular Expressions       *
 35155  //
 35156  
 35157  // PCRE is a library of functions to support regular expressions whose syntax
 35158  // and semantics are as close as possible to those of the Perl 5 language.
 35159  //
 35160  //                        Written by Philip Hazel
 35161  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35162  //           New API code Copyright (c) 2016-2018 University of Cambridge
 35163  //
 35164  // -----------------------------------------------------------------------------
 35165  // Redistribution and use in source and binary forms, with or without
 35166  // modification, are permitted provided that the following conditions are met:
 35167  //
 35168  //     * Redistributions of source code must retain the above copyright notice,
 35169  //       this list of conditions and the following disclaimer.
 35170  //
 35171  //     * Redistributions in binary form must reproduce the above copyright
 35172  //       notice, this list of conditions and the following disclaimer in the
 35173  //       documentation and/or other materials provided with the distribution.
 35174  //
 35175  //     * Neither the name of the University of Cambridge nor the names of its
 35176  //       contributors may be used to endorse or promote products derived from
 35177  //       this software without specific prior written permission.
 35178  //
 35179  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35180  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35181  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35182  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35183  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35184  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35185  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35186  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35187  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35188  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35189  // POSSIBILITY OF SUCH DAMAGE.
 35190  // -----------------------------------------------------------------------------
 35191  
 35192  // ************************************************
 35193  //
 35194  //              Do a JIT pattern match            *
 35195  //
 35196  
 35197  // This function runs a JIT pattern match.
 35198  //
 35199  // Arguments:
 35200  //   code            points to the compiled expression
 35201  //   subject         points to the subject string
 35202  //   length          length of subject string (may contain binary zeros)
 35203  //   start_offset    where to start in the subject string
 35204  //   options         option bits
 35205  //   match_data      points to a match_data block
 35206  //   mcontext        points to a match context
 35207  //
 35208  // Returns:          > 0 => success; value is the number of ovector pairs filled
 35209  //                   = 0 => success, but ovector is not big enough
 35210  //                    -1 => failed to match (PCRE_ERROR_NOMATCH)
 35211  //                  < -1 => some kind of unexpected problem
 35212  
 35213  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: */
 35214  
 35215  	_ = code
 35216  	_ = subject
 35217  	_ = length
 35218  	_ = start_offset
 35219  	_ = options
 35220  	_ = match_data
 35221  	_ = mcontext
 35222  	return -45
 35223  
 35224  }
 35225  
 35226  // End of pcre2_jit_match.c
 35227  // ************************************************
 35228  //
 35229  //      Perl-Compatible Regular Expressions       *
 35230  //
 35231  
 35232  // PCRE is a library of functions to support regular expressions whose syntax
 35233  // and semantics are as close as possible to those of the Perl 5 language.
 35234  //
 35235  //                        Written by Philip Hazel
 35236  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35237  //          New API code Copyright (c) 2016 University of Cambridge
 35238  //
 35239  // -----------------------------------------------------------------------------
 35240  // Redistribution and use in source and binary forms, with or without
 35241  // modification, are permitted provided that the following conditions are met:
 35242  //
 35243  //     * Redistributions of source code must retain the above copyright notice,
 35244  //       this list of conditions and the following disclaimer.
 35245  //
 35246  //     * Redistributions in binary form must reproduce the above copyright
 35247  //       notice, this list of conditions and the following disclaimer in the
 35248  //       documentation and/or other materials provided with the distribution.
 35249  //
 35250  //     * Neither the name of the University of Cambridge nor the names of its
 35251  //       contributors may be used to endorse or promote products derived from
 35252  //       this software without specific prior written permission.
 35253  //
 35254  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35255  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35256  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35257  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35258  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35259  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35260  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35261  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35262  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35263  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35264  // POSSIBILITY OF SUCH DAMAGE.
 35265  // -----------------------------------------------------------------------------
 35266  
 35267  // ************************************************
 35268  //
 35269  //           Free JIT read-only data              *
 35270  //
 35271  
 35272  func X_pcre2_jit_free_rodata_8(tls *libc.TLS, current uintptr, allocator_data uintptr) { /* pcre2_jit_misc.c:53:1: */
 35273  	_ = current
 35274  	_ = allocator_data
 35275  }
 35276  
 35277  // ************************************************
 35278  //
 35279  //           Free JIT compiled code               *
 35280  //
 35281  
 35282  func X_pcre2_jit_free_8(tls *libc.TLS, executable_jit uintptr, memctl uintptr) { /* pcre2_jit_misc.c:78:1: */
 35283  	_ = executable_jit
 35284  	_ = memctl
 35285  }
 35286  
 35287  // ************************************************
 35288  //
 35289  //            Free unused JIT memory              *
 35290  //
 35291  
 35292  func Xpcre2_jit_free_unused_memory_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_jit_misc.c:107:1: */
 35293  	_ = gcontext // Suppress warning
 35294  }
 35295  
 35296  // ************************************************
 35297  //
 35298  //            Allocate a JIT stack                *
 35299  //
 35300  
 35301  func Xpcre2_jit_stack_create_8(tls *libc.TLS, startsize Tsize_t, maxsize Tsize_t, gcontext uintptr) uintptr { /* pcre2_jit_misc.c:123:32: */
 35302  
 35303  	_ = gcontext
 35304  	_ = startsize
 35305  	_ = maxsize
 35306  	return uintptr(0)
 35307  
 35308  }
 35309  
 35310  // ************************************************
 35311  //
 35312  //         Assign a JIT stack to a pattern        *
 35313  //
 35314  
 35315  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: */
 35316  	_ = mcontext
 35317  	_ = callback
 35318  	_ = callback_data
 35319  }
 35320  
 35321  // ************************************************
 35322  //
 35323  //               Free a JIT stack                 *
 35324  //
 35325  
 35326  func Xpcre2_jit_stack_free_8(tls *libc.TLS, jit_stack uintptr) { /* pcre2_jit_misc.c:186:1: */
 35327  	_ = jit_stack
 35328  }
 35329  
 35330  // ************************************************
 35331  //
 35332  //               Get target CPU type              *
 35333  //
 35334  
 35335  func X_pcre2_jit_get_target_8(tls *libc.TLS) uintptr { /* pcre2_jit_misc.c:204:11: */
 35336  	return ts + 7657 /* "JIT is not suppo..." */
 35337  }
 35338  
 35339  // ************************************************
 35340  //
 35341  //              Get size of JIT code              *
 35342  //
 35343  
 35344  func X_pcre2_jit_get_size_8(tls *libc.TLS, executable_jit uintptr) Tsize_t { /* pcre2_jit_misc.c:220:1: */
 35345  	_ = executable_jit
 35346  	return Tsize_t(0)
 35347  }
 35348  
 35349  // End of pcre2_jit_misc.c
 35350  
 35351  // End of pcre2_jit_compile.c
 35352  
 35353  // This function is needed only when memmove() is not available.
 35354  
 35355  // End of pcre2_internal.h
 35356  
 35357  // ************************************************
 35358  //
 35359  //           Create PCRE2 character tables        *
 35360  //
 35361  
 35362  // This function builds a set of character tables for use by PCRE2 and returns
 35363  // a pointer to them. They are build using the ctype functions, and consequently
 35364  // their contents will depend upon the current locale setting. When compiled as
 35365  // part of the library, the store is obtained via a general context malloc, if
 35366  // supplied, but when PCRE2_DFTABLES is defined (when compiling the pcre2_dftables
 35367  // freestanding auxiliary program) malloc() is used, and the function has a
 35368  // different name so as not to clash with the prototype in pcre2.h.
 35369  //
 35370  // Arguments:   none when PCRE2_DFTABLES is defined
 35371  //                else a PCRE2 general context or NULL
 35372  // Returns:     pointer to the contiguous block of data
 35373  //                else NULL if memory allocation failed
 35374  
 35375  func Xpcre2_maketables_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_maketables.c:81:30: */
 35376  	var yield uintptr = func() uintptr {
 35377  		if gcontext != uintptr(0) {
 35378  			return (*struct {
 35379  				f func(*libc.TLS, Tsize_t, uintptr) uintptr
 35380  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint32(Dcbits_offset+Dcbit_length+256), (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 35381  		}
 35382  		return libc.Xmalloc(tls, uint32(Dcbits_offset+Dcbit_length+256))
 35383  	}()
 35384  	var i int32
 35385  	var p uintptr
 35386  
 35387  	if yield == uintptr(0) {
 35388  		return uintptr(0)
 35389  	}
 35390  	p = yield
 35391  
 35392  	// First comes the lower casing table
 35393  
 35394  	for i = 0; i < 256; i++ {
 35395  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(libc.Xtolower(tls, i))
 35396  	}
 35397  
 35398  	// Next the case-flipping table
 35399  
 35400  	for i = 0; i < 256; i++ {
 35401  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = func() uint8 {
 35402  			if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35403  				return uint8(libc.Xtoupper(tls, i))
 35404  			}
 35405  			return uint8(libc.Xtolower(tls, i))
 35406  		}()
 35407  	}
 35408  
 35409  	// Then the character class tables. Don't try to be clever and save effort on
 35410  	// exclusive ones - in some locales things may be different.
 35411  	//
 35412  	// Note that the table for "space" includes everything "isspace" gives, including
 35413  	// VT in the default locale. This makes it work for the POSIX class [:space:].
 35414  	// From PCRE1 release 8.34 and for all PCRE2 releases it is also correct for Perl
 35415  	// space, because Perl added VT at release 5.18.
 35416  	//
 35417  	// Note also that it is possible for a character to be alnum or alpha without
 35418  	// being lower or upper, such as "male and female ordinals" (\xAA and \xBA) in the
 35419  	// fr_FR locale (at least under Debian Linux's locales as of 12/2005). So we must
 35420  	// test for alnum specially.
 35421  
 35422  	libc.Xmemset(tls, p, 0, uint32(Dcbit_length))
 35423  	for i = 0; i < 256; i++ {
 35424  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35425  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_digit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35426  		}
 35427  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISupper) != 0 {
 35428  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_upper+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35429  		}
 35430  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35431  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_lower+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35432  		}
 35433  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 {
 35434  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35435  		}
 35436  		if i == '_' {
 35437  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35438  		}
 35439  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35440  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_space+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35441  		}
 35442  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISxdigit) != 0 {
 35443  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_xdigit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35444  		}
 35445  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISgraph) != 0 {
 35446  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_graph+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35447  		}
 35448  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISprint) != 0 {
 35449  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_print+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35450  		}
 35451  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISpunct) != 0 {
 35452  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_punct+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35453  		}
 35454  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_IScntrl) != 0 {
 35455  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_cntrl+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35456  		}
 35457  	}
 35458  	p += uintptr(Dcbit_length)
 35459  
 35460  	// Finally, the character type table. In this, we used to exclude VT from the
 35461  	// white space chars, because Perl didn't recognize it as such for \s and for
 35462  	// comments within regexes. However, Perl changed at release 5.18, so PCRE1
 35463  	// changed at release 8.34 and it's always been this way for PCRE2.
 35464  
 35465  	for i = 0; i < 256; i++ {
 35466  		var x int32 = 0
 35467  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35468  			x = x + Dctype_space
 35469  		}
 35470  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalpha) != 0 {
 35471  			x = x + Dctype_letter
 35472  		}
 35473  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35474  			x = x + Dctype_lcletter
 35475  		}
 35476  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35477  			x = x + Dctype_digit
 35478  		}
 35479  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 || i == '_' {
 35480  			x = x + Dctype_word
 35481  		}
 35482  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(x)
 35483  	}
 35484  
 35485  	return yield
 35486  }
 35487  
 35488  func Xpcre2_maketables_free_8(tls *libc.TLS, gcontext uintptr, tables uintptr) { /* pcre2_maketables.c:154:1: */
 35489  	if gcontext != 0 {
 35490  		(*struct {
 35491  			f func(*libc.TLS, uintptr, uintptr)
 35492  		})(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)
 35493  	} else {
 35494  		libc.Xfree(tls, tables)
 35495  	}
 35496  }
 35497  
 35498  // End of pcre2_maketables.c
 35499  
 35500  // Min and max values for the common repeats; a maximum of UINT32_MAX =>
 35501  // infinity.
 35502  
 35503  var rep_min = [11]Tuint32_t{
 35504  	Tuint32_t(0), Tuint32_t(0), // * and *?
 35505  	Tuint32_t(1), Tuint32_t(1), // + and +?
 35506  	Tuint32_t(0), Tuint32_t(0), // ? and ??
 35507  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35508  	Tuint32_t(0), Tuint32_t(1), Tuint32_t(0)} /* pcre2_match.c:123:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35509  
 35510  var rep_max = [11]Tuint32_t{
 35511  	4294967295, 4294967295,
 35512  	4294967295, 4294967295,
 35513  	Tuint32_t(1), Tuint32_t(1), // ? and ??
 35514  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35515  	4294967295, 4294967295, Tuint32_t(1)} /* pcre2_match.c:130:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35516  
 35517  // Repetition types - must include OP_CRPOSRANGE (not needed above)
 35518  
 35519  var rep_typ = [12]Tuint32_t{
 35520  	REPTYPE_MAX, REPTYPE_MIN, // * and *?
 35521  	REPTYPE_MAX, REPTYPE_MIN, // + and +?
 35522  	REPTYPE_MAX, REPTYPE_MIN, // ? and ??
 35523  	REPTYPE_MAX, REPTYPE_MIN, // OP_CRRANGE and OP_CRMINRANGE
 35524  	REPTYPE_POS, REPTYPE_POS, // OP_CRPOSSTAR, OP_CRPOSPLUS
 35525  	REPTYPE_POS, REPTYPE_POS} /* pcre2_match.c:139:23 */
 35526  
 35527  // Define short names for general fields in the current backtrack frame, which
 35528  // is always pointed to by the F variable. Occasional references to fields in
 35529  // other frames are written out explicitly. There are also some fields in the
 35530  // current frame whose names start with "temp" that are used for short-term,
 35531  // localised backtracking memory. These are #defined with Lxxx names at the point
 35532  // of use and undefined afterwards.
 35533  
 35534  // ************************************************
 35535  //
 35536  //                Process a callout               *
 35537  //
 35538  
 35539  // This function is called for all callouts, whether "standalone" or at the
 35540  // start of a conditional group. Feptr will be pointing to either OP_CALLOUT or
 35541  // OP_CALLOUT_STR. A callout block is allocated in pcre2_match() and initialized
 35542  // with fixed values.
 35543  //
 35544  // Arguments:
 35545  //   F          points to the current backtracking frame
 35546  //   mb         points to the match block
 35547  //   lengthptr  where to return the length of the callout item
 35548  //
 35549  // Returns:     the return from the callout
 35550  //              or 0 if no callout function exists
 35551  
 35552  func do_callout1(tls *libc.TLS, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:267:1: */
 35553  	var rc int32
 35554  	var save0 Tsize_t
 35555  	var save1 Tsize_t
 35556  	var callout_ovector uintptr
 35557  	var cb uintptr
 35558  
 35559  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint32 {
 35560  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35561  			return uint32(X_pcre2_OP_lengths_8[OP_CALLOUT])
 35562  		}
 35563  		return uint32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 6)))))
 35564  	}()
 35565  
 35566  	if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 35567  		return 0
 35568  	} // No callout function provided
 35569  
 35570  	// The original matching code (pre 10.30) worked directly with the ovector
 35571  	// passed by the user, and this was passed to callouts. Now that the working
 35572  	// ovector is in the backtracking frame, it no longer needs to reserve space for
 35573  	// the overall match offsets (which would waste space in the frame). For backward
 35574  	// compatibility, however, we pass capture_top and offset_vector to the callout as
 35575  	// if for the extended ovector, and we ensure that the first two slots are unset
 35576  	// by preserving and restoring their current contents. Picky compilers complain if
 35577  	// references such as Fovector[-2] are use directly, so we set up a separate
 35578  	// pointer.
 35579  
 35580  	callout_ovector = F + 84 - uintptr(2)*4
 35581  
 35582  	// The cb->version, cb->subject, cb->subject_length, and cb->start_match fields
 35583  	// are set externally. The first 3 never change; the last is updated for each
 35584  	// bumpalong.
 35585  
 35586  	cb = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb
 35587  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_top = Tuint32_t((*Theapframe)(unsafe.Pointer(F)).Foffset_top)/Tuint32_t(2) + Tuint32_t(1)
 35588  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_last = (*Theapframe)(unsafe.Pointer(F)).Fcapture_last
 35589  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = callout_ovector
 35590  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 35591  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int32((*Theapframe)(unsafe.Pointer(F)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 35592  	(*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)))))
 35593  	(*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)))))
 35594  
 35595  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35596  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))
 35597  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(0)
 35598  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 35599  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = Tsize_t(0)
 35600  	} else {
 35601  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 35602  		(*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)))))
 35603  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 35604  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - Tsize_t(1+4*DLINK_SIZE) - Tsize_t(2)
 35605  	}
 35606  
 35607  	save0 = *(*Tsize_t)(unsafe.Pointer(callout_ovector))
 35608  	save1 = *(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*4))
 35609  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = libc.AssignPtrUint32(callout_ovector+1*4, libc.CplUint32(Tsize_t(0)))
 35610  	rc = (*struct {
 35611  		f func(*libc.TLS, uintptr, uintptr) int32
 35612  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 35613  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = save0
 35614  	*(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*4)) = save1
 35615  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_flags = Tuint32_t(0)
 35616  	return rc
 35617  }
 35618  
 35619  // ************************************************
 35620  //
 35621  //          Match a back-reference                *
 35622  //
 35623  
 35624  // This function is called only when it is known that the offset lies within
 35625  // the offsets that have so far been used in the match. Note that in caseless
 35626  // UTF-8 mode, the number of subject bytes matched may be different to the number
 35627  // of reference bytes. (In theory this could also happen in UTF-16 mode, but it
 35628  // seems unlikely.)
 35629  //
 35630  // Arguments:
 35631  //   offset      index into the offset vector
 35632  //   caseless    TRUE if caseless
 35633  //   F           the current backtracking frame pointer
 35634  //   mb          points to match block
 35635  //   lengthptr   pointer for returning the length matched
 35636  //
 35637  // Returns:      = 0 sucessful match; number of code units matched is set
 35638  //               < 0 no match
 35639  //               > 0 partial match
 35640  
 35641  func match_ref(tls *libc.TLS, offset Tsize_t, caseless TBOOL, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:355:1: */
 35642  	var p TPCRE2_SPTR8
 35643  	var length Tsize_t
 35644  	var eptr TPCRE2_SPTR8
 35645  	var eptr_start TPCRE2_SPTR8
 35646  
 35647  	// Deal with an unset group. The default is no match, but there is an option to
 35648  	// match an empty string.
 35649  
 35650  	if offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top || *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)) == libc.CplUint32(Tsize_t(0)) {
 35651  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) {
 35652  			*(*Tsize_t)(unsafe.Pointer(lengthptr)) = Tsize_t(0)
 35653  			return 0 // Match
 35654  		} else {
 35655  			return -1
 35656  		} // No match
 35657  	}
 35658  
 35659  	// Separate the caseless and UTF cases for speed.
 35660  
 35661  	eptr = libc.AssignUintptr(&eptr_start, (*Theapframe)(unsafe.Pointer(F)).Feptr)
 35662  	p = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)))
 35663  	length = *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset+Tsize_t(1))*4)) - *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4))
 35664  
 35665  	if caseless != 0 {
 35666  		var utf TBOOL = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 35667  
 35668  		if utf != 0 || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0) {
 35669  			var endptr TPCRE2_SPTR8 = p + uintptr(length)
 35670  
 35671  			// Match characters up to the end of the reference. NOTE: the number of
 35672  			//     code units matched may differ, because in UTF-8 there are some characters
 35673  			//     whose upper and lower case codes have different numbers of bytes. For
 35674  			//     example, U+023A (2 bytes in UTF-8) is the upper case version of U+2C65 (3
 35675  			//     bytes in UTF-8); a sequence of 3 of the former uses 6 bytes, as does a
 35676  			//     sequence of two of the latter. It is important, therefore, to check the
 35677  			//     length along the reference, not along the subject (earlier code did this
 35678  			//     wrong). UCP without uses Unicode properties but without UTF encoding.
 35679  
 35680  			for p < endptr {
 35681  				var c Tuint32_t
 35682  				var d Tuint32_t
 35683  				var ur uintptr
 35684  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35685  					return 1
 35686  				} // Partial match
 35687  
 35688  				if utf != 0 {
 35689  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35690  					if c >= 0xc0 {
 35691  						if c&0x20 == Tuint32_t(0) {
 35692  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))&0x3f
 35693  						} else if c&0x10 == Tuint32_t(0) {
 35694  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 35695  							eptr += uintptr(2)
 35696  						} else if c&0x08 == Tuint32_t(0) {
 35697  							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
 35698  							eptr += uintptr(3)
 35699  						} else if c&0x04 == Tuint32_t(0) {
 35700  							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
 35701  							eptr += uintptr(4)
 35702  						} else {
 35703  							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
 35704  							eptr += uintptr(5)
 35705  						}
 35706  					}
 35707  
 35708  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35709  					if d >= 0xc0 {
 35710  						if d&0x20 == Tuint32_t(0) {
 35711  							d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 35712  						} else if d&0x10 == Tuint32_t(0) {
 35713  							d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 35714  							p += uintptr(2)
 35715  						} else if d&0x08 == Tuint32_t(0) {
 35716  							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
 35717  							p += uintptr(3)
 35718  						} else if d&0x04 == Tuint32_t(0) {
 35719  							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
 35720  							p += uintptr(4)
 35721  						} else {
 35722  							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
 35723  							p += uintptr(5)
 35724  						}
 35725  					}
 35726  
 35727  				} else {
 35728  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35729  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35730  				}
 35731  
 35732  				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
 35733  				if c != d && c != Tuint32_t(int32(d)+(*Tucd_record)(unsafe.Pointer(ur)).Fother_case) {
 35734  					var pp uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(ur)).Fcaseset)*4
 35735  					for {
 35736  						if c < *(*Tuint32_t)(unsafe.Pointer(pp)) {
 35737  							return -1
 35738  						} // No match
 35739  						if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&pp, 4))) {
 35740  							break
 35741  						}
 35742  					}
 35743  				}
 35744  			}
 35745  		} else {
 35746  			for ; length > Tsize_t(0); length-- {
 35747  				var cc Tuint32_t
 35748  				var cp Tuint32_t
 35749  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35750  					return 1
 35751  				} // Partial match
 35752  				cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 35753  				cp = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 35754  				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)))) {
 35755  					return -1
 35756  				} // No match
 35757  				p++
 35758  				eptr++
 35759  			}
 35760  		}
 35761  	} else {
 35762  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 {
 35763  			for ; length > Tsize_t(0); length-- {
 35764  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35765  					return 1
 35766  				} // Partial match
 35767  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) {
 35768  					return -1
 35769  				} // No match
 35770  			}
 35771  		} else {
 35772  			if Tsize_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int32(eptr))/1) < length {
 35773  				return 1
 35774  			} // Partial
 35775  			if libc.Xmemcmp(tls, p, eptr, length*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) != 0 {
 35776  				return -1
 35777  			} // No match
 35778  			eptr += TPCRE2_SPTR8(length)
 35779  		}
 35780  	}
 35781  
 35782  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = Tsize_t((int32(eptr) - int32(eptr_start)) / 1)
 35783  	return 0 // Match
 35784  }
 35785  
 35786  //*****************************************************************************
 35787  //
 35788  //                    "Recursion" in the match() function
 35789  //
 35790  // The original match() function was highly recursive, but this proved to be the
 35791  // source of a number of problems over the years, mostly because of the relatively
 35792  // small system stacks that are commonly found. As new features were added to
 35793  // patterns, various kludges were invented to reduce the amount of stack used,
 35794  // making the code hard to understand in places.
 35795  //
 35796  // A version did exist that used individual frames on the heap instead of calling
 35797  // match() recursively, but this ran substantially slower. The current version is
 35798  // a refactoring that uses a vector of frames to remember backtracking points.
 35799  // This runs no slower, and possibly even a bit faster than the original recursive
 35800  // implementation. An initial vector of size START_FRAMES_SIZE (enough for maybe
 35801  // 50 frames) is allocated on the system stack. If this is not big enough, the
 35802  // heap is used for a larger vector.
 35803  //
 35804  // *******************************************************************************
 35805  // *****************************************************************************
 35806  
 35807  // ************************************************
 35808  //
 35809  //       Macros for the match() function          *
 35810  //
 35811  
 35812  // These macros pack up tests that are used for partial matching several times
 35813  // in the code. The second one is used when we already know we are past the end of
 35814  // the subject. We set the "hit end" flag if the pointer is at the end of the
 35815  // subject and either (a) the pointer is past the earliest inspected character
 35816  // (i.e. something has been matched, even if not part of the actual matched
 35817  // string), or (b) the pattern contains a lookbehind. These are the conditions for
 35818  // which adding more characters may allow the current match to continue.
 35819  //
 35820  // For hard partial matching, we immediately return a partial match. Otherwise,
 35821  // carrying on means that a complete match on the current subject will be sought.
 35822  // A partial match is returned only if no complete match can be found.
 35823  
 35824  // These macros are used to implement backtracking. They simulate a recursive
 35825  // call to the match() function by means of a local vector of frames which
 35826  // remember the backtracking points.
 35827  
 35828  // ************************************************
 35829  //
 35830  //         Match from current position            *
 35831  //
 35832  
 35833  // This function is called to run one match attempt at a single starting point
 35834  // in the subject.
 35835  //
 35836  // Performance note: It might be tempting to extract commonly used fields from the
 35837  // mb structure (e.g. end_subject) into individual variables to improve
 35838  // performance. Tests using gcc on a SPARC disproved this; in the first case, it
 35839  // made performance worse.
 35840  //
 35841  // Arguments:
 35842  //    start_eptr   starting character in subject
 35843  //    start_ecode  starting position in compiled code
 35844  //    ovector      pointer to the final output vector
 35845  //    oveccount    number of pairs in ovector
 35846  //    top_bracket  number of capturing parentheses in the pattern
 35847  //    frame_size   size of each backtracking frame
 35848  //    mb           pointer to "static" variables block
 35849  //
 35850  // Returns:        MATCH_MATCH if matched            )  these values are >= 0
 35851  //                 MATCH_NOMATCH if failed to match  )
 35852  //                 negative MATCH_xxx value for PRUNE, SKIP, etc
 35853  //                 negative PCRE2_ERROR_xxx value if aborted by an error condition
 35854  //                 (e.g. stopped by repeated call or depth limit)
 35855  
 35856  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: */
 35857  	bp := tls.Alloc(20)
 35858  	defer tls.Free(20)
 35859  
 35860  	// Frame-handling variables
 35861  
 35862  	var F uintptr // Current frame pointer
 35863  	var N uintptr // Temporary frame pointers
 35864  	var P uintptr
 35865  	var assert_accept_frame uintptr // For passing back a frame with captures
 35866  	var frame_copy_size Tsize_t     // Amount to copy when creating a new frame
 35867  
 35868  	// Local variables that do not need to be preserved over calls to RRMATCH().
 35869  
 35870  	var bracode TPCRE2_SPTR8 // Temp pointer to start of group
 35871  	var offset Tsize_t       // Used for group offsets
 35872  	// var length Tsize_t at bp, 4
 35873  	// Used for various length calculations
 35874  
 35875  	var rrc int32      // Return from functions & backtracking "recursions"
 35876  	var proptype int32 // Type of character property
 35877  
 35878  	var i Tuint32_t                // Used for local loops
 35879  	var fc Tuint32_t               // Character values
 35880  	var number Tuint32_t           // Used for group and other numbers
 35881  	var reptype Tuint32_t          // Type of repetition (0 to avoid compiler warning)
 35882  	var group_frame_type Tuint32_t // Specifies type for new group frames
 35883  
 35884  	var condition TBOOL    // Used in conditional groups
 35885  	var cur_is_word TBOOL  // Used in "word" tests
 35886  	var prev_is_word TBOOL // Used in "word" tests
 35887  
 35888  	// UTF and UCP flags
 35889  
 35890  	var utf TBOOL
 35891  	var ucp TBOOL
 35892  	var maxsize Tsize_t
 35893  	var newsize Tsize_t
 35894  	var new uintptr
 35895  	var cc Tuint32_t
 35896  	var dc Tuint32_t
 35897  	var cc1 Tuint32_t
 35898  	var ch Tuint32_t
 35899  	var ch1 Tuint32_t
 35900  	var ch2 Tuint32_t
 35901  	var othercase Tuint32_t
 35902  	var cc2 Tuint32_t
 35903  	var cc3 Tuint32_t
 35904  	var cc4 Tuint32_t
 35905  	var d Tuint32_t
 35906  	var d1 Tuint32_t
 35907  	var len int32
 35908  	var d2 Tuint32_t
 35909  	var d3 Tuint32_t
 35910  	var d4 Tuint32_t
 35911  	var len1 int32
 35912  	var d5 Tuint32_t
 35913  	var len2 int32
 35914  	var len3 int32
 35915  	var ok TBOOL
 35916  	var ok1 TBOOL
 35917  	var cp uintptr
 35918  	var prop uintptr
 35919  	var notmatch TBOOL
 35920  	var chartype int32
 35921  	var ok2 TBOOL
 35922  	var prop1 uintptr
 35923  	var category int32
 35924  	var category1 int32
 35925  	var cp1 uintptr
 35926  	var ok3 TBOOL
 35927  	var prop2 uintptr
 35928  	var notmatch1 TBOOL
 35929  	var cc5 Tuint32_t
 35930  	var cc6 Tuint32_t
 35931  	var cc7 Tuint32_t
 35932  	var cc8 Tuint32_t
 35933  	var cc9 Tuint32_t
 35934  	var chartype1 int32
 35935  	var ok4 TBOOL
 35936  	var prop3 uintptr
 35937  	var category2 int32
 35938  	var category3 int32
 35939  	var cp2 uintptr
 35940  	var ok5 TBOOL
 35941  	var prop4 uintptr
 35942  	var len4 int32
 35943  	var chartype2 int32
 35944  	var len5 int32
 35945  	var len6 int32
 35946  	var len7 int32
 35947  	var len8 int32
 35948  	var ok6 TBOOL
 35949  	var prop5 uintptr
 35950  	var len9 int32
 35951  	var category4 int32
 35952  	var len10 int32
 35953  	var len11 int32
 35954  	var category5 int32
 35955  	var len12 int32
 35956  	var cp3 uintptr
 35957  	var len13 int32
 35958  	var len14 int32
 35959  	var len15 int32
 35960  	var ok7 TBOOL
 35961  	var prop6 uintptr
 35962  	var len16 int32
 35963  	var notmatch2 TBOOL
 35964  	var lgb int32
 35965  	var rgb int32
 35966  	var fptr TPCRE2_SPTR8
 35967  	var len17 int32
 35968  	var gotspace TBOOL
 35969  	var len18 int32
 35970  	var gotspace1 TBOOL
 35971  	var len19 int32
 35972  	var len20 int32
 35973  	var len21 int32
 35974  	var len22 int32
 35975  	var len23 int32
 35976  	var len24 int32
 35977  	var len25 int32
 35978  	var count int32
 35979  	var slot TPCRE2_SPTR8
 35980  	// var slength Tsize_t at bp+4, 4
 35981  
 35982  	// var slength1 Tsize_t at bp+8, 4
 35983  
 35984  	// var slength2 Tsize_t at bp+12, 4
 35985  
 35986  	// var slength3 Tsize_t at bp+16, 4
 35987  
 35988  	var samelengths TBOOL
 35989  	var next_ecode TPCRE2_SPTR8
 35990  	var next_ecode1 TPCRE2_SPTR8
 35991  	var next_ecode2 TPCRE2_SPTR8
 35992  	var count1 int32
 35993  	var slot1 TPCRE2_SPTR8
 35994  	var count2 int32
 35995  	var slot2 TPCRE2_SPTR8
 35996  	var y Tuint32_t
 35997  	var cat int32
 35998  	var lastptr TPCRE2_SPTR8
 35999  	var cat1 int32
 36000  	var nextptr TPCRE2_SPTR8
 36001  	N = uintptr(0)
 36002  	P = uintptr(0)
 36003  	assert_accept_frame = uintptr(0)
 36004  	reptype = Tuint32_t(0)
 36005  	utf = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 36006  	ucp = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 36007  
 36008  	// This is the length of the last part of a backtracking frame that must be
 36009  	// copied when a new frame is created.
 36010  
 36011  	frame_copy_size = frame_size - Tsize_t(uintptr(0)+56)
 36012  
 36013  	// Set up the first current frame at the start of the vector, and initialize
 36014  	// fields that are not reset for new frames.
 36015  
 36016  	F = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames
 36017  	(*Theapframe)(unsafe.Pointer(F)).Frdepth = Tuint32_t(0)                                 // "Recursion" depth
 36018  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = Tuint32_t(0)                           // Number of most recent capture
 36019  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = DRECURSE_UNSET                      // Not pattern recursing.
 36020  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = libc.AssignPtrUintptr(F+56, start_eptr) // Current data pointer and start match
 36021  	(*Theapframe)(unsafe.Pointer(F)).Fmark = uintptr(0)                                     // Most recent mark
 36022  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = Tsize_t(0)                               // End of captures within the frame
 36023  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = libc.CplUint32(Tsize_t(0))        // Saved frame of most recent group
 36024  	group_frame_type = Tuint32_t(0)                                                         // Not a start of group frame
 36025  	goto NEW_FRAME                                                                          // Start processing with this frame
 36026  
 36027  	// Come back here when we want to create a new frame for remembering a
 36028  	// backtracking point.
 36029  
 36030  MATCH_RECURSE:
 36031  
 36032  	// Set up a new backtracking frame. If the vector is full, get a new one
 36033  	// on the heap, doubling the size, but constrained by the heap limit.
 36034  
 36035  	N = F + uintptr(frame_size)
 36036  	if !(N >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top) {
 36037  		goto __1
 36038  	}
 36039  
 36040  	newsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size * Tsize_t(2)
 36041  
 36042  	if !(newsize/Tsize_t(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 36043  		goto __2
 36044  	}
 36045  
 36046  	maxsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * Tsize_t(1024) / frame_size * frame_size
 36047  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size >= maxsize) {
 36048  		goto __3
 36049  	}
 36050  	return -63
 36051  __3:
 36052  	;
 36053  	newsize = maxsize
 36054  __2:
 36055  	;
 36056  
 36057  	new = (*struct {
 36058  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 36059  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, newsize, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 36060  	if !(new == uintptr(0)) {
 36061  		goto __4
 36062  	}
 36063  	return -48
 36064  __4:
 36065  	;
 36066  	libc.Xmemcpy(tls, new, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size)
 36067  
 36068  	F = new + uintptr((int32(F)-int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames))/1)
 36069  	N = F + uintptr(frame_size)
 36070  
 36071  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 36072  		goto __5
 36073  	}
 36074  	(*struct {
 36075  		f func(*libc.TLS, uintptr, uintptr)
 36076  	})(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)
 36077  __5:
 36078  	;
 36079  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = new
 36080  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(newsize)
 36081  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = newsize
 36082  __1:
 36083  	;
 36084  
 36085  	// Copy those fields that must be copied into the new frame, increase the
 36086  	// "recursion" depth (i.e. the new frame's index) and then make the new frame
 36087  	// current.
 36088  
 36089  	libc.Xmemcpy(tls, N+uintptr(uint32(uintptr(0)+56)),
 36090  		F+uintptr(uint32(uintptr(0)+56)),
 36091  		frame_copy_size)
 36092  
 36093  	(*Theapframe)(unsafe.Pointer(N)).Frdepth = (*Theapframe)(unsafe.Pointer(F)).Frdepth + Tuint32_t(1)
 36094  	F = N
 36095  
 36096  	// Carry on processing with a new frame.
 36097  
 36098  NEW_FRAME:
 36099  	(*Theapframe)(unsafe.Pointer(F)).Fgroup_frame_type = group_frame_type
 36100  	(*Theapframe)(unsafe.Pointer(F)).Fecode = start_ecode     // Starting code pointer
 36101  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = frame_size // Default is go back one frame
 36102  
 36103  	// If this is a special type of group frame, remember its offset for quick
 36104  	// access at the end of the group. If this is a recursion, set a new current
 36105  	// recursion value.
 36106  
 36107  	if !(group_frame_type != Tuint32_t(0)) {
 36108  		goto __6
 36109  	}
 36110  
 36111  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = Tsize_t((int32(F) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames)) / 1)
 36112  	if !(group_frame_type&0xffff0000 == DGF_RECURSE) {
 36113  		goto __7
 36114  	}
 36115  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = group_frame_type & 0x0000ffff
 36116  __7:
 36117  	;
 36118  	group_frame_type = Tuint32_t(0)
 36119  __6:
 36120  	;
 36121  
 36122  	// =========================================================================
 36123  	// This is the main processing loop. First check that we haven't recorded too
 36124  	// many backtracks (search tree is too large), or that we haven't exceeded the
 36125  	// recursive depth limit (used too many backtracking frames). If not, process the
 36126  	// opcodes.
 36127  
 36128  	if !(libc.PostIncUint32(&(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 36129  		goto __8
 36130  	}
 36131  	return -47
 36132  __8:
 36133  	;
 36134  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 36135  		goto __9
 36136  	}
 36137  	return -53
 36138  __9:
 36139  	;
 36140  
 36141  __10:
 36142  
 36143  	(*Theapframe)(unsafe.Pointer(F)).Fop = *(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)) // Cast needed for 16-bit and 32-bit modes
 36144  	switch int32((*Theapframe)(unsafe.Pointer(F)).Fop) {
 36145  	// =====================================================================
 36146  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36147  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36148  	//     where we know the starting frame is at the top of the chained frames, in
 36149  	//     this case we have to search back for the relevant frame in case other types
 36150  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36151  	//     come innermost first, which matches the chain order. We can ignore this in
 36152  	//     a recursion, because captures are not passed out of recursions.
 36153  
 36154  	case OP_CLOSE:
 36155  		goto __14
 36156  
 36157  	// =====================================================================
 36158  	// Real or forced end of the pattern, assertion, or recursion. In an
 36159  	//     assertion ACCEPT, update the last used pointer and remember the current
 36160  	//     frame so that the captures and mark can be fished out of it.
 36161  
 36162  	case OP_ASSERT_ACCEPT:
 36163  		goto __15
 36164  
 36165  	// If recursing, we have to find the most recent recursion.
 36166  
 36167  	case OP_ACCEPT:
 36168  		goto __16
 36169  	case OP_END:
 36170  		goto __17 // Note: NOT RRETURN
 36171  
 36172  	//=====================================================================
 36173  	// Match any single character type except newline; have to take care with
 36174  	//     CRLF newlines and partial matching.
 36175  
 36176  	case OP_ANY:
 36177  		goto __18
 36178  	// Fall through
 36179  
 36180  	// Match any single character whatsoever.
 36181  
 36182  	case OP_ALLANY:
 36183  		goto __19
 36184  
 36185  	// =====================================================================
 36186  	// Match a single code unit, even in UTF mode. This opcode really does
 36187  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 36188  	//     of course - the byte name is from pre-16 bit days.)
 36189  
 36190  	case OP_ANYBYTE:
 36191  		goto __20
 36192  
 36193  	// =====================================================================
 36194  	// Match a single character, casefully
 36195  
 36196  	case OP_CHAR:
 36197  		goto __21
 36198  
 36199  	// =====================================================================
 36200  	// Match a single character, caselessly. If we are at the end of the
 36201  	//     subject, give up immediately. We get here only when the pattern character
 36202  	//     has at most one other case. Characters with more than two cases are coded
 36203  	//     as OP_PROP with the pseudo-property PT_CLIST.
 36204  
 36205  	case OP_CHARI:
 36206  		goto __22
 36207  
 36208  	// =====================================================================
 36209  	// Match not a single character.
 36210  
 36211  	case OP_NOT:
 36212  		goto __23
 36213  	case OP_NOTI:
 36214  		goto __24
 36215  
 36216  	// =====================================================================
 36217  	// Match a single character repeatedly.
 36218  
 36219  	case OP_EXACT:
 36220  		goto __25
 36221  	case OP_EXACTI:
 36222  		goto __26
 36223  
 36224  	case OP_POSUPTO:
 36225  		goto __27
 36226  	case OP_POSUPTOI:
 36227  		goto __28
 36228  
 36229  	case OP_UPTO:
 36230  		goto __29
 36231  	case OP_UPTOI:
 36232  		goto __30
 36233  
 36234  	case OP_MINUPTO:
 36235  		goto __31
 36236  	case OP_MINUPTOI:
 36237  		goto __32
 36238  
 36239  	case OP_POSSTAR:
 36240  		goto __33
 36241  	case OP_POSSTARI:
 36242  		goto __34
 36243  
 36244  	case OP_POSPLUS:
 36245  		goto __35
 36246  	case OP_POSPLUSI:
 36247  		goto __36
 36248  
 36249  	case OP_POSQUERY:
 36250  		goto __37
 36251  	case OP_POSQUERYI:
 36252  		goto __38
 36253  
 36254  	case OP_STAR:
 36255  		goto __39
 36256  	case OP_STARI:
 36257  		goto __40
 36258  	case OP_MINSTAR:
 36259  		goto __41
 36260  	case OP_MINSTARI:
 36261  		goto __42
 36262  	case OP_PLUS:
 36263  		goto __43
 36264  	case OP_PLUSI:
 36265  		goto __44
 36266  	case OP_MINPLUS:
 36267  		goto __45
 36268  	case OP_MINPLUSI:
 36269  		goto __46
 36270  	case OP_QUERY:
 36271  		goto __47
 36272  	case OP_QUERYI:
 36273  		goto __48
 36274  	case OP_MINQUERY:
 36275  		goto __49
 36276  	case OP_MINQUERYI:
 36277  		goto __50
 36278  
 36279  	// =====================================================================
 36280  	// Match a negated single one-byte character repeatedly. This is almost a
 36281  	//     repeat of the code for a repeated single character, but I haven't found a
 36282  	//     nice way of commoning these up that doesn't require a test of the
 36283  	//     positive/negative option for each character match. Maybe that wouldn't add
 36284  	//     very much to the time taken, but character matching *is* what this is all
 36285  	//     about...
 36286  
 36287  	case OP_NOTEXACT:
 36288  		goto __51
 36289  	case OP_NOTEXACTI:
 36290  		goto __52
 36291  
 36292  	case OP_NOTUPTO:
 36293  		goto __53
 36294  	case OP_NOTUPTOI:
 36295  		goto __54
 36296  
 36297  	case OP_NOTMINUPTO:
 36298  		goto __55
 36299  	case OP_NOTMINUPTOI:
 36300  		goto __56
 36301  
 36302  	case OP_NOTPOSSTAR:
 36303  		goto __57
 36304  	case OP_NOTPOSSTARI:
 36305  		goto __58
 36306  
 36307  	case OP_NOTPOSPLUS:
 36308  		goto __59
 36309  	case OP_NOTPOSPLUSI:
 36310  		goto __60
 36311  
 36312  	case OP_NOTPOSQUERY:
 36313  		goto __61
 36314  	case OP_NOTPOSQUERYI:
 36315  		goto __62
 36316  
 36317  	case OP_NOTPOSUPTO:
 36318  		goto __63
 36319  	case OP_NOTPOSUPTOI:
 36320  		goto __64
 36321  
 36322  	case OP_NOTSTAR:
 36323  		goto __65
 36324  	case OP_NOTSTARI:
 36325  		goto __66
 36326  	case OP_NOTMINSTAR:
 36327  		goto __67
 36328  	case OP_NOTMINSTARI:
 36329  		goto __68
 36330  	case OP_NOTPLUS:
 36331  		goto __69
 36332  	case OP_NOTPLUSI:
 36333  		goto __70
 36334  	case OP_NOTMINPLUS:
 36335  		goto __71
 36336  	case OP_NOTMINPLUSI:
 36337  		goto __72
 36338  	case OP_NOTQUERY:
 36339  		goto __73
 36340  	case OP_NOTQUERYI:
 36341  		goto __74
 36342  	case OP_NOTMINQUERY:
 36343  		goto __75
 36344  	case OP_NOTMINQUERYI:
 36345  		goto __76
 36346  
 36347  	// =====================================================================
 36348  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 36349  	//     are used when all the characters in the class have values in the range
 36350  	//     0-255, and either the matching is caseful, or the characters are in the
 36351  	//     range 0-127 when UTF processing is enabled. The only difference between
 36352  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 36353  	//     encountered.
 36354  
 36355  	case OP_NCLASS:
 36356  		goto __77
 36357  	case OP_CLASS:
 36358  		goto __78
 36359  	// Control never gets here
 36360  
 36361  	// =====================================================================
 36362  	// Match an extended character class. In the 8-bit library, this opcode is
 36363  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 36364  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 36365  	//     UTF is not supported.
 36366  
 36367  	case OP_XCLASS:
 36368  		goto __79
 36369  
 36370  	// =====================================================================
 36371  	// Match various character types when PCRE2_UCP is not set. These opcodes
 36372  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 36373  	//     tests are compiled.
 36374  
 36375  	case OP_NOT_DIGIT:
 36376  		goto __80
 36377  
 36378  	case OP_DIGIT:
 36379  		goto __81
 36380  
 36381  	case OP_NOT_WHITESPACE:
 36382  		goto __82
 36383  
 36384  	case OP_WHITESPACE:
 36385  		goto __83
 36386  
 36387  	case OP_NOT_WORDCHAR:
 36388  		goto __84
 36389  
 36390  	case OP_WORDCHAR:
 36391  		goto __85
 36392  
 36393  	case OP_ANYNL:
 36394  		goto __86
 36395  
 36396  	case OP_NOT_HSPACE:
 36397  		goto __87
 36398  
 36399  	case OP_HSPACE:
 36400  		goto __88
 36401  
 36402  	case OP_NOT_VSPACE:
 36403  		goto __89
 36404  
 36405  	case OP_VSPACE:
 36406  		goto __90
 36407  
 36408  	// =====================================================================
 36409  	// Check the next character by Unicode property. We will get here only
 36410  	//     if the support is in the binary; otherwise a compile-time error occurs.
 36411  
 36412  	case OP_PROP:
 36413  		goto __91
 36414  	case OP_NOTPROP:
 36415  		goto __92
 36416  
 36417  	// =====================================================================
 36418  	// Match an extended Unicode sequence. We will get here only if the support
 36419  	//     is in the binary; otherwise a compile-time error occurs.
 36420  
 36421  	case OP_EXTUNI:
 36422  		goto __93
 36423  
 36424  	// =====================================================================
 36425  	// Match a single character type repeatedly. Note that the property type
 36426  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 36427  	//     loop.
 36428  
 36429  	case OP_TYPEEXACT:
 36430  		goto __94
 36431  
 36432  	case OP_TYPEUPTO:
 36433  		goto __95
 36434  	case OP_TYPEMINUPTO:
 36435  		goto __96
 36436  
 36437  	case OP_TYPEPOSSTAR:
 36438  		goto __97
 36439  
 36440  	case OP_TYPEPOSPLUS:
 36441  		goto __98
 36442  
 36443  	case OP_TYPEPOSQUERY:
 36444  		goto __99
 36445  
 36446  	case OP_TYPEPOSUPTO:
 36447  		goto __100
 36448  
 36449  	case OP_TYPESTAR:
 36450  		goto __101
 36451  	case OP_TYPEMINSTAR:
 36452  		goto __102
 36453  	case OP_TYPEPLUS:
 36454  		goto __103
 36455  	case OP_TYPEMINPLUS:
 36456  		goto __104
 36457  	case OP_TYPEQUERY:
 36458  		goto __105
 36459  	case OP_TYPEMINQUERY:
 36460  		goto __106 // End of repeat character type processing
 36461  
 36462  	// =====================================================================
 36463  	// Match a back reference, possibly repeatedly. Look past the end of the
 36464  	//     item to see if there is repeat information following. The OP_REF and
 36465  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 36466  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 36467  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 36468  	//     the name refers, and use the first one that is set.
 36469  
 36470  	case OP_DNREF:
 36471  		goto __107
 36472  	case OP_DNREFI:
 36473  		goto __108
 36474  
 36475  	case OP_REF:
 36476  		goto __109
 36477  	case OP_REFI:
 36478  		goto __110
 36479  	// Control never gets here
 36480  
 36481  	// =========================================================================
 36482  	//           Opcodes for the start of various parenthesized items
 36483  	// =========================================================================
 36484  
 36485  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 36486  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 36487  	//     that is passed back with the end of the branch. If (*THEN) is within the
 36488  	//     current branch, and the branch is one of two or more alternatives (it
 36489  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 36490  	//     action, so convert the return code to NOMATCH, which will cause normal
 36491  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 36492  	//     outer alternative. This implements Perl's treatment of parenthesized
 36493  	//     groups, where a group not containing | does not affect the current
 36494  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 36495  
 36496  	// =====================================================================
 36497  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 36498  	//     bracket group, indicating that it may occur zero times. It may repeat
 36499  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 36500  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 36501  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 36502  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 36503  
 36504  	case OP_BRAZERO:
 36505  		goto __111
 36506  
 36507  	case OP_BRAMINZERO:
 36508  		goto __112
 36509  
 36510  	case OP_SKIPZERO:
 36511  		goto __113
 36512  
 36513  	// =====================================================================
 36514  	// Handle possessive brackets with an unlimited repeat. The end of these
 36515  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 36516  	//     going further in the pattern.
 36517  
 36518  	case OP_BRAPOSZERO:
 36519  		goto __114
 36520  
 36521  	case OP_BRAPOS:
 36522  		goto __115
 36523  	case OP_SBRAPOS:
 36524  		goto __116
 36525  
 36526  	case OP_CBRAPOS:
 36527  		goto __117
 36528  	case OP_SCBRAPOS:
 36529  		goto __118
 36530  
 36531  	// =====================================================================
 36532  	// Handle non-capturing brackets that cannot match an empty string. When we
 36533  	//     get to the final alternative within the brackets, as long as there are no
 36534  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 36535  	//     point. (Ideally we should test for a THEN within this group, but we don't
 36536  	//     have that information.) Don't do this if we are at the very top level,
 36537  	//     however, because that would make handling assertions and once-only brackets
 36538  	//     messier when there is nothing to go back to.
 36539  
 36540  	case OP_BRA:
 36541  		goto __119
 36542  
 36543  	// =====================================================================
 36544  	// Handle a capturing bracket, other than those that are possessive with an
 36545  	//     unlimited repeat.
 36546  
 36547  	case OP_CBRA:
 36548  		goto __120
 36549  	case OP_SCBRA:
 36550  		goto __121
 36551  
 36552  	// =====================================================================
 36553  	// Atomic groups and non-capturing brackets that can match an empty string
 36554  	//     must record a backtracking point and also set up a chained frame.
 36555  
 36556  	case OP_ONCE:
 36557  		goto __122
 36558  	case OP_SCRIPT_RUN:
 36559  		goto __123
 36560  	case OP_SBRA:
 36561  		goto __124
 36562  	// Control never reaches here.
 36563  
 36564  	// =====================================================================
 36565  	// Recursion either matches the current regex, or some subexpression. The
 36566  	//     offset data is the offset to the starting bracket from the start of the
 36567  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 36568  
 36569  	case OP_RECURSE:
 36570  		goto __125
 36571  	// Control never reaches here.
 36572  
 36573  	// =====================================================================
 36574  	// Positive assertions are like other groups except that PCRE doesn't allow
 36575  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 36576  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 36577  	//     captures and mark retained. Any other return is an error.
 36578  
 36579  	case OP_ASSERT:
 36580  		goto __126
 36581  	case OP_ASSERTBACK:
 36582  		goto __127
 36583  	case OP_ASSERT_NA:
 36584  		goto __128
 36585  	case OP_ASSERTBACK_NA:
 36586  		goto __129
 36587  
 36588  	// =====================================================================
 36589  	// Handle negative assertions. Loop for each non-matching branch as for
 36590  	//     positive assertions.
 36591  
 36592  	case OP_ASSERT_NOT:
 36593  		goto __130
 36594  	case OP_ASSERTBACK_NOT:
 36595  		goto __131
 36596  
 36597  	// =====================================================================
 36598  	// The callout item calls an external function, if one is provided, passing
 36599  	//     details of the match so far. This is mainly for debugging, though the
 36600  	//     function is able to force a failure.
 36601  
 36602  	case OP_CALLOUT:
 36603  		goto __132
 36604  	case OP_CALLOUT_STR:
 36605  		goto __133
 36606  
 36607  	// =====================================================================
 36608  	// Conditional group: compilation checked that there are no more than two
 36609  	//     branches. If the condition is false, skipping the first branch takes us
 36610  	//     past the end of the item if there is only one branch, but that's exactly
 36611  	//     what we want.
 36612  
 36613  	case OP_COND:
 36614  		goto __134
 36615  	case OP_SCOND:
 36616  		goto __135
 36617  
 36618  		// =========================================================================
 36619  		//                  End of start of parenthesis opcodes
 36620  		// =========================================================================
 36621  
 36622  	// =====================================================================
 36623  	// Move the subject pointer back. This occurs only at the start of each
 36624  	//     branch of a lookbehind assertion. If we are too close to the start to move
 36625  	//     back, fail. When working with UTF-8 we move back a number of characters,
 36626  	//     not bytes.
 36627  
 36628  	case OP_REVERSE:
 36629  		goto __136
 36630  
 36631  	// =====================================================================
 36632  	// An alternation is the end of a branch; scan along to find the end of the
 36633  	//     bracketed group.
 36634  
 36635  	case OP_ALT:
 36636  		goto __137
 36637  
 36638  	// =====================================================================
 36639  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 36640  	//     starting frame was added to the chained frames in order to remember the
 36641  	//     starting subject position for the group.
 36642  
 36643  	case OP_KET:
 36644  		goto __138
 36645  	case OP_KETRMIN:
 36646  		goto __139
 36647  	case OP_KETRMAX:
 36648  		goto __140
 36649  	case OP_KETRPOS:
 36650  		goto __141
 36651  
 36652  	// =====================================================================
 36653  	// Start and end of line assertions, not multiline mode.
 36654  
 36655  	case OP_CIRC:
 36656  		goto __142
 36657  
 36658  	case OP_SOD:
 36659  		goto __143
 36660  
 36661  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 36662  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 36663  
 36664  	case OP_DOLL:
 36665  		goto __144
 36666  
 36667  	// Fall through
 36668  	// Unconditional end of subject assertion (\z)
 36669  
 36670  	case OP_EOD:
 36671  		goto __145
 36672  
 36673  	// End of subject or ending \n assertion (\Z)
 36674  
 36675  	case OP_EODN:
 36676  		goto __146
 36677  
 36678  	// =====================================================================
 36679  	// Start and end of line assertions, multiline mode.
 36680  
 36681  	// Start of subject unless notbol, or after any newline except for one at
 36682  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 36683  
 36684  	case OP_CIRCM:
 36685  		goto __147
 36686  
 36687  	// Assert before any newline, or before end of subject unless noteol is
 36688  	//     set.
 36689  
 36690  	case OP_DOLLM:
 36691  		goto __148
 36692  
 36693  	// =====================================================================
 36694  	// Start of match assertion
 36695  
 36696  	case OP_SOM:
 36697  		goto __149
 36698  
 36699  	// =====================================================================
 36700  	// Reset the start of match point
 36701  
 36702  	case OP_SET_SOM:
 36703  		goto __150
 36704  
 36705  	// =====================================================================
 36706  	// Word boundary assertions. Find out if the previous and current
 36707  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 36708  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 36709  	//     not set. When it is set, use Unicode properties if available, even when not
 36710  	//     in UTF mode. Remember the earliest and latest consulted characters.
 36711  
 36712  	case OP_NOT_WORD_BOUNDARY:
 36713  		goto __151
 36714  	case OP_WORD_BOUNDARY:
 36715  		goto __152
 36716  
 36717  	// =====================================================================
 36718  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 36719  	//     pattern is successfully matched, we do not come back from RMATCH.
 36720  
 36721  	case OP_MARK:
 36722  		goto __153
 36723  
 36724  	case OP_FAIL:
 36725  		goto __154
 36726  
 36727  	// Record the current recursing group number in mb->verb_current_recurse
 36728  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 36729  	//     recurse processing to catch verbs from within the recursion.
 36730  
 36731  	case OP_COMMIT:
 36732  		goto __155
 36733  
 36734  	case OP_COMMIT_ARG:
 36735  		goto __156
 36736  
 36737  	case OP_PRUNE:
 36738  		goto __157
 36739  
 36740  	case OP_PRUNE_ARG:
 36741  		goto __158
 36742  
 36743  	case OP_SKIP:
 36744  		goto __159
 36745  
 36746  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 36747  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 36748  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 36749  	//     that failed and any that precede it (either they also failed, or were not
 36750  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 36751  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 36752  	//     set to the count of the one that failed.
 36753  
 36754  	case OP_SKIP_ARG:
 36755  		goto __160
 36756  
 36757  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 36758  	//     the branch in which it occurs can be determined.
 36759  
 36760  	case OP_THEN:
 36761  		goto __161
 36762  
 36763  	case OP_THEN_ARG:
 36764  		goto __162
 36765  
 36766  	// =====================================================================
 36767  	// There's been some horrible disaster. Arrival here can only mean there is
 36768  	//     something seriously wrong in the code above or the OP_xxx definitions.
 36769  
 36770  	default:
 36771  		goto __163
 36772  	}
 36773  	goto __13
 36774  
 36775  	// =====================================================================
 36776  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36777  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36778  	//     where we know the starting frame is at the top of the chained frames, in
 36779  	//     this case we have to search back for the relevant frame in case other types
 36780  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36781  	//     come innermost first, which matches the chain order. We can ignore this in
 36782  	//     a recursion, because captures are not passed out of recursions.
 36783  
 36784  __14:
 36785  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == DRECURSE_UNSET) {
 36786  		goto __164
 36787  	}
 36788  
 36789  	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))))
 36790  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36791  __165:
 36792  
 36793  	if !(offset == libc.CplUint32(Tsize_t(0))) {
 36794  		goto __168
 36795  	}
 36796  	return -44
 36797  __168:
 36798  	;
 36799  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36800  	P = N - uintptr(frame_size)
 36801  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_CAPTURE|number) {
 36802  		goto __169
 36803  	}
 36804  	goto __167
 36805  __169:
 36806  	;
 36807  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36808  	goto __166
 36809  __166:
 36810  	goto __165
 36811  	goto __167
 36812  __167:
 36813  	;
 36814  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 36815  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 36816  	*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(P)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36817  	*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset+Tsize_t(1))*4)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(F)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36818  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 36819  		goto __170
 36820  	}
 36821  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + Tsize_t(2)
 36822  __170:
 36823  	;
 36824  __164:
 36825  	;
 36826  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 36827  	goto __13
 36828  
 36829  	// =====================================================================
 36830  	// Real or forced end of the pattern, assertion, or recursion. In an
 36831  	//     assertion ACCEPT, update the last used pointer and remember the current
 36832  	//     frame so that the captures and mark can be fished out of it.
 36833  
 36834  __15:
 36835  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36836  		goto __171
 36837  	}
 36838  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36839  __171:
 36840  	;
 36841  	assert_accept_frame = F
 36842  	rrc = -999
 36843  	goto RETURN_SWITCH
 36844  
 36845  	// If recursing, we have to find the most recent recursion.
 36846  
 36847  __16:
 36848  __17:
 36849  
 36850  	// Handle end of a recursion.
 36851  
 36852  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 36853  		goto __172
 36854  	}
 36855  
 36856  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36857  __173:
 36858  
 36859  	if !(offset == libc.CplUint32(Tsize_t(0))) {
 36860  		goto __176
 36861  	}
 36862  	return -44
 36863  __176:
 36864  	;
 36865  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36866  	P = N - uintptr(frame_size)
 36867  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_RECURSE) {
 36868  		goto __177
 36869  	}
 36870  	goto __175
 36871  __177:
 36872  	;
 36873  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36874  	goto __174
 36875  __174:
 36876  	goto __173
 36877  	goto __175
 36878  __175:
 36879  	;
 36880  
 36881  	// N is now the frame of the recursion; the previous frame is at the
 36882  	//       OP_RECURSE position. Go back there, copying the current subject position
 36883  	//       and mark, and the start_match position (\K might have changed it), and
 36884  	//       then move on past the OP_RECURSE.
 36885  
 36886  	(*Theapframe)(unsafe.Pointer(P)).Feptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36887  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 36888  	(*Theapframe)(unsafe.Pointer(P)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Fstart_match
 36889  	F = P
 36890  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 36891  	goto __11
 36892  __172:
 36893  	;
 36894  
 36895  	// Not a recursion. Fail for an empty string match if either PCRE2_NOTEMPTY
 36896  	//     is set, or if PCRE2_NOTEMPTY_ATSTART is set and we have matched at the
 36897  	//     start of the subject. In both cases, backtracking will then try other
 36898  	//     alternatives, if any.
 36899  
 36900  	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))) {
 36901  		goto __178
 36902  	}
 36903  	rrc = DMATCH_NOMATCH
 36904  	goto RETURN_SWITCH
 36905  __178:
 36906  	;
 36907  
 36908  	// Also fail if PCRE2_ENDANCHORED is set and the end of the match is not
 36909  	//     the end of the subject. After (*ACCEPT) we fail the entire match (at this
 36910  	//     position) but backtrack on reaching the end of the pattern.
 36911  
 36912  	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)) {
 36913  		goto __179
 36914  	}
 36915  
 36916  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_END) {
 36917  		goto __180
 36918  	}
 36919  	rrc = DMATCH_NOMATCH
 36920  	goto RETURN_SWITCH
 36921  __180:
 36922  	;
 36923  
 36924  	return DMATCH_NOMATCH
 36925  __179:
 36926  	;
 36927  
 36928  	// We have a successful match of the whole pattern. Record the result and
 36929  	//     then do a direct return from the function. If there is space in the offset
 36930  	//     vector, set any pairs that follow the highest-numbered captured string but
 36931  	//     are less than the number of capturing groups in the pattern to PCRE2_UNSET.
 36932  	//     It is documented that this happens. "Gaps" are set to PCRE2_UNSET
 36933  	//     dynamically. It is only those at the end that need setting here.
 36934  
 36935  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr        // Record where we ended
 36936  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top // and how many extracts were taken
 36937  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark                 // and the last success mark
 36938  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36939  		goto __181
 36940  	}
 36941  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36942  __181:
 36943  	;
 36944  
 36945  	*(*Tsize_t)(unsafe.Pointer(ovector)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(F)).Fstart_match) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36946  	*(*Tsize_t)(unsafe.Pointer(ovector + 1*4)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(F)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36947  
 36948  	// Set i to the smaller of the sizes of the external and frame ovectors.
 36949  
 36950  	i = Tuint32_t(2 * func() int32 {
 36951  		if int32(top_bracket)+1 > int32(oveccount) {
 36952  			return int32(oveccount)
 36953  		}
 36954  		return int32(top_bracket) + 1
 36955  	}())
 36956  	libc.Xmemcpy(tls, ovector+uintptr(2)*4, F+84, uint32(i-Tuint32_t(2))*uint32(unsafe.Sizeof(Tsize_t(0))))
 36957  __182:
 36958  	if !(Tsize_t(libc.PreDecUint32(&i, 1)) >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top+Tsize_t(2)) {
 36959  		goto __183
 36960  	}
 36961  	*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4)) = libc.CplUint32(Tsize_t(0))
 36962  	goto __182
 36963  __183:
 36964  	;
 36965  	return DMATCH_MATCH // Note: NOT RRETURN
 36966  
 36967  	//=====================================================================
 36968  	// Match any single character type except newline; have to take care with
 36969  	//     CRLF newlines and partial matching.
 36970  
 36971  __18:
 36972  	if !(func() int32 {
 36973  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 36974  			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+156, utf) != 0)
 36975  		}
 36976  		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 + 160))) && ((*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 + 160 + 1)))))
 36977  	}() != 0) {
 36978  		goto __184
 36979  	}
 36980  	rrc = DMATCH_NOMATCH
 36981  	goto RETURN_SWITCH
 36982  __184:
 36983  	;
 36984  
 36985  	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 + 160)))) {
 36986  		goto __185
 36987  	}
 36988  
 36989  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 36990  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 36991  		goto __186
 36992  	}
 36993  	return -2
 36994  __186:
 36995  	;
 36996  __185:
 36997  	;
 36998  	// Fall through
 36999  
 37000  	// Match any single character whatsoever.
 37001  
 37002  __19:
 37003  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37004  		goto __187
 37005  	} /* DO NOT merge the Feptr++ here; it must */
 37006  	// not be updated before SCHECK_PARTIAL.
 37007  	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)) {
 37008  		goto __188
 37009  	}
 37010  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37011  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37012  		goto __189
 37013  	}
 37014  	return -2
 37015  __189:
 37016  	;
 37017  __188:
 37018  	;
 37019  
 37020  	rrc = DMATCH_NOMATCH
 37021  	goto RETURN_SWITCH
 37022  
 37023  __187:
 37024  	;
 37025  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37026  	if !(utf != 0) {
 37027  		goto __190
 37028  	}
 37029  __191:
 37030  	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) {
 37031  		goto __192
 37032  	}
 37033  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37034  	goto __191
 37035  __192:
 37036  	;
 37037  __190:
 37038  	;
 37039  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37040  	goto __13
 37041  
 37042  	// =====================================================================
 37043  	// Match a single code unit, even in UTF mode. This opcode really does
 37044  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 37045  	//     of course - the byte name is from pre-16 bit days.)
 37046  
 37047  __20:
 37048  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37049  		goto __193
 37050  	} /* DO NOT merge the Feptr++ here; it must */
 37051  	// not be updated before SCHECK_PARTIAL.
 37052  	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)) {
 37053  		goto __194
 37054  	}
 37055  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37056  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37057  		goto __195
 37058  	}
 37059  	return -2
 37060  __195:
 37061  	;
 37062  __194:
 37063  	;
 37064  
 37065  	rrc = DMATCH_NOMATCH
 37066  	goto RETURN_SWITCH
 37067  
 37068  __193:
 37069  	;
 37070  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37071  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37072  	goto __13
 37073  
 37074  	// =====================================================================
 37075  	// Match a single character, casefully
 37076  
 37077  __21:
 37078  	if !(utf != 0) {
 37079  		goto __196
 37080  	}
 37081  
 37082  	(*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(1)
 37083  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37084  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37085  	if !(fc >= 0xc0) {
 37086  		goto __198
 37087  	}
 37088  	if !(fc&0x20 == Tuint32_t(0)) {
 37089  		goto __199
 37090  	}
 37091  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37092  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37093  	goto __200
 37094  __199:
 37095  	if !(fc&0x10 == Tuint32_t(0)) {
 37096  		goto __201
 37097  	}
 37098  	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
 37099  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(2)
 37100  	goto __202
 37101  __201:
 37102  	if !(fc&0x08 == Tuint32_t(0)) {
 37103  		goto __203
 37104  	}
 37105  	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
 37106  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(3)
 37107  	goto __204
 37108  __203:
 37109  	if !(fc&0x04 == Tuint32_t(0)) {
 37110  		goto __205
 37111  	}
 37112  	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
 37113  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(4)
 37114  	goto __206
 37115  __205:
 37116  	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
 37117  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(5)
 37118  __206:
 37119  	;
 37120  __204:
 37121  	;
 37122  __202:
 37123  	;
 37124  __200:
 37125  	;
 37126  __198:
 37127  	;
 37128  
 37129  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int32((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 37130  		goto __207
 37131  	}
 37132  
 37133  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37134  		goto __208
 37135  	}
 37136  	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)) {
 37137  		goto __209
 37138  	}
 37139  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37140  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37141  		goto __210
 37142  	}
 37143  	return -2
 37144  __210:
 37145  	;
 37146  __209:
 37147  	;
 37148  __208:
 37149  	;
 37150  	/* Not SCHECK_PARTIAL() */
 37151  	rrc = DMATCH_NOMATCH
 37152  	goto RETURN_SWITCH
 37153  
 37154  __207:
 37155  	;
 37156  __211:
 37157  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t(0)) {
 37158  		goto __213
 37159  	}
 37160  
 37161  	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))))) {
 37162  		goto __214
 37163  	}
 37164  	rrc = DMATCH_NOMATCH
 37165  	goto RETURN_SWITCH
 37166  __214:
 37167  	;
 37168  
 37169  	goto __212
 37170  __212:
 37171  	(*Theapframe)(unsafe.Pointer(F)).Flength--
 37172  	goto __211
 37173  	goto __213
 37174  __213:
 37175  	;
 37176  	goto __197
 37177  __196:
 37178  
 37179  	/* Not UTF mode */
 37180  
 37181  	if !((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int32((*Theapframe)(unsafe.Pointer(F)).Feptr))/1 < 1) {
 37182  		goto __215
 37183  	}
 37184  
 37185  	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)) {
 37186  		goto __216
 37187  	}
 37188  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37189  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37190  		goto __217
 37191  	}
 37192  	return -2
 37193  __217:
 37194  	;
 37195  __216:
 37196  	;
 37197  	/* This one can use SCHECK_PARTIAL() */
 37198  	rrc = DMATCH_NOMATCH
 37199  	goto RETURN_SWITCH
 37200  
 37201  __215:
 37202  	;
 37203  	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))))) {
 37204  		goto __218
 37205  	}
 37206  	rrc = DMATCH_NOMATCH
 37207  	goto RETURN_SWITCH
 37208  __218:
 37209  	;
 37210  
 37211  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37212  __197:
 37213  	;
 37214  	goto __13
 37215  
 37216  	// =====================================================================
 37217  	// Match a single character, caselessly. If we are at the end of the
 37218  	//     subject, give up immediately. We get here only when the pattern character
 37219  	//     has at most one other case. Characters with more than two cases are coded
 37220  	//     as OP_PROP with the pseudo-property PT_CLIST.
 37221  
 37222  __22:
 37223  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37224  		goto __219
 37225  	}
 37226  
 37227  	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)) {
 37228  		goto __220
 37229  	}
 37230  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37231  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37232  		goto __221
 37233  	}
 37234  	return -2
 37235  __221:
 37236  	;
 37237  __220:
 37238  	;
 37239  
 37240  	rrc = DMATCH_NOMATCH
 37241  	goto RETURN_SWITCH
 37242  
 37243  __219:
 37244  	;
 37245  
 37246  	if !(utf != 0) {
 37247  		goto __222
 37248  	}
 37249  
 37250  	(*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(1)
 37251  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37252  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37253  	if !(fc >= 0xc0) {
 37254  		goto __224
 37255  	}
 37256  	if !(fc&0x20 == Tuint32_t(0)) {
 37257  		goto __225
 37258  	}
 37259  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37260  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37261  	goto __226
 37262  __225:
 37263  	if !(fc&0x10 == Tuint32_t(0)) {
 37264  		goto __227
 37265  	}
 37266  	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
 37267  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(2)
 37268  	goto __228
 37269  __227:
 37270  	if !(fc&0x08 == Tuint32_t(0)) {
 37271  		goto __229
 37272  	}
 37273  	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
 37274  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(3)
 37275  	goto __230
 37276  __229:
 37277  	if !(fc&0x04 == Tuint32_t(0)) {
 37278  		goto __231
 37279  	}
 37280  	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
 37281  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(4)
 37282  	goto __232
 37283  __231:
 37284  	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
 37285  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(5)
 37286  __232:
 37287  	;
 37288  __230:
 37289  	;
 37290  __228:
 37291  	;
 37292  __226:
 37293  	;
 37294  __224:
 37295  	;
 37296  
 37297  	// If the pattern character's value is < 128, we know that its other case
 37298  	//       (if any) is also < 128 (and therefore only one code unit long in all
 37299  	//       code-unit widths), so we can use the fast lookup table. We checked above
 37300  	//       that there is at least one character left in the subject.
 37301  
 37302  	if !(fc < Tuint32_t(128)) {
 37303  		goto __233
 37304  	}
 37305  
 37306  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37307  	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))))) {
 37308  		goto __235
 37309  	}
 37310  	rrc = DMATCH_NOMATCH
 37311  	goto RETURN_SWITCH
 37312  __235:
 37313  	;
 37314  
 37315  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37316  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37317  	goto __234
 37318  __233:
 37319  
 37320  	dc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37321  	if !(dc >= 0xc0) {
 37322  		goto __236
 37323  	}
 37324  	if !(dc&0x20 == Tuint32_t(0)) {
 37325  		goto __237
 37326  	}
 37327  	dc = dc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37328  	goto __238
 37329  __237:
 37330  	if !(dc&0x10 == Tuint32_t(0)) {
 37331  		goto __239
 37332  	}
 37333  	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
 37334  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 37335  	goto __240
 37336  __239:
 37337  	if !(dc&0x08 == Tuint32_t(0)) {
 37338  		goto __241
 37339  	}
 37340  	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
 37341  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 37342  	goto __242
 37343  __241:
 37344  	if !(dc&0x04 == Tuint32_t(0)) {
 37345  		goto __243
 37346  	}
 37347  	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
 37348  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 37349  	goto __244
 37350  __243:
 37351  	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
 37352  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 37353  __244:
 37354  	;
 37355  __242:
 37356  	;
 37357  __240:
 37358  	;
 37359  __238:
 37360  	;
 37361  __236:
 37362  	;
 37363  
 37364  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37365  	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)) {
 37366  		goto __245
 37367  	}
 37368  	rrc = DMATCH_NOMATCH
 37369  	goto RETURN_SWITCH
 37370  __245:
 37371  	;
 37372  
 37373  __234:
 37374  	;
 37375  	goto __223
 37376  __222:
 37377  	if !(ucp != 0) {
 37378  		goto __246
 37379  	}
 37380  
 37381  	cc1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37382  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37383  	if !(fc < Tuint32_t(128)) {
 37384  		goto __248
 37385  	}
 37386  
 37387  	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))))) {
 37388  		goto __250
 37389  	}
 37390  	rrc = DMATCH_NOMATCH
 37391  	goto RETURN_SWITCH
 37392  __250:
 37393  	;
 37394  
 37395  	goto __249
 37396  __248:
 37397  
 37398  	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)) {
 37399  		goto __251
 37400  	}
 37401  	rrc = DMATCH_NOMATCH
 37402  	goto RETURN_SWITCH
 37403  __251:
 37404  	;
 37405  
 37406  __249:
 37407  	;
 37408  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37409  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37410  	goto __247
 37411  __246:
 37412  
 37413  	/* Not UTF or UCP mode; use the table for characters < 256. */
 37414  
 37415  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))))) !=
 37416  		int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))) {
 37417  		goto __252
 37418  	}
 37419  	rrc = DMATCH_NOMATCH
 37420  	goto RETURN_SWITCH
 37421  __252:
 37422  	;
 37423  
 37424  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37425  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37426  __247:
 37427  	;
 37428  __223:
 37429  	;
 37430  	goto __13
 37431  
 37432  	// =====================================================================
 37433  	// Match not a single character.
 37434  
 37435  __23:
 37436  __24:
 37437  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37438  		goto __253
 37439  	}
 37440  
 37441  	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)) {
 37442  		goto __254
 37443  	}
 37444  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37445  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37446  		goto __255
 37447  	}
 37448  	return -2
 37449  __255:
 37450  	;
 37451  __254:
 37452  	;
 37453  
 37454  	rrc = DMATCH_NOMATCH
 37455  	goto RETURN_SWITCH
 37456  
 37457  __253:
 37458  	;
 37459  
 37460  	if !(utf != 0) {
 37461  		goto __256
 37462  	}
 37463  
 37464  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37465  	ch = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 37466  	if !(ch >= 0xc0) {
 37467  		goto __258
 37468  	}
 37469  	if !(ch&0x20 == Tuint32_t(0)) {
 37470  		goto __259
 37471  	}
 37472  	ch = ch&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 37473  	goto __260
 37474  __259:
 37475  	if !(ch&0x10 == Tuint32_t(0)) {
 37476  		goto __261
 37477  	}
 37478  	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
 37479  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37480  	goto __262
 37481  __261:
 37482  	if !(ch&0x08 == Tuint32_t(0)) {
 37483  		goto __263
 37484  	}
 37485  	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
 37486  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 37487  	goto __264
 37488  __263:
 37489  	if !(ch&0x04 == Tuint32_t(0)) {
 37490  		goto __265
 37491  	}
 37492  	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
 37493  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 37494  	goto __266
 37495  __265:
 37496  	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
 37497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 37498  __266:
 37499  	;
 37500  __264:
 37501  	;
 37502  __262:
 37503  	;
 37504  __260:
 37505  	;
 37506  __258:
 37507  	;
 37508  
 37509  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37510  	if !(fc >= 0xc0) {
 37511  		goto __267
 37512  	}
 37513  	if !(fc&0x20 == Tuint32_t(0)) {
 37514  		goto __268
 37515  	}
 37516  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37517  	goto __269
 37518  __268:
 37519  	if !(fc&0x10 == Tuint32_t(0)) {
 37520  		goto __270
 37521  	}
 37522  	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
 37523  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 37524  	goto __271
 37525  __270:
 37526  	if !(fc&0x08 == Tuint32_t(0)) {
 37527  		goto __272
 37528  	}
 37529  	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
 37530  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 37531  	goto __273
 37532  __272:
 37533  	if !(fc&0x04 == Tuint32_t(0)) {
 37534  		goto __274
 37535  	}
 37536  	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
 37537  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 37538  	goto __275
 37539  __274:
 37540  	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
 37541  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 37542  __275:
 37543  	;
 37544  __273:
 37545  	;
 37546  __271:
 37547  	;
 37548  __269:
 37549  	;
 37550  __267:
 37551  	;
 37552  
 37553  	if !(ch == fc) {
 37554  		goto __276
 37555  	}
 37556  
 37557  	rrc = DMATCH_NOMATCH
 37558  	goto RETURN_SWITCH
 37559  	// Caseful match
 37560  	goto __277
 37561  __276:
 37562  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37563  		goto __278
 37564  	} /* If caseless */
 37565  
 37566  	if !(ch > Tuint32_t(127)) {
 37567  		goto __279
 37568  	}
 37569  	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)
 37570  	goto __280
 37571  __279:
 37572  	ch = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch))))
 37573  __280:
 37574  	;
 37575  	if !(ch == fc) {
 37576  		goto __281
 37577  	}
 37578  	rrc = DMATCH_NOMATCH
 37579  	goto RETURN_SWITCH
 37580  __281:
 37581  	;
 37582  
 37583  __278:
 37584  	;
 37585  __277:
 37586  	;
 37587  	goto __257
 37588  __256:
 37589  	if !(ucp != 0) {
 37590  		goto __282
 37591  	}
 37592  
 37593  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37594  	ch1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37595  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37596  
 37597  	if !(ch1 == fc) {
 37598  		goto __284
 37599  	}
 37600  
 37601  	rrc = DMATCH_NOMATCH
 37602  	goto RETURN_SWITCH
 37603  	// Caseful match
 37604  	goto __285
 37605  __284:
 37606  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37607  		goto __286
 37608  	} /* If caseless */
 37609  
 37610  	if !(ch1 > Tuint32_t(127)) {
 37611  		goto __287
 37612  	}
 37613  	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)
 37614  	goto __288
 37615  __287:
 37616  	ch1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch1))))
 37617  __288:
 37618  	;
 37619  	if !(ch1 == fc) {
 37620  		goto __289
 37621  	}
 37622  	rrc = DMATCH_NOMATCH
 37623  	goto RETURN_SWITCH
 37624  __289:
 37625  	;
 37626  
 37627  __286:
 37628  	;
 37629  __285:
 37630  	;
 37631  	goto __283
 37632  __282:
 37633  
 37634  	/* Neither UTF nor UCP is set */
 37635  
 37636  	ch2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37637  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37638  	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) {
 37639  		goto __290
 37640  	}
 37641  	rrc = DMATCH_NOMATCH
 37642  	goto RETURN_SWITCH
 37643  __290:
 37644  	;
 37645  
 37646  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37647  __283:
 37648  	;
 37649  __257:
 37650  	;
 37651  	goto __13
 37652  
 37653  	// =====================================================================
 37654  	// Match a single character repeatedly.
 37655  
 37656  __25:
 37657  __26:
 37658  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = libc.AssignPtrUint32(F+32+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)))))
 37659  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37660  	goto REPEATCHAR
 37661  
 37662  __27:
 37663  __28:
 37664  	reptype = REPTYPE_POS
 37665  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 37666  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 37667  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37668  	goto REPEATCHAR
 37669  
 37670  __29:
 37671  __30:
 37672  	reptype = REPTYPE_MAX
 37673  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 37674  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 37675  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37676  	goto REPEATCHAR
 37677  
 37678  __31:
 37679  __32:
 37680  	reptype = REPTYPE_MIN
 37681  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 37682  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 37683  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37684  	goto REPEATCHAR
 37685  
 37686  __33:
 37687  __34:
 37688  	reptype = REPTYPE_POS
 37689  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 37690  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 37691  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37692  	goto REPEATCHAR
 37693  
 37694  __35:
 37695  __36:
 37696  	reptype = REPTYPE_POS
 37697  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(1)
 37698  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 37699  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37700  	goto REPEATCHAR
 37701  
 37702  __37:
 37703  __38:
 37704  	reptype = REPTYPE_POS
 37705  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 37706  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = Tuint32_t(1)
 37707  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37708  	goto REPEATCHAR
 37709  
 37710  __39:
 37711  __40:
 37712  __41:
 37713  __42:
 37714  __43:
 37715  __44:
 37716  __45:
 37717  __46:
 37718  __47:
 37719  __48:
 37720  __49:
 37721  __50:
 37722  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 37723  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) < OP_STARI {
 37724  			return OP_STAR
 37725  		}
 37726  		return OP_STARI
 37727  	}())
 37728  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 37729  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 37730  	reptype = rep_typ[fc]
 37731  
 37732  	// Common code for all repeated single-character matches. We first check
 37733  	//     for the minimum number of characters. If the minimum equals the maximum, we
 37734  	//     are done. Otherwise, if minimizing, check the rest of the pattern for a
 37735  	//     match; if there isn't one, advance up to the maximum, one character at a
 37736  	//     time.
 37737  	//
 37738  	//     If maximizing, advance up to the maximum number of matching characters,
 37739  	//     until Feptr is past the end of the maximum run. If possessive, we are
 37740  	//     then done (no backing up). Otherwise, match at this position; anything
 37741  	//     other than no match is immediately returned. For nomatch, back up one
 37742  	//     character, unless we are matching \R and the last thing matched was
 37743  	//     \r\n, in which case, back up two code units until we reach the first
 37744  	//     optional character position.
 37745  	//
 37746  	//     The various UTF/non-UTF and caseful/caseless cases are handled separately,
 37747  	//     for speed.
 37748  
 37749  REPEATCHAR:
 37750  	if !(utf != 0) {
 37751  		goto __291
 37752  	}
 37753  
 37754  	(*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(1)
 37755  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37756  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37757  	if !(fc >= 0xc0) {
 37758  		goto __293
 37759  	}
 37760  	if !(fc&0x20 == Tuint32_t(0)) {
 37761  		goto __294
 37762  	}
 37763  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37764  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37765  	goto __295
 37766  __294:
 37767  	if !(fc&0x10 == Tuint32_t(0)) {
 37768  		goto __296
 37769  	}
 37770  	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
 37771  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(2)
 37772  	goto __297
 37773  __296:
 37774  	if !(fc&0x08 == Tuint32_t(0)) {
 37775  		goto __298
 37776  	}
 37777  	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
 37778  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(3)
 37779  	goto __299
 37780  __298:
 37781  	if !(fc&0x04 == Tuint32_t(0)) {
 37782  		goto __300
 37783  	}
 37784  	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
 37785  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(4)
 37786  	goto __301
 37787  __300:
 37788  	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
 37789  	*(*Tsize_t)(unsafe.Pointer(F + 12)) += Tsize_t(5)
 37790  __301:
 37791  	;
 37792  __299:
 37793  	;
 37794  __297:
 37795  	;
 37796  __295:
 37797  	;
 37798  __293:
 37799  	;
 37800  
 37801  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37802  
 37803  	// Handle multi-code-unit character matching, caseful and caseless.
 37804  
 37805  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t(1)) {
 37806  		goto __302
 37807  	}
 37808  
 37809  	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) {
 37810  		goto __303
 37811  	}
 37812  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(X_pcre2_ord2utf_8(tls, othercase, F+50))
 37813  	goto __304
 37814  __303:
 37815  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(0)
 37816  __304:
 37817  	;
 37818  
 37819  	i = Tuint32_t(1)
 37820  __305:
 37821  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 37822  		goto __307
 37823  	}
 37824  
 37825  	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 + 4 + 1*4)), (*Theapframe)(unsafe.Pointer(F)).Flength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37826  		goto __308
 37827  	}
 37828  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37829  	goto __309
 37830  __308:
 37831  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > Tsize_t(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+50, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37832  		goto __310
 37833  	}
 37834  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37835  	goto __311
 37836  __310:
 37837  
 37838  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37839  		goto __312
 37840  	}
 37841  	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)) {
 37842  		goto __313
 37843  	}
 37844  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37845  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37846  		goto __314
 37847  	}
 37848  	return -2
 37849  __314:
 37850  	;
 37851  __313:
 37852  	;
 37853  __312:
 37854  	;
 37855  
 37856  	rrc = DMATCH_NOMATCH
 37857  	goto RETURN_SWITCH
 37858  
 37859  __311:
 37860  	;
 37861  __309:
 37862  	;
 37863  	goto __306
 37864  __306:
 37865  	i++
 37866  	goto __305
 37867  	goto __307
 37868  __307:
 37869  	;
 37870  
 37871  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 37872  		goto __315
 37873  	}
 37874  	goto __11
 37875  __315:
 37876  	;
 37877  
 37878  	if !(reptype == REPTYPE_MIN) {
 37879  		goto __316
 37880  	}
 37881  
 37882  __318:
 37883  
 37884  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37885  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM202
 37886  	goto MATCH_RECURSE
 37887  L_RM202:
 37888  	;
 37889  
 37890  	if !(rrc != DMATCH_NOMATCH) {
 37891  		goto __321
 37892  	}
 37893  	rrc = rrc
 37894  	goto RETURN_SWITCH
 37895  __321:
 37896  	;
 37897  
 37898  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 37899  		goto __322
 37900  	}
 37901  	rrc = DMATCH_NOMATCH
 37902  	goto RETURN_SWITCH
 37903  __322:
 37904  	;
 37905  
 37906  	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 + 4 + 1*4)), (*Theapframe)(unsafe.Pointer(F)).Flength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37907  		goto __323
 37908  	}
 37909  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37910  	goto __324
 37911  __323:
 37912  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > Tsize_t(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+50, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37913  		goto __325
 37914  	}
 37915  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37916  	goto __326
 37917  __325:
 37918  
 37919  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37920  		goto __327
 37921  	}
 37922  	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)) {
 37923  		goto __328
 37924  	}
 37925  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37926  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37927  		goto __329
 37928  	}
 37929  	return -2
 37930  __329:
 37931  	;
 37932  __328:
 37933  	;
 37934  __327:
 37935  	;
 37936  
 37937  	rrc = DMATCH_NOMATCH
 37938  	goto RETURN_SWITCH
 37939  
 37940  __326:
 37941  	;
 37942  __324:
 37943  	;
 37944  	goto __319
 37945  __319:
 37946  	goto __318
 37947  	goto __320
 37948  __320:
 37949  	;
 37950  	// Control never gets here
 37951  	goto __317
 37952  __316: /* Maximize */
 37953  
 37954  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 37955  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 37956  __330:
 37957  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 37958  		goto __332
 37959  	}
 37960  
 37961  	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 + 4 + 1*4)), (*Theapframe)(unsafe.Pointer(F)).Flength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37962  		goto __333
 37963  	}
 37964  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37965  	goto __334
 37966  __333:
 37967  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > Tsize_t(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+50, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37968  		goto __335
 37969  	}
 37970  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37971  	goto __336
 37972  __335:
 37973  
 37974  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37975  		goto __337
 37976  	}
 37977  	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)) {
 37978  		goto __338
 37979  	}
 37980  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37981  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37982  		goto __339
 37983  	}
 37984  	return -2
 37985  __339:
 37986  	;
 37987  __338:
 37988  	;
 37989  __337:
 37990  	;
 37991  
 37992  	goto __332
 37993  __336:
 37994  	;
 37995  __334:
 37996  	;
 37997  	goto __331
 37998  __331:
 37999  	i++
 38000  	goto __330
 38001  	goto __332
 38002  __332:
 38003  	;
 38004  
 38005  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 38006  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 38007  	//           go too far.
 38008  
 38009  	if !(reptype != REPTYPE_POS) {
 38010  		goto __340
 38011  	}
 38012  __341:
 38013  
 38014  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 38015  		goto __344
 38016  	}
 38017  	goto __343
 38018  __344:
 38019  	;
 38020  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38021  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM203
 38022  	goto MATCH_RECURSE
 38023  L_RM203:
 38024  	;
 38025  
 38026  	if !(rrc != DMATCH_NOMATCH) {
 38027  		goto __345
 38028  	}
 38029  	rrc = rrc
 38030  	goto RETURN_SWITCH
 38031  __345:
 38032  	;
 38033  
 38034  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38035  __346:
 38036  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 38037  		goto __347
 38038  	}
 38039  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38040  	goto __346
 38041  __347:
 38042  	;
 38043  	goto __342
 38044  __342:
 38045  	goto __341
 38046  	goto __343
 38047  __343:
 38048  	;
 38049  __340:
 38050  	;
 38051  __317:
 38052  	;
 38053  	goto __13 // End of repeated wide character handling
 38054  __302:
 38055  	;
 38056  
 38057  	// Length of UTF character is 1. Put it into the preserved variable and
 38058  	//       fall through to the non-UTF code.
 38059  
 38060  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = fc
 38061  	goto __292
 38062  __291:
 38063  
 38064  	// When not in UTF mode, load a single-code-unit character. Then proceed as
 38065  	//     above, using Unicode casing if either UTF or UCP is set.
 38066  
 38067  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38068  __292:
 38069  	;
 38070  
 38071  	// Caseless comparison
 38072  
 38073  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI) {
 38074  		goto __348
 38075  	}
 38076  
 38077  	if !(ucp != 0 && !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) > Tuint32_t(127)) {
 38078  		goto __350
 38079  	}
 38080  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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 + 32 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38081  	goto __351
 38082  __350:
 38083  	// Lc will be < 128 in UTF-8 mode.
 38084  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))))))
 38085  __351:
 38086  	;
 38087  
 38088  	i = Tuint32_t(1)
 38089  __352:
 38090  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 38091  		goto __354
 38092  	}
 38093  	// Faster than PCRE2_UCHAR
 38094  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38095  		goto __355
 38096  	}
 38097  
 38098  	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)) {
 38099  		goto __356
 38100  	}
 38101  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38102  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38103  		goto __357
 38104  	}
 38105  	return -2
 38106  __357:
 38107  	;
 38108  __356:
 38109  	;
 38110  
 38111  	rrc = DMATCH_NOMATCH
 38112  	goto RETURN_SWITCH
 38113  
 38114  __355:
 38115  	;
 38116  	cc2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38117  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != cc2 && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) != cc2) {
 38118  		goto __358
 38119  	}
 38120  	rrc = DMATCH_NOMATCH
 38121  	goto RETURN_SWITCH
 38122  __358:
 38123  	;
 38124  
 38125  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38126  	goto __353
 38127  __353:
 38128  	i++
 38129  	goto __352
 38130  	goto __354
 38131  __354:
 38132  	;
 38133  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38134  		goto __359
 38135  	}
 38136  	goto __11
 38137  __359:
 38138  	;
 38139  
 38140  	if !(reptype == REPTYPE_MIN) {
 38141  		goto __360
 38142  	}
 38143  
 38144  __362:
 38145  	/* Faster than PCRE2_UCHAR */
 38146  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38147  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM25
 38148  	goto MATCH_RECURSE
 38149  L_RM25:
 38150  	;
 38151  
 38152  	if !(rrc != DMATCH_NOMATCH) {
 38153  		goto __365
 38154  	}
 38155  	rrc = rrc
 38156  	goto RETURN_SWITCH
 38157  __365:
 38158  	;
 38159  
 38160  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38161  		goto __366
 38162  	}
 38163  	rrc = DMATCH_NOMATCH
 38164  	goto RETURN_SWITCH
 38165  __366:
 38166  	;
 38167  
 38168  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38169  		goto __367
 38170  	}
 38171  
 38172  	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)) {
 38173  		goto __368
 38174  	}
 38175  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38176  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38177  		goto __369
 38178  	}
 38179  	return -2
 38180  __369:
 38181  	;
 38182  __368:
 38183  	;
 38184  
 38185  	rrc = DMATCH_NOMATCH
 38186  	goto RETURN_SWITCH
 38187  
 38188  __367:
 38189  	;
 38190  	cc3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38191  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != cc3 && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) != cc3) {
 38192  		goto __370
 38193  	}
 38194  	rrc = DMATCH_NOMATCH
 38195  	goto RETURN_SWITCH
 38196  __370:
 38197  	;
 38198  
 38199  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38200  	goto __363
 38201  __363:
 38202  	goto __362
 38203  	goto __364
 38204  __364:
 38205  	;
 38206  	// Control never gets here
 38207  	goto __361
 38208  __360: /* Maximize */
 38209  
 38210  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38211  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 38212  __371:
 38213  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38214  		goto __373
 38215  	}
 38216  	// Faster than PCRE2_UCHAR
 38217  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38218  		goto __374
 38219  	}
 38220  
 38221  	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)) {
 38222  		goto __375
 38223  	}
 38224  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38225  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38226  		goto __376
 38227  	}
 38228  	return -2
 38229  __376:
 38230  	;
 38231  __375:
 38232  	;
 38233  
 38234  	goto __373
 38235  __374:
 38236  	;
 38237  	cc4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38238  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != cc4 && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) != cc4) {
 38239  		goto __377
 38240  	}
 38241  	goto __373
 38242  __377:
 38243  	;
 38244  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38245  	goto __372
 38246  __372:
 38247  	i++
 38248  	goto __371
 38249  	goto __373
 38250  __373:
 38251  	;
 38252  	if !(reptype != REPTYPE_POS) {
 38253  		goto __378
 38254  	}
 38255  __379:
 38256  
 38257  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 38258  		goto __382
 38259  	}
 38260  	goto __381
 38261  __382:
 38262  	;
 38263  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38264  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM26
 38265  	goto MATCH_RECURSE
 38266  L_RM26:
 38267  	;
 38268  
 38269  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38270  	if !(rrc != DMATCH_NOMATCH) {
 38271  		goto __383
 38272  	}
 38273  	rrc = rrc
 38274  	goto RETURN_SWITCH
 38275  __383:
 38276  	;
 38277  
 38278  	goto __380
 38279  __380:
 38280  	goto __379
 38281  	goto __381
 38282  __381:
 38283  	;
 38284  __378:
 38285  	;
 38286  __361:
 38287  	;
 38288  	goto __349
 38289  __348:
 38290  
 38291  	i = Tuint32_t(1)
 38292  __384:
 38293  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 38294  		goto __386
 38295  	}
 38296  
 38297  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38298  		goto __387
 38299  	}
 38300  
 38301  	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)) {
 38302  		goto __388
 38303  	}
 38304  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38305  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38306  		goto __389
 38307  	}
 38308  	return -2
 38309  __389:
 38310  	;
 38311  __388:
 38312  	;
 38313  
 38314  	rrc = DMATCH_NOMATCH
 38315  	goto RETURN_SWITCH
 38316  
 38317  __387:
 38318  	;
 38319  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38320  		goto __390
 38321  	}
 38322  	rrc = DMATCH_NOMATCH
 38323  	goto RETURN_SWITCH
 38324  __390:
 38325  	;
 38326  
 38327  	goto __385
 38328  __385:
 38329  	i++
 38330  	goto __384
 38331  	goto __386
 38332  __386:
 38333  	;
 38334  
 38335  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38336  		goto __391
 38337  	}
 38338  	goto __11
 38339  __391:
 38340  	;
 38341  
 38342  	if !(reptype == REPTYPE_MIN) {
 38343  		goto __392
 38344  	}
 38345  
 38346  __394:
 38347  
 38348  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38349  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM27
 38350  	goto MATCH_RECURSE
 38351  L_RM27:
 38352  	;
 38353  
 38354  	if !(rrc != DMATCH_NOMATCH) {
 38355  		goto __397
 38356  	}
 38357  	rrc = rrc
 38358  	goto RETURN_SWITCH
 38359  __397:
 38360  	;
 38361  
 38362  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38363  		goto __398
 38364  	}
 38365  	rrc = DMATCH_NOMATCH
 38366  	goto RETURN_SWITCH
 38367  __398:
 38368  	;
 38369  
 38370  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38371  		goto __399
 38372  	}
 38373  
 38374  	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)) {
 38375  		goto __400
 38376  	}
 38377  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38378  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38379  		goto __401
 38380  	}
 38381  	return -2
 38382  __401:
 38383  	;
 38384  __400:
 38385  	;
 38386  
 38387  	rrc = DMATCH_NOMATCH
 38388  	goto RETURN_SWITCH
 38389  
 38390  __399:
 38391  	;
 38392  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38393  		goto __402
 38394  	}
 38395  	rrc = DMATCH_NOMATCH
 38396  	goto RETURN_SWITCH
 38397  __402:
 38398  	;
 38399  
 38400  	goto __395
 38401  __395:
 38402  	goto __394
 38403  	goto __396
 38404  __396:
 38405  	;
 38406  	// Control never gets here
 38407  	goto __393
 38408  __392: /* Maximize */
 38409  
 38410  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38411  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 38412  __403:
 38413  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38414  		goto __405
 38415  	}
 38416  
 38417  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38418  		goto __406
 38419  	}
 38420  
 38421  	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)) {
 38422  		goto __407
 38423  	}
 38424  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38425  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38426  		goto __408
 38427  	}
 38428  	return -2
 38429  __408:
 38430  	;
 38431  __407:
 38432  	;
 38433  
 38434  	goto __405
 38435  __406:
 38436  	;
 38437  
 38438  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38439  		goto __409
 38440  	}
 38441  	goto __405
 38442  __409:
 38443  	;
 38444  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38445  	goto __404
 38446  __404:
 38447  	i++
 38448  	goto __403
 38449  	goto __405
 38450  __405:
 38451  	;
 38452  
 38453  	if !(reptype != REPTYPE_POS) {
 38454  		goto __410
 38455  	}
 38456  __411:
 38457  
 38458  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 38459  		goto __414
 38460  	}
 38461  	goto __413
 38462  __414:
 38463  	;
 38464  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38465  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM28
 38466  	goto MATCH_RECURSE
 38467  L_RM28:
 38468  	;
 38469  
 38470  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38471  	if !(rrc != DMATCH_NOMATCH) {
 38472  		goto __415
 38473  	}
 38474  	rrc = rrc
 38475  	goto RETURN_SWITCH
 38476  __415:
 38477  	;
 38478  
 38479  	goto __412
 38480  __412:
 38481  	goto __411
 38482  	goto __413
 38483  __413:
 38484  	;
 38485  __410:
 38486  	;
 38487  __393:
 38488  	;
 38489  __349:
 38490  	;
 38491  	goto __13
 38492  
 38493  	// =====================================================================
 38494  	// Match a negated single one-byte character repeatedly. This is almost a
 38495  	//     repeat of the code for a repeated single character, but I haven't found a
 38496  	//     nice way of commoning these up that doesn't require a test of the
 38497  	//     positive/negative option for each character match. Maybe that wouldn't add
 38498  	//     very much to the time taken, but character matching *is* what this is all
 38499  	//     about...
 38500  
 38501  __51:
 38502  __52:
 38503  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = libc.AssignPtrUint32(F+32+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)))))
 38504  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38505  	goto REPEATNOTCHAR
 38506  
 38507  __53:
 38508  __54:
 38509  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 38510  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 38511  	reptype = REPTYPE_MAX
 38512  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38513  	goto REPEATNOTCHAR
 38514  
 38515  __55:
 38516  __56:
 38517  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 38518  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 38519  	reptype = REPTYPE_MIN
 38520  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38521  	goto REPEATNOTCHAR
 38522  
 38523  __57:
 38524  __58:
 38525  	reptype = REPTYPE_POS
 38526  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 38527  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 38528  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38529  	goto REPEATNOTCHAR
 38530  
 38531  __59:
 38532  __60:
 38533  	reptype = REPTYPE_POS
 38534  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(1)
 38535  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 38536  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38537  	goto REPEATNOTCHAR
 38538  
 38539  __61:
 38540  __62:
 38541  	reptype = REPTYPE_POS
 38542  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 38543  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = Tuint32_t(1)
 38544  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38545  	goto REPEATNOTCHAR
 38546  
 38547  __63:
 38548  __64:
 38549  	reptype = REPTYPE_POS
 38550  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 38551  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 38552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38553  	goto REPEATNOTCHAR
 38554  
 38555  __65:
 38556  __66:
 38557  __67:
 38558  __68:
 38559  __69:
 38560  __70:
 38561  __71:
 38562  __72:
 38563  __73:
 38564  __74:
 38565  __75:
 38566  __76:
 38567  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 38568  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI {
 38569  			return OP_NOTSTARI
 38570  		}
 38571  		return OP_NOTSTAR
 38572  	}())
 38573  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 38574  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 38575  	reptype = rep_typ[fc]
 38576  
 38577  	// Common code for all repeated single-character non-matches.
 38578  
 38579  REPEATNOTCHAR:
 38580  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38581  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) >= 0xc0) {
 38582  		goto __416
 38583  	}
 38584  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))&0x20 == Tuint32_t(0)) {
 38585  		goto __417
 38586  	}
 38587  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 38588  	goto __418
 38589  __417:
 38590  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))&0x10 == Tuint32_t(0)) {
 38591  		goto __419
 38592  	}
 38593  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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
 38594  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 38595  	goto __420
 38596  __419:
 38597  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))&0x08 == Tuint32_t(0)) {
 38598  		goto __421
 38599  	}
 38600  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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
 38601  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 38602  	goto __422
 38603  __421:
 38604  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))&0x04 == Tuint32_t(0)) {
 38605  		goto __423
 38606  	}
 38607  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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
 38608  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 38609  	goto __424
 38610  __423:
 38611  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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
 38612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 38613  __424:
 38614  	;
 38615  __422:
 38616  	;
 38617  __420:
 38618  	;
 38619  __418:
 38620  	;
 38621  __416:
 38622  	;
 38623  
 38624  	// The code is duplicated for the caseless and caseful cases, for speed,
 38625  	//     since matching characters is likely to be quite common. First, ensure the
 38626  	//     minimum number of matches are present. If Lmin = Lmax, we are done.
 38627  	//     Otherwise, if minimizing, keep trying the rest of the expression and
 38628  	//     advancing one matching character if failing, up to the maximum.
 38629  	//     Alternatively, if maximizing, find the maximum number of characters and
 38630  	//     work backwards.
 38631  
 38632  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI) {
 38633  		goto __425
 38634  	} /* Caseless */
 38635  
 38636  	if !((utf != 0 || ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) > Tuint32_t(127)) {
 38637  		goto __427
 38638  	}
 38639  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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 + 32 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38640  	goto __428
 38641  __427:
 38642  
 38643  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))))))
 38644  __428:
 38645  	; // Other case from table
 38646  
 38647  	if !(utf != 0) {
 38648  		goto __429
 38649  	}
 38650  
 38651  	i = Tuint32_t(1)
 38652  __431:
 38653  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 38654  		goto __433
 38655  	}
 38656  
 38657  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38658  		goto __434
 38659  	}
 38660  
 38661  	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)) {
 38662  		goto __435
 38663  	}
 38664  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38665  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38666  		goto __436
 38667  	}
 38668  	return -2
 38669  __436:
 38670  	;
 38671  __435:
 38672  	;
 38673  
 38674  	rrc = DMATCH_NOMATCH
 38675  	goto RETURN_SWITCH
 38676  
 38677  __434:
 38678  	;
 38679  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38680  	if !(d >= 0xc0) {
 38681  		goto __437
 38682  	}
 38683  	if !(d&0x20 == Tuint32_t(0)) {
 38684  		goto __438
 38685  	}
 38686  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38687  	goto __439
 38688  __438:
 38689  	if !(d&0x10 == Tuint32_t(0)) {
 38690  		goto __440
 38691  	}
 38692  	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
 38693  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 38694  	goto __441
 38695  __440:
 38696  	if !(d&0x08 == Tuint32_t(0)) {
 38697  		goto __442
 38698  	}
 38699  	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
 38700  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 38701  	goto __443
 38702  __442:
 38703  	if !(d&0x04 == Tuint32_t(0)) {
 38704  		goto __444
 38705  	}
 38706  	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
 38707  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 38708  	goto __445
 38709  __444:
 38710  	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
 38711  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 38712  __445:
 38713  	;
 38714  __443:
 38715  	;
 38716  __441:
 38717  	;
 38718  __439:
 38719  	;
 38720  __437:
 38721  	;
 38722  
 38723  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == d) {
 38724  		goto __446
 38725  	}
 38726  	rrc = DMATCH_NOMATCH
 38727  	goto RETURN_SWITCH
 38728  __446:
 38729  	;
 38730  
 38731  	goto __432
 38732  __432:
 38733  	i++
 38734  	goto __431
 38735  	goto __433
 38736  __433:
 38737  	;
 38738  	goto __430
 38739  __429:
 38740  
 38741  	/* Not UTF mode */
 38742  
 38743  	i = Tuint32_t(1)
 38744  __447:
 38745  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 38746  		goto __449
 38747  	}
 38748  
 38749  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38750  		goto __450
 38751  	}
 38752  
 38753  	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)) {
 38754  		goto __451
 38755  	}
 38756  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38757  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38758  		goto __452
 38759  	}
 38760  	return -2
 38761  __452:
 38762  	;
 38763  __451:
 38764  	;
 38765  
 38766  	rrc = DMATCH_NOMATCH
 38767  	goto RETURN_SWITCH
 38768  
 38769  __450:
 38770  	;
 38771  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38772  		goto __453
 38773  	}
 38774  	rrc = DMATCH_NOMATCH
 38775  	goto RETURN_SWITCH
 38776  __453:
 38777  	;
 38778  
 38779  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38780  	goto __448
 38781  __448:
 38782  	i++
 38783  	goto __447
 38784  	goto __449
 38785  __449:
 38786  	;
 38787  __430:
 38788  	;
 38789  
 38790  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38791  		goto __454
 38792  	}
 38793  	goto __11
 38794  __454:
 38795  	; // Finished for exact count
 38796  
 38797  	if !(reptype == REPTYPE_MIN) {
 38798  		goto __455
 38799  	}
 38800  
 38801  	if !(utf != 0) {
 38802  		goto __457
 38803  	}
 38804  
 38805  __459:
 38806  
 38807  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38808  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM204
 38809  	goto MATCH_RECURSE
 38810  L_RM204:
 38811  	;
 38812  
 38813  	if !(rrc != DMATCH_NOMATCH) {
 38814  		goto __462
 38815  	}
 38816  	rrc = rrc
 38817  	goto RETURN_SWITCH
 38818  __462:
 38819  	;
 38820  
 38821  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38822  		goto __463
 38823  	}
 38824  	rrc = DMATCH_NOMATCH
 38825  	goto RETURN_SWITCH
 38826  __463:
 38827  	;
 38828  
 38829  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38830  		goto __464
 38831  	}
 38832  
 38833  	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)) {
 38834  		goto __465
 38835  	}
 38836  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38837  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38838  		goto __466
 38839  	}
 38840  	return -2
 38841  __466:
 38842  	;
 38843  __465:
 38844  	;
 38845  
 38846  	rrc = DMATCH_NOMATCH
 38847  	goto RETURN_SWITCH
 38848  
 38849  __464:
 38850  	;
 38851  	d1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38852  	if !(d1 >= 0xc0) {
 38853  		goto __467
 38854  	}
 38855  	if !(d1&0x20 == Tuint32_t(0)) {
 38856  		goto __468
 38857  	}
 38858  	d1 = d1&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38859  	goto __469
 38860  __468:
 38861  	if !(d1&0x10 == Tuint32_t(0)) {
 38862  		goto __470
 38863  	}
 38864  	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
 38865  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 38866  	goto __471
 38867  __470:
 38868  	if !(d1&0x08 == Tuint32_t(0)) {
 38869  		goto __472
 38870  	}
 38871  	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
 38872  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 38873  	goto __473
 38874  __472:
 38875  	if !(d1&0x04 == Tuint32_t(0)) {
 38876  		goto __474
 38877  	}
 38878  	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
 38879  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 38880  	goto __475
 38881  __474:
 38882  	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
 38883  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 38884  __475:
 38885  	;
 38886  __473:
 38887  	;
 38888  __471:
 38889  	;
 38890  __469:
 38891  	;
 38892  __467:
 38893  	;
 38894  
 38895  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d1 || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == d1) {
 38896  		goto __476
 38897  	}
 38898  	rrc = DMATCH_NOMATCH
 38899  	goto RETURN_SWITCH
 38900  __476:
 38901  	;
 38902  
 38903  	goto __460
 38904  __460:
 38905  	goto __459
 38906  	goto __461
 38907  __461:
 38908  	;
 38909  	goto __458
 38910  __457:
 38911  
 38912  	/* Not UTF mode */
 38913  
 38914  __477:
 38915  
 38916  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38917  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM29
 38918  	goto MATCH_RECURSE
 38919  L_RM29:
 38920  	;
 38921  
 38922  	if !(rrc != DMATCH_NOMATCH) {
 38923  		goto __480
 38924  	}
 38925  	rrc = rrc
 38926  	goto RETURN_SWITCH
 38927  __480:
 38928  	;
 38929  
 38930  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38931  		goto __481
 38932  	}
 38933  	rrc = DMATCH_NOMATCH
 38934  	goto RETURN_SWITCH
 38935  __481:
 38936  	;
 38937  
 38938  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38939  		goto __482
 38940  	}
 38941  
 38942  	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)) {
 38943  		goto __483
 38944  	}
 38945  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38946  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38947  		goto __484
 38948  	}
 38949  	return -2
 38950  __484:
 38951  	;
 38952  __483:
 38953  	;
 38954  
 38955  	rrc = DMATCH_NOMATCH
 38956  	goto RETURN_SWITCH
 38957  
 38958  __482:
 38959  	;
 38960  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38961  		goto __485
 38962  	}
 38963  	rrc = DMATCH_NOMATCH
 38964  	goto RETURN_SWITCH
 38965  __485:
 38966  	;
 38967  
 38968  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38969  	goto __478
 38970  __478:
 38971  	goto __477
 38972  	goto __479
 38973  __479:
 38974  	;
 38975  __458:
 38976  	;
 38977  	// Control never gets here
 38978  	goto __456
 38979  __455:
 38980  
 38981  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38982  
 38983  	if !(utf != 0) {
 38984  		goto __486
 38985  	}
 38986  
 38987  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 38988  __488:
 38989  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 38990  		goto __490
 38991  	}
 38992  
 38993  	len = 1
 38994  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38995  		goto __491
 38996  	}
 38997  
 38998  	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)) {
 38999  		goto __492
 39000  	}
 39001  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39002  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39003  		goto __493
 39004  	}
 39005  	return -2
 39006  __493:
 39007  	;
 39008  __492:
 39009  	;
 39010  
 39011  	goto __490
 39012  __491:
 39013  	;
 39014  	d2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39015  	if !(d2 >= 0xc0) {
 39016  		goto __494
 39017  	}
 39018  	if !(d2&0x20 == Tuint32_t(0)) {
 39019  		goto __495
 39020  	}
 39021  	d2 = d2&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39022  	len++
 39023  	goto __496
 39024  __495:
 39025  	if !(d2&0x10 == Tuint32_t(0)) {
 39026  		goto __497
 39027  	}
 39028  	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
 39029  	len = len + 2
 39030  	goto __498
 39031  __497:
 39032  	if !(d2&0x08 == Tuint32_t(0)) {
 39033  		goto __499
 39034  	}
 39035  	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
 39036  	len = len + 3
 39037  	goto __500
 39038  __499:
 39039  	if !(d2&0x04 == Tuint32_t(0)) {
 39040  		goto __501
 39041  	}
 39042  	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
 39043  	len = len + 4
 39044  	goto __502
 39045  __501:
 39046  	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
 39047  	len = len + 5
 39048  __502:
 39049  	;
 39050  __500:
 39051  	;
 39052  __498:
 39053  	;
 39054  __496:
 39055  	;
 39056  __494:
 39057  	;
 39058  
 39059  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d2 || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == d2) {
 39060  		goto __503
 39061  	}
 39062  	goto __490
 39063  __503:
 39064  	;
 39065  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len)
 39066  	goto __489
 39067  __489:
 39068  	i++
 39069  	goto __488
 39070  	goto __490
 39071  __490:
 39072  	;
 39073  
 39074  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39075  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39076  	//           go too far.
 39077  
 39078  	if !(reptype != REPTYPE_POS) {
 39079  		goto __504
 39080  	}
 39081  __505:
 39082  
 39083  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 39084  		goto __508
 39085  	}
 39086  	goto __507
 39087  __508:
 39088  	;
 39089  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39090  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM205
 39091  	goto MATCH_RECURSE
 39092  L_RM205:
 39093  	;
 39094  
 39095  	if !(rrc != DMATCH_NOMATCH) {
 39096  		goto __509
 39097  	}
 39098  	rrc = rrc
 39099  	goto RETURN_SWITCH
 39100  __509:
 39101  	;
 39102  
 39103  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39104  __510:
 39105  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39106  		goto __511
 39107  	}
 39108  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39109  	goto __510
 39110  __511:
 39111  	;
 39112  	goto __506
 39113  __506:
 39114  	goto __505
 39115  	goto __507
 39116  __507:
 39117  	;
 39118  __504:
 39119  	;
 39120  	goto __487
 39121  __486:
 39122  
 39123  	/* Not UTF mode */
 39124  
 39125  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 39126  __512:
 39127  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39128  		goto __514
 39129  	}
 39130  
 39131  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39132  		goto __515
 39133  	}
 39134  
 39135  	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)) {
 39136  		goto __516
 39137  	}
 39138  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39139  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39140  		goto __517
 39141  	}
 39142  	return -2
 39143  __517:
 39144  	;
 39145  __516:
 39146  	;
 39147  
 39148  	goto __514
 39149  __515:
 39150  	;
 39151  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39152  		goto __518
 39153  	}
 39154  	goto __514
 39155  __518:
 39156  	;
 39157  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39158  	goto __513
 39159  __513:
 39160  	i++
 39161  	goto __512
 39162  	goto __514
 39163  __514:
 39164  	;
 39165  	if !(reptype != REPTYPE_POS) {
 39166  		goto __519
 39167  	}
 39168  __520:
 39169  
 39170  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 39171  		goto __523
 39172  	}
 39173  	goto __522
 39174  __523:
 39175  	;
 39176  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39177  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM30
 39178  	goto MATCH_RECURSE
 39179  L_RM30:
 39180  	;
 39181  
 39182  	if !(rrc != DMATCH_NOMATCH) {
 39183  		goto __524
 39184  	}
 39185  	rrc = rrc
 39186  	goto RETURN_SWITCH
 39187  __524:
 39188  	;
 39189  
 39190  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39191  	goto __521
 39192  __521:
 39193  	goto __520
 39194  	goto __522
 39195  __522:
 39196  	;
 39197  __519:
 39198  	;
 39199  __487:
 39200  	;
 39201  __456:
 39202  	;
 39203  	goto __426
 39204  __425:
 39205  
 39206  	if !(utf != 0) {
 39207  		goto __525
 39208  	}
 39209  
 39210  	i = Tuint32_t(1)
 39211  __527:
 39212  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 39213  		goto __529
 39214  	}
 39215  
 39216  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39217  		goto __530
 39218  	}
 39219  
 39220  	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)) {
 39221  		goto __531
 39222  	}
 39223  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39224  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39225  		goto __532
 39226  	}
 39227  	return -2
 39228  __532:
 39229  	;
 39230  __531:
 39231  	;
 39232  
 39233  	rrc = DMATCH_NOMATCH
 39234  	goto RETURN_SWITCH
 39235  
 39236  __530:
 39237  	;
 39238  	d3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39239  	if !(d3 >= 0xc0) {
 39240  		goto __533
 39241  	}
 39242  	if !(d3&0x20 == Tuint32_t(0)) {
 39243  		goto __534
 39244  	}
 39245  	d3 = d3&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39246  	goto __535
 39247  __534:
 39248  	if !(d3&0x10 == Tuint32_t(0)) {
 39249  		goto __536
 39250  	}
 39251  	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
 39252  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 39253  	goto __537
 39254  __536:
 39255  	if !(d3&0x08 == Tuint32_t(0)) {
 39256  		goto __538
 39257  	}
 39258  	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
 39259  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 39260  	goto __539
 39261  __538:
 39262  	if !(d3&0x04 == Tuint32_t(0)) {
 39263  		goto __540
 39264  	}
 39265  	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
 39266  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 39267  	goto __541
 39268  __540:
 39269  	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
 39270  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 39271  __541:
 39272  	;
 39273  __539:
 39274  	;
 39275  __537:
 39276  	;
 39277  __535:
 39278  	;
 39279  __533:
 39280  	;
 39281  
 39282  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d3) {
 39283  		goto __542
 39284  	}
 39285  	rrc = DMATCH_NOMATCH
 39286  	goto RETURN_SWITCH
 39287  __542:
 39288  	;
 39289  
 39290  	goto __528
 39291  __528:
 39292  	i++
 39293  	goto __527
 39294  	goto __529
 39295  __529:
 39296  	;
 39297  	goto __526
 39298  __525:
 39299  	/* Not UTF mode */
 39300  
 39301  	i = Tuint32_t(1)
 39302  __543:
 39303  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 39304  		goto __545
 39305  	}
 39306  
 39307  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39308  		goto __546
 39309  	}
 39310  
 39311  	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)) {
 39312  		goto __547
 39313  	}
 39314  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39315  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39316  		goto __548
 39317  	}
 39318  	return -2
 39319  __548:
 39320  	;
 39321  __547:
 39322  	;
 39323  
 39324  	rrc = DMATCH_NOMATCH
 39325  	goto RETURN_SWITCH
 39326  
 39327  __546:
 39328  	;
 39329  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39330  		goto __549
 39331  	}
 39332  	rrc = DMATCH_NOMATCH
 39333  	goto RETURN_SWITCH
 39334  __549:
 39335  	;
 39336  
 39337  	goto __544
 39338  __544:
 39339  	i++
 39340  	goto __543
 39341  	goto __545
 39342  __545:
 39343  	;
 39344  __526:
 39345  	;
 39346  
 39347  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39348  		goto __550
 39349  	}
 39350  	goto __11
 39351  __550:
 39352  	;
 39353  
 39354  	if !(reptype == REPTYPE_MIN) {
 39355  		goto __551
 39356  	}
 39357  
 39358  	if !(utf != 0) {
 39359  		goto __553
 39360  	}
 39361  
 39362  __555:
 39363  
 39364  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39365  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM206
 39366  	goto MATCH_RECURSE
 39367  L_RM206:
 39368  	;
 39369  
 39370  	if !(rrc != DMATCH_NOMATCH) {
 39371  		goto __558
 39372  	}
 39373  	rrc = rrc
 39374  	goto RETURN_SWITCH
 39375  __558:
 39376  	;
 39377  
 39378  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39379  		goto __559
 39380  	}
 39381  	rrc = DMATCH_NOMATCH
 39382  	goto RETURN_SWITCH
 39383  __559:
 39384  	;
 39385  
 39386  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39387  		goto __560
 39388  	}
 39389  
 39390  	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)) {
 39391  		goto __561
 39392  	}
 39393  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39394  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39395  		goto __562
 39396  	}
 39397  	return -2
 39398  __562:
 39399  	;
 39400  __561:
 39401  	;
 39402  
 39403  	rrc = DMATCH_NOMATCH
 39404  	goto RETURN_SWITCH
 39405  
 39406  __560:
 39407  	;
 39408  	d4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39409  	if !(d4 >= 0xc0) {
 39410  		goto __563
 39411  	}
 39412  	if !(d4&0x20 == Tuint32_t(0)) {
 39413  		goto __564
 39414  	}
 39415  	d4 = d4&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39416  	goto __565
 39417  __564:
 39418  	if !(d4&0x10 == Tuint32_t(0)) {
 39419  		goto __566
 39420  	}
 39421  	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
 39422  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 39423  	goto __567
 39424  __566:
 39425  	if !(d4&0x08 == Tuint32_t(0)) {
 39426  		goto __568
 39427  	}
 39428  	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
 39429  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 39430  	goto __569
 39431  __568:
 39432  	if !(d4&0x04 == Tuint32_t(0)) {
 39433  		goto __570
 39434  	}
 39435  	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
 39436  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 39437  	goto __571
 39438  __570:
 39439  	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
 39440  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 39441  __571:
 39442  	;
 39443  __569:
 39444  	;
 39445  __567:
 39446  	;
 39447  __565:
 39448  	;
 39449  __563:
 39450  	;
 39451  
 39452  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d4) {
 39453  		goto __572
 39454  	}
 39455  	rrc = DMATCH_NOMATCH
 39456  	goto RETURN_SWITCH
 39457  __572:
 39458  	;
 39459  
 39460  	goto __556
 39461  __556:
 39462  	goto __555
 39463  	goto __557
 39464  __557:
 39465  	;
 39466  	goto __554
 39467  __553:
 39468  	/* Not UTF mode */
 39469  
 39470  __573:
 39471  
 39472  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39473  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM31
 39474  	goto MATCH_RECURSE
 39475  L_RM31:
 39476  	;
 39477  
 39478  	if !(rrc != DMATCH_NOMATCH) {
 39479  		goto __576
 39480  	}
 39481  	rrc = rrc
 39482  	goto RETURN_SWITCH
 39483  __576:
 39484  	;
 39485  
 39486  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39487  		goto __577
 39488  	}
 39489  	rrc = DMATCH_NOMATCH
 39490  	goto RETURN_SWITCH
 39491  __577:
 39492  	;
 39493  
 39494  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39495  		goto __578
 39496  	}
 39497  
 39498  	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)) {
 39499  		goto __579
 39500  	}
 39501  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39502  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39503  		goto __580
 39504  	}
 39505  	return -2
 39506  __580:
 39507  	;
 39508  __579:
 39509  	;
 39510  
 39511  	rrc = DMATCH_NOMATCH
 39512  	goto RETURN_SWITCH
 39513  
 39514  __578:
 39515  	;
 39516  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39517  		goto __581
 39518  	}
 39519  	rrc = DMATCH_NOMATCH
 39520  	goto RETURN_SWITCH
 39521  __581:
 39522  	;
 39523  
 39524  	goto __574
 39525  __574:
 39526  	goto __573
 39527  	goto __575
 39528  __575:
 39529  	;
 39530  __554:
 39531  	;
 39532  	// Control never gets here
 39533  	goto __552
 39534  __551:
 39535  
 39536  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 39537  
 39538  	if !(utf != 0) {
 39539  		goto __582
 39540  	}
 39541  
 39542  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 39543  __584:
 39544  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39545  		goto __586
 39546  	}
 39547  
 39548  	len1 = 1
 39549  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39550  		goto __587
 39551  	}
 39552  
 39553  	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)) {
 39554  		goto __588
 39555  	}
 39556  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39557  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39558  		goto __589
 39559  	}
 39560  	return -2
 39561  __589:
 39562  	;
 39563  __588:
 39564  	;
 39565  
 39566  	goto __586
 39567  __587:
 39568  	;
 39569  	d5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39570  	if !(d5 >= 0xc0) {
 39571  		goto __590
 39572  	}
 39573  	if !(d5&0x20 == Tuint32_t(0)) {
 39574  		goto __591
 39575  	}
 39576  	d5 = d5&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39577  	len1++
 39578  	goto __592
 39579  __591:
 39580  	if !(d5&0x10 == Tuint32_t(0)) {
 39581  		goto __593
 39582  	}
 39583  	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
 39584  	len1 = len1 + 2
 39585  	goto __594
 39586  __593:
 39587  	if !(d5&0x08 == Tuint32_t(0)) {
 39588  		goto __595
 39589  	}
 39590  	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
 39591  	len1 = len1 + 3
 39592  	goto __596
 39593  __595:
 39594  	if !(d5&0x04 == Tuint32_t(0)) {
 39595  		goto __597
 39596  	}
 39597  	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
 39598  	len1 = len1 + 4
 39599  	goto __598
 39600  __597:
 39601  	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
 39602  	len1 = len1 + 5
 39603  __598:
 39604  	;
 39605  __596:
 39606  	;
 39607  __594:
 39608  	;
 39609  __592:
 39610  	;
 39611  __590:
 39612  	;
 39613  
 39614  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == d5) {
 39615  		goto __599
 39616  	}
 39617  	goto __586
 39618  __599:
 39619  	;
 39620  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len1)
 39621  	goto __585
 39622  __585:
 39623  	i++
 39624  	goto __584
 39625  	goto __586
 39626  __586:
 39627  	;
 39628  
 39629  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39630  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39631  	//           go too far.
 39632  
 39633  	if !(reptype != REPTYPE_POS) {
 39634  		goto __600
 39635  	}
 39636  __601:
 39637  
 39638  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 39639  		goto __604
 39640  	}
 39641  	goto __603
 39642  __604:
 39643  	;
 39644  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39645  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM207
 39646  	goto MATCH_RECURSE
 39647  L_RM207:
 39648  	;
 39649  
 39650  	if !(rrc != DMATCH_NOMATCH) {
 39651  		goto __605
 39652  	}
 39653  	rrc = rrc
 39654  	goto RETURN_SWITCH
 39655  __605:
 39656  	;
 39657  
 39658  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39659  __606:
 39660  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39661  		goto __607
 39662  	}
 39663  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39664  	goto __606
 39665  __607:
 39666  	;
 39667  	goto __602
 39668  __602:
 39669  	goto __601
 39670  	goto __603
 39671  __603:
 39672  	;
 39673  __600:
 39674  	;
 39675  	goto __583
 39676  __582:
 39677  	/* Not UTF mode */
 39678  
 39679  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 39680  __608:
 39681  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 39682  		goto __610
 39683  	}
 39684  
 39685  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39686  		goto __611
 39687  	}
 39688  
 39689  	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)) {
 39690  		goto __612
 39691  	}
 39692  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39693  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39694  		goto __613
 39695  	}
 39696  	return -2
 39697  __613:
 39698  	;
 39699  __612:
 39700  	;
 39701  
 39702  	goto __610
 39703  __611:
 39704  	;
 39705  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39706  		goto __614
 39707  	}
 39708  	goto __610
 39709  __614:
 39710  	;
 39711  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39712  	goto __609
 39713  __609:
 39714  	i++
 39715  	goto __608
 39716  	goto __610
 39717  __610:
 39718  	;
 39719  	if !(reptype != REPTYPE_POS) {
 39720  		goto __615
 39721  	}
 39722  __616:
 39723  
 39724  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 39725  		goto __619
 39726  	}
 39727  	goto __618
 39728  __619:
 39729  	;
 39730  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39731  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM32
 39732  	goto MATCH_RECURSE
 39733  L_RM32:
 39734  	;
 39735  
 39736  	if !(rrc != DMATCH_NOMATCH) {
 39737  		goto __620
 39738  	}
 39739  	rrc = rrc
 39740  	goto RETURN_SWITCH
 39741  __620:
 39742  	;
 39743  
 39744  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39745  	goto __617
 39746  __617:
 39747  	goto __616
 39748  	goto __618
 39749  __618:
 39750  	;
 39751  __615:
 39752  	;
 39753  __583:
 39754  	;
 39755  __552:
 39756  	;
 39757  __426:
 39758  	;
 39759  	goto __13
 39760  
 39761  	// =====================================================================
 39762  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 39763  	//     are used when all the characters in the class have values in the range
 39764  	//     0-255, and either the matching is caseful, or the characters are in the
 39765  	//     range 0-127 when UTF processing is enabled. The only difference between
 39766  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 39767  	//     encountered.
 39768  
 39769  __77:
 39770  __78:
 39771  
 39772  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) // Save for matching
 39773  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(1) + uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) // Advance past the item
 39774  
 39775  	// Look past the end of the item to see if there is repeat information
 39776  	//       following. Then obey similar code to character type repeats.
 39777  
 39778  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 39779  	case OP_CRSTAR:
 39780  		goto __622
 39781  	case OP_CRMINSTAR:
 39782  		goto __623
 39783  	case OP_CRPLUS:
 39784  		goto __624
 39785  	case OP_CRMINPLUS:
 39786  		goto __625
 39787  	case OP_CRQUERY:
 39788  		goto __626
 39789  	case OP_CRMINQUERY:
 39790  		goto __627
 39791  	case OP_CRPOSSTAR:
 39792  		goto __628
 39793  	case OP_CRPOSPLUS:
 39794  		goto __629
 39795  	case OP_CRPOSQUERY:
 39796  		goto __630
 39797  
 39798  	case OP_CRRANGE:
 39799  		goto __631
 39800  	case OP_CRMINRANGE:
 39801  		goto __632
 39802  	case OP_CRPOSRANGE:
 39803  		goto __633
 39804  
 39805  	default:
 39806  		goto __634
 39807  	}
 39808  	goto __621
 39809  
 39810  __622:
 39811  __623:
 39812  __624:
 39813  __625:
 39814  __626:
 39815  __627:
 39816  __628:
 39817  __629:
 39818  __630:
 39819  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 39820  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 39821  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 39822  	reptype = rep_typ[fc]
 39823  	goto __621
 39824  
 39825  __631:
 39826  __632:
 39827  __633:
 39828  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 39829  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 39830  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) == Tuint32_t(0)) {
 39831  		goto __635
 39832  	}
 39833  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 39834  __635:
 39835  	; // Max 0 => infinity
 39836  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 39837  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 39838  	goto __621
 39839  
 39840  __634: // No repeat follows
 39841  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = libc.AssignPtrUint32(F+32+1*4, Tuint32_t(1))
 39842  	goto __621
 39843  __621:
 39844  	;
 39845  
 39846  	// First, ensure the minimum number of matches are present.
 39847  
 39848  	if !(utf != 0) {
 39849  		goto __636
 39850  	}
 39851  
 39852  	i = Tuint32_t(1)
 39853  __638:
 39854  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 39855  		goto __640
 39856  	}
 39857  
 39858  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39859  		goto __641
 39860  	}
 39861  
 39862  	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)) {
 39863  		goto __642
 39864  	}
 39865  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39866  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39867  		goto __643
 39868  	}
 39869  	return -2
 39870  __643:
 39871  	;
 39872  __642:
 39873  	;
 39874  
 39875  	rrc = DMATCH_NOMATCH
 39876  	goto RETURN_SWITCH
 39877  
 39878  __641:
 39879  	;
 39880  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39881  	if !(fc >= 0xc0) {
 39882  		goto __644
 39883  	}
 39884  	if !(fc&0x20 == Tuint32_t(0)) {
 39885  		goto __645
 39886  	}
 39887  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39888  	goto __646
 39889  __645:
 39890  	if !(fc&0x10 == Tuint32_t(0)) {
 39891  		goto __647
 39892  	}
 39893  	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
 39894  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 39895  	goto __648
 39896  __647:
 39897  	if !(fc&0x08 == Tuint32_t(0)) {
 39898  		goto __649
 39899  	}
 39900  	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
 39901  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 39902  	goto __650
 39903  __649:
 39904  	if !(fc&0x04 == Tuint32_t(0)) {
 39905  		goto __651
 39906  	}
 39907  	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
 39908  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 39909  	goto __652
 39910  __651:
 39911  	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
 39912  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 39913  __652:
 39914  	;
 39915  __650:
 39916  	;
 39917  __648:
 39918  	;
 39919  __646:
 39920  	;
 39921  __644:
 39922  	;
 39923  
 39924  	if !(fc > Tuint32_t(255)) {
 39925  		goto __653
 39926  	}
 39927  
 39928  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 39929  		goto __655
 39930  	}
 39931  	rrc = DMATCH_NOMATCH
 39932  	goto RETURN_SWITCH
 39933  __655:
 39934  	;
 39935  
 39936  	goto __654
 39937  __653:
 39938  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 39939  		goto __656
 39940  	}
 39941  	rrc = DMATCH_NOMATCH
 39942  	goto RETURN_SWITCH
 39943  __656:
 39944  	;
 39945  __654:
 39946  	;
 39947  
 39948  	goto __639
 39949  __639:
 39950  	i++
 39951  	goto __638
 39952  	goto __640
 39953  __640:
 39954  	;
 39955  	goto __637
 39956  __636:
 39957  	/* Not UTF mode */
 39958  
 39959  	i = Tuint32_t(1)
 39960  __657:
 39961  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 39962  		goto __659
 39963  	}
 39964  
 39965  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39966  		goto __660
 39967  	}
 39968  
 39969  	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)) {
 39970  		goto __661
 39971  	}
 39972  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39973  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39974  		goto __662
 39975  	}
 39976  	return -2
 39977  __662:
 39978  	;
 39979  __661:
 39980  	;
 39981  
 39982  	rrc = DMATCH_NOMATCH
 39983  	goto RETURN_SWITCH
 39984  
 39985  __660:
 39986  	;
 39987  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39988  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 39989  		goto __663
 39990  	}
 39991  	rrc = DMATCH_NOMATCH
 39992  	goto RETURN_SWITCH
 39993  __663:
 39994  	;
 39995  
 39996  	goto __658
 39997  __658:
 39998  	i++
 39999  	goto __657
 40000  	goto __659
 40001  __659:
 40002  	;
 40003  __637:
 40004  	;
 40005  
 40006  	// If Lmax == Lmin we are done. Continue with main loop.
 40007  
 40008  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40009  		goto __664
 40010  	}
 40011  	goto __11
 40012  __664:
 40013  	;
 40014  
 40015  	// If minimizing, keep testing the rest of the expression and advancing
 40016  	//       the pointer while it matches the class.
 40017  
 40018  	if !(reptype == REPTYPE_MIN) {
 40019  		goto __665
 40020  	}
 40021  
 40022  	if !(utf != 0) {
 40023  		goto __667
 40024  	}
 40025  
 40026  __669:
 40027  
 40028  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40029  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM200
 40030  	goto MATCH_RECURSE
 40031  L_RM200:
 40032  	;
 40033  
 40034  	if !(rrc != DMATCH_NOMATCH) {
 40035  		goto __672
 40036  	}
 40037  	rrc = rrc
 40038  	goto RETURN_SWITCH
 40039  __672:
 40040  	;
 40041  
 40042  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40043  		goto __673
 40044  	}
 40045  	rrc = DMATCH_NOMATCH
 40046  	goto RETURN_SWITCH
 40047  __673:
 40048  	;
 40049  
 40050  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40051  		goto __674
 40052  	}
 40053  
 40054  	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)) {
 40055  		goto __675
 40056  	}
 40057  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40058  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40059  		goto __676
 40060  	}
 40061  	return -2
 40062  __676:
 40063  	;
 40064  __675:
 40065  	;
 40066  
 40067  	rrc = DMATCH_NOMATCH
 40068  	goto RETURN_SWITCH
 40069  
 40070  __674:
 40071  	;
 40072  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40073  	if !(fc >= 0xc0) {
 40074  		goto __677
 40075  	}
 40076  	if !(fc&0x20 == Tuint32_t(0)) {
 40077  		goto __678
 40078  	}
 40079  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40080  	goto __679
 40081  __678:
 40082  	if !(fc&0x10 == Tuint32_t(0)) {
 40083  		goto __680
 40084  	}
 40085  	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
 40086  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 40087  	goto __681
 40088  __680:
 40089  	if !(fc&0x08 == Tuint32_t(0)) {
 40090  		goto __682
 40091  	}
 40092  	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
 40093  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 40094  	goto __683
 40095  __682:
 40096  	if !(fc&0x04 == Tuint32_t(0)) {
 40097  		goto __684
 40098  	}
 40099  	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
 40100  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 40101  	goto __685
 40102  __684:
 40103  	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
 40104  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 40105  __685:
 40106  	;
 40107  __683:
 40108  	;
 40109  __681:
 40110  	;
 40111  __679:
 40112  	;
 40113  __677:
 40114  	;
 40115  
 40116  	if !(fc > Tuint32_t(255)) {
 40117  		goto __686
 40118  	}
 40119  
 40120  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40121  		goto __688
 40122  	}
 40123  	rrc = DMATCH_NOMATCH
 40124  	goto RETURN_SWITCH
 40125  __688:
 40126  	;
 40127  
 40128  	goto __687
 40129  __686:
 40130  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40131  		goto __689
 40132  	}
 40133  	rrc = DMATCH_NOMATCH
 40134  	goto RETURN_SWITCH
 40135  __689:
 40136  	;
 40137  __687:
 40138  	;
 40139  
 40140  	goto __670
 40141  __670:
 40142  	goto __669
 40143  	goto __671
 40144  __671:
 40145  	;
 40146  	goto __668
 40147  __667:
 40148  	/* Not UTF mode */
 40149  
 40150  __690:
 40151  
 40152  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40153  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM23
 40154  	goto MATCH_RECURSE
 40155  L_RM23:
 40156  	;
 40157  
 40158  	if !(rrc != DMATCH_NOMATCH) {
 40159  		goto __693
 40160  	}
 40161  	rrc = rrc
 40162  	goto RETURN_SWITCH
 40163  __693:
 40164  	;
 40165  
 40166  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40167  		goto __694
 40168  	}
 40169  	rrc = DMATCH_NOMATCH
 40170  	goto RETURN_SWITCH
 40171  __694:
 40172  	;
 40173  
 40174  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40175  		goto __695
 40176  	}
 40177  
 40178  	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)) {
 40179  		goto __696
 40180  	}
 40181  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40182  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40183  		goto __697
 40184  	}
 40185  	return -2
 40186  __697:
 40187  	;
 40188  __696:
 40189  	;
 40190  
 40191  	rrc = DMATCH_NOMATCH
 40192  	goto RETURN_SWITCH
 40193  
 40194  __695:
 40195  	;
 40196  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40197  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40198  		goto __698
 40199  	}
 40200  	rrc = DMATCH_NOMATCH
 40201  	goto RETURN_SWITCH
 40202  __698:
 40203  	;
 40204  
 40205  	goto __691
 40206  __691:
 40207  	goto __690
 40208  	goto __692
 40209  __692:
 40210  	;
 40211  __668:
 40212  	;
 40213  	// Control never gets here
 40214  	goto __666
 40215  __665:
 40216  
 40217  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40218  
 40219  	if !(utf != 0) {
 40220  		goto __699
 40221  	}
 40222  
 40223  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 40224  __701:
 40225  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40226  		goto __703
 40227  	}
 40228  
 40229  	len2 = 1
 40230  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40231  		goto __704
 40232  	}
 40233  
 40234  	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)) {
 40235  		goto __705
 40236  	}
 40237  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40238  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40239  		goto __706
 40240  	}
 40241  	return -2
 40242  __706:
 40243  	;
 40244  __705:
 40245  	;
 40246  
 40247  	goto __703
 40248  __704:
 40249  	;
 40250  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40251  	if !(fc >= 0xc0) {
 40252  		goto __707
 40253  	}
 40254  	if !(fc&0x20 == Tuint32_t(0)) {
 40255  		goto __708
 40256  	}
 40257  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40258  	len2++
 40259  	goto __709
 40260  __708:
 40261  	if !(fc&0x10 == Tuint32_t(0)) {
 40262  		goto __710
 40263  	}
 40264  	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
 40265  	len2 = len2 + 2
 40266  	goto __711
 40267  __710:
 40268  	if !(fc&0x08 == Tuint32_t(0)) {
 40269  		goto __712
 40270  	}
 40271  	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
 40272  	len2 = len2 + 3
 40273  	goto __713
 40274  __712:
 40275  	if !(fc&0x04 == Tuint32_t(0)) {
 40276  		goto __714
 40277  	}
 40278  	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
 40279  	len2 = len2 + 4
 40280  	goto __715
 40281  __714:
 40282  	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
 40283  	len2 = len2 + 5
 40284  __715:
 40285  	;
 40286  __713:
 40287  	;
 40288  __711:
 40289  	;
 40290  __709:
 40291  	;
 40292  __707:
 40293  	;
 40294  
 40295  	if !(fc > Tuint32_t(255)) {
 40296  		goto __716
 40297  	}
 40298  
 40299  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40300  		goto __718
 40301  	}
 40302  	goto __703
 40303  __718:
 40304  	;
 40305  	goto __717
 40306  __716:
 40307  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40308  		goto __719
 40309  	}
 40310  	goto __703
 40311  __719:
 40312  	;
 40313  __717:
 40314  	;
 40315  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len2)
 40316  	goto __702
 40317  __702:
 40318  	i++
 40319  	goto __701
 40320  	goto __703
 40321  __703:
 40322  	;
 40323  
 40324  	if !(reptype == REPTYPE_POS) {
 40325  		goto __720
 40326  	}
 40327  	goto __11
 40328  __720:
 40329  	; // No backtracking
 40330  
 40331  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40332  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40333  	//           go too far.
 40334  
 40335  __721:
 40336  
 40337  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40338  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM201
 40339  	goto MATCH_RECURSE
 40340  L_RM201:
 40341  	;
 40342  
 40343  	if !(rrc != DMATCH_NOMATCH) {
 40344  		goto __724
 40345  	}
 40346  	rrc = rrc
 40347  	goto RETURN_SWITCH
 40348  __724:
 40349  	;
 40350  
 40351  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 40352  		goto __725
 40353  	}
 40354  	goto __723
 40355  __725:
 40356  	; // Tried at original position
 40357  __726:
 40358  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40359  		goto __727
 40360  	}
 40361  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40362  	goto __726
 40363  __727:
 40364  	;
 40365  	goto __722
 40366  __722:
 40367  	goto __721
 40368  	goto __723
 40369  __723:
 40370  	;
 40371  	goto __700
 40372  __699:
 40373  	/* Not UTF mode */
 40374  
 40375  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 40376  __728:
 40377  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40378  		goto __730
 40379  	}
 40380  
 40381  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40382  		goto __731
 40383  	}
 40384  
 40385  	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)) {
 40386  		goto __732
 40387  	}
 40388  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40389  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40390  		goto __733
 40391  	}
 40392  	return -2
 40393  __733:
 40394  	;
 40395  __732:
 40396  	;
 40397  
 40398  	goto __730
 40399  __731:
 40400  	;
 40401  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40402  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40403  		goto __734
 40404  	}
 40405  	goto __730
 40406  __734:
 40407  	;
 40408  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 40409  	goto __729
 40410  __729:
 40411  	i++
 40412  	goto __728
 40413  	goto __730
 40414  __730:
 40415  	;
 40416  
 40417  	if !(reptype == REPTYPE_POS) {
 40418  		goto __735
 40419  	}
 40420  	goto __11
 40421  __735:
 40422  	; // No backtracking
 40423  
 40424  __736:
 40425  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 40426  		goto __737
 40427  	}
 40428  
 40429  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40430  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM24
 40431  	goto MATCH_RECURSE
 40432  L_RM24:
 40433  	;
 40434  
 40435  	if !(rrc != DMATCH_NOMATCH) {
 40436  		goto __738
 40437  	}
 40438  	rrc = rrc
 40439  	goto RETURN_SWITCH
 40440  __738:
 40441  	;
 40442  
 40443  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40444  	goto __736
 40445  __737:
 40446  	;
 40447  __700:
 40448  	;
 40449  
 40450  	rrc = DMATCH_NOMATCH
 40451  	goto RETURN_SWITCH
 40452  
 40453  __666:
 40454  	;
 40455  
 40456  	// Control never gets here
 40457  
 40458  	// =====================================================================
 40459  	// Match an extended character class. In the 8-bit library, this opcode is
 40460  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 40461  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 40462  	//     UTF is not supported.
 40463  
 40464  __79:
 40465  
 40466  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) // Save for matching
 40467  	*(*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
 40468  
 40469  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 40470  	case OP_CRSTAR:
 40471  		goto __740
 40472  	case OP_CRMINSTAR:
 40473  		goto __741
 40474  	case OP_CRPLUS:
 40475  		goto __742
 40476  	case OP_CRMINPLUS:
 40477  		goto __743
 40478  	case OP_CRQUERY:
 40479  		goto __744
 40480  	case OP_CRMINQUERY:
 40481  		goto __745
 40482  	case OP_CRPOSSTAR:
 40483  		goto __746
 40484  	case OP_CRPOSPLUS:
 40485  		goto __747
 40486  	case OP_CRPOSQUERY:
 40487  		goto __748
 40488  
 40489  	case OP_CRRANGE:
 40490  		goto __749
 40491  	case OP_CRMINRANGE:
 40492  		goto __750
 40493  	case OP_CRPOSRANGE:
 40494  		goto __751
 40495  
 40496  	default:
 40497  		goto __752
 40498  	}
 40499  	goto __739
 40500  
 40501  __740:
 40502  __741:
 40503  __742:
 40504  __743:
 40505  __744:
 40506  __745:
 40507  __746:
 40508  __747:
 40509  __748:
 40510  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 40511  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 40512  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 40513  	reptype = rep_typ[fc]
 40514  	goto __739
 40515  
 40516  __749:
 40517  __750:
 40518  __751:
 40519  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 40520  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 40521  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) == Tuint32_t(0)) {
 40522  		goto __753
 40523  	}
 40524  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 40525  __753:
 40526  	; // Max 0 => infinity
 40527  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 40528  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 40529  	goto __739
 40530  
 40531  __752: // No repeat follows
 40532  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = libc.AssignPtrUint32(F+32+1*4, Tuint32_t(1))
 40533  	goto __739
 40534  __739:
 40535  	;
 40536  
 40537  	// First, ensure the minimum number of matches are present.
 40538  
 40539  	i = Tuint32_t(1)
 40540  __754:
 40541  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 40542  		goto __756
 40543  	}
 40544  
 40545  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40546  		goto __757
 40547  	}
 40548  
 40549  	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)) {
 40550  		goto __758
 40551  	}
 40552  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40553  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40554  		goto __759
 40555  	}
 40556  	return -2
 40557  __759:
 40558  	;
 40559  __758:
 40560  	;
 40561  
 40562  	rrc = DMATCH_NOMATCH
 40563  	goto RETURN_SWITCH
 40564  
 40565  __757:
 40566  	;
 40567  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40568  	if !(utf != 0 && fc >= 0xc0) {
 40569  		goto __760
 40570  	}
 40571  	if !(fc&0x20 == Tuint32_t(0)) {
 40572  		goto __761
 40573  	}
 40574  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40575  	goto __762
 40576  __761:
 40577  	if !(fc&0x10 == Tuint32_t(0)) {
 40578  		goto __763
 40579  	}
 40580  	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
 40581  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 40582  	goto __764
 40583  __763:
 40584  	if !(fc&0x08 == Tuint32_t(0)) {
 40585  		goto __765
 40586  	}
 40587  	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
 40588  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 40589  	goto __766
 40590  __765:
 40591  	if !(fc&0x04 == Tuint32_t(0)) {
 40592  		goto __767
 40593  	}
 40594  	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
 40595  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 40596  	goto __768
 40597  __767:
 40598  	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
 40599  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 40600  __768:
 40601  	;
 40602  __766:
 40603  	;
 40604  __764:
 40605  	;
 40606  __762:
 40607  	;
 40608  __760:
 40609  	;
 40610  
 40611  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)), utf) != 0) {
 40612  		goto __769
 40613  	}
 40614  	rrc = DMATCH_NOMATCH
 40615  	goto RETURN_SWITCH
 40616  __769:
 40617  	;
 40618  
 40619  	goto __755
 40620  __755:
 40621  	i++
 40622  	goto __754
 40623  	goto __756
 40624  __756:
 40625  	;
 40626  
 40627  	// If Lmax == Lmin we can just continue with the main loop.
 40628  
 40629  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40630  		goto __770
 40631  	}
 40632  	goto __11
 40633  __770:
 40634  	;
 40635  
 40636  	// If minimizing, keep testing the rest of the expression and advancing
 40637  	//       the pointer while it matches the class.
 40638  
 40639  	if !(reptype == REPTYPE_MIN) {
 40640  		goto __771
 40641  	}
 40642  
 40643  __773:
 40644  
 40645  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40646  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM100
 40647  	goto MATCH_RECURSE
 40648  L_RM100:
 40649  	;
 40650  
 40651  	if !(rrc != DMATCH_NOMATCH) {
 40652  		goto __776
 40653  	}
 40654  	rrc = rrc
 40655  	goto RETURN_SWITCH
 40656  __776:
 40657  	;
 40658  
 40659  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40660  		goto __777
 40661  	}
 40662  	rrc = DMATCH_NOMATCH
 40663  	goto RETURN_SWITCH
 40664  __777:
 40665  	;
 40666  
 40667  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40668  		goto __778
 40669  	}
 40670  
 40671  	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)) {
 40672  		goto __779
 40673  	}
 40674  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40675  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40676  		goto __780
 40677  	}
 40678  	return -2
 40679  __780:
 40680  	;
 40681  __779:
 40682  	;
 40683  
 40684  	rrc = DMATCH_NOMATCH
 40685  	goto RETURN_SWITCH
 40686  
 40687  __778:
 40688  	;
 40689  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40690  	if !(utf != 0 && fc >= 0xc0) {
 40691  		goto __781
 40692  	}
 40693  	if !(fc&0x20 == Tuint32_t(0)) {
 40694  		goto __782
 40695  	}
 40696  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40697  	goto __783
 40698  __782:
 40699  	if !(fc&0x10 == Tuint32_t(0)) {
 40700  		goto __784
 40701  	}
 40702  	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
 40703  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 40704  	goto __785
 40705  __784:
 40706  	if !(fc&0x08 == Tuint32_t(0)) {
 40707  		goto __786
 40708  	}
 40709  	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
 40710  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 40711  	goto __787
 40712  __786:
 40713  	if !(fc&0x04 == Tuint32_t(0)) {
 40714  		goto __788
 40715  	}
 40716  	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
 40717  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 40718  	goto __789
 40719  __788:
 40720  	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
 40721  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 40722  __789:
 40723  	;
 40724  __787:
 40725  	;
 40726  __785:
 40727  	;
 40728  __783:
 40729  	;
 40730  __781:
 40731  	;
 40732  
 40733  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)), utf) != 0) {
 40734  		goto __790
 40735  	}
 40736  	rrc = DMATCH_NOMATCH
 40737  	goto RETURN_SWITCH
 40738  __790:
 40739  	;
 40740  
 40741  	goto __774
 40742  __774:
 40743  	goto __773
 40744  	goto __775
 40745  __775:
 40746  	;
 40747  	// Control never gets here
 40748  	goto __772
 40749  __771:
 40750  
 40751  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40752  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 40753  __791:
 40754  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 40755  		goto __793
 40756  	}
 40757  
 40758  	len3 = 1
 40759  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40760  		goto __794
 40761  	}
 40762  
 40763  	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)) {
 40764  		goto __795
 40765  	}
 40766  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40767  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40768  		goto __796
 40769  	}
 40770  	return -2
 40771  __796:
 40772  	;
 40773  __795:
 40774  	;
 40775  
 40776  	goto __793
 40777  __794:
 40778  	;
 40779  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40780  	if !(utf != 0 && fc >= 0xc0) {
 40781  		goto __797
 40782  	}
 40783  	if !(fc&0x20 == Tuint32_t(0)) {
 40784  		goto __798
 40785  	}
 40786  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40787  	len3++
 40788  	goto __799
 40789  __798:
 40790  	if !(fc&0x10 == Tuint32_t(0)) {
 40791  		goto __800
 40792  	}
 40793  	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
 40794  	len3 = len3 + 2
 40795  	goto __801
 40796  __800:
 40797  	if !(fc&0x08 == Tuint32_t(0)) {
 40798  		goto __802
 40799  	}
 40800  	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
 40801  	len3 = len3 + 3
 40802  	goto __803
 40803  __802:
 40804  	if !(fc&0x04 == Tuint32_t(0)) {
 40805  		goto __804
 40806  	}
 40807  	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
 40808  	len3 = len3 + 4
 40809  	goto __805
 40810  __804:
 40811  	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
 40812  	len3 = len3 + 5
 40813  __805:
 40814  	;
 40815  __803:
 40816  	;
 40817  __801:
 40818  	;
 40819  __799:
 40820  	;
 40821  __797:
 40822  	;
 40823  
 40824  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)), utf) != 0) {
 40825  		goto __806
 40826  	}
 40827  	goto __793
 40828  __806:
 40829  	;
 40830  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len3)
 40831  	goto __792
 40832  __792:
 40833  	i++
 40834  	goto __791
 40835  	goto __793
 40836  __793:
 40837  	;
 40838  
 40839  	if !(reptype == REPTYPE_POS) {
 40840  		goto __807
 40841  	}
 40842  	goto __11
 40843  __807:
 40844  	; // No backtracking
 40845  
 40846  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40847  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40848  	//         go too far.
 40849  
 40850  __808:
 40851  
 40852  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40853  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM101
 40854  	goto MATCH_RECURSE
 40855  L_RM101:
 40856  	;
 40857  
 40858  	if !(rrc != DMATCH_NOMATCH) {
 40859  		goto __811
 40860  	}
 40861  	rrc = rrc
 40862  	goto RETURN_SWITCH
 40863  __811:
 40864  	;
 40865  
 40866  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 40867  		goto __812
 40868  	}
 40869  	goto __810
 40870  __812:
 40871  	; // Tried at original position
 40872  	if !(utf != 0) {
 40873  		goto __813
 40874  	}
 40875  __814:
 40876  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40877  		goto __815
 40878  	}
 40879  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40880  	goto __814
 40881  __815:
 40882  	;
 40883  __813:
 40884  	;
 40885  	goto __809
 40886  __809:
 40887  	goto __808
 40888  	goto __810
 40889  __810:
 40890  	;
 40891  	rrc = DMATCH_NOMATCH
 40892  	goto RETURN_SWITCH
 40893  
 40894  __772:
 40895  	;
 40896  
 40897  	// Control never gets here
 40898  
 40899  	// =====================================================================
 40900  	// Match various character types when PCRE2_UCP is not set. These opcodes
 40901  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 40902  	//     tests are compiled.
 40903  
 40904  __80:
 40905  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40906  		goto __816
 40907  	}
 40908  
 40909  	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)) {
 40910  		goto __817
 40911  	}
 40912  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40913  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40914  		goto __818
 40915  	}
 40916  	return -2
 40917  __818:
 40918  	;
 40919  __817:
 40920  	;
 40921  
 40922  	rrc = DMATCH_NOMATCH
 40923  	goto RETURN_SWITCH
 40924  
 40925  __816:
 40926  	;
 40927  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40928  	if !(utf != 0 && fc >= 0xc0) {
 40929  		goto __819
 40930  	}
 40931  	if !(fc&0x20 == Tuint32_t(0)) {
 40932  		goto __820
 40933  	}
 40934  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40935  	goto __821
 40936  __820:
 40937  	if !(fc&0x10 == Tuint32_t(0)) {
 40938  		goto __822
 40939  	}
 40940  	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
 40941  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 40942  	goto __823
 40943  __822:
 40944  	if !(fc&0x08 == Tuint32_t(0)) {
 40945  		goto __824
 40946  	}
 40947  	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
 40948  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 40949  	goto __825
 40950  __824:
 40951  	if !(fc&0x04 == Tuint32_t(0)) {
 40952  		goto __826
 40953  	}
 40954  	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
 40955  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 40956  	goto __827
 40957  __826:
 40958  	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
 40959  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 40960  __827:
 40961  	;
 40962  __825:
 40963  	;
 40964  __823:
 40965  	;
 40966  __821:
 40967  	;
 40968  __819:
 40969  	;
 40970  
 40971  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 40972  		goto __828
 40973  	}
 40974  	rrc = DMATCH_NOMATCH
 40975  	goto RETURN_SWITCH
 40976  __828:
 40977  	;
 40978  
 40979  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 40980  	goto __13
 40981  
 40982  __81:
 40983  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40984  		goto __829
 40985  	}
 40986  
 40987  	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)) {
 40988  		goto __830
 40989  	}
 40990  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40991  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40992  		goto __831
 40993  	}
 40994  	return -2
 40995  __831:
 40996  	;
 40997  __830:
 40998  	;
 40999  
 41000  	rrc = DMATCH_NOMATCH
 41001  	goto RETURN_SWITCH
 41002  
 41003  __829:
 41004  	;
 41005  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41006  	if !(utf != 0 && fc >= 0xc0) {
 41007  		goto __832
 41008  	}
 41009  	if !(fc&0x20 == Tuint32_t(0)) {
 41010  		goto __833
 41011  	}
 41012  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41013  	goto __834
 41014  __833:
 41015  	if !(fc&0x10 == Tuint32_t(0)) {
 41016  		goto __835
 41017  	}
 41018  	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
 41019  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41020  	goto __836
 41021  __835:
 41022  	if !(fc&0x08 == Tuint32_t(0)) {
 41023  		goto __837
 41024  	}
 41025  	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
 41026  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41027  	goto __838
 41028  __837:
 41029  	if !(fc&0x04 == Tuint32_t(0)) {
 41030  		goto __839
 41031  	}
 41032  	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
 41033  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41034  	goto __840
 41035  __839:
 41036  	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
 41037  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41038  __840:
 41039  	;
 41040  __838:
 41041  	;
 41042  __836:
 41043  	;
 41044  __834:
 41045  	;
 41046  __832:
 41047  	;
 41048  
 41049  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 41050  		goto __841
 41051  	}
 41052  	rrc = DMATCH_NOMATCH
 41053  	goto RETURN_SWITCH
 41054  __841:
 41055  	;
 41056  
 41057  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41058  	goto __13
 41059  
 41060  __82:
 41061  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41062  		goto __842
 41063  	}
 41064  
 41065  	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)) {
 41066  		goto __843
 41067  	}
 41068  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41069  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41070  		goto __844
 41071  	}
 41072  	return -2
 41073  __844:
 41074  	;
 41075  __843:
 41076  	;
 41077  
 41078  	rrc = DMATCH_NOMATCH
 41079  	goto RETURN_SWITCH
 41080  
 41081  __842:
 41082  	;
 41083  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41084  	if !(utf != 0 && fc >= 0xc0) {
 41085  		goto __845
 41086  	}
 41087  	if !(fc&0x20 == Tuint32_t(0)) {
 41088  		goto __846
 41089  	}
 41090  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41091  	goto __847
 41092  __846:
 41093  	if !(fc&0x10 == Tuint32_t(0)) {
 41094  		goto __848
 41095  	}
 41096  	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
 41097  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41098  	goto __849
 41099  __848:
 41100  	if !(fc&0x08 == Tuint32_t(0)) {
 41101  		goto __850
 41102  	}
 41103  	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
 41104  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41105  	goto __851
 41106  __850:
 41107  	if !(fc&0x04 == Tuint32_t(0)) {
 41108  		goto __852
 41109  	}
 41110  	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
 41111  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41112  	goto __853
 41113  __852:
 41114  	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
 41115  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41116  __853:
 41117  	;
 41118  __851:
 41119  	;
 41120  __849:
 41121  	;
 41122  __847:
 41123  	;
 41124  __845:
 41125  	;
 41126  
 41127  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 41128  		goto __854
 41129  	}
 41130  	rrc = DMATCH_NOMATCH
 41131  	goto RETURN_SWITCH
 41132  __854:
 41133  	;
 41134  
 41135  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41136  	goto __13
 41137  
 41138  __83:
 41139  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41140  		goto __855
 41141  	}
 41142  
 41143  	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)) {
 41144  		goto __856
 41145  	}
 41146  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41147  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41148  		goto __857
 41149  	}
 41150  	return -2
 41151  __857:
 41152  	;
 41153  __856:
 41154  	;
 41155  
 41156  	rrc = DMATCH_NOMATCH
 41157  	goto RETURN_SWITCH
 41158  
 41159  __855:
 41160  	;
 41161  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41162  	if !(utf != 0 && fc >= 0xc0) {
 41163  		goto __858
 41164  	}
 41165  	if !(fc&0x20 == Tuint32_t(0)) {
 41166  		goto __859
 41167  	}
 41168  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41169  	goto __860
 41170  __859:
 41171  	if !(fc&0x10 == Tuint32_t(0)) {
 41172  		goto __861
 41173  	}
 41174  	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
 41175  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41176  	goto __862
 41177  __861:
 41178  	if !(fc&0x08 == Tuint32_t(0)) {
 41179  		goto __863
 41180  	}
 41181  	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
 41182  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41183  	goto __864
 41184  __863:
 41185  	if !(fc&0x04 == Tuint32_t(0)) {
 41186  		goto __865
 41187  	}
 41188  	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
 41189  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41190  	goto __866
 41191  __865:
 41192  	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
 41193  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41194  __866:
 41195  	;
 41196  __864:
 41197  	;
 41198  __862:
 41199  	;
 41200  __860:
 41201  	;
 41202  __858:
 41203  	;
 41204  
 41205  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 41206  		goto __867
 41207  	}
 41208  	rrc = DMATCH_NOMATCH
 41209  	goto RETURN_SWITCH
 41210  __867:
 41211  	;
 41212  
 41213  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41214  	goto __13
 41215  
 41216  __84:
 41217  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41218  		goto __868
 41219  	}
 41220  
 41221  	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)) {
 41222  		goto __869
 41223  	}
 41224  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41225  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41226  		goto __870
 41227  	}
 41228  	return -2
 41229  __870:
 41230  	;
 41231  __869:
 41232  	;
 41233  
 41234  	rrc = DMATCH_NOMATCH
 41235  	goto RETURN_SWITCH
 41236  
 41237  __868:
 41238  	;
 41239  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41240  	if !(utf != 0 && fc >= 0xc0) {
 41241  		goto __871
 41242  	}
 41243  	if !(fc&0x20 == Tuint32_t(0)) {
 41244  		goto __872
 41245  	}
 41246  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41247  	goto __873
 41248  __872:
 41249  	if !(fc&0x10 == Tuint32_t(0)) {
 41250  		goto __874
 41251  	}
 41252  	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
 41253  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41254  	goto __875
 41255  __874:
 41256  	if !(fc&0x08 == Tuint32_t(0)) {
 41257  		goto __876
 41258  	}
 41259  	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
 41260  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41261  	goto __877
 41262  __876:
 41263  	if !(fc&0x04 == Tuint32_t(0)) {
 41264  		goto __878
 41265  	}
 41266  	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
 41267  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41268  	goto __879
 41269  __878:
 41270  	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
 41271  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41272  __879:
 41273  	;
 41274  __877:
 41275  	;
 41276  __875:
 41277  	;
 41278  __873:
 41279  	;
 41280  __871:
 41281  	;
 41282  
 41283  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 41284  		goto __880
 41285  	}
 41286  	rrc = DMATCH_NOMATCH
 41287  	goto RETURN_SWITCH
 41288  __880:
 41289  	;
 41290  
 41291  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41292  	goto __13
 41293  
 41294  __85:
 41295  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41296  		goto __881
 41297  	}
 41298  
 41299  	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)) {
 41300  		goto __882
 41301  	}
 41302  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41303  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41304  		goto __883
 41305  	}
 41306  	return -2
 41307  __883:
 41308  	;
 41309  __882:
 41310  	;
 41311  
 41312  	rrc = DMATCH_NOMATCH
 41313  	goto RETURN_SWITCH
 41314  
 41315  __881:
 41316  	;
 41317  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41318  	if !(utf != 0 && fc >= 0xc0) {
 41319  		goto __884
 41320  	}
 41321  	if !(fc&0x20 == Tuint32_t(0)) {
 41322  		goto __885
 41323  	}
 41324  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41325  	goto __886
 41326  __885:
 41327  	if !(fc&0x10 == Tuint32_t(0)) {
 41328  		goto __887
 41329  	}
 41330  	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
 41331  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41332  	goto __888
 41333  __887:
 41334  	if !(fc&0x08 == Tuint32_t(0)) {
 41335  		goto __889
 41336  	}
 41337  	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
 41338  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41339  	goto __890
 41340  __889:
 41341  	if !(fc&0x04 == Tuint32_t(0)) {
 41342  		goto __891
 41343  	}
 41344  	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
 41345  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41346  	goto __892
 41347  __891:
 41348  	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
 41349  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41350  __892:
 41351  	;
 41352  __890:
 41353  	;
 41354  __888:
 41355  	;
 41356  __886:
 41357  	;
 41358  __884:
 41359  	;
 41360  
 41361  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 41362  		goto __893
 41363  	}
 41364  	rrc = DMATCH_NOMATCH
 41365  	goto RETURN_SWITCH
 41366  __893:
 41367  	;
 41368  
 41369  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41370  	goto __13
 41371  
 41372  __86:
 41373  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41374  		goto __894
 41375  	}
 41376  
 41377  	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)) {
 41378  		goto __895
 41379  	}
 41380  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41381  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41382  		goto __896
 41383  	}
 41384  	return -2
 41385  __896:
 41386  	;
 41387  __895:
 41388  	;
 41389  
 41390  	rrc = DMATCH_NOMATCH
 41391  	goto RETURN_SWITCH
 41392  
 41393  __894:
 41394  	;
 41395  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41396  	if !(utf != 0 && fc >= 0xc0) {
 41397  		goto __897
 41398  	}
 41399  	if !(fc&0x20 == Tuint32_t(0)) {
 41400  		goto __898
 41401  	}
 41402  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41403  	goto __899
 41404  __898:
 41405  	if !(fc&0x10 == Tuint32_t(0)) {
 41406  		goto __900
 41407  	}
 41408  	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
 41409  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41410  	goto __901
 41411  __900:
 41412  	if !(fc&0x08 == Tuint32_t(0)) {
 41413  		goto __902
 41414  	}
 41415  	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
 41416  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41417  	goto __903
 41418  __902:
 41419  	if !(fc&0x04 == Tuint32_t(0)) {
 41420  		goto __904
 41421  	}
 41422  	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
 41423  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41424  	goto __905
 41425  __904:
 41426  	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
 41427  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41428  __905:
 41429  	;
 41430  __903:
 41431  	;
 41432  __901:
 41433  	;
 41434  __899:
 41435  	;
 41436  __897:
 41437  	;
 41438  
 41439  	switch fc {
 41440  	default:
 41441  		goto __907
 41442  
 41443  	case Tuint32_t('\015'):
 41444  		goto __908
 41445  
 41446  	case Tuint32_t('\012'):
 41447  		goto __909
 41448  
 41449  	case Tuint32_t('\013'):
 41450  		goto __910
 41451  	case Tuint32_t('\014'):
 41452  		goto __911
 41453  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41454  		goto __912
 41455  	case Tuint32_t(0x2028):
 41456  		goto __913
 41457  	case Tuint32_t(0x2029):
 41458  		goto __914
 41459  	}
 41460  	goto __906
 41461  
 41462  __907:
 41463  	rrc = DMATCH_NOMATCH
 41464  	goto RETURN_SWITCH
 41465  
 41466  __908:
 41467  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41468  		goto __915
 41469  	}
 41470  
 41471  	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)) {
 41472  		goto __917
 41473  	}
 41474  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41475  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41476  		goto __918
 41477  	}
 41478  	return -2
 41479  __918:
 41480  	;
 41481  __917:
 41482  	;
 41483  
 41484  	goto __916
 41485  __915:
 41486  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 41487  		goto __919
 41488  	}
 41489  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 41490  __919:
 41491  	;
 41492  __916:
 41493  	;
 41494  	goto __906
 41495  
 41496  __909:
 41497  	goto __906
 41498  
 41499  __910:
 41500  __911:
 41501  __912:
 41502  __913:
 41503  __914:
 41504  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 41505  		goto __920
 41506  	}
 41507  	rrc = DMATCH_NOMATCH
 41508  	goto RETURN_SWITCH
 41509  __920:
 41510  	;
 41511  
 41512  	goto __906
 41513  __906:
 41514  	;
 41515  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41516  	goto __13
 41517  
 41518  __87:
 41519  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41520  		goto __921
 41521  	}
 41522  
 41523  	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)) {
 41524  		goto __922
 41525  	}
 41526  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41527  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41528  		goto __923
 41529  	}
 41530  	return -2
 41531  __923:
 41532  	;
 41533  __922:
 41534  	;
 41535  
 41536  	rrc = DMATCH_NOMATCH
 41537  	goto RETURN_SWITCH
 41538  
 41539  __921:
 41540  	;
 41541  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41542  	if !(utf != 0 && fc >= 0xc0) {
 41543  		goto __924
 41544  	}
 41545  	if !(fc&0x20 == Tuint32_t(0)) {
 41546  		goto __925
 41547  	}
 41548  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41549  	goto __926
 41550  __925:
 41551  	if !(fc&0x10 == Tuint32_t(0)) {
 41552  		goto __927
 41553  	}
 41554  	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
 41555  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41556  	goto __928
 41557  __927:
 41558  	if !(fc&0x08 == Tuint32_t(0)) {
 41559  		goto __929
 41560  	}
 41561  	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
 41562  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41563  	goto __930
 41564  __929:
 41565  	if !(fc&0x04 == Tuint32_t(0)) {
 41566  		goto __931
 41567  	}
 41568  	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
 41569  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41570  	goto __932
 41571  __931:
 41572  	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
 41573  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41574  __932:
 41575  	;
 41576  __930:
 41577  	;
 41578  __928:
 41579  	;
 41580  __926:
 41581  	;
 41582  __924:
 41583  	;
 41584  
 41585  	switch fc {
 41586  	case Tuint32_t('\011'):
 41587  		goto __934
 41588  	case Tuint32_t('\040'):
 41589  		goto __935
 41590  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 41591  		goto __936
 41592  	case Tuint32_t(0x1680):
 41593  		goto __937 /* OGHAM SPACE MARK */
 41594  	case Tuint32_t(0x180e):
 41595  		goto __938 /* MONGOLIAN VOWEL SEPARATOR */
 41596  	case Tuint32_t(0x2000):
 41597  		goto __939 /* EN QUAD */
 41598  	case Tuint32_t(0x2001):
 41599  		goto __940 /* EM QUAD */
 41600  	case Tuint32_t(0x2002):
 41601  		goto __941 /* EN SPACE */
 41602  	case Tuint32_t(0x2003):
 41603  		goto __942 /* EM SPACE */
 41604  	case Tuint32_t(0x2004):
 41605  		goto __943 /* THREE-PER-EM SPACE */
 41606  	case Tuint32_t(0x2005):
 41607  		goto __944 /* FOUR-PER-EM SPACE */
 41608  	case Tuint32_t(0x2006):
 41609  		goto __945 /* SIX-PER-EM SPACE */
 41610  	case Tuint32_t(0x2007):
 41611  		goto __946 /* FIGURE SPACE */
 41612  	case Tuint32_t(0x2008):
 41613  		goto __947 /* PUNCTUATION SPACE */
 41614  	case Tuint32_t(0x2009):
 41615  		goto __948 /* THIN SPACE */
 41616  	case Tuint32_t(0x200A):
 41617  		goto __949 /* HAIR SPACE */
 41618  	case Tuint32_t(0x202f):
 41619  		goto __950 /* NARROW NO-BREAK SPACE */
 41620  	case Tuint32_t(0x205f):
 41621  		goto __951 /* MEDIUM MATHEMATICAL SPACE */
 41622  	case Tuint32_t(0x3000):
 41623  		goto __952 // Byte and multibyte cases
 41624  	default:
 41625  		goto __953
 41626  	}
 41627  	goto __933
 41628  
 41629  __934:
 41630  __935:
 41631  __936:
 41632  __937: /* OGHAM SPACE MARK */
 41633  __938: /* MONGOLIAN VOWEL SEPARATOR */
 41634  __939: /* EN QUAD */
 41635  __940: /* EM QUAD */
 41636  __941: /* EN SPACE */
 41637  __942: /* EM SPACE */
 41638  __943: /* THREE-PER-EM SPACE */
 41639  __944: /* FOUR-PER-EM SPACE */
 41640  __945: /* SIX-PER-EM SPACE */
 41641  __946: /* FIGURE SPACE */
 41642  __947: /* PUNCTUATION SPACE */
 41643  __948: /* THIN SPACE */
 41644  __949: /* HAIR SPACE */
 41645  __950: /* NARROW NO-BREAK SPACE */
 41646  __951: /* MEDIUM MATHEMATICAL SPACE */
 41647  __952:
 41648  	rrc = DMATCH_NOMATCH
 41649  	goto RETURN_SWITCH
 41650  	// Byte and multibyte cases
 41651  __953:
 41652  	goto __933
 41653  __933:
 41654  	;
 41655  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41656  	goto __13
 41657  
 41658  __88:
 41659  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41660  		goto __954
 41661  	}
 41662  
 41663  	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)) {
 41664  		goto __955
 41665  	}
 41666  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41667  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41668  		goto __956
 41669  	}
 41670  	return -2
 41671  __956:
 41672  	;
 41673  __955:
 41674  	;
 41675  
 41676  	rrc = DMATCH_NOMATCH
 41677  	goto RETURN_SWITCH
 41678  
 41679  __954:
 41680  	;
 41681  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41682  	if !(utf != 0 && fc >= 0xc0) {
 41683  		goto __957
 41684  	}
 41685  	if !(fc&0x20 == Tuint32_t(0)) {
 41686  		goto __958
 41687  	}
 41688  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41689  	goto __959
 41690  __958:
 41691  	if !(fc&0x10 == Tuint32_t(0)) {
 41692  		goto __960
 41693  	}
 41694  	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
 41695  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41696  	goto __961
 41697  __960:
 41698  	if !(fc&0x08 == Tuint32_t(0)) {
 41699  		goto __962
 41700  	}
 41701  	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
 41702  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41703  	goto __963
 41704  __962:
 41705  	if !(fc&0x04 == Tuint32_t(0)) {
 41706  		goto __964
 41707  	}
 41708  	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
 41709  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41710  	goto __965
 41711  __964:
 41712  	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
 41713  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41714  __965:
 41715  	;
 41716  __963:
 41717  	;
 41718  __961:
 41719  	;
 41720  __959:
 41721  	;
 41722  __957:
 41723  	;
 41724  
 41725  	switch fc {
 41726  	case Tuint32_t('\011'):
 41727  		goto __967
 41728  	case Tuint32_t('\040'):
 41729  		goto __968
 41730  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 41731  		goto __969
 41732  	case Tuint32_t(0x1680):
 41733  		goto __970 /* OGHAM SPACE MARK */
 41734  	case Tuint32_t(0x180e):
 41735  		goto __971 /* MONGOLIAN VOWEL SEPARATOR */
 41736  	case Tuint32_t(0x2000):
 41737  		goto __972 /* EN QUAD */
 41738  	case Tuint32_t(0x2001):
 41739  		goto __973 /* EM QUAD */
 41740  	case Tuint32_t(0x2002):
 41741  		goto __974 /* EN SPACE */
 41742  	case Tuint32_t(0x2003):
 41743  		goto __975 /* EM SPACE */
 41744  	case Tuint32_t(0x2004):
 41745  		goto __976 /* THREE-PER-EM SPACE */
 41746  	case Tuint32_t(0x2005):
 41747  		goto __977 /* FOUR-PER-EM SPACE */
 41748  	case Tuint32_t(0x2006):
 41749  		goto __978 /* SIX-PER-EM SPACE */
 41750  	case Tuint32_t(0x2007):
 41751  		goto __979 /* FIGURE SPACE */
 41752  	case Tuint32_t(0x2008):
 41753  		goto __980 /* PUNCTUATION SPACE */
 41754  	case Tuint32_t(0x2009):
 41755  		goto __981 /* THIN SPACE */
 41756  	case Tuint32_t(0x200A):
 41757  		goto __982 /* HAIR SPACE */
 41758  	case Tuint32_t(0x202f):
 41759  		goto __983 /* NARROW NO-BREAK SPACE */
 41760  	case Tuint32_t(0x205f):
 41761  		goto __984 /* MEDIUM MATHEMATICAL SPACE */
 41762  	case Tuint32_t(0x3000):
 41763  		goto __985 // Byte and multibyte cases
 41764  	default:
 41765  		goto __986
 41766  	}
 41767  	goto __966
 41768  
 41769  __967:
 41770  __968:
 41771  __969:
 41772  __970: /* OGHAM SPACE MARK */
 41773  __971: /* MONGOLIAN VOWEL SEPARATOR */
 41774  __972: /* EN QUAD */
 41775  __973: /* EM QUAD */
 41776  __974: /* EN SPACE */
 41777  __975: /* EM SPACE */
 41778  __976: /* THREE-PER-EM SPACE */
 41779  __977: /* FOUR-PER-EM SPACE */
 41780  __978: /* SIX-PER-EM SPACE */
 41781  __979: /* FIGURE SPACE */
 41782  __980: /* PUNCTUATION SPACE */
 41783  __981: /* THIN SPACE */
 41784  __982: /* HAIR SPACE */
 41785  __983: /* NARROW NO-BREAK SPACE */
 41786  __984: /* MEDIUM MATHEMATICAL SPACE */
 41787  __985:
 41788  	goto __966 // Byte and multibyte cases
 41789  __986:
 41790  	rrc = DMATCH_NOMATCH
 41791  	goto RETURN_SWITCH
 41792  
 41793  __966:
 41794  	;
 41795  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41796  	goto __13
 41797  
 41798  __89:
 41799  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41800  		goto __987
 41801  	}
 41802  
 41803  	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)) {
 41804  		goto __988
 41805  	}
 41806  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41807  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41808  		goto __989
 41809  	}
 41810  	return -2
 41811  __989:
 41812  	;
 41813  __988:
 41814  	;
 41815  
 41816  	rrc = DMATCH_NOMATCH
 41817  	goto RETURN_SWITCH
 41818  
 41819  __987:
 41820  	;
 41821  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41822  	if !(utf != 0 && fc >= 0xc0) {
 41823  		goto __990
 41824  	}
 41825  	if !(fc&0x20 == Tuint32_t(0)) {
 41826  		goto __991
 41827  	}
 41828  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41829  	goto __992
 41830  __991:
 41831  	if !(fc&0x10 == Tuint32_t(0)) {
 41832  		goto __993
 41833  	}
 41834  	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
 41835  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41836  	goto __994
 41837  __993:
 41838  	if !(fc&0x08 == Tuint32_t(0)) {
 41839  		goto __995
 41840  	}
 41841  	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
 41842  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41843  	goto __996
 41844  __995:
 41845  	if !(fc&0x04 == Tuint32_t(0)) {
 41846  		goto __997
 41847  	}
 41848  	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
 41849  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41850  	goto __998
 41851  __997:
 41852  	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
 41853  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41854  __998:
 41855  	;
 41856  __996:
 41857  	;
 41858  __994:
 41859  	;
 41860  __992:
 41861  	;
 41862  __990:
 41863  	;
 41864  
 41865  	switch fc {
 41866  	case Tuint32_t('\012'):
 41867  		goto __1000
 41868  	case Tuint32_t('\013'):
 41869  		goto __1001
 41870  	case Tuint32_t('\014'):
 41871  		goto __1002
 41872  	case Tuint32_t('\015'):
 41873  		goto __1003
 41874  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41875  		goto __1004
 41876  	case Tuint32_t(0x2028):
 41877  		goto __1005 /* LINE SEPARATOR */
 41878  	case Tuint32_t(0x2029):
 41879  		goto __1006
 41880  	default:
 41881  		goto __1007
 41882  	}
 41883  	goto __999
 41884  
 41885  __1000:
 41886  __1001:
 41887  __1002:
 41888  __1003:
 41889  __1004:
 41890  __1005: /* LINE SEPARATOR */
 41891  __1006:
 41892  	rrc = DMATCH_NOMATCH
 41893  	goto RETURN_SWITCH
 41894  
 41895  __1007:
 41896  	goto __999
 41897  __999:
 41898  	;
 41899  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41900  	goto __13
 41901  
 41902  __90:
 41903  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41904  		goto __1008
 41905  	}
 41906  
 41907  	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)) {
 41908  		goto __1009
 41909  	}
 41910  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41911  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41912  		goto __1010
 41913  	}
 41914  	return -2
 41915  __1010:
 41916  	;
 41917  __1009:
 41918  	;
 41919  
 41920  	rrc = DMATCH_NOMATCH
 41921  	goto RETURN_SWITCH
 41922  
 41923  __1008:
 41924  	;
 41925  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41926  	if !(utf != 0 && fc >= 0xc0) {
 41927  		goto __1011
 41928  	}
 41929  	if !(fc&0x20 == Tuint32_t(0)) {
 41930  		goto __1012
 41931  	}
 41932  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41933  	goto __1013
 41934  __1012:
 41935  	if !(fc&0x10 == Tuint32_t(0)) {
 41936  		goto __1014
 41937  	}
 41938  	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
 41939  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 41940  	goto __1015
 41941  __1014:
 41942  	if !(fc&0x08 == Tuint32_t(0)) {
 41943  		goto __1016
 41944  	}
 41945  	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
 41946  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 41947  	goto __1017
 41948  __1016:
 41949  	if !(fc&0x04 == Tuint32_t(0)) {
 41950  		goto __1018
 41951  	}
 41952  	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
 41953  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 41954  	goto __1019
 41955  __1018:
 41956  	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
 41957  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 41958  __1019:
 41959  	;
 41960  __1017:
 41961  	;
 41962  __1015:
 41963  	;
 41964  __1013:
 41965  	;
 41966  __1011:
 41967  	;
 41968  
 41969  	switch fc {
 41970  	case Tuint32_t('\012'):
 41971  		goto __1021
 41972  	case Tuint32_t('\013'):
 41973  		goto __1022
 41974  	case Tuint32_t('\014'):
 41975  		goto __1023
 41976  	case Tuint32_t('\015'):
 41977  		goto __1024
 41978  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41979  		goto __1025
 41980  	case Tuint32_t(0x2028):
 41981  		goto __1026 /* LINE SEPARATOR */
 41982  	case Tuint32_t(0x2029):
 41983  		goto __1027
 41984  	default:
 41985  		goto __1028
 41986  	}
 41987  	goto __1020
 41988  
 41989  __1021:
 41990  __1022:
 41991  __1023:
 41992  __1024:
 41993  __1025:
 41994  __1026: /* LINE SEPARATOR */
 41995  __1027:
 41996  	goto __1020
 41997  __1028:
 41998  	rrc = DMATCH_NOMATCH
 41999  	goto RETURN_SWITCH
 42000  
 42001  __1020:
 42002  	;
 42003  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42004  	goto __13
 42005  
 42006  	// =====================================================================
 42007  	// Check the next character by Unicode property. We will get here only
 42008  	//     if the support is in the binary; otherwise a compile-time error occurs.
 42009  
 42010  __91:
 42011  __92:
 42012  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42013  		goto __1029
 42014  	}
 42015  
 42016  	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)) {
 42017  		goto __1030
 42018  	}
 42019  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42020  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42021  		goto __1031
 42022  	}
 42023  	return -2
 42024  __1031:
 42025  	;
 42026  __1030:
 42027  	;
 42028  
 42029  	rrc = DMATCH_NOMATCH
 42030  	goto RETURN_SWITCH
 42031  
 42032  __1029:
 42033  	;
 42034  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42035  	if !(utf != 0 && fc >= 0xc0) {
 42036  		goto __1032
 42037  	}
 42038  	if !(fc&0x20 == Tuint32_t(0)) {
 42039  		goto __1033
 42040  	}
 42041  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42042  	goto __1034
 42043  __1033:
 42044  	if !(fc&0x10 == Tuint32_t(0)) {
 42045  		goto __1035
 42046  	}
 42047  	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
 42048  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42049  	goto __1036
 42050  __1035:
 42051  	if !(fc&0x08 == Tuint32_t(0)) {
 42052  		goto __1037
 42053  	}
 42054  	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
 42055  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42056  	goto __1038
 42057  __1037:
 42058  	if !(fc&0x04 == Tuint32_t(0)) {
 42059  		goto __1039
 42060  	}
 42061  	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
 42062  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 42063  	goto __1040
 42064  __1039:
 42065  	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
 42066  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 42067  __1040:
 42068  	;
 42069  __1038:
 42070  	;
 42071  __1036:
 42072  	;
 42073  __1034:
 42074  	;
 42075  __1032:
 42076  	;
 42077  
 42078  	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
 42079  	notmatch = libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTPROP)
 42080  
 42081  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) {
 42082  	case DPT_ANY:
 42083  		goto __1042
 42084  
 42085  	case DPT_LAMP:
 42086  		goto __1043
 42087  
 42088  	case DPT_GC:
 42089  		goto __1044
 42090  
 42091  	case DPT_PC:
 42092  		goto __1045
 42093  
 42094  	case DPT_SC:
 42095  		goto __1046
 42096  
 42097  	case DPT_SCX:
 42098  		goto __1047
 42099  
 42100  	// These are specials
 42101  
 42102  	case DPT_ALNUM:
 42103  		goto __1048
 42104  
 42105  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42106  	//         which means that Perl space and POSIX space are now identical. PCRE
 42107  	//         was changed at release 8.34.
 42108  
 42109  	case DPT_SPACE:
 42110  		goto __1049 // Perl space
 42111  	case DPT_PXSPACE:
 42112  		goto __1050
 42113  
 42114  	case DPT_WORD:
 42115  		goto __1051
 42116  
 42117  	case DPT_CLIST:
 42118  		goto __1052
 42119  
 42120  	case DPT_UCNC:
 42121  		goto __1053
 42122  
 42123  	case DPT_BIDICL:
 42124  		goto __1054
 42125  
 42126  	case DPT_BOOL:
 42127  		goto __1055
 42128  
 42129  	// This should never occur
 42130  
 42131  	default:
 42132  		goto __1056
 42133  	}
 42134  	goto __1041
 42135  
 42136  __1042:
 42137  	if !(notmatch != 0) {
 42138  		goto __1057
 42139  	}
 42140  	rrc = DMATCH_NOMATCH
 42141  	goto RETURN_SWITCH
 42142  __1057:
 42143  	;
 42144  
 42145  	goto __1041
 42146  
 42147  __1043:
 42148  	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) {
 42149  		goto __1058
 42150  	}
 42151  	rrc = DMATCH_NOMATCH
 42152  	goto RETURN_SWITCH
 42153  __1058:
 42154  	;
 42155  
 42156  	goto __1041
 42157  
 42158  __1044:
 42159  	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) {
 42160  		goto __1059
 42161  	}
 42162  	rrc = DMATCH_NOMATCH
 42163  	goto RETURN_SWITCH
 42164  __1059:
 42165  	;
 42166  
 42167  	goto __1041
 42168  
 42169  __1045:
 42170  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == notmatch) {
 42171  		goto __1060
 42172  	}
 42173  	rrc = DMATCH_NOMATCH
 42174  	goto RETURN_SWITCH
 42175  __1060:
 42176  	;
 42177  
 42178  	goto __1041
 42179  
 42180  __1046:
 42181  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == notmatch) {
 42182  		goto __1061
 42183  	}
 42184  	rrc = DMATCH_NOMATCH
 42185  	goto RETURN_SWITCH
 42186  __1061:
 42187  	;
 42188  
 42189  	goto __1041
 42190  
 42191  __1047:
 42192  
 42193  	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))
 42194  	if !(ok == notmatch) {
 42195  		goto __1062
 42196  	}
 42197  	rrc = DMATCH_NOMATCH
 42198  	goto RETURN_SWITCH
 42199  __1062:
 42200  	;
 42201  
 42202  	goto __1041
 42203  
 42204  	// These are specials
 42205  
 42206  __1048:
 42207  	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) {
 42208  		goto __1063
 42209  	}
 42210  	rrc = DMATCH_NOMATCH
 42211  	goto RETURN_SWITCH
 42212  __1063:
 42213  	;
 42214  
 42215  	goto __1041
 42216  
 42217  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42218  	//         which means that Perl space and POSIX space are now identical. PCRE
 42219  	//         was changed at release 8.34.
 42220  
 42221  __1049: // Perl space
 42222  __1050: // POSIX space
 42223  	switch fc {
 42224  	case Tuint32_t('\011'):
 42225  		goto __1065
 42226  	case Tuint32_t('\040'):
 42227  		goto __1066
 42228  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 42229  		goto __1067
 42230  	case Tuint32_t(0x1680):
 42231  		goto __1068 /* OGHAM SPACE MARK */
 42232  	case Tuint32_t(0x180e):
 42233  		goto __1069 /* MONGOLIAN VOWEL SEPARATOR */
 42234  	case Tuint32_t(0x2000):
 42235  		goto __1070 /* EN QUAD */
 42236  	case Tuint32_t(0x2001):
 42237  		goto __1071 /* EM QUAD */
 42238  	case Tuint32_t(0x2002):
 42239  		goto __1072 /* EN SPACE */
 42240  	case Tuint32_t(0x2003):
 42241  		goto __1073 /* EM SPACE */
 42242  	case Tuint32_t(0x2004):
 42243  		goto __1074 /* THREE-PER-EM SPACE */
 42244  	case Tuint32_t(0x2005):
 42245  		goto __1075 /* FOUR-PER-EM SPACE */
 42246  	case Tuint32_t(0x2006):
 42247  		goto __1076 /* SIX-PER-EM SPACE */
 42248  	case Tuint32_t(0x2007):
 42249  		goto __1077 /* FIGURE SPACE */
 42250  	case Tuint32_t(0x2008):
 42251  		goto __1078 /* PUNCTUATION SPACE */
 42252  	case Tuint32_t(0x2009):
 42253  		goto __1079 /* THIN SPACE */
 42254  	case Tuint32_t(0x200A):
 42255  		goto __1080 /* HAIR SPACE */
 42256  	case Tuint32_t(0x202f):
 42257  		goto __1081 /* NARROW NO-BREAK SPACE */
 42258  	case Tuint32_t(0x205f):
 42259  		goto __1082 /* MEDIUM MATHEMATICAL SPACE */
 42260  	case Tuint32_t(0x3000):
 42261  		goto __1083
 42262  	case Tuint32_t('\012'):
 42263  		goto __1084
 42264  	case Tuint32_t('\013'):
 42265  		goto __1085
 42266  	case Tuint32_t('\014'):
 42267  		goto __1086
 42268  	case Tuint32_t('\015'):
 42269  		goto __1087
 42270  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 42271  		goto __1088
 42272  	case Tuint32_t(0x2028):
 42273  		goto __1089 /* LINE SEPARATOR */
 42274  	case Tuint32_t(0x2029):
 42275  		goto __1090
 42276  
 42277  	default:
 42278  		goto __1091
 42279  	}
 42280  	goto __1064
 42281  
 42282  __1065:
 42283  __1066:
 42284  __1067:
 42285  __1068: /* OGHAM SPACE MARK */
 42286  __1069: /* MONGOLIAN VOWEL SEPARATOR */
 42287  __1070: /* EN QUAD */
 42288  __1071: /* EM QUAD */
 42289  __1072: /* EN SPACE */
 42290  __1073: /* EM SPACE */
 42291  __1074: /* THREE-PER-EM SPACE */
 42292  __1075: /* FOUR-PER-EM SPACE */
 42293  __1076: /* SIX-PER-EM SPACE */
 42294  __1077: /* FIGURE SPACE */
 42295  __1078: /* PUNCTUATION SPACE */
 42296  __1079: /* THIN SPACE */
 42297  __1080: /* HAIR SPACE */
 42298  __1081: /* NARROW NO-BREAK SPACE */
 42299  __1082: /* MEDIUM MATHEMATICAL SPACE */
 42300  __1083:
 42301  __1084:
 42302  __1085:
 42303  __1086:
 42304  __1087:
 42305  __1088:
 42306  __1089: /* LINE SEPARATOR */
 42307  __1090:
 42308  	if !(notmatch != 0) {
 42309  		goto __1092
 42310  	}
 42311  	rrc = DMATCH_NOMATCH
 42312  	goto RETURN_SWITCH
 42313  __1092:
 42314  	;
 42315  
 42316  	goto __1064
 42317  
 42318  __1091:
 42319  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == notmatch) {
 42320  		goto __1093
 42321  	}
 42322  	rrc = DMATCH_NOMATCH
 42323  	goto RETURN_SWITCH
 42324  __1093:
 42325  	;
 42326  
 42327  	goto __1064
 42328  __1064:
 42329  	;
 42330  	goto __1041
 42331  
 42332  __1051:
 42333  	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) {
 42334  		goto __1094
 42335  	}
 42336  	rrc = DMATCH_NOMATCH
 42337  	goto RETURN_SWITCH
 42338  __1094:
 42339  	;
 42340  
 42341  	goto __1041
 42342  
 42343  __1052:
 42344  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))*4
 42345  __1095:
 42346  
 42347  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 42348  		goto __1098
 42349  	}
 42350  	if !(notmatch != 0) {
 42351  		goto __1099
 42352  	}
 42353  	goto __1097
 42354  	goto __1100
 42355  __1099:
 42356  	rrc = DMATCH_NOMATCH
 42357  	goto RETURN_SWITCH
 42358  __1100:
 42359  	;
 42360  __1098:
 42361  	;
 42362  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 42363  		goto __1101
 42364  	}
 42365  	if !(notmatch != 0) {
 42366  		goto __1102
 42367  	}
 42368  	rrc = DMATCH_NOMATCH
 42369  	goto RETURN_SWITCH
 42370  	goto __1103
 42371  __1102:
 42372  	goto __1097
 42373  __1103:
 42374  	;
 42375  __1101:
 42376  	;
 42377  	goto __1096
 42378  __1096:
 42379  	goto __1095
 42380  	goto __1097
 42381  __1097:
 42382  	;
 42383  	goto __1041
 42384  
 42385  __1053:
 42386  	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) {
 42387  		goto __1104
 42388  	}
 42389  	rrc = DMATCH_NOMATCH
 42390  	goto RETURN_SWITCH
 42391  __1104:
 42392  	;
 42393  
 42394  	goto __1041
 42395  
 42396  __1054:
 42397  	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) {
 42398  		goto __1105
 42399  	}
 42400  	rrc = DMATCH_NOMATCH
 42401  	goto RETURN_SWITCH
 42402  __1105:
 42403  	;
 42404  
 42405  	goto __1041
 42406  
 42407  __1055:
 42408  
 42409  	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))
 42410  	if !(ok1 == notmatch) {
 42411  		goto __1106
 42412  	}
 42413  	rrc = DMATCH_NOMATCH
 42414  	goto RETURN_SWITCH
 42415  __1106:
 42416  	;
 42417  
 42418  	goto __1041
 42419  
 42420  	// This should never occur
 42421  
 42422  __1056:
 42423  	return -44
 42424  __1041:
 42425  	;
 42426  
 42427  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 42428  
 42429  	goto __13
 42430  
 42431  	// =====================================================================
 42432  	// Match an extended Unicode sequence. We will get here only if the support
 42433  	//     is in the binary; otherwise a compile-time error occurs.
 42434  
 42435  __93:
 42436  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42437  		goto __1107
 42438  	}
 42439  
 42440  	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)) {
 42441  		goto __1109
 42442  	}
 42443  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42444  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42445  		goto __1110
 42446  	}
 42447  	return -2
 42448  __1110:
 42449  	;
 42450  __1109:
 42451  	;
 42452  
 42453  	rrc = DMATCH_NOMATCH
 42454  	goto RETURN_SWITCH
 42455  
 42456  	goto __1108
 42457  __1107:
 42458  
 42459  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42460  	if !(utf != 0 && fc >= 0xc0) {
 42461  		goto __1111
 42462  	}
 42463  	if !(fc&0x20 == Tuint32_t(0)) {
 42464  		goto __1112
 42465  	}
 42466  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42467  	goto __1113
 42468  __1112:
 42469  	if !(fc&0x10 == Tuint32_t(0)) {
 42470  		goto __1114
 42471  	}
 42472  	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
 42473  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42474  	goto __1115
 42475  __1114:
 42476  	if !(fc&0x08 == Tuint32_t(0)) {
 42477  		goto __1116
 42478  	}
 42479  	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
 42480  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42481  	goto __1117
 42482  __1116:
 42483  	if !(fc&0x04 == Tuint32_t(0)) {
 42484  		goto __1118
 42485  	}
 42486  	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
 42487  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 42488  	goto __1119
 42489  __1118:
 42490  	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
 42491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 42492  __1119:
 42493  	;
 42494  __1117:
 42495  	;
 42496  __1115:
 42497  	;
 42498  __1113:
 42499  	;
 42500  __1111:
 42501  	;
 42502  
 42503  	(*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,
 42504  		uintptr(0))
 42505  __1108:
 42506  	;
 42507  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42508  		goto __1120
 42509  	}
 42510  	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)) {
 42511  		goto __1121
 42512  	}
 42513  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42514  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42515  		goto __1122
 42516  	}
 42517  	return -2
 42518  __1122:
 42519  	;
 42520  __1121:
 42521  	;
 42522  __1120:
 42523  	;
 42524  
 42525  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42526  	goto __13
 42527  
 42528  	// =====================================================================
 42529  	// Match a single character type repeatedly. Note that the property type
 42530  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 42531  	//     loop.
 42532  
 42533  __94:
 42534  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = libc.AssignPtrUint32(F+32+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)))))
 42535  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42536  	goto REPEATTYPE
 42537  
 42538  __95:
 42539  __96:
 42540  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 42541  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 42542  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_TYPEMINUPTO {
 42543  		reptype = REPTYPE_MIN
 42544  	} else {
 42545  		reptype = REPTYPE_MAX
 42546  	}
 42547  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42548  	goto REPEATTYPE
 42549  
 42550  __97:
 42551  	reptype = REPTYPE_POS
 42552  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 42553  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 42554  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42555  	goto REPEATTYPE
 42556  
 42557  __98:
 42558  	reptype = REPTYPE_POS
 42559  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(1)
 42560  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 42561  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42562  	goto REPEATTYPE
 42563  
 42564  __99:
 42565  	reptype = REPTYPE_POS
 42566  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 42567  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = Tuint32_t(1)
 42568  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42569  	goto REPEATTYPE
 42570  
 42571  __100:
 42572  	reptype = REPTYPE_POS
 42573  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 42574  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 42575  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42576  	goto REPEATTYPE
 42577  
 42578  __101:
 42579  __102:
 42580  __103:
 42581  __104:
 42582  __105:
 42583  __106:
 42584  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_TYPESTAR)
 42585  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 42586  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 42587  	reptype = rep_typ[fc]
 42588  
 42589  	// Common code for all repeated character type matches.
 42590  
 42591  REPEATTYPE:
 42592  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) // Code for the character type
 42593  
 42594  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_PROP || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP) {
 42595  		goto __1123
 42596  	}
 42597  
 42598  	proptype = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42599  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42600  	goto __1124
 42601  __1123:
 42602  	proptype = -1
 42603  __1124:
 42604  	;
 42605  
 42606  	// First, ensure the minimum number of matches are present. Use inline
 42607  	//     code for maximizing the speed, and do the type test once at the start
 42608  	//     (i.e. keep it out of the loops). As there are no calls to RMATCH in the
 42609  	//     loops, we can use an ordinary variable for "notmatch". The code for UTF
 42610  	//     mode is separated out for tidiness, except for Unicode property tests.
 42611  
 42612  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) > Tuint32_t(0)) {
 42613  		goto __1125
 42614  	}
 42615  
 42616  	if !(proptype >= 0) {
 42617  		goto __1126
 42618  	} /* Property tests in all modes */
 42619  
 42620  	notmatch1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)
 42621  	switch proptype {
 42622  	case DPT_ANY:
 42623  		goto __1129
 42624  
 42625  	case DPT_LAMP:
 42626  		goto __1130
 42627  
 42628  	case DPT_GC:
 42629  		goto __1131
 42630  
 42631  	case DPT_PC:
 42632  		goto __1132
 42633  
 42634  	case DPT_SC:
 42635  		goto __1133
 42636  
 42637  	case DPT_SCX:
 42638  		goto __1134
 42639  
 42640  	case DPT_ALNUM:
 42641  		goto __1135
 42642  
 42643  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42644  	//           which means that Perl space and POSIX space are now identical. PCRE
 42645  	//           was changed at release 8.34.
 42646  
 42647  	case DPT_SPACE:
 42648  		goto __1136 // Perl space
 42649  	case DPT_PXSPACE:
 42650  		goto __1137
 42651  
 42652  	case DPT_WORD:
 42653  		goto __1138
 42654  
 42655  	case DPT_CLIST:
 42656  		goto __1139
 42657  
 42658  	case DPT_UCNC:
 42659  		goto __1140
 42660  
 42661  	case DPT_BIDICL:
 42662  		goto __1141
 42663  
 42664  	case DPT_BOOL:
 42665  		goto __1142
 42666  
 42667  	// This should not occur
 42668  
 42669  	default:
 42670  		goto __1143
 42671  	}
 42672  	goto __1128
 42673  
 42674  __1129:
 42675  	if !(notmatch1 != 0) {
 42676  		goto __1144
 42677  	}
 42678  	rrc = DMATCH_NOMATCH
 42679  	goto RETURN_SWITCH
 42680  __1144:
 42681  	;
 42682  
 42683  	i = Tuint32_t(1)
 42684  __1145:
 42685  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 42686  		goto __1147
 42687  	}
 42688  
 42689  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42690  		goto __1148
 42691  	}
 42692  
 42693  	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)) {
 42694  		goto __1149
 42695  	}
 42696  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42697  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42698  		goto __1150
 42699  	}
 42700  	return -2
 42701  __1150:
 42702  	;
 42703  __1149:
 42704  	;
 42705  
 42706  	rrc = DMATCH_NOMATCH
 42707  	goto RETURN_SWITCH
 42708  
 42709  __1148:
 42710  	;
 42711  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42712  	if !(utf != 0 && fc >= 0xc0) {
 42713  		goto __1151
 42714  	}
 42715  	if !(fc&0x20 == Tuint32_t(0)) {
 42716  		goto __1152
 42717  	}
 42718  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42719  	goto __1153
 42720  __1152:
 42721  	if !(fc&0x10 == Tuint32_t(0)) {
 42722  		goto __1154
 42723  	}
 42724  	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
 42725  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42726  	goto __1155
 42727  __1154:
 42728  	if !(fc&0x08 == Tuint32_t(0)) {
 42729  		goto __1156
 42730  	}
 42731  	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
 42732  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42733  	goto __1157
 42734  __1156:
 42735  	if !(fc&0x04 == Tuint32_t(0)) {
 42736  		goto __1158
 42737  	}
 42738  	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
 42739  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 42740  	goto __1159
 42741  __1158:
 42742  	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
 42743  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 42744  __1159:
 42745  	;
 42746  __1157:
 42747  	;
 42748  __1155:
 42749  	;
 42750  __1153:
 42751  	;
 42752  __1151:
 42753  	;
 42754  
 42755  	goto __1146
 42756  __1146:
 42757  	i++
 42758  	goto __1145
 42759  	goto __1147
 42760  __1147:
 42761  	;
 42762  	goto __1128
 42763  
 42764  __1130:
 42765  	i = Tuint32_t(1)
 42766  __1160:
 42767  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 42768  		goto __1162
 42769  	}
 42770  
 42771  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42772  		goto __1163
 42773  	}
 42774  
 42775  	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)) {
 42776  		goto __1164
 42777  	}
 42778  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42779  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42780  		goto __1165
 42781  	}
 42782  	return -2
 42783  __1165:
 42784  	;
 42785  __1164:
 42786  	;
 42787  
 42788  	rrc = DMATCH_NOMATCH
 42789  	goto RETURN_SWITCH
 42790  
 42791  __1163:
 42792  	;
 42793  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42794  	if !(utf != 0 && fc >= 0xc0) {
 42795  		goto __1166
 42796  	}
 42797  	if !(fc&0x20 == Tuint32_t(0)) {
 42798  		goto __1167
 42799  	}
 42800  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42801  	goto __1168
 42802  __1167:
 42803  	if !(fc&0x10 == Tuint32_t(0)) {
 42804  		goto __1169
 42805  	}
 42806  	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
 42807  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42808  	goto __1170
 42809  __1169:
 42810  	if !(fc&0x08 == Tuint32_t(0)) {
 42811  		goto __1171
 42812  	}
 42813  	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
 42814  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42815  	goto __1172
 42816  __1171:
 42817  	if !(fc&0x04 == Tuint32_t(0)) {
 42818  		goto __1173
 42819  	}
 42820  	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
 42821  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 42822  	goto __1174
 42823  __1173:
 42824  	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
 42825  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 42826  __1174:
 42827  	;
 42828  __1172:
 42829  	;
 42830  __1170:
 42831  	;
 42832  __1168:
 42833  	;
 42834  __1166:
 42835  	;
 42836  
 42837  	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)
 42838  	if !(libc.Bool32(chartype == ucp_Lu || chartype == ucp_Ll || chartype == ucp_Lt) == notmatch1) {
 42839  		goto __1175
 42840  	}
 42841  	rrc = DMATCH_NOMATCH
 42842  	goto RETURN_SWITCH
 42843  __1175:
 42844  	;
 42845  
 42846  	goto __1161
 42847  __1161:
 42848  	i++
 42849  	goto __1160
 42850  	goto __1162
 42851  __1162:
 42852  	;
 42853  	goto __1128
 42854  
 42855  __1131:
 42856  	i = Tuint32_t(1)
 42857  __1176:
 42858  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 42859  		goto __1178
 42860  	}
 42861  
 42862  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42863  		goto __1179
 42864  	}
 42865  
 42866  	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)) {
 42867  		goto __1180
 42868  	}
 42869  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42870  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42871  		goto __1181
 42872  	}
 42873  	return -2
 42874  __1181:
 42875  	;
 42876  __1180:
 42877  	;
 42878  
 42879  	rrc = DMATCH_NOMATCH
 42880  	goto RETURN_SWITCH
 42881  
 42882  __1179:
 42883  	;
 42884  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42885  	if !(utf != 0 && fc >= 0xc0) {
 42886  		goto __1182
 42887  	}
 42888  	if !(fc&0x20 == Tuint32_t(0)) {
 42889  		goto __1183
 42890  	}
 42891  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42892  	goto __1184
 42893  __1183:
 42894  	if !(fc&0x10 == Tuint32_t(0)) {
 42895  		goto __1185
 42896  	}
 42897  	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
 42898  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42899  	goto __1186
 42900  __1185:
 42901  	if !(fc&0x08 == Tuint32_t(0)) {
 42902  		goto __1187
 42903  	}
 42904  	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
 42905  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42906  	goto __1188
 42907  __1187:
 42908  	if !(fc&0x04 == Tuint32_t(0)) {
 42909  		goto __1189
 42910  	}
 42911  	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
 42912  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 42913  	goto __1190
 42914  __1189:
 42915  	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
 42916  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 42917  __1190:
 42918  	;
 42919  __1188:
 42920  	;
 42921  __1186:
 42922  	;
 42923  __1184:
 42924  	;
 42925  __1182:
 42926  	;
 42927  
 42928  	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 + 32 + 3*4))) == notmatch1) {
 42929  		goto __1191
 42930  	}
 42931  	rrc = DMATCH_NOMATCH
 42932  	goto RETURN_SWITCH
 42933  __1191:
 42934  	;
 42935  
 42936  	goto __1177
 42937  __1177:
 42938  	i++
 42939  	goto __1176
 42940  	goto __1178
 42941  __1178:
 42942  	;
 42943  	goto __1128
 42944  
 42945  __1132:
 42946  	i = Tuint32_t(1)
 42947  __1192:
 42948  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 42949  		goto __1194
 42950  	}
 42951  
 42952  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42953  		goto __1195
 42954  	}
 42955  
 42956  	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)) {
 42957  		goto __1196
 42958  	}
 42959  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42960  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42961  		goto __1197
 42962  	}
 42963  	return -2
 42964  __1197:
 42965  	;
 42966  __1196:
 42967  	;
 42968  
 42969  	rrc = DMATCH_NOMATCH
 42970  	goto RETURN_SWITCH
 42971  
 42972  __1195:
 42973  	;
 42974  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42975  	if !(utf != 0 && fc >= 0xc0) {
 42976  		goto __1198
 42977  	}
 42978  	if !(fc&0x20 == Tuint32_t(0)) {
 42979  		goto __1199
 42980  	}
 42981  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42982  	goto __1200
 42983  __1199:
 42984  	if !(fc&0x10 == Tuint32_t(0)) {
 42985  		goto __1201
 42986  	}
 42987  	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
 42988  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 42989  	goto __1202
 42990  __1201:
 42991  	if !(fc&0x08 == Tuint32_t(0)) {
 42992  		goto __1203
 42993  	}
 42994  	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
 42995  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 42996  	goto __1204
 42997  __1203:
 42998  	if !(fc&0x04 == Tuint32_t(0)) {
 42999  		goto __1205
 43000  	}
 43001  	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
 43002  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43003  	goto __1206
 43004  __1205:
 43005  	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
 43006  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43007  __1206:
 43008  	;
 43009  __1204:
 43010  	;
 43011  __1202:
 43012  	;
 43013  __1200:
 43014  	;
 43015  __1198:
 43016  	;
 43017  
 43018  	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 + 32 + 3*4))) == notmatch1) {
 43019  		goto __1207
 43020  	}
 43021  	rrc = DMATCH_NOMATCH
 43022  	goto RETURN_SWITCH
 43023  __1207:
 43024  	;
 43025  
 43026  	goto __1193
 43027  __1193:
 43028  	i++
 43029  	goto __1192
 43030  	goto __1194
 43031  __1194:
 43032  	;
 43033  	goto __1128
 43034  
 43035  __1133:
 43036  	i = Tuint32_t(1)
 43037  __1208:
 43038  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43039  		goto __1210
 43040  	}
 43041  
 43042  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43043  		goto __1211
 43044  	}
 43045  
 43046  	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)) {
 43047  		goto __1212
 43048  	}
 43049  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43050  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43051  		goto __1213
 43052  	}
 43053  	return -2
 43054  __1213:
 43055  	;
 43056  __1212:
 43057  	;
 43058  
 43059  	rrc = DMATCH_NOMATCH
 43060  	goto RETURN_SWITCH
 43061  
 43062  __1211:
 43063  	;
 43064  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43065  	if !(utf != 0 && fc >= 0xc0) {
 43066  		goto __1214
 43067  	}
 43068  	if !(fc&0x20 == Tuint32_t(0)) {
 43069  		goto __1215
 43070  	}
 43071  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43072  	goto __1216
 43073  __1215:
 43074  	if !(fc&0x10 == Tuint32_t(0)) {
 43075  		goto __1217
 43076  	}
 43077  	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
 43078  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43079  	goto __1218
 43080  __1217:
 43081  	if !(fc&0x08 == Tuint32_t(0)) {
 43082  		goto __1219
 43083  	}
 43084  	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
 43085  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43086  	goto __1220
 43087  __1219:
 43088  	if !(fc&0x04 == Tuint32_t(0)) {
 43089  		goto __1221
 43090  	}
 43091  	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
 43092  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43093  	goto __1222
 43094  __1221:
 43095  	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
 43096  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43097  __1222:
 43098  	;
 43099  __1220:
 43100  	;
 43101  __1218:
 43102  	;
 43103  __1216:
 43104  	;
 43105  __1214:
 43106  	;
 43107  
 43108  	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 + 32 + 3*4))) == notmatch1) {
 43109  		goto __1223
 43110  	}
 43111  	rrc = DMATCH_NOMATCH
 43112  	goto RETURN_SWITCH
 43113  __1223:
 43114  	;
 43115  
 43116  	goto __1209
 43117  __1209:
 43118  	i++
 43119  	goto __1208
 43120  	goto __1210
 43121  __1210:
 43122  	;
 43123  	goto __1128
 43124  
 43125  __1134:
 43126  	i = Tuint32_t(1)
 43127  __1224:
 43128  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43129  		goto __1226
 43130  	}
 43131  
 43132  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43133  		goto __1227
 43134  	}
 43135  
 43136  	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)) {
 43137  		goto __1228
 43138  	}
 43139  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43140  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43141  		goto __1229
 43142  	}
 43143  	return -2
 43144  __1229:
 43145  	;
 43146  __1228:
 43147  	;
 43148  
 43149  	rrc = DMATCH_NOMATCH
 43150  	goto RETURN_SWITCH
 43151  
 43152  __1227:
 43153  	;
 43154  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43155  	if !(utf != 0 && fc >= 0xc0) {
 43156  		goto __1230
 43157  	}
 43158  	if !(fc&0x20 == Tuint32_t(0)) {
 43159  		goto __1231
 43160  	}
 43161  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43162  	goto __1232
 43163  __1231:
 43164  	if !(fc&0x10 == Tuint32_t(0)) {
 43165  		goto __1233
 43166  	}
 43167  	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
 43168  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43169  	goto __1234
 43170  __1233:
 43171  	if !(fc&0x08 == Tuint32_t(0)) {
 43172  		goto __1235
 43173  	}
 43174  	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
 43175  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43176  	goto __1236
 43177  __1235:
 43178  	if !(fc&0x04 == Tuint32_t(0)) {
 43179  		goto __1237
 43180  	}
 43181  	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
 43182  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43183  	goto __1238
 43184  __1237:
 43185  	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
 43186  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43187  __1238:
 43188  	;
 43189  __1236:
 43190  	;
 43191  __1234:
 43192  	;
 43193  __1232:
 43194  	;
 43195  __1230:
 43196  	;
 43197  
 43198  	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
 43199  	ok2 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43200  	if !(ok2 == notmatch1) {
 43201  		goto __1239
 43202  	}
 43203  	rrc = DMATCH_NOMATCH
 43204  	goto RETURN_SWITCH
 43205  __1239:
 43206  	;
 43207  
 43208  	goto __1225
 43209  __1225:
 43210  	i++
 43211  	goto __1224
 43212  	goto __1226
 43213  __1226:
 43214  	;
 43215  	goto __1128
 43216  
 43217  __1135:
 43218  	i = Tuint32_t(1)
 43219  __1240:
 43220  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43221  		goto __1242
 43222  	}
 43223  
 43224  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43225  		goto __1243
 43226  	}
 43227  
 43228  	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)) {
 43229  		goto __1244
 43230  	}
 43231  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43232  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43233  		goto __1245
 43234  	}
 43235  	return -2
 43236  __1245:
 43237  	;
 43238  __1244:
 43239  	;
 43240  
 43241  	rrc = DMATCH_NOMATCH
 43242  	goto RETURN_SWITCH
 43243  
 43244  __1243:
 43245  	;
 43246  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43247  	if !(utf != 0 && fc >= 0xc0) {
 43248  		goto __1246
 43249  	}
 43250  	if !(fc&0x20 == Tuint32_t(0)) {
 43251  		goto __1247
 43252  	}
 43253  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43254  	goto __1248
 43255  __1247:
 43256  	if !(fc&0x10 == Tuint32_t(0)) {
 43257  		goto __1249
 43258  	}
 43259  	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
 43260  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43261  	goto __1250
 43262  __1249:
 43263  	if !(fc&0x08 == Tuint32_t(0)) {
 43264  		goto __1251
 43265  	}
 43266  	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
 43267  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43268  	goto __1252
 43269  __1251:
 43270  	if !(fc&0x04 == Tuint32_t(0)) {
 43271  		goto __1253
 43272  	}
 43273  	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
 43274  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43275  	goto __1254
 43276  __1253:
 43277  	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
 43278  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43279  __1254:
 43280  	;
 43281  __1252:
 43282  	;
 43283  __1250:
 43284  	;
 43285  __1248:
 43286  	;
 43287  __1246:
 43288  	;
 43289  
 43290  	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])
 43291  	if !(libc.Bool32(category == ucp_L || category == ucp_N) == notmatch1) {
 43292  		goto __1255
 43293  	}
 43294  	rrc = DMATCH_NOMATCH
 43295  	goto RETURN_SWITCH
 43296  __1255:
 43297  	;
 43298  
 43299  	goto __1241
 43300  __1241:
 43301  	i++
 43302  	goto __1240
 43303  	goto __1242
 43304  __1242:
 43305  	;
 43306  	goto __1128
 43307  
 43308  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 43309  	//           which means that Perl space and POSIX space are now identical. PCRE
 43310  	//           was changed at release 8.34.
 43311  
 43312  __1136: // Perl space
 43313  __1137: // POSIX space
 43314  	i = Tuint32_t(1)
 43315  __1256:
 43316  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43317  		goto __1258
 43318  	}
 43319  
 43320  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43321  		goto __1259
 43322  	}
 43323  
 43324  	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)) {
 43325  		goto __1260
 43326  	}
 43327  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43328  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43329  		goto __1261
 43330  	}
 43331  	return -2
 43332  __1261:
 43333  	;
 43334  __1260:
 43335  	;
 43336  
 43337  	rrc = DMATCH_NOMATCH
 43338  	goto RETURN_SWITCH
 43339  
 43340  __1259:
 43341  	;
 43342  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43343  	if !(utf != 0 && fc >= 0xc0) {
 43344  		goto __1262
 43345  	}
 43346  	if !(fc&0x20 == Tuint32_t(0)) {
 43347  		goto __1263
 43348  	}
 43349  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43350  	goto __1264
 43351  __1263:
 43352  	if !(fc&0x10 == Tuint32_t(0)) {
 43353  		goto __1265
 43354  	}
 43355  	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
 43356  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43357  	goto __1266
 43358  __1265:
 43359  	if !(fc&0x08 == Tuint32_t(0)) {
 43360  		goto __1267
 43361  	}
 43362  	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
 43363  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43364  	goto __1268
 43365  __1267:
 43366  	if !(fc&0x04 == Tuint32_t(0)) {
 43367  		goto __1269
 43368  	}
 43369  	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
 43370  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43371  	goto __1270
 43372  __1269:
 43373  	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
 43374  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43375  __1270:
 43376  	;
 43377  __1268:
 43378  	;
 43379  __1266:
 43380  	;
 43381  __1264:
 43382  	;
 43383  __1262:
 43384  	;
 43385  
 43386  	switch fc {
 43387  	case Tuint32_t('\011'):
 43388  		goto __1272
 43389  	case Tuint32_t('\040'):
 43390  		goto __1273
 43391  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 43392  		goto __1274
 43393  	case Tuint32_t(0x1680):
 43394  		goto __1275 /* OGHAM SPACE MARK */
 43395  	case Tuint32_t(0x180e):
 43396  		goto __1276 /* MONGOLIAN VOWEL SEPARATOR */
 43397  	case Tuint32_t(0x2000):
 43398  		goto __1277 /* EN QUAD */
 43399  	case Tuint32_t(0x2001):
 43400  		goto __1278 /* EM QUAD */
 43401  	case Tuint32_t(0x2002):
 43402  		goto __1279 /* EN SPACE */
 43403  	case Tuint32_t(0x2003):
 43404  		goto __1280 /* EM SPACE */
 43405  	case Tuint32_t(0x2004):
 43406  		goto __1281 /* THREE-PER-EM SPACE */
 43407  	case Tuint32_t(0x2005):
 43408  		goto __1282 /* FOUR-PER-EM SPACE */
 43409  	case Tuint32_t(0x2006):
 43410  		goto __1283 /* SIX-PER-EM SPACE */
 43411  	case Tuint32_t(0x2007):
 43412  		goto __1284 /* FIGURE SPACE */
 43413  	case Tuint32_t(0x2008):
 43414  		goto __1285 /* PUNCTUATION SPACE */
 43415  	case Tuint32_t(0x2009):
 43416  		goto __1286 /* THIN SPACE */
 43417  	case Tuint32_t(0x200A):
 43418  		goto __1287 /* HAIR SPACE */
 43419  	case Tuint32_t(0x202f):
 43420  		goto __1288 /* NARROW NO-BREAK SPACE */
 43421  	case Tuint32_t(0x205f):
 43422  		goto __1289 /* MEDIUM MATHEMATICAL SPACE */
 43423  	case Tuint32_t(0x3000):
 43424  		goto __1290
 43425  	case Tuint32_t('\012'):
 43426  		goto __1291
 43427  	case Tuint32_t('\013'):
 43428  		goto __1292
 43429  	case Tuint32_t('\014'):
 43430  		goto __1293
 43431  	case Tuint32_t('\015'):
 43432  		goto __1294
 43433  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 43434  		goto __1295
 43435  	case Tuint32_t(0x2028):
 43436  		goto __1296 /* LINE SEPARATOR */
 43437  	case Tuint32_t(0x2029):
 43438  		goto __1297
 43439  
 43440  	default:
 43441  		goto __1298
 43442  	}
 43443  	goto __1271
 43444  
 43445  __1272:
 43446  __1273:
 43447  __1274:
 43448  __1275: /* OGHAM SPACE MARK */
 43449  __1276: /* MONGOLIAN VOWEL SEPARATOR */
 43450  __1277: /* EN QUAD */
 43451  __1278: /* EM QUAD */
 43452  __1279: /* EN SPACE */
 43453  __1280: /* EM SPACE */
 43454  __1281: /* THREE-PER-EM SPACE */
 43455  __1282: /* FOUR-PER-EM SPACE */
 43456  __1283: /* SIX-PER-EM SPACE */
 43457  __1284: /* FIGURE SPACE */
 43458  __1285: /* PUNCTUATION SPACE */
 43459  __1286: /* THIN SPACE */
 43460  __1287: /* HAIR SPACE */
 43461  __1288: /* NARROW NO-BREAK SPACE */
 43462  __1289: /* MEDIUM MATHEMATICAL SPACE */
 43463  __1290:
 43464  __1291:
 43465  __1292:
 43466  __1293:
 43467  __1294:
 43468  __1295:
 43469  __1296: /* LINE SEPARATOR */
 43470  __1297:
 43471  	if !(notmatch1 != 0) {
 43472  		goto __1299
 43473  	}
 43474  	rrc = DMATCH_NOMATCH
 43475  	goto RETURN_SWITCH
 43476  __1299:
 43477  	;
 43478  
 43479  	goto __1271
 43480  
 43481  __1298:
 43482  	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) {
 43483  		goto __1300
 43484  	}
 43485  	rrc = DMATCH_NOMATCH
 43486  	goto RETURN_SWITCH
 43487  __1300:
 43488  	;
 43489  
 43490  	goto __1271
 43491  __1271:
 43492  	;
 43493  	goto __1257
 43494  __1257:
 43495  	i++
 43496  	goto __1256
 43497  	goto __1258
 43498  __1258:
 43499  	;
 43500  	goto __1128
 43501  
 43502  __1138:
 43503  	i = Tuint32_t(1)
 43504  __1301:
 43505  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43506  		goto __1303
 43507  	}
 43508  
 43509  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43510  		goto __1304
 43511  	}
 43512  
 43513  	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)) {
 43514  		goto __1305
 43515  	}
 43516  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43517  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43518  		goto __1306
 43519  	}
 43520  	return -2
 43521  __1306:
 43522  	;
 43523  __1305:
 43524  	;
 43525  
 43526  	rrc = DMATCH_NOMATCH
 43527  	goto RETURN_SWITCH
 43528  
 43529  __1304:
 43530  	;
 43531  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43532  	if !(utf != 0 && fc >= 0xc0) {
 43533  		goto __1307
 43534  	}
 43535  	if !(fc&0x20 == Tuint32_t(0)) {
 43536  		goto __1308
 43537  	}
 43538  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43539  	goto __1309
 43540  __1308:
 43541  	if !(fc&0x10 == Tuint32_t(0)) {
 43542  		goto __1310
 43543  	}
 43544  	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
 43545  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43546  	goto __1311
 43547  __1310:
 43548  	if !(fc&0x08 == Tuint32_t(0)) {
 43549  		goto __1312
 43550  	}
 43551  	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
 43552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43553  	goto __1313
 43554  __1312:
 43555  	if !(fc&0x04 == Tuint32_t(0)) {
 43556  		goto __1314
 43557  	}
 43558  	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
 43559  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43560  	goto __1315
 43561  __1314:
 43562  	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
 43563  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43564  __1315:
 43565  	;
 43566  __1313:
 43567  	;
 43568  __1311:
 43569  	;
 43570  __1309:
 43571  	;
 43572  __1307:
 43573  	;
 43574  
 43575  	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])
 43576  	if !(libc.Bool32(category1 == ucp_L || category1 == ucp_N || fc == Tuint32_t('\137')) == notmatch1) {
 43577  		goto __1316
 43578  	}
 43579  	rrc = DMATCH_NOMATCH
 43580  	goto RETURN_SWITCH
 43581  __1316:
 43582  	;
 43583  
 43584  	goto __1302
 43585  __1302:
 43586  	i++
 43587  	goto __1301
 43588  	goto __1303
 43589  __1303:
 43590  	;
 43591  	goto __1128
 43592  
 43593  __1139:
 43594  	i = Tuint32_t(1)
 43595  __1317:
 43596  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43597  		goto __1319
 43598  	}
 43599  
 43600  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43601  		goto __1320
 43602  	}
 43603  
 43604  	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)) {
 43605  		goto __1321
 43606  	}
 43607  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43608  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43609  		goto __1322
 43610  	}
 43611  	return -2
 43612  __1322:
 43613  	;
 43614  __1321:
 43615  	;
 43616  
 43617  	rrc = DMATCH_NOMATCH
 43618  	goto RETURN_SWITCH
 43619  
 43620  __1320:
 43621  	;
 43622  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43623  	if !(utf != 0 && fc >= 0xc0) {
 43624  		goto __1323
 43625  	}
 43626  	if !(fc&0x20 == Tuint32_t(0)) {
 43627  		goto __1324
 43628  	}
 43629  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43630  	goto __1325
 43631  __1324:
 43632  	if !(fc&0x10 == Tuint32_t(0)) {
 43633  		goto __1326
 43634  	}
 43635  	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
 43636  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43637  	goto __1327
 43638  __1326:
 43639  	if !(fc&0x08 == Tuint32_t(0)) {
 43640  		goto __1328
 43641  	}
 43642  	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
 43643  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43644  	goto __1329
 43645  __1328:
 43646  	if !(fc&0x04 == Tuint32_t(0)) {
 43647  		goto __1330
 43648  	}
 43649  	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
 43650  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43651  	goto __1331
 43652  __1330:
 43653  	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
 43654  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43655  __1331:
 43656  	;
 43657  __1329:
 43658  	;
 43659  __1327:
 43660  	;
 43661  __1325:
 43662  	;
 43663  __1323:
 43664  	;
 43665  
 43666  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)))*4
 43667  __1332:
 43668  
 43669  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 43670  		goto __1335
 43671  	}
 43672  
 43673  	if !(notmatch1 != 0) {
 43674  		goto __1336
 43675  	}
 43676  	goto __1334
 43677  __1336:
 43678  	;
 43679  	rrc = DMATCH_NOMATCH
 43680  	goto RETURN_SWITCH
 43681  
 43682  __1335:
 43683  	;
 43684  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 43685  		goto __1337
 43686  	}
 43687  
 43688  	if !(notmatch1 != 0) {
 43689  		goto __1338
 43690  	}
 43691  	rrc = DMATCH_NOMATCH
 43692  	goto RETURN_SWITCH
 43693  __1338:
 43694  	;
 43695  
 43696  	goto __1334
 43697  __1337:
 43698  	;
 43699  	goto __1333
 43700  __1333:
 43701  	goto __1332
 43702  	goto __1334
 43703  __1334:
 43704  	;
 43705  	goto __1318
 43706  __1318:
 43707  	i++
 43708  	goto __1317
 43709  	goto __1319
 43710  __1319:
 43711  	;
 43712  	goto __1128
 43713  
 43714  __1140:
 43715  	i = Tuint32_t(1)
 43716  __1339:
 43717  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43718  		goto __1341
 43719  	}
 43720  
 43721  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43722  		goto __1342
 43723  	}
 43724  
 43725  	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)) {
 43726  		goto __1343
 43727  	}
 43728  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43729  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43730  		goto __1344
 43731  	}
 43732  	return -2
 43733  __1344:
 43734  	;
 43735  __1343:
 43736  	;
 43737  
 43738  	rrc = DMATCH_NOMATCH
 43739  	goto RETURN_SWITCH
 43740  
 43741  __1342:
 43742  	;
 43743  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43744  	if !(utf != 0 && fc >= 0xc0) {
 43745  		goto __1345
 43746  	}
 43747  	if !(fc&0x20 == Tuint32_t(0)) {
 43748  		goto __1346
 43749  	}
 43750  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43751  	goto __1347
 43752  __1346:
 43753  	if !(fc&0x10 == Tuint32_t(0)) {
 43754  		goto __1348
 43755  	}
 43756  	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
 43757  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43758  	goto __1349
 43759  __1348:
 43760  	if !(fc&0x08 == Tuint32_t(0)) {
 43761  		goto __1350
 43762  	}
 43763  	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
 43764  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43765  	goto __1351
 43766  __1350:
 43767  	if !(fc&0x04 == Tuint32_t(0)) {
 43768  		goto __1352
 43769  	}
 43770  	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
 43771  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43772  	goto __1353
 43773  __1352:
 43774  	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
 43775  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43776  __1353:
 43777  	;
 43778  __1351:
 43779  	;
 43780  __1349:
 43781  	;
 43782  __1347:
 43783  	;
 43784  __1345:
 43785  	;
 43786  
 43787  	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) {
 43788  		goto __1354
 43789  	}
 43790  	rrc = DMATCH_NOMATCH
 43791  	goto RETURN_SWITCH
 43792  __1354:
 43793  	;
 43794  
 43795  	goto __1340
 43796  __1340:
 43797  	i++
 43798  	goto __1339
 43799  	goto __1341
 43800  __1341:
 43801  	;
 43802  	goto __1128
 43803  
 43804  __1141:
 43805  	i = Tuint32_t(1)
 43806  __1355:
 43807  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43808  		goto __1357
 43809  	}
 43810  
 43811  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43812  		goto __1358
 43813  	}
 43814  
 43815  	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)) {
 43816  		goto __1359
 43817  	}
 43818  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43819  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43820  		goto __1360
 43821  	}
 43822  	return -2
 43823  __1360:
 43824  	;
 43825  __1359:
 43826  	;
 43827  
 43828  	rrc = DMATCH_NOMATCH
 43829  	goto RETURN_SWITCH
 43830  
 43831  __1358:
 43832  	;
 43833  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43834  	if !(utf != 0 && fc >= 0xc0) {
 43835  		goto __1361
 43836  	}
 43837  	if !(fc&0x20 == Tuint32_t(0)) {
 43838  		goto __1362
 43839  	}
 43840  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43841  	goto __1363
 43842  __1362:
 43843  	if !(fc&0x10 == Tuint32_t(0)) {
 43844  		goto __1364
 43845  	}
 43846  	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
 43847  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43848  	goto __1365
 43849  __1364:
 43850  	if !(fc&0x08 == Tuint32_t(0)) {
 43851  		goto __1366
 43852  	}
 43853  	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
 43854  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43855  	goto __1367
 43856  __1366:
 43857  	if !(fc&0x04 == Tuint32_t(0)) {
 43858  		goto __1368
 43859  	}
 43860  	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
 43861  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43862  	goto __1369
 43863  __1368:
 43864  	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
 43865  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43866  __1369:
 43867  	;
 43868  __1367:
 43869  	;
 43870  __1365:
 43871  	;
 43872  __1363:
 43873  	;
 43874  __1361:
 43875  	;
 43876  
 43877  	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 + 32 + 3*4))) == notmatch1) {
 43878  		goto __1370
 43879  	}
 43880  	rrc = DMATCH_NOMATCH
 43881  	goto RETURN_SWITCH
 43882  __1370:
 43883  	;
 43884  
 43885  	goto __1356
 43886  __1356:
 43887  	i++
 43888  	goto __1355
 43889  	goto __1357
 43890  __1357:
 43891  	;
 43892  	goto __1128
 43893  
 43894  __1142:
 43895  	i = Tuint32_t(1)
 43896  __1371:
 43897  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 43898  		goto __1373
 43899  	}
 43900  
 43901  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43902  		goto __1374
 43903  	}
 43904  
 43905  	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)) {
 43906  		goto __1375
 43907  	}
 43908  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43909  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43910  		goto __1376
 43911  	}
 43912  	return -2
 43913  __1376:
 43914  	;
 43915  __1375:
 43916  	;
 43917  
 43918  	rrc = DMATCH_NOMATCH
 43919  	goto RETURN_SWITCH
 43920  
 43921  __1374:
 43922  	;
 43923  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43924  	if !(utf != 0 && fc >= 0xc0) {
 43925  		goto __1377
 43926  	}
 43927  	if !(fc&0x20 == Tuint32_t(0)) {
 43928  		goto __1378
 43929  	}
 43930  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43931  	goto __1379
 43932  __1378:
 43933  	if !(fc&0x10 == Tuint32_t(0)) {
 43934  		goto __1380
 43935  	}
 43936  	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
 43937  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 43938  	goto __1381
 43939  __1380:
 43940  	if !(fc&0x08 == Tuint32_t(0)) {
 43941  		goto __1382
 43942  	}
 43943  	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
 43944  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 43945  	goto __1383
 43946  __1382:
 43947  	if !(fc&0x04 == Tuint32_t(0)) {
 43948  		goto __1384
 43949  	}
 43950  	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
 43951  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 43952  	goto __1385
 43953  __1384:
 43954  	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
 43955  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 43956  __1385:
 43957  	;
 43958  __1383:
 43959  	;
 43960  __1381:
 43961  	;
 43962  __1379:
 43963  	;
 43964  __1377:
 43965  	;
 43966  
 43967  	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
 43968  	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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43969  	if !(ok3 == notmatch1) {
 43970  		goto __1386
 43971  	}
 43972  	rrc = DMATCH_NOMATCH
 43973  	goto RETURN_SWITCH
 43974  __1386:
 43975  	;
 43976  
 43977  	goto __1372
 43978  __1372:
 43979  	i++
 43980  	goto __1371
 43981  	goto __1373
 43982  __1373:
 43983  	;
 43984  	goto __1128
 43985  
 43986  	// This should not occur
 43987  
 43988  __1143:
 43989  	return -44
 43990  __1128:
 43991  	;
 43992  	goto __1127
 43993  __1126:
 43994  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_EXTUNI) {
 43995  		goto __1387
 43996  	}
 43997  
 43998  	i = Tuint32_t(1)
 43999  __1389:
 44000  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44001  		goto __1391
 44002  	}
 44003  
 44004  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44005  		goto __1392
 44006  	}
 44007  
 44008  	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)) {
 44009  		goto __1394
 44010  	}
 44011  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44012  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44013  		goto __1395
 44014  	}
 44015  	return -2
 44016  __1395:
 44017  	;
 44018  __1394:
 44019  	;
 44020  
 44021  	rrc = DMATCH_NOMATCH
 44022  	goto RETURN_SWITCH
 44023  
 44024  	goto __1393
 44025  __1392:
 44026  
 44027  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44028  	if !(utf != 0 && fc >= 0xc0) {
 44029  		goto __1396
 44030  	}
 44031  	if !(fc&0x20 == Tuint32_t(0)) {
 44032  		goto __1397
 44033  	}
 44034  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44035  	goto __1398
 44036  __1397:
 44037  	if !(fc&0x10 == Tuint32_t(0)) {
 44038  		goto __1399
 44039  	}
 44040  	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
 44041  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44042  	goto __1400
 44043  __1399:
 44044  	if !(fc&0x08 == Tuint32_t(0)) {
 44045  		goto __1401
 44046  	}
 44047  	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
 44048  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44049  	goto __1402
 44050  __1401:
 44051  	if !(fc&0x04 == Tuint32_t(0)) {
 44052  		goto __1403
 44053  	}
 44054  	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
 44055  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44056  	goto __1404
 44057  __1403:
 44058  	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
 44059  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44060  __1404:
 44061  	;
 44062  __1402:
 44063  	;
 44064  __1400:
 44065  	;
 44066  __1398:
 44067  	;
 44068  __1396:
 44069  	;
 44070  
 44071  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 44072  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf, uintptr(0))
 44073  __1393:
 44074  	;
 44075  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44076  		goto __1405
 44077  	}
 44078  	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)) {
 44079  		goto __1406
 44080  	}
 44081  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44082  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44083  		goto __1407
 44084  	}
 44085  	return -2
 44086  __1407:
 44087  	;
 44088  __1406:
 44089  	;
 44090  __1405:
 44091  	;
 44092  
 44093  	goto __1390
 44094  __1390:
 44095  	i++
 44096  	goto __1389
 44097  	goto __1391
 44098  __1391:
 44099  	;
 44100  	goto __1388
 44101  __1387:
 44102  
 44103  	// Handle all other cases in UTF mode
 44104  
 44105  	if !(utf != 0) {
 44106  		goto __1408
 44107  	}
 44108  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 44109  	case OP_ANY:
 44110  		goto __1411
 44111  
 44112  	case OP_ALLANY:
 44113  		goto __1412
 44114  
 44115  	case OP_ANYBYTE:
 44116  		goto __1413
 44117  
 44118  	case OP_ANYNL:
 44119  		goto __1414
 44120  
 44121  	case OP_NOT_HSPACE:
 44122  		goto __1415
 44123  
 44124  	case OP_HSPACE:
 44125  		goto __1416
 44126  
 44127  	case OP_NOT_VSPACE:
 44128  		goto __1417
 44129  
 44130  	case OP_VSPACE:
 44131  		goto __1418
 44132  
 44133  	case OP_NOT_DIGIT:
 44134  		goto __1419
 44135  
 44136  	case OP_DIGIT:
 44137  		goto __1420
 44138  
 44139  	case OP_NOT_WHITESPACE:
 44140  		goto __1421
 44141  
 44142  	case OP_WHITESPACE:
 44143  		goto __1422
 44144  
 44145  	case OP_NOT_WORDCHAR:
 44146  		goto __1423
 44147  
 44148  	case OP_WORDCHAR:
 44149  		goto __1424
 44150  
 44151  	default:
 44152  		goto __1425
 44153  	}
 44154  	goto __1410
 44155  
 44156  __1411:
 44157  	i = Tuint32_t(1)
 44158  __1426:
 44159  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44160  		goto __1428
 44161  	}
 44162  
 44163  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44164  		goto __1429
 44165  	}
 44166  
 44167  	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)) {
 44168  		goto __1430
 44169  	}
 44170  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44171  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44172  		goto __1431
 44173  	}
 44174  	return -2
 44175  __1431:
 44176  	;
 44177  __1430:
 44178  	;
 44179  
 44180  	rrc = DMATCH_NOMATCH
 44181  	goto RETURN_SWITCH
 44182  
 44183  __1429:
 44184  	;
 44185  	if !(func() int32 {
 44186  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 44187  			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+156, utf) != 0)
 44188  		}
 44189  		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 + 160))) && ((*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 + 160 + 1)))))
 44190  	}() != 0) {
 44191  		goto __1432
 44192  	}
 44193  	rrc = DMATCH_NOMATCH
 44194  	goto RETURN_SWITCH
 44195  __1432:
 44196  	;
 44197  
 44198  	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 + 160)))) {
 44199  		goto __1433
 44200  	}
 44201  
 44202  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44203  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44204  		goto __1434
 44205  	}
 44206  	return -2
 44207  __1434:
 44208  	;
 44209  __1433:
 44210  	;
 44211  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44212  __1435:
 44213  	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) {
 44214  		goto __1436
 44215  	}
 44216  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44217  	goto __1435
 44218  __1436:
 44219  	;
 44220  	goto __1427
 44221  __1427:
 44222  	i++
 44223  	goto __1426
 44224  	goto __1428
 44225  __1428:
 44226  	;
 44227  	goto __1410
 44228  
 44229  __1412:
 44230  	i = Tuint32_t(1)
 44231  __1437:
 44232  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44233  		goto __1439
 44234  	}
 44235  
 44236  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44237  		goto __1440
 44238  	}
 44239  
 44240  	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)) {
 44241  		goto __1441
 44242  	}
 44243  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44244  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44245  		goto __1442
 44246  	}
 44247  	return -2
 44248  __1442:
 44249  	;
 44250  __1441:
 44251  	;
 44252  
 44253  	rrc = DMATCH_NOMATCH
 44254  	goto RETURN_SWITCH
 44255  
 44256  __1440:
 44257  	;
 44258  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44259  __1443:
 44260  	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) {
 44261  		goto __1444
 44262  	}
 44263  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44264  	goto __1443
 44265  __1444:
 44266  	;
 44267  	goto __1438
 44268  __1438:
 44269  	i++
 44270  	goto __1437
 44271  	goto __1439
 44272  __1439:
 44273  	;
 44274  	goto __1410
 44275  
 44276  __1413:
 44277  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32)))) {
 44278  		goto __1445
 44279  	}
 44280  	rrc = DMATCH_NOMATCH
 44281  	goto RETURN_SWITCH
 44282  __1445:
 44283  	;
 44284  
 44285  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 32)))
 44286  	goto __1410
 44287  
 44288  __1414:
 44289  	i = Tuint32_t(1)
 44290  __1446:
 44291  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44292  		goto __1448
 44293  	}
 44294  
 44295  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44296  		goto __1449
 44297  	}
 44298  
 44299  	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)) {
 44300  		goto __1450
 44301  	}
 44302  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44303  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44304  		goto __1451
 44305  	}
 44306  	return -2
 44307  __1451:
 44308  	;
 44309  __1450:
 44310  	;
 44311  
 44312  	rrc = DMATCH_NOMATCH
 44313  	goto RETURN_SWITCH
 44314  
 44315  __1449:
 44316  	;
 44317  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44318  	if !(fc >= 0xc0) {
 44319  		goto __1452
 44320  	}
 44321  	if !(fc&0x20 == Tuint32_t(0)) {
 44322  		goto __1453
 44323  	}
 44324  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44325  	goto __1454
 44326  __1453:
 44327  	if !(fc&0x10 == Tuint32_t(0)) {
 44328  		goto __1455
 44329  	}
 44330  	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
 44331  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44332  	goto __1456
 44333  __1455:
 44334  	if !(fc&0x08 == Tuint32_t(0)) {
 44335  		goto __1457
 44336  	}
 44337  	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
 44338  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44339  	goto __1458
 44340  __1457:
 44341  	if !(fc&0x04 == Tuint32_t(0)) {
 44342  		goto __1459
 44343  	}
 44344  	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
 44345  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44346  	goto __1460
 44347  __1459:
 44348  	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
 44349  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44350  __1460:
 44351  	;
 44352  __1458:
 44353  	;
 44354  __1456:
 44355  	;
 44356  __1454:
 44357  	;
 44358  __1452:
 44359  	;
 44360  
 44361  	switch fc {
 44362  	default:
 44363  		goto __1462
 44364  
 44365  	case Tuint32_t('\015'):
 44366  		goto __1463
 44367  
 44368  	case Tuint32_t('\012'):
 44369  		goto __1464
 44370  
 44371  	case Tuint32_t('\013'):
 44372  		goto __1465
 44373  	case Tuint32_t('\014'):
 44374  		goto __1466
 44375  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44376  		goto __1467
 44377  	case Tuint32_t(0x2028):
 44378  		goto __1468
 44379  	case Tuint32_t(0x2029):
 44380  		goto __1469
 44381  	}
 44382  	goto __1461
 44383  
 44384  __1462:
 44385  	rrc = DMATCH_NOMATCH
 44386  	goto RETURN_SWITCH
 44387  
 44388  __1463:
 44389  	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') {
 44390  		goto __1470
 44391  	}
 44392  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44393  __1470:
 44394  	;
 44395  	goto __1461
 44396  
 44397  __1464:
 44398  	goto __1461
 44399  
 44400  __1465:
 44401  __1466:
 44402  __1467:
 44403  __1468:
 44404  __1469:
 44405  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 44406  		goto __1471
 44407  	}
 44408  	rrc = DMATCH_NOMATCH
 44409  	goto RETURN_SWITCH
 44410  __1471:
 44411  	;
 44412  
 44413  	goto __1461
 44414  __1461:
 44415  	;
 44416  	goto __1447
 44417  __1447:
 44418  	i++
 44419  	goto __1446
 44420  	goto __1448
 44421  __1448:
 44422  	;
 44423  	goto __1410
 44424  
 44425  __1415:
 44426  	i = Tuint32_t(1)
 44427  __1472:
 44428  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44429  		goto __1474
 44430  	}
 44431  
 44432  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44433  		goto __1475
 44434  	}
 44435  
 44436  	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)) {
 44437  		goto __1476
 44438  	}
 44439  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44440  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44441  		goto __1477
 44442  	}
 44443  	return -2
 44444  __1477:
 44445  	;
 44446  __1476:
 44447  	;
 44448  
 44449  	rrc = DMATCH_NOMATCH
 44450  	goto RETURN_SWITCH
 44451  
 44452  __1475:
 44453  	;
 44454  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44455  	if !(fc >= 0xc0) {
 44456  		goto __1478
 44457  	}
 44458  	if !(fc&0x20 == Tuint32_t(0)) {
 44459  		goto __1479
 44460  	}
 44461  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44462  	goto __1480
 44463  __1479:
 44464  	if !(fc&0x10 == Tuint32_t(0)) {
 44465  		goto __1481
 44466  	}
 44467  	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
 44468  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44469  	goto __1482
 44470  __1481:
 44471  	if !(fc&0x08 == Tuint32_t(0)) {
 44472  		goto __1483
 44473  	}
 44474  	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
 44475  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44476  	goto __1484
 44477  __1483:
 44478  	if !(fc&0x04 == Tuint32_t(0)) {
 44479  		goto __1485
 44480  	}
 44481  	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
 44482  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44483  	goto __1486
 44484  __1485:
 44485  	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
 44486  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44487  __1486:
 44488  	;
 44489  __1484:
 44490  	;
 44491  __1482:
 44492  	;
 44493  __1480:
 44494  	;
 44495  __1478:
 44496  	;
 44497  
 44498  	switch fc {
 44499  	case Tuint32_t('\011'):
 44500  		goto __1488
 44501  	case Tuint32_t('\040'):
 44502  		goto __1489
 44503  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 44504  		goto __1490
 44505  	case Tuint32_t(0x1680):
 44506  		goto __1491 /* OGHAM SPACE MARK */
 44507  	case Tuint32_t(0x180e):
 44508  		goto __1492 /* MONGOLIAN VOWEL SEPARATOR */
 44509  	case Tuint32_t(0x2000):
 44510  		goto __1493 /* EN QUAD */
 44511  	case Tuint32_t(0x2001):
 44512  		goto __1494 /* EM QUAD */
 44513  	case Tuint32_t(0x2002):
 44514  		goto __1495 /* EN SPACE */
 44515  	case Tuint32_t(0x2003):
 44516  		goto __1496 /* EM SPACE */
 44517  	case Tuint32_t(0x2004):
 44518  		goto __1497 /* THREE-PER-EM SPACE */
 44519  	case Tuint32_t(0x2005):
 44520  		goto __1498 /* FOUR-PER-EM SPACE */
 44521  	case Tuint32_t(0x2006):
 44522  		goto __1499 /* SIX-PER-EM SPACE */
 44523  	case Tuint32_t(0x2007):
 44524  		goto __1500 /* FIGURE SPACE */
 44525  	case Tuint32_t(0x2008):
 44526  		goto __1501 /* PUNCTUATION SPACE */
 44527  	case Tuint32_t(0x2009):
 44528  		goto __1502 /* THIN SPACE */
 44529  	case Tuint32_t(0x200A):
 44530  		goto __1503 /* HAIR SPACE */
 44531  	case Tuint32_t(0x202f):
 44532  		goto __1504 /* NARROW NO-BREAK SPACE */
 44533  	case Tuint32_t(0x205f):
 44534  		goto __1505 /* MEDIUM MATHEMATICAL SPACE */
 44535  	case Tuint32_t(0x3000):
 44536  		goto __1506
 44537  	default:
 44538  		goto __1507
 44539  	}
 44540  	goto __1487
 44541  
 44542  __1488:
 44543  __1489:
 44544  __1490:
 44545  __1491: /* OGHAM SPACE MARK */
 44546  __1492: /* MONGOLIAN VOWEL SEPARATOR */
 44547  __1493: /* EN QUAD */
 44548  __1494: /* EM QUAD */
 44549  __1495: /* EN SPACE */
 44550  __1496: /* EM SPACE */
 44551  __1497: /* THREE-PER-EM SPACE */
 44552  __1498: /* FOUR-PER-EM SPACE */
 44553  __1499: /* SIX-PER-EM SPACE */
 44554  __1500: /* FIGURE SPACE */
 44555  __1501: /* PUNCTUATION SPACE */
 44556  __1502: /* THIN SPACE */
 44557  __1503: /* HAIR SPACE */
 44558  __1504: /* NARROW NO-BREAK SPACE */
 44559  __1505: /* MEDIUM MATHEMATICAL SPACE */
 44560  __1506:
 44561  	rrc = DMATCH_NOMATCH
 44562  	goto RETURN_SWITCH
 44563  
 44564  __1507:
 44565  	goto __1487
 44566  __1487:
 44567  	;
 44568  	goto __1473
 44569  __1473:
 44570  	i++
 44571  	goto __1472
 44572  	goto __1474
 44573  __1474:
 44574  	;
 44575  	goto __1410
 44576  
 44577  __1416:
 44578  	i = Tuint32_t(1)
 44579  __1508:
 44580  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44581  		goto __1510
 44582  	}
 44583  
 44584  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44585  		goto __1511
 44586  	}
 44587  
 44588  	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)) {
 44589  		goto __1512
 44590  	}
 44591  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44592  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44593  		goto __1513
 44594  	}
 44595  	return -2
 44596  __1513:
 44597  	;
 44598  __1512:
 44599  	;
 44600  
 44601  	rrc = DMATCH_NOMATCH
 44602  	goto RETURN_SWITCH
 44603  
 44604  __1511:
 44605  	;
 44606  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44607  	if !(fc >= 0xc0) {
 44608  		goto __1514
 44609  	}
 44610  	if !(fc&0x20 == Tuint32_t(0)) {
 44611  		goto __1515
 44612  	}
 44613  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44614  	goto __1516
 44615  __1515:
 44616  	if !(fc&0x10 == Tuint32_t(0)) {
 44617  		goto __1517
 44618  	}
 44619  	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
 44620  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44621  	goto __1518
 44622  __1517:
 44623  	if !(fc&0x08 == Tuint32_t(0)) {
 44624  		goto __1519
 44625  	}
 44626  	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
 44627  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44628  	goto __1520
 44629  __1519:
 44630  	if !(fc&0x04 == Tuint32_t(0)) {
 44631  		goto __1521
 44632  	}
 44633  	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
 44634  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44635  	goto __1522
 44636  __1521:
 44637  	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
 44638  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44639  __1522:
 44640  	;
 44641  __1520:
 44642  	;
 44643  __1518:
 44644  	;
 44645  __1516:
 44646  	;
 44647  __1514:
 44648  	;
 44649  
 44650  	switch fc {
 44651  	case Tuint32_t('\011'):
 44652  		goto __1524
 44653  	case Tuint32_t('\040'):
 44654  		goto __1525
 44655  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 44656  		goto __1526
 44657  	case Tuint32_t(0x1680):
 44658  		goto __1527 /* OGHAM SPACE MARK */
 44659  	case Tuint32_t(0x180e):
 44660  		goto __1528 /* MONGOLIAN VOWEL SEPARATOR */
 44661  	case Tuint32_t(0x2000):
 44662  		goto __1529 /* EN QUAD */
 44663  	case Tuint32_t(0x2001):
 44664  		goto __1530 /* EM QUAD */
 44665  	case Tuint32_t(0x2002):
 44666  		goto __1531 /* EN SPACE */
 44667  	case Tuint32_t(0x2003):
 44668  		goto __1532 /* EM SPACE */
 44669  	case Tuint32_t(0x2004):
 44670  		goto __1533 /* THREE-PER-EM SPACE */
 44671  	case Tuint32_t(0x2005):
 44672  		goto __1534 /* FOUR-PER-EM SPACE */
 44673  	case Tuint32_t(0x2006):
 44674  		goto __1535 /* SIX-PER-EM SPACE */
 44675  	case Tuint32_t(0x2007):
 44676  		goto __1536 /* FIGURE SPACE */
 44677  	case Tuint32_t(0x2008):
 44678  		goto __1537 /* PUNCTUATION SPACE */
 44679  	case Tuint32_t(0x2009):
 44680  		goto __1538 /* THIN SPACE */
 44681  	case Tuint32_t(0x200A):
 44682  		goto __1539 /* HAIR SPACE */
 44683  	case Tuint32_t(0x202f):
 44684  		goto __1540 /* NARROW NO-BREAK SPACE */
 44685  	case Tuint32_t(0x205f):
 44686  		goto __1541 /* MEDIUM MATHEMATICAL SPACE */
 44687  	case Tuint32_t(0x3000):
 44688  		goto __1542
 44689  	default:
 44690  		goto __1543
 44691  	}
 44692  	goto __1523
 44693  
 44694  __1524:
 44695  __1525:
 44696  __1526:
 44697  __1527: /* OGHAM SPACE MARK */
 44698  __1528: /* MONGOLIAN VOWEL SEPARATOR */
 44699  __1529: /* EN QUAD */
 44700  __1530: /* EM QUAD */
 44701  __1531: /* EN SPACE */
 44702  __1532: /* EM SPACE */
 44703  __1533: /* THREE-PER-EM SPACE */
 44704  __1534: /* FOUR-PER-EM SPACE */
 44705  __1535: /* SIX-PER-EM SPACE */
 44706  __1536: /* FIGURE SPACE */
 44707  __1537: /* PUNCTUATION SPACE */
 44708  __1538: /* THIN SPACE */
 44709  __1539: /* HAIR SPACE */
 44710  __1540: /* NARROW NO-BREAK SPACE */
 44711  __1541: /* MEDIUM MATHEMATICAL SPACE */
 44712  __1542:
 44713  	goto __1523
 44714  __1543:
 44715  	rrc = DMATCH_NOMATCH
 44716  	goto RETURN_SWITCH
 44717  
 44718  __1523:
 44719  	;
 44720  	goto __1509
 44721  __1509:
 44722  	i++
 44723  	goto __1508
 44724  	goto __1510
 44725  __1510:
 44726  	;
 44727  	goto __1410
 44728  
 44729  __1417:
 44730  	i = Tuint32_t(1)
 44731  __1544:
 44732  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44733  		goto __1546
 44734  	}
 44735  
 44736  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44737  		goto __1547
 44738  	}
 44739  
 44740  	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)) {
 44741  		goto __1548
 44742  	}
 44743  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44744  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44745  		goto __1549
 44746  	}
 44747  	return -2
 44748  __1549:
 44749  	;
 44750  __1548:
 44751  	;
 44752  
 44753  	rrc = DMATCH_NOMATCH
 44754  	goto RETURN_SWITCH
 44755  
 44756  __1547:
 44757  	;
 44758  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44759  	if !(fc >= 0xc0) {
 44760  		goto __1550
 44761  	}
 44762  	if !(fc&0x20 == Tuint32_t(0)) {
 44763  		goto __1551
 44764  	}
 44765  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44766  	goto __1552
 44767  __1551:
 44768  	if !(fc&0x10 == Tuint32_t(0)) {
 44769  		goto __1553
 44770  	}
 44771  	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
 44772  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44773  	goto __1554
 44774  __1553:
 44775  	if !(fc&0x08 == Tuint32_t(0)) {
 44776  		goto __1555
 44777  	}
 44778  	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
 44779  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44780  	goto __1556
 44781  __1555:
 44782  	if !(fc&0x04 == Tuint32_t(0)) {
 44783  		goto __1557
 44784  	}
 44785  	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
 44786  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44787  	goto __1558
 44788  __1557:
 44789  	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
 44790  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44791  __1558:
 44792  	;
 44793  __1556:
 44794  	;
 44795  __1554:
 44796  	;
 44797  __1552:
 44798  	;
 44799  __1550:
 44800  	;
 44801  
 44802  	switch fc {
 44803  	case Tuint32_t('\012'):
 44804  		goto __1560
 44805  	case Tuint32_t('\013'):
 44806  		goto __1561
 44807  	case Tuint32_t('\014'):
 44808  		goto __1562
 44809  	case Tuint32_t('\015'):
 44810  		goto __1563
 44811  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44812  		goto __1564
 44813  	case Tuint32_t(0x2028):
 44814  		goto __1565 /* LINE SEPARATOR */
 44815  	case Tuint32_t(0x2029):
 44816  		goto __1566
 44817  	default:
 44818  		goto __1567
 44819  	}
 44820  	goto __1559
 44821  
 44822  __1560:
 44823  __1561:
 44824  __1562:
 44825  __1563:
 44826  __1564:
 44827  __1565: /* LINE SEPARATOR */
 44828  __1566:
 44829  	rrc = DMATCH_NOMATCH
 44830  	goto RETURN_SWITCH
 44831  
 44832  __1567:
 44833  	goto __1559
 44834  __1559:
 44835  	;
 44836  	goto __1545
 44837  __1545:
 44838  	i++
 44839  	goto __1544
 44840  	goto __1546
 44841  __1546:
 44842  	;
 44843  	goto __1410
 44844  
 44845  __1418:
 44846  	i = Tuint32_t(1)
 44847  __1568:
 44848  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44849  		goto __1570
 44850  	}
 44851  
 44852  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44853  		goto __1571
 44854  	}
 44855  
 44856  	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)) {
 44857  		goto __1572
 44858  	}
 44859  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44860  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44861  		goto __1573
 44862  	}
 44863  	return -2
 44864  __1573:
 44865  	;
 44866  __1572:
 44867  	;
 44868  
 44869  	rrc = DMATCH_NOMATCH
 44870  	goto RETURN_SWITCH
 44871  
 44872  __1571:
 44873  	;
 44874  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44875  	if !(fc >= 0xc0) {
 44876  		goto __1574
 44877  	}
 44878  	if !(fc&0x20 == Tuint32_t(0)) {
 44879  		goto __1575
 44880  	}
 44881  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44882  	goto __1576
 44883  __1575:
 44884  	if !(fc&0x10 == Tuint32_t(0)) {
 44885  		goto __1577
 44886  	}
 44887  	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
 44888  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 44889  	goto __1578
 44890  __1577:
 44891  	if !(fc&0x08 == Tuint32_t(0)) {
 44892  		goto __1579
 44893  	}
 44894  	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
 44895  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 44896  	goto __1580
 44897  __1579:
 44898  	if !(fc&0x04 == Tuint32_t(0)) {
 44899  		goto __1581
 44900  	}
 44901  	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
 44902  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 44903  	goto __1582
 44904  __1581:
 44905  	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
 44906  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 44907  __1582:
 44908  	;
 44909  __1580:
 44910  	;
 44911  __1578:
 44912  	;
 44913  __1576:
 44914  	;
 44915  __1574:
 44916  	;
 44917  
 44918  	switch fc {
 44919  	case Tuint32_t('\012'):
 44920  		goto __1584
 44921  	case Tuint32_t('\013'):
 44922  		goto __1585
 44923  	case Tuint32_t('\014'):
 44924  		goto __1586
 44925  	case Tuint32_t('\015'):
 44926  		goto __1587
 44927  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44928  		goto __1588
 44929  	case Tuint32_t(0x2028):
 44930  		goto __1589 /* LINE SEPARATOR */
 44931  	case Tuint32_t(0x2029):
 44932  		goto __1590
 44933  	default:
 44934  		goto __1591
 44935  	}
 44936  	goto __1583
 44937  
 44938  __1584:
 44939  __1585:
 44940  __1586:
 44941  __1587:
 44942  __1588:
 44943  __1589: /* LINE SEPARATOR */
 44944  __1590:
 44945  	goto __1583
 44946  __1591:
 44947  	rrc = DMATCH_NOMATCH
 44948  	goto RETURN_SWITCH
 44949  
 44950  __1583:
 44951  	;
 44952  	goto __1569
 44953  __1569:
 44954  	i++
 44955  	goto __1568
 44956  	goto __1570
 44957  __1570:
 44958  	;
 44959  	goto __1410
 44960  
 44961  __1419:
 44962  	i = Tuint32_t(1)
 44963  __1592:
 44964  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 44965  		goto __1594
 44966  	}
 44967  
 44968  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44969  		goto __1595
 44970  	}
 44971  
 44972  	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)) {
 44973  		goto __1596
 44974  	}
 44975  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44976  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44977  		goto __1597
 44978  	}
 44979  	return -2
 44980  __1597:
 44981  	;
 44982  __1596:
 44983  	;
 44984  
 44985  	rrc = DMATCH_NOMATCH
 44986  	goto RETURN_SWITCH
 44987  
 44988  __1595:
 44989  	;
 44990  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44991  	if !(fc >= 0xc0) {
 44992  		goto __1598
 44993  	}
 44994  	if !(fc&0x20 == Tuint32_t(0)) {
 44995  		goto __1599
 44996  	}
 44997  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44998  	goto __1600
 44999  __1599:
 45000  	if !(fc&0x10 == Tuint32_t(0)) {
 45001  		goto __1601
 45002  	}
 45003  	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
 45004  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 45005  	goto __1602
 45006  __1601:
 45007  	if !(fc&0x08 == Tuint32_t(0)) {
 45008  		goto __1603
 45009  	}
 45010  	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
 45011  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 45012  	goto __1604
 45013  __1603:
 45014  	if !(fc&0x04 == Tuint32_t(0)) {
 45015  		goto __1605
 45016  	}
 45017  	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
 45018  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 45019  	goto __1606
 45020  __1605:
 45021  	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
 45022  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 45023  __1606:
 45024  	;
 45025  __1604:
 45026  	;
 45027  __1602:
 45028  	;
 45029  __1600:
 45030  	;
 45031  __1598:
 45032  	;
 45033  
 45034  	if !(fc < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 45035  		goto __1607
 45036  	}
 45037  	rrc = DMATCH_NOMATCH
 45038  	goto RETURN_SWITCH
 45039  __1607:
 45040  	;
 45041  
 45042  	goto __1593
 45043  __1593:
 45044  	i++
 45045  	goto __1592
 45046  	goto __1594
 45047  __1594:
 45048  	;
 45049  	goto __1410
 45050  
 45051  __1420:
 45052  	i = Tuint32_t(1)
 45053  __1608:
 45054  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45055  		goto __1610
 45056  	}
 45057  
 45058  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45059  		goto __1611
 45060  	}
 45061  
 45062  	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)) {
 45063  		goto __1612
 45064  	}
 45065  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45066  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45067  		goto __1613
 45068  	}
 45069  	return -2
 45070  __1613:
 45071  	;
 45072  __1612:
 45073  	;
 45074  
 45075  	rrc = DMATCH_NOMATCH
 45076  	goto RETURN_SWITCH
 45077  
 45078  __1611:
 45079  	;
 45080  	cc5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45081  	if !(cc5 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc5))))&Dctype_digit == 0) {
 45082  		goto __1614
 45083  	}
 45084  	rrc = DMATCH_NOMATCH
 45085  	goto RETURN_SWITCH
 45086  __1614:
 45087  	;
 45088  
 45089  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45090  	// No need to skip more code units - we know it has only one.
 45091  	goto __1609
 45092  __1609:
 45093  	i++
 45094  	goto __1608
 45095  	goto __1610
 45096  __1610:
 45097  	;
 45098  	goto __1410
 45099  
 45100  __1421:
 45101  	i = Tuint32_t(1)
 45102  __1615:
 45103  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45104  		goto __1617
 45105  	}
 45106  
 45107  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45108  		goto __1618
 45109  	}
 45110  
 45111  	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)) {
 45112  		goto __1619
 45113  	}
 45114  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45115  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45116  		goto __1620
 45117  	}
 45118  	return -2
 45119  __1620:
 45120  	;
 45121  __1619:
 45122  	;
 45123  
 45124  	rrc = DMATCH_NOMATCH
 45125  	goto RETURN_SWITCH
 45126  
 45127  __1618:
 45128  	;
 45129  	cc6 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45130  	if !(cc6 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc6))))&Dctype_space != 0) {
 45131  		goto __1621
 45132  	}
 45133  	rrc = DMATCH_NOMATCH
 45134  	goto RETURN_SWITCH
 45135  __1621:
 45136  	;
 45137  
 45138  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45139  __1622:
 45140  	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) {
 45141  		goto __1623
 45142  	}
 45143  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45144  	goto __1622
 45145  __1623:
 45146  	;
 45147  	goto __1616
 45148  __1616:
 45149  	i++
 45150  	goto __1615
 45151  	goto __1617
 45152  __1617:
 45153  	;
 45154  	goto __1410
 45155  
 45156  __1422:
 45157  	i = Tuint32_t(1)
 45158  __1624:
 45159  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45160  		goto __1626
 45161  	}
 45162  
 45163  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45164  		goto __1627
 45165  	}
 45166  
 45167  	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)) {
 45168  		goto __1628
 45169  	}
 45170  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45171  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45172  		goto __1629
 45173  	}
 45174  	return -2
 45175  __1629:
 45176  	;
 45177  __1628:
 45178  	;
 45179  
 45180  	rrc = DMATCH_NOMATCH
 45181  	goto RETURN_SWITCH
 45182  
 45183  __1627:
 45184  	;
 45185  	cc7 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45186  	if !(cc7 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc7))))&Dctype_space == 0) {
 45187  		goto __1630
 45188  	}
 45189  	rrc = DMATCH_NOMATCH
 45190  	goto RETURN_SWITCH
 45191  __1630:
 45192  	;
 45193  
 45194  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45195  	// No need to skip more code units - we know it has only one.
 45196  	goto __1625
 45197  __1625:
 45198  	i++
 45199  	goto __1624
 45200  	goto __1626
 45201  __1626:
 45202  	;
 45203  	goto __1410
 45204  
 45205  __1423:
 45206  	i = Tuint32_t(1)
 45207  __1631:
 45208  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45209  		goto __1633
 45210  	}
 45211  
 45212  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45213  		goto __1634
 45214  	}
 45215  
 45216  	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)) {
 45217  		goto __1635
 45218  	}
 45219  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45220  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45221  		goto __1636
 45222  	}
 45223  	return -2
 45224  __1636:
 45225  	;
 45226  __1635:
 45227  	;
 45228  
 45229  	rrc = DMATCH_NOMATCH
 45230  	goto RETURN_SWITCH
 45231  
 45232  __1634:
 45233  	;
 45234  	cc8 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45235  	if !(cc8 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc8))))&Dctype_word != 0) {
 45236  		goto __1637
 45237  	}
 45238  	rrc = DMATCH_NOMATCH
 45239  	goto RETURN_SWITCH
 45240  __1637:
 45241  	;
 45242  
 45243  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45244  __1638:
 45245  	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) {
 45246  		goto __1639
 45247  	}
 45248  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45249  	goto __1638
 45250  __1639:
 45251  	;
 45252  	goto __1632
 45253  __1632:
 45254  	i++
 45255  	goto __1631
 45256  	goto __1633
 45257  __1633:
 45258  	;
 45259  	goto __1410
 45260  
 45261  __1424:
 45262  	i = Tuint32_t(1)
 45263  __1640:
 45264  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45265  		goto __1642
 45266  	}
 45267  
 45268  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45269  		goto __1643
 45270  	}
 45271  
 45272  	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)) {
 45273  		goto __1644
 45274  	}
 45275  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45276  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45277  		goto __1645
 45278  	}
 45279  	return -2
 45280  __1645:
 45281  	;
 45282  __1644:
 45283  	;
 45284  
 45285  	rrc = DMATCH_NOMATCH
 45286  	goto RETURN_SWITCH
 45287  
 45288  __1643:
 45289  	;
 45290  	cc9 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45291  	if !(cc9 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc9))))&Dctype_word == 0) {
 45292  		goto __1646
 45293  	}
 45294  	rrc = DMATCH_NOMATCH
 45295  	goto RETURN_SWITCH
 45296  __1646:
 45297  	;
 45298  
 45299  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45300  	// No need to skip more code units - we know it has only one.
 45301  	goto __1641
 45302  __1641:
 45303  	i++
 45304  	goto __1640
 45305  	goto __1642
 45306  __1642:
 45307  	;
 45308  	goto __1410
 45309  
 45310  __1425:
 45311  	return -44
 45312  __1410:
 45313  	;
 45314  	goto __1409
 45315  __1408:
 45316  
 45317  	// Code for the non-UTF case for minimum matching of operators other
 45318  	//       than OP_PROP and OP_NOTPROP.
 45319  
 45320  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 45321  	case OP_ANY:
 45322  		goto __1648
 45323  
 45324  	case OP_ALLANY:
 45325  		goto __1649
 45326  
 45327  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45328  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45329  	//         reports don't complain about it's never being used.
 45330  
 45331  	// case OP_ANYBYTE:
 45332  	//        if (Feptr > mb->end_subject - Lmin)
 45333  	//          {
 45334  	//          SCHECK_PARTIAL();
 45335  	//          RRETURN(MATCH_NOMATCH);
 45336  	//          }
 45337  	//        Feptr += Lmin;
 45338  	//        break;
 45339  	case OP_ANYNL:
 45340  		goto __1650
 45341  
 45342  	case OP_NOT_HSPACE:
 45343  		goto __1651
 45344  
 45345  	case OP_HSPACE:
 45346  		goto __1652
 45347  
 45348  	case OP_NOT_VSPACE:
 45349  		goto __1653
 45350  
 45351  	case OP_VSPACE:
 45352  		goto __1654
 45353  
 45354  	case OP_NOT_DIGIT:
 45355  		goto __1655
 45356  
 45357  	case OP_DIGIT:
 45358  		goto __1656
 45359  
 45360  	case OP_NOT_WHITESPACE:
 45361  		goto __1657
 45362  
 45363  	case OP_WHITESPACE:
 45364  		goto __1658
 45365  
 45366  	case OP_NOT_WORDCHAR:
 45367  		goto __1659
 45368  
 45369  	case OP_WORDCHAR:
 45370  		goto __1660
 45371  
 45372  	default:
 45373  		goto __1661
 45374  	}
 45375  	goto __1647
 45376  
 45377  __1648:
 45378  	i = Tuint32_t(1)
 45379  __1662:
 45380  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45381  		goto __1664
 45382  	}
 45383  
 45384  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45385  		goto __1665
 45386  	}
 45387  
 45388  	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)) {
 45389  		goto __1666
 45390  	}
 45391  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45392  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45393  		goto __1667
 45394  	}
 45395  	return -2
 45396  __1667:
 45397  	;
 45398  __1666:
 45399  	;
 45400  
 45401  	rrc = DMATCH_NOMATCH
 45402  	goto RETURN_SWITCH
 45403  
 45404  __1665:
 45405  	;
 45406  	if !(func() int32 {
 45407  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 45408  			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+156, utf) != 0)
 45409  		}
 45410  		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 + 160))) && ((*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 + 160 + 1)))))
 45411  	}() != 0) {
 45412  		goto __1668
 45413  	}
 45414  	rrc = DMATCH_NOMATCH
 45415  	goto RETURN_SWITCH
 45416  __1668:
 45417  	;
 45418  
 45419  	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 + 160)))) {
 45420  		goto __1669
 45421  	}
 45422  
 45423  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45424  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45425  		goto __1670
 45426  	}
 45427  	return -2
 45428  __1670:
 45429  	;
 45430  __1669:
 45431  	;
 45432  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45433  	goto __1663
 45434  __1663:
 45435  	i++
 45436  	goto __1662
 45437  	goto __1664
 45438  __1664:
 45439  	;
 45440  	goto __1647
 45441  
 45442  __1649:
 45443  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32)))) {
 45444  		goto __1671
 45445  	}
 45446  
 45447  	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)) {
 45448  		goto __1672
 45449  	}
 45450  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45451  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45452  		goto __1673
 45453  	}
 45454  	return -2
 45455  __1673:
 45456  	;
 45457  __1672:
 45458  	;
 45459  
 45460  	rrc = DMATCH_NOMATCH
 45461  	goto RETURN_SWITCH
 45462  
 45463  __1671:
 45464  	;
 45465  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 32)))
 45466  	goto __1647
 45467  
 45468  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45469  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45470  	//         reports don't complain about it's never being used.
 45471  
 45472  	// case OP_ANYBYTE:
 45473  	//        if (Feptr > mb->end_subject - Lmin)
 45474  	//          {
 45475  	//          SCHECK_PARTIAL();
 45476  	//          RRETURN(MATCH_NOMATCH);
 45477  	//          }
 45478  	//        Feptr += Lmin;
 45479  	//        break;
 45480  __1650:
 45481  	i = Tuint32_t(1)
 45482  __1674:
 45483  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45484  		goto __1676
 45485  	}
 45486  
 45487  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45488  		goto __1677
 45489  	}
 45490  
 45491  	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)) {
 45492  		goto __1678
 45493  	}
 45494  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45495  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45496  		goto __1679
 45497  	}
 45498  	return -2
 45499  __1679:
 45500  	;
 45501  __1678:
 45502  	;
 45503  
 45504  	rrc = DMATCH_NOMATCH
 45505  	goto RETURN_SWITCH
 45506  
 45507  __1677:
 45508  	;
 45509  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45510  	default:
 45511  		goto __1681
 45512  
 45513  	case '\015':
 45514  		goto __1682
 45515  
 45516  	case '\012':
 45517  		goto __1683
 45518  
 45519  	case '\013':
 45520  		goto __1684
 45521  	case '\014':
 45522  		goto __1685
 45523  	case int32(libc.Uint8FromInt32(133)):
 45524  		goto __1686
 45525  	}
 45526  	goto __1680
 45527  
 45528  __1681:
 45529  	rrc = DMATCH_NOMATCH
 45530  	goto RETURN_SWITCH
 45531  
 45532  __1682:
 45533  	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') {
 45534  		goto __1687
 45535  	}
 45536  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45537  __1687:
 45538  	;
 45539  	goto __1680
 45540  
 45541  __1683:
 45542  	goto __1680
 45543  
 45544  __1684:
 45545  __1685:
 45546  __1686:
 45547  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 45548  		goto __1688
 45549  	}
 45550  	rrc = DMATCH_NOMATCH
 45551  	goto RETURN_SWITCH
 45552  __1688:
 45553  	;
 45554  
 45555  	goto __1680
 45556  __1680:
 45557  	;
 45558  	goto __1675
 45559  __1675:
 45560  	i++
 45561  	goto __1674
 45562  	goto __1676
 45563  __1676:
 45564  	;
 45565  	goto __1647
 45566  
 45567  __1651:
 45568  	i = Tuint32_t(1)
 45569  __1689:
 45570  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45571  		goto __1691
 45572  	}
 45573  
 45574  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45575  		goto __1692
 45576  	}
 45577  
 45578  	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)) {
 45579  		goto __1693
 45580  	}
 45581  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45582  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45583  		goto __1694
 45584  	}
 45585  	return -2
 45586  __1694:
 45587  	;
 45588  __1693:
 45589  	;
 45590  
 45591  	rrc = DMATCH_NOMATCH
 45592  	goto RETURN_SWITCH
 45593  
 45594  __1692:
 45595  	;
 45596  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45597  	default:
 45598  		goto __1696
 45599  	case '\011':
 45600  		goto __1697
 45601  	case '\040':
 45602  		goto __1698
 45603  	case int32(libc.Uint8FromInt32(160)):
 45604  		goto __1699
 45605  	}
 45606  	goto __1695
 45607  
 45608  __1696:
 45609  	goto __1695
 45610  __1697:
 45611  __1698:
 45612  __1699:
 45613  	rrc = DMATCH_NOMATCH
 45614  	goto RETURN_SWITCH
 45615  
 45616  __1695:
 45617  	;
 45618  	goto __1690
 45619  __1690:
 45620  	i++
 45621  	goto __1689
 45622  	goto __1691
 45623  __1691:
 45624  	;
 45625  	goto __1647
 45626  
 45627  __1652:
 45628  	i = Tuint32_t(1)
 45629  __1700:
 45630  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45631  		goto __1702
 45632  	}
 45633  
 45634  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45635  		goto __1703
 45636  	}
 45637  
 45638  	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)) {
 45639  		goto __1704
 45640  	}
 45641  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45642  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45643  		goto __1705
 45644  	}
 45645  	return -2
 45646  __1705:
 45647  	;
 45648  __1704:
 45649  	;
 45650  
 45651  	rrc = DMATCH_NOMATCH
 45652  	goto RETURN_SWITCH
 45653  
 45654  __1703:
 45655  	;
 45656  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45657  	default:
 45658  		goto __1707
 45659  	case '\011':
 45660  		goto __1708
 45661  	case '\040':
 45662  		goto __1709
 45663  	case int32(libc.Uint8FromInt32(160)):
 45664  		goto __1710
 45665  	}
 45666  	goto __1706
 45667  
 45668  __1707:
 45669  	rrc = DMATCH_NOMATCH
 45670  	goto RETURN_SWITCH
 45671  
 45672  __1708:
 45673  __1709:
 45674  __1710:
 45675  	goto __1706
 45676  __1706:
 45677  	;
 45678  	goto __1701
 45679  __1701:
 45680  	i++
 45681  	goto __1700
 45682  	goto __1702
 45683  __1702:
 45684  	;
 45685  	goto __1647
 45686  
 45687  __1653:
 45688  	i = Tuint32_t(1)
 45689  __1711:
 45690  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45691  		goto __1713
 45692  	}
 45693  
 45694  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45695  		goto __1714
 45696  	}
 45697  
 45698  	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)) {
 45699  		goto __1715
 45700  	}
 45701  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45702  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45703  		goto __1716
 45704  	}
 45705  	return -2
 45706  __1716:
 45707  	;
 45708  __1715:
 45709  	;
 45710  
 45711  	rrc = DMATCH_NOMATCH
 45712  	goto RETURN_SWITCH
 45713  
 45714  __1714:
 45715  	;
 45716  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45717  	case '\012':
 45718  		goto __1718
 45719  	case '\013':
 45720  		goto __1719
 45721  	case '\014':
 45722  		goto __1720
 45723  	case '\015':
 45724  		goto __1721
 45725  	case int32(libc.Uint8FromInt32(133)):
 45726  		goto __1722
 45727  	default:
 45728  		goto __1723
 45729  	}
 45730  	goto __1717
 45731  
 45732  __1718:
 45733  __1719:
 45734  __1720:
 45735  __1721:
 45736  __1722:
 45737  	rrc = DMATCH_NOMATCH
 45738  	goto RETURN_SWITCH
 45739  
 45740  __1723:
 45741  	goto __1717
 45742  __1717:
 45743  	;
 45744  	goto __1712
 45745  __1712:
 45746  	i++
 45747  	goto __1711
 45748  	goto __1713
 45749  __1713:
 45750  	;
 45751  	goto __1647
 45752  
 45753  __1654:
 45754  	i = Tuint32_t(1)
 45755  __1724:
 45756  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45757  		goto __1726
 45758  	}
 45759  
 45760  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45761  		goto __1727
 45762  	}
 45763  
 45764  	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)) {
 45765  		goto __1728
 45766  	}
 45767  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45768  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45769  		goto __1729
 45770  	}
 45771  	return -2
 45772  __1729:
 45773  	;
 45774  __1728:
 45775  	;
 45776  
 45777  	rrc = DMATCH_NOMATCH
 45778  	goto RETURN_SWITCH
 45779  
 45780  __1727:
 45781  	;
 45782  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45783  	default:
 45784  		goto __1731
 45785  	case '\012':
 45786  		goto __1732
 45787  	case '\013':
 45788  		goto __1733
 45789  	case '\014':
 45790  		goto __1734
 45791  	case '\015':
 45792  		goto __1735
 45793  	case int32(libc.Uint8FromInt32(133)):
 45794  		goto __1736
 45795  	}
 45796  	goto __1730
 45797  
 45798  __1731:
 45799  	rrc = DMATCH_NOMATCH
 45800  	goto RETURN_SWITCH
 45801  
 45802  __1732:
 45803  __1733:
 45804  __1734:
 45805  __1735:
 45806  __1736:
 45807  	goto __1730
 45808  __1730:
 45809  	;
 45810  	goto __1725
 45811  __1725:
 45812  	i++
 45813  	goto __1724
 45814  	goto __1726
 45815  __1726:
 45816  	;
 45817  	goto __1647
 45818  
 45819  __1655:
 45820  	i = Tuint32_t(1)
 45821  __1737:
 45822  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45823  		goto __1739
 45824  	}
 45825  
 45826  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45827  		goto __1740
 45828  	}
 45829  
 45830  	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)) {
 45831  		goto __1741
 45832  	}
 45833  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45834  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45835  		goto __1742
 45836  	}
 45837  	return -2
 45838  __1742:
 45839  	;
 45840  __1741:
 45841  	;
 45842  
 45843  	rrc = DMATCH_NOMATCH
 45844  	goto RETURN_SWITCH
 45845  
 45846  __1740:
 45847  	;
 45848  	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) {
 45849  		goto __1743
 45850  	}
 45851  	rrc = DMATCH_NOMATCH
 45852  	goto RETURN_SWITCH
 45853  __1743:
 45854  	;
 45855  
 45856  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45857  	goto __1738
 45858  __1738:
 45859  	i++
 45860  	goto __1737
 45861  	goto __1739
 45862  __1739:
 45863  	;
 45864  	goto __1647
 45865  
 45866  __1656:
 45867  	i = Tuint32_t(1)
 45868  __1744:
 45869  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45870  		goto __1746
 45871  	}
 45872  
 45873  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45874  		goto __1747
 45875  	}
 45876  
 45877  	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)) {
 45878  		goto __1748
 45879  	}
 45880  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45881  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45882  		goto __1749
 45883  	}
 45884  	return -2
 45885  __1749:
 45886  	;
 45887  __1748:
 45888  	;
 45889  
 45890  	rrc = DMATCH_NOMATCH
 45891  	goto RETURN_SWITCH
 45892  
 45893  __1747:
 45894  	;
 45895  	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) {
 45896  		goto __1750
 45897  	}
 45898  	rrc = DMATCH_NOMATCH
 45899  	goto RETURN_SWITCH
 45900  __1750:
 45901  	;
 45902  
 45903  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45904  	goto __1745
 45905  __1745:
 45906  	i++
 45907  	goto __1744
 45908  	goto __1746
 45909  __1746:
 45910  	;
 45911  	goto __1647
 45912  
 45913  __1657:
 45914  	i = Tuint32_t(1)
 45915  __1751:
 45916  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45917  		goto __1753
 45918  	}
 45919  
 45920  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45921  		goto __1754
 45922  	}
 45923  
 45924  	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)) {
 45925  		goto __1755
 45926  	}
 45927  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45928  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45929  		goto __1756
 45930  	}
 45931  	return -2
 45932  __1756:
 45933  	;
 45934  __1755:
 45935  	;
 45936  
 45937  	rrc = DMATCH_NOMATCH
 45938  	goto RETURN_SWITCH
 45939  
 45940  __1754:
 45941  	;
 45942  	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) {
 45943  		goto __1757
 45944  	}
 45945  	rrc = DMATCH_NOMATCH
 45946  	goto RETURN_SWITCH
 45947  __1757:
 45948  	;
 45949  
 45950  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45951  	goto __1752
 45952  __1752:
 45953  	i++
 45954  	goto __1751
 45955  	goto __1753
 45956  __1753:
 45957  	;
 45958  	goto __1647
 45959  
 45960  __1658:
 45961  	i = Tuint32_t(1)
 45962  __1758:
 45963  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 45964  		goto __1760
 45965  	}
 45966  
 45967  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45968  		goto __1761
 45969  	}
 45970  
 45971  	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)) {
 45972  		goto __1762
 45973  	}
 45974  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45975  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45976  		goto __1763
 45977  	}
 45978  	return -2
 45979  __1763:
 45980  	;
 45981  __1762:
 45982  	;
 45983  
 45984  	rrc = DMATCH_NOMATCH
 45985  	goto RETURN_SWITCH
 45986  
 45987  __1761:
 45988  	;
 45989  	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) {
 45990  		goto __1764
 45991  	}
 45992  	rrc = DMATCH_NOMATCH
 45993  	goto RETURN_SWITCH
 45994  __1764:
 45995  	;
 45996  
 45997  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45998  	goto __1759
 45999  __1759:
 46000  	i++
 46001  	goto __1758
 46002  	goto __1760
 46003  __1760:
 46004  	;
 46005  	goto __1647
 46006  
 46007  __1659:
 46008  	i = Tuint32_t(1)
 46009  __1765:
 46010  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 46011  		goto __1767
 46012  	}
 46013  
 46014  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46015  		goto __1768
 46016  	}
 46017  
 46018  	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)) {
 46019  		goto __1769
 46020  	}
 46021  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46022  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46023  		goto __1770
 46024  	}
 46025  	return -2
 46026  __1770:
 46027  	;
 46028  __1769:
 46029  	;
 46030  
 46031  	rrc = DMATCH_NOMATCH
 46032  	goto RETURN_SWITCH
 46033  
 46034  __1768:
 46035  	;
 46036  	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) {
 46037  		goto __1771
 46038  	}
 46039  	rrc = DMATCH_NOMATCH
 46040  	goto RETURN_SWITCH
 46041  __1771:
 46042  	;
 46043  
 46044  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46045  	goto __1766
 46046  __1766:
 46047  	i++
 46048  	goto __1765
 46049  	goto __1767
 46050  __1767:
 46051  	;
 46052  	goto __1647
 46053  
 46054  __1660:
 46055  	i = Tuint32_t(1)
 46056  __1772:
 46057  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 46058  		goto __1774
 46059  	}
 46060  
 46061  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46062  		goto __1775
 46063  	}
 46064  
 46065  	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)) {
 46066  		goto __1776
 46067  	}
 46068  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46069  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46070  		goto __1777
 46071  	}
 46072  	return -2
 46073  __1777:
 46074  	;
 46075  __1776:
 46076  	;
 46077  
 46078  	rrc = DMATCH_NOMATCH
 46079  	goto RETURN_SWITCH
 46080  
 46081  __1775:
 46082  	;
 46083  	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) {
 46084  		goto __1778
 46085  	}
 46086  	rrc = DMATCH_NOMATCH
 46087  	goto RETURN_SWITCH
 46088  __1778:
 46089  	;
 46090  
 46091  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46092  	goto __1773
 46093  __1773:
 46094  	i++
 46095  	goto __1772
 46096  	goto __1774
 46097  __1774:
 46098  	;
 46099  	goto __1647
 46100  
 46101  __1661:
 46102  	return -44
 46103  __1647:
 46104  	;
 46105  __1409:
 46106  	;
 46107  __1388:
 46108  	;
 46109  __1127:
 46110  	;
 46111  __1125:
 46112  	;
 46113  
 46114  	// If Lmin = Lmax we are done. Continue with the main loop.
 46115  
 46116  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46117  		goto __1779
 46118  	}
 46119  	goto __11
 46120  __1779:
 46121  	;
 46122  
 46123  	// If minimizing, we have to test the rest of the pattern before each
 46124  	//     subsequent match. This means we cannot use a local "notmatch" variable as
 46125  	//     in the other cases. As all 4 temporary 32-bit values in the frame are
 46126  	//     already in use, just test the type each time.
 46127  
 46128  	if !(reptype == REPTYPE_MIN) {
 46129  		goto __1780
 46130  	}
 46131  
 46132  	if !(proptype >= 0) {
 46133  		goto __1782
 46134  	}
 46135  
 46136  	switch proptype {
 46137  	case DPT_ANY:
 46138  		goto __1785
 46139  	// Control never gets here
 46140  
 46141  	case DPT_LAMP:
 46142  		goto __1786
 46143  	// Control never gets here
 46144  
 46145  	case DPT_GC:
 46146  		goto __1787
 46147  	// Control never gets here
 46148  
 46149  	case DPT_PC:
 46150  		goto __1788
 46151  	// Control never gets here
 46152  
 46153  	case DPT_SC:
 46154  		goto __1789
 46155  	// Control never gets here
 46156  
 46157  	case DPT_SCX:
 46158  		goto __1790
 46159  	// Control never gets here
 46160  
 46161  	case DPT_ALNUM:
 46162  		goto __1791
 46163  	// Control never gets here
 46164  
 46165  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46166  	//           which means that Perl space and POSIX space are now identical. PCRE
 46167  	//           was changed at release 8.34.
 46168  
 46169  	case DPT_SPACE:
 46170  		goto __1792 // Perl space
 46171  	case DPT_PXSPACE:
 46172  		goto __1793
 46173  	// Control never gets here
 46174  
 46175  	case DPT_WORD:
 46176  		goto __1794
 46177  	// Control never gets here
 46178  
 46179  	case DPT_CLIST:
 46180  		goto __1795
 46181  	// Control never gets here
 46182  
 46183  	case DPT_UCNC:
 46184  		goto __1796
 46185  	// Control never gets here
 46186  
 46187  	case DPT_BIDICL:
 46188  		goto __1797
 46189  	// Control never gets here
 46190  
 46191  	case DPT_BOOL:
 46192  		goto __1798
 46193  	// Control never gets here
 46194  
 46195  	// This should never occur
 46196  	default:
 46197  		goto __1799
 46198  	}
 46199  	goto __1784
 46200  
 46201  __1785:
 46202  __1800:
 46203  
 46204  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46205  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM208
 46206  	goto MATCH_RECURSE
 46207  L_RM208:
 46208  	;
 46209  
 46210  	if !(rrc != DMATCH_NOMATCH) {
 46211  		goto __1803
 46212  	}
 46213  	rrc = rrc
 46214  	goto RETURN_SWITCH
 46215  __1803:
 46216  	;
 46217  
 46218  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46219  		goto __1804
 46220  	}
 46221  	rrc = DMATCH_NOMATCH
 46222  	goto RETURN_SWITCH
 46223  __1804:
 46224  	;
 46225  
 46226  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46227  		goto __1805
 46228  	}
 46229  
 46230  	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)) {
 46231  		goto __1806
 46232  	}
 46233  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46234  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46235  		goto __1807
 46236  	}
 46237  	return -2
 46238  __1807:
 46239  	;
 46240  __1806:
 46241  	;
 46242  
 46243  	rrc = DMATCH_NOMATCH
 46244  	goto RETURN_SWITCH
 46245  
 46246  __1805:
 46247  	;
 46248  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46249  	if !(utf != 0 && fc >= 0xc0) {
 46250  		goto __1808
 46251  	}
 46252  	if !(fc&0x20 == Tuint32_t(0)) {
 46253  		goto __1809
 46254  	}
 46255  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46256  	goto __1810
 46257  __1809:
 46258  	if !(fc&0x10 == Tuint32_t(0)) {
 46259  		goto __1811
 46260  	}
 46261  	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
 46262  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46263  	goto __1812
 46264  __1811:
 46265  	if !(fc&0x08 == Tuint32_t(0)) {
 46266  		goto __1813
 46267  	}
 46268  	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
 46269  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46270  	goto __1814
 46271  __1813:
 46272  	if !(fc&0x04 == Tuint32_t(0)) {
 46273  		goto __1815
 46274  	}
 46275  	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
 46276  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46277  	goto __1816
 46278  __1815:
 46279  	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
 46280  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46281  __1816:
 46282  	;
 46283  __1814:
 46284  	;
 46285  __1812:
 46286  	;
 46287  __1810:
 46288  	;
 46289  __1808:
 46290  	;
 46291  
 46292  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP) {
 46293  		goto __1817
 46294  	}
 46295  	rrc = DMATCH_NOMATCH
 46296  	goto RETURN_SWITCH
 46297  __1817:
 46298  	;
 46299  
 46300  	goto __1801
 46301  __1801:
 46302  	goto __1800
 46303  	goto __1802
 46304  __1802:
 46305  	;
 46306  	// Control never gets here
 46307  
 46308  __1786:
 46309  __1818:
 46310  
 46311  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46312  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM209
 46313  	goto MATCH_RECURSE
 46314  L_RM209:
 46315  	;
 46316  
 46317  	if !(rrc != DMATCH_NOMATCH) {
 46318  		goto __1821
 46319  	}
 46320  	rrc = rrc
 46321  	goto RETURN_SWITCH
 46322  __1821:
 46323  	;
 46324  
 46325  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46326  		goto __1822
 46327  	}
 46328  	rrc = DMATCH_NOMATCH
 46329  	goto RETURN_SWITCH
 46330  __1822:
 46331  	;
 46332  
 46333  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46334  		goto __1823
 46335  	}
 46336  
 46337  	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)) {
 46338  		goto __1824
 46339  	}
 46340  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46341  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46342  		goto __1825
 46343  	}
 46344  	return -2
 46345  __1825:
 46346  	;
 46347  __1824:
 46348  	;
 46349  
 46350  	rrc = DMATCH_NOMATCH
 46351  	goto RETURN_SWITCH
 46352  
 46353  __1823:
 46354  	;
 46355  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46356  	if !(utf != 0 && fc >= 0xc0) {
 46357  		goto __1826
 46358  	}
 46359  	if !(fc&0x20 == Tuint32_t(0)) {
 46360  		goto __1827
 46361  	}
 46362  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46363  	goto __1828
 46364  __1827:
 46365  	if !(fc&0x10 == Tuint32_t(0)) {
 46366  		goto __1829
 46367  	}
 46368  	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
 46369  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46370  	goto __1830
 46371  __1829:
 46372  	if !(fc&0x08 == Tuint32_t(0)) {
 46373  		goto __1831
 46374  	}
 46375  	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
 46376  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46377  	goto __1832
 46378  __1831:
 46379  	if !(fc&0x04 == Tuint32_t(0)) {
 46380  		goto __1833
 46381  	}
 46382  	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
 46383  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46384  	goto __1834
 46385  __1833:
 46386  	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
 46387  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46388  __1834:
 46389  	;
 46390  __1832:
 46391  	;
 46392  __1830:
 46393  	;
 46394  __1828:
 46395  	;
 46396  __1826:
 46397  	;
 46398  
 46399  	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)
 46400  	if !(libc.Bool32(chartype1 == ucp_Lu || chartype1 == ucp_Ll || chartype1 == ucp_Lt) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46401  		goto __1835
 46402  	}
 46403  	rrc = DMATCH_NOMATCH
 46404  	goto RETURN_SWITCH
 46405  __1835:
 46406  	;
 46407  
 46408  	goto __1819
 46409  __1819:
 46410  	goto __1818
 46411  	goto __1820
 46412  __1820:
 46413  	;
 46414  	// Control never gets here
 46415  
 46416  __1787:
 46417  __1836:
 46418  
 46419  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46420  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM210
 46421  	goto MATCH_RECURSE
 46422  L_RM210:
 46423  	;
 46424  
 46425  	if !(rrc != DMATCH_NOMATCH) {
 46426  		goto __1839
 46427  	}
 46428  	rrc = rrc
 46429  	goto RETURN_SWITCH
 46430  __1839:
 46431  	;
 46432  
 46433  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46434  		goto __1840
 46435  	}
 46436  	rrc = DMATCH_NOMATCH
 46437  	goto RETURN_SWITCH
 46438  __1840:
 46439  	;
 46440  
 46441  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46442  		goto __1841
 46443  	}
 46444  
 46445  	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)) {
 46446  		goto __1842
 46447  	}
 46448  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46449  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46450  		goto __1843
 46451  	}
 46452  	return -2
 46453  __1843:
 46454  	;
 46455  __1842:
 46456  	;
 46457  
 46458  	rrc = DMATCH_NOMATCH
 46459  	goto RETURN_SWITCH
 46460  
 46461  __1841:
 46462  	;
 46463  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46464  	if !(utf != 0 && fc >= 0xc0) {
 46465  		goto __1844
 46466  	}
 46467  	if !(fc&0x20 == Tuint32_t(0)) {
 46468  		goto __1845
 46469  	}
 46470  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46471  	goto __1846
 46472  __1845:
 46473  	if !(fc&0x10 == Tuint32_t(0)) {
 46474  		goto __1847
 46475  	}
 46476  	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
 46477  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46478  	goto __1848
 46479  __1847:
 46480  	if !(fc&0x08 == Tuint32_t(0)) {
 46481  		goto __1849
 46482  	}
 46483  	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
 46484  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46485  	goto __1850
 46486  __1849:
 46487  	if !(fc&0x04 == Tuint32_t(0)) {
 46488  		goto __1851
 46489  	}
 46490  	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
 46491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46492  	goto __1852
 46493  __1851:
 46494  	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
 46495  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46496  __1852:
 46497  	;
 46498  __1850:
 46499  	;
 46500  __1848:
 46501  	;
 46502  __1846:
 46503  	;
 46504  __1844:
 46505  	;
 46506  
 46507  	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 + 32 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46508  		goto __1853
 46509  	}
 46510  	rrc = DMATCH_NOMATCH
 46511  	goto RETURN_SWITCH
 46512  __1853:
 46513  	;
 46514  
 46515  	goto __1837
 46516  __1837:
 46517  	goto __1836
 46518  	goto __1838
 46519  __1838:
 46520  	;
 46521  	// Control never gets here
 46522  
 46523  __1788:
 46524  __1854:
 46525  
 46526  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46527  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM211
 46528  	goto MATCH_RECURSE
 46529  L_RM211:
 46530  	;
 46531  
 46532  	if !(rrc != DMATCH_NOMATCH) {
 46533  		goto __1857
 46534  	}
 46535  	rrc = rrc
 46536  	goto RETURN_SWITCH
 46537  __1857:
 46538  	;
 46539  
 46540  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46541  		goto __1858
 46542  	}
 46543  	rrc = DMATCH_NOMATCH
 46544  	goto RETURN_SWITCH
 46545  __1858:
 46546  	;
 46547  
 46548  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46549  		goto __1859
 46550  	}
 46551  
 46552  	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)) {
 46553  		goto __1860
 46554  	}
 46555  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46556  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46557  		goto __1861
 46558  	}
 46559  	return -2
 46560  __1861:
 46561  	;
 46562  __1860:
 46563  	;
 46564  
 46565  	rrc = DMATCH_NOMATCH
 46566  	goto RETURN_SWITCH
 46567  
 46568  __1859:
 46569  	;
 46570  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46571  	if !(utf != 0 && fc >= 0xc0) {
 46572  		goto __1862
 46573  	}
 46574  	if !(fc&0x20 == Tuint32_t(0)) {
 46575  		goto __1863
 46576  	}
 46577  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46578  	goto __1864
 46579  __1863:
 46580  	if !(fc&0x10 == Tuint32_t(0)) {
 46581  		goto __1865
 46582  	}
 46583  	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
 46584  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46585  	goto __1866
 46586  __1865:
 46587  	if !(fc&0x08 == Tuint32_t(0)) {
 46588  		goto __1867
 46589  	}
 46590  	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
 46591  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46592  	goto __1868
 46593  __1867:
 46594  	if !(fc&0x04 == Tuint32_t(0)) {
 46595  		goto __1869
 46596  	}
 46597  	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
 46598  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46599  	goto __1870
 46600  __1869:
 46601  	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
 46602  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46603  __1870:
 46604  	;
 46605  __1868:
 46606  	;
 46607  __1866:
 46608  	;
 46609  __1864:
 46610  	;
 46611  __1862:
 46612  	;
 46613  
 46614  	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 + 32 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46615  		goto __1871
 46616  	}
 46617  	rrc = DMATCH_NOMATCH
 46618  	goto RETURN_SWITCH
 46619  __1871:
 46620  	;
 46621  
 46622  	goto __1855
 46623  __1855:
 46624  	goto __1854
 46625  	goto __1856
 46626  __1856:
 46627  	;
 46628  	// Control never gets here
 46629  
 46630  __1789:
 46631  __1872:
 46632  
 46633  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46634  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM212
 46635  	goto MATCH_RECURSE
 46636  L_RM212:
 46637  	;
 46638  
 46639  	if !(rrc != DMATCH_NOMATCH) {
 46640  		goto __1875
 46641  	}
 46642  	rrc = rrc
 46643  	goto RETURN_SWITCH
 46644  __1875:
 46645  	;
 46646  
 46647  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46648  		goto __1876
 46649  	}
 46650  	rrc = DMATCH_NOMATCH
 46651  	goto RETURN_SWITCH
 46652  __1876:
 46653  	;
 46654  
 46655  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46656  		goto __1877
 46657  	}
 46658  
 46659  	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)) {
 46660  		goto __1878
 46661  	}
 46662  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46663  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46664  		goto __1879
 46665  	}
 46666  	return -2
 46667  __1879:
 46668  	;
 46669  __1878:
 46670  	;
 46671  
 46672  	rrc = DMATCH_NOMATCH
 46673  	goto RETURN_SWITCH
 46674  
 46675  __1877:
 46676  	;
 46677  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46678  	if !(utf != 0 && fc >= 0xc0) {
 46679  		goto __1880
 46680  	}
 46681  	if !(fc&0x20 == Tuint32_t(0)) {
 46682  		goto __1881
 46683  	}
 46684  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46685  	goto __1882
 46686  __1881:
 46687  	if !(fc&0x10 == Tuint32_t(0)) {
 46688  		goto __1883
 46689  	}
 46690  	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
 46691  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46692  	goto __1884
 46693  __1883:
 46694  	if !(fc&0x08 == Tuint32_t(0)) {
 46695  		goto __1885
 46696  	}
 46697  	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
 46698  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46699  	goto __1886
 46700  __1885:
 46701  	if !(fc&0x04 == Tuint32_t(0)) {
 46702  		goto __1887
 46703  	}
 46704  	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
 46705  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46706  	goto __1888
 46707  __1887:
 46708  	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
 46709  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46710  __1888:
 46711  	;
 46712  __1886:
 46713  	;
 46714  __1884:
 46715  	;
 46716  __1882:
 46717  	;
 46718  __1880:
 46719  	;
 46720  
 46721  	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 + 32 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46722  		goto __1889
 46723  	}
 46724  	rrc = DMATCH_NOMATCH
 46725  	goto RETURN_SWITCH
 46726  __1889:
 46727  	;
 46728  
 46729  	goto __1873
 46730  __1873:
 46731  	goto __1872
 46732  	goto __1874
 46733  __1874:
 46734  	;
 46735  	// Control never gets here
 46736  
 46737  __1790:
 46738  __1890:
 46739  
 46740  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46741  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM225
 46742  	goto MATCH_RECURSE
 46743  L_RM225:
 46744  	;
 46745  
 46746  	if !(rrc != DMATCH_NOMATCH) {
 46747  		goto __1893
 46748  	}
 46749  	rrc = rrc
 46750  	goto RETURN_SWITCH
 46751  __1893:
 46752  	;
 46753  
 46754  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46755  		goto __1894
 46756  	}
 46757  	rrc = DMATCH_NOMATCH
 46758  	goto RETURN_SWITCH
 46759  __1894:
 46760  	;
 46761  
 46762  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46763  		goto __1895
 46764  	}
 46765  
 46766  	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)) {
 46767  		goto __1896
 46768  	}
 46769  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46770  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46771  		goto __1897
 46772  	}
 46773  	return -2
 46774  __1897:
 46775  	;
 46776  __1896:
 46777  	;
 46778  
 46779  	rrc = DMATCH_NOMATCH
 46780  	goto RETURN_SWITCH
 46781  
 46782  __1895:
 46783  	;
 46784  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46785  	if !(utf != 0 && fc >= 0xc0) {
 46786  		goto __1898
 46787  	}
 46788  	if !(fc&0x20 == Tuint32_t(0)) {
 46789  		goto __1899
 46790  	}
 46791  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46792  	goto __1900
 46793  __1899:
 46794  	if !(fc&0x10 == Tuint32_t(0)) {
 46795  		goto __1901
 46796  	}
 46797  	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
 46798  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46799  	goto __1902
 46800  __1901:
 46801  	if !(fc&0x08 == Tuint32_t(0)) {
 46802  		goto __1903
 46803  	}
 46804  	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
 46805  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46806  	goto __1904
 46807  __1903:
 46808  	if !(fc&0x04 == Tuint32_t(0)) {
 46809  		goto __1905
 46810  	}
 46811  	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
 46812  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46813  	goto __1906
 46814  __1905:
 46815  	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
 46816  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46817  __1906:
 46818  	;
 46819  __1904:
 46820  	;
 46821  __1902:
 46822  	;
 46823  __1900:
 46824  	;
 46825  __1898:
 46826  	;
 46827  
 46828  	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
 46829  	ok4 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)) ||
 46830  		*(*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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 46831  	if !(ok4 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46832  		goto __1907
 46833  	}
 46834  	rrc = DMATCH_NOMATCH
 46835  	goto RETURN_SWITCH
 46836  __1907:
 46837  	;
 46838  
 46839  	goto __1891
 46840  __1891:
 46841  	goto __1890
 46842  	goto __1892
 46843  __1892:
 46844  	;
 46845  	// Control never gets here
 46846  
 46847  __1791:
 46848  __1908:
 46849  
 46850  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46851  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM213
 46852  	goto MATCH_RECURSE
 46853  L_RM213:
 46854  	;
 46855  
 46856  	if !(rrc != DMATCH_NOMATCH) {
 46857  		goto __1911
 46858  	}
 46859  	rrc = rrc
 46860  	goto RETURN_SWITCH
 46861  __1911:
 46862  	;
 46863  
 46864  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46865  		goto __1912
 46866  	}
 46867  	rrc = DMATCH_NOMATCH
 46868  	goto RETURN_SWITCH
 46869  __1912:
 46870  	;
 46871  
 46872  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46873  		goto __1913
 46874  	}
 46875  
 46876  	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)) {
 46877  		goto __1914
 46878  	}
 46879  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46880  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46881  		goto __1915
 46882  	}
 46883  	return -2
 46884  __1915:
 46885  	;
 46886  __1914:
 46887  	;
 46888  
 46889  	rrc = DMATCH_NOMATCH
 46890  	goto RETURN_SWITCH
 46891  
 46892  __1913:
 46893  	;
 46894  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46895  	if !(utf != 0 && fc >= 0xc0) {
 46896  		goto __1916
 46897  	}
 46898  	if !(fc&0x20 == Tuint32_t(0)) {
 46899  		goto __1917
 46900  	}
 46901  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46902  	goto __1918
 46903  __1917:
 46904  	if !(fc&0x10 == Tuint32_t(0)) {
 46905  		goto __1919
 46906  	}
 46907  	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
 46908  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 46909  	goto __1920
 46910  __1919:
 46911  	if !(fc&0x08 == Tuint32_t(0)) {
 46912  		goto __1921
 46913  	}
 46914  	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
 46915  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 46916  	goto __1922
 46917  __1921:
 46918  	if !(fc&0x04 == Tuint32_t(0)) {
 46919  		goto __1923
 46920  	}
 46921  	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
 46922  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 46923  	goto __1924
 46924  __1923:
 46925  	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
 46926  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 46927  __1924:
 46928  	;
 46929  __1922:
 46930  	;
 46931  __1920:
 46932  	;
 46933  __1918:
 46934  	;
 46935  __1916:
 46936  	;
 46937  
 46938  	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])
 46939  	if !(libc.Bool32(category2 == ucp_L || category2 == ucp_N) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 46940  		goto __1925
 46941  	}
 46942  	rrc = DMATCH_NOMATCH
 46943  	goto RETURN_SWITCH
 46944  __1925:
 46945  	;
 46946  
 46947  	goto __1909
 46948  __1909:
 46949  	goto __1908
 46950  	goto __1910
 46951  __1910:
 46952  	;
 46953  	// Control never gets here
 46954  
 46955  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46956  	//           which means that Perl space and POSIX space are now identical. PCRE
 46957  	//           was changed at release 8.34.
 46958  
 46959  __1792: // Perl space
 46960  __1793: // POSIX space
 46961  __1926:
 46962  
 46963  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46964  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM214
 46965  	goto MATCH_RECURSE
 46966  L_RM214:
 46967  	;
 46968  
 46969  	if !(rrc != DMATCH_NOMATCH) {
 46970  		goto __1929
 46971  	}
 46972  	rrc = rrc
 46973  	goto RETURN_SWITCH
 46974  __1929:
 46975  	;
 46976  
 46977  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 46978  		goto __1930
 46979  	}
 46980  	rrc = DMATCH_NOMATCH
 46981  	goto RETURN_SWITCH
 46982  __1930:
 46983  	;
 46984  
 46985  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46986  		goto __1931
 46987  	}
 46988  
 46989  	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)) {
 46990  		goto __1932
 46991  	}
 46992  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46993  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46994  		goto __1933
 46995  	}
 46996  	return -2
 46997  __1933:
 46998  	;
 46999  __1932:
 47000  	;
 47001  
 47002  	rrc = DMATCH_NOMATCH
 47003  	goto RETURN_SWITCH
 47004  
 47005  __1931:
 47006  	;
 47007  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47008  	if !(utf != 0 && fc >= 0xc0) {
 47009  		goto __1934
 47010  	}
 47011  	if !(fc&0x20 == Tuint32_t(0)) {
 47012  		goto __1935
 47013  	}
 47014  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47015  	goto __1936
 47016  __1935:
 47017  	if !(fc&0x10 == Tuint32_t(0)) {
 47018  		goto __1937
 47019  	}
 47020  	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
 47021  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47022  	goto __1938
 47023  __1937:
 47024  	if !(fc&0x08 == Tuint32_t(0)) {
 47025  		goto __1939
 47026  	}
 47027  	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
 47028  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47029  	goto __1940
 47030  __1939:
 47031  	if !(fc&0x04 == Tuint32_t(0)) {
 47032  		goto __1941
 47033  	}
 47034  	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
 47035  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47036  	goto __1942
 47037  __1941:
 47038  	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
 47039  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47040  __1942:
 47041  	;
 47042  __1940:
 47043  	;
 47044  __1938:
 47045  	;
 47046  __1936:
 47047  	;
 47048  __1934:
 47049  	;
 47050  
 47051  	switch fc {
 47052  	case Tuint32_t('\011'):
 47053  		goto __1944
 47054  	case Tuint32_t('\040'):
 47055  		goto __1945
 47056  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 47057  		goto __1946
 47058  	case Tuint32_t(0x1680):
 47059  		goto __1947 /* OGHAM SPACE MARK */
 47060  	case Tuint32_t(0x180e):
 47061  		goto __1948 /* MONGOLIAN VOWEL SEPARATOR */
 47062  	case Tuint32_t(0x2000):
 47063  		goto __1949 /* EN QUAD */
 47064  	case Tuint32_t(0x2001):
 47065  		goto __1950 /* EM QUAD */
 47066  	case Tuint32_t(0x2002):
 47067  		goto __1951 /* EN SPACE */
 47068  	case Tuint32_t(0x2003):
 47069  		goto __1952 /* EM SPACE */
 47070  	case Tuint32_t(0x2004):
 47071  		goto __1953 /* THREE-PER-EM SPACE */
 47072  	case Tuint32_t(0x2005):
 47073  		goto __1954 /* FOUR-PER-EM SPACE */
 47074  	case Tuint32_t(0x2006):
 47075  		goto __1955 /* SIX-PER-EM SPACE */
 47076  	case Tuint32_t(0x2007):
 47077  		goto __1956 /* FIGURE SPACE */
 47078  	case Tuint32_t(0x2008):
 47079  		goto __1957 /* PUNCTUATION SPACE */
 47080  	case Tuint32_t(0x2009):
 47081  		goto __1958 /* THIN SPACE */
 47082  	case Tuint32_t(0x200A):
 47083  		goto __1959 /* HAIR SPACE */
 47084  	case Tuint32_t(0x202f):
 47085  		goto __1960 /* NARROW NO-BREAK SPACE */
 47086  	case Tuint32_t(0x205f):
 47087  		goto __1961 /* MEDIUM MATHEMATICAL SPACE */
 47088  	case Tuint32_t(0x3000):
 47089  		goto __1962
 47090  	case Tuint32_t('\012'):
 47091  		goto __1963
 47092  	case Tuint32_t('\013'):
 47093  		goto __1964
 47094  	case Tuint32_t('\014'):
 47095  		goto __1965
 47096  	case Tuint32_t('\015'):
 47097  		goto __1966
 47098  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 47099  		goto __1967
 47100  	case Tuint32_t(0x2028):
 47101  		goto __1968 /* LINE SEPARATOR */
 47102  	case Tuint32_t(0x2029):
 47103  		goto __1969
 47104  
 47105  	default:
 47106  		goto __1970
 47107  	}
 47108  	goto __1943
 47109  
 47110  __1944:
 47111  __1945:
 47112  __1946:
 47113  __1947: /* OGHAM SPACE MARK */
 47114  __1948: /* MONGOLIAN VOWEL SEPARATOR */
 47115  __1949: /* EN QUAD */
 47116  __1950: /* EM QUAD */
 47117  __1951: /* EN SPACE */
 47118  __1952: /* EM SPACE */
 47119  __1953: /* THREE-PER-EM SPACE */
 47120  __1954: /* FOUR-PER-EM SPACE */
 47121  __1955: /* SIX-PER-EM SPACE */
 47122  __1956: /* FIGURE SPACE */
 47123  __1957: /* PUNCTUATION SPACE */
 47124  __1958: /* THIN SPACE */
 47125  __1959: /* HAIR SPACE */
 47126  __1960: /* NARROW NO-BREAK SPACE */
 47127  __1961: /* MEDIUM MATHEMATICAL SPACE */
 47128  __1962:
 47129  __1963:
 47130  __1964:
 47131  __1965:
 47132  __1966:
 47133  __1967:
 47134  __1968: /* LINE SEPARATOR */
 47135  __1969:
 47136  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP) {
 47137  		goto __1971
 47138  	}
 47139  	rrc = DMATCH_NOMATCH
 47140  	goto RETURN_SWITCH
 47141  __1971:
 47142  	;
 47143  
 47144  	goto __1943
 47145  
 47146  __1970:
 47147  	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 + 32 + 2*4)) == OP_NOTPROP)) {
 47148  		goto __1972
 47149  	}
 47150  	rrc = DMATCH_NOMATCH
 47151  	goto RETURN_SWITCH
 47152  __1972:
 47153  	;
 47154  
 47155  	goto __1943
 47156  __1943:
 47157  	;
 47158  	goto __1927
 47159  __1927:
 47160  	goto __1926
 47161  	goto __1928
 47162  __1928:
 47163  	;
 47164  	// Control never gets here
 47165  
 47166  __1794:
 47167  __1973:
 47168  
 47169  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47170  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM215
 47171  	goto MATCH_RECURSE
 47172  L_RM215:
 47173  	;
 47174  
 47175  	if !(rrc != DMATCH_NOMATCH) {
 47176  		goto __1976
 47177  	}
 47178  	rrc = rrc
 47179  	goto RETURN_SWITCH
 47180  __1976:
 47181  	;
 47182  
 47183  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47184  		goto __1977
 47185  	}
 47186  	rrc = DMATCH_NOMATCH
 47187  	goto RETURN_SWITCH
 47188  __1977:
 47189  	;
 47190  
 47191  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47192  		goto __1978
 47193  	}
 47194  
 47195  	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)) {
 47196  		goto __1979
 47197  	}
 47198  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47199  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47200  		goto __1980
 47201  	}
 47202  	return -2
 47203  __1980:
 47204  	;
 47205  __1979:
 47206  	;
 47207  
 47208  	rrc = DMATCH_NOMATCH
 47209  	goto RETURN_SWITCH
 47210  
 47211  __1978:
 47212  	;
 47213  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47214  	if !(utf != 0 && fc >= 0xc0) {
 47215  		goto __1981
 47216  	}
 47217  	if !(fc&0x20 == Tuint32_t(0)) {
 47218  		goto __1982
 47219  	}
 47220  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47221  	goto __1983
 47222  __1982:
 47223  	if !(fc&0x10 == Tuint32_t(0)) {
 47224  		goto __1984
 47225  	}
 47226  	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
 47227  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47228  	goto __1985
 47229  __1984:
 47230  	if !(fc&0x08 == Tuint32_t(0)) {
 47231  		goto __1986
 47232  	}
 47233  	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
 47234  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47235  	goto __1987
 47236  __1986:
 47237  	if !(fc&0x04 == Tuint32_t(0)) {
 47238  		goto __1988
 47239  	}
 47240  	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
 47241  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47242  	goto __1989
 47243  __1988:
 47244  	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
 47245  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47246  __1989:
 47247  	;
 47248  __1987:
 47249  	;
 47250  __1985:
 47251  	;
 47252  __1983:
 47253  	;
 47254  __1981:
 47255  	;
 47256  
 47257  	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])
 47258  	if !(libc.Bool32(category3 == ucp_L || category3 == ucp_N || fc == Tuint32_t('\137')) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 47259  		goto __1990
 47260  	}
 47261  	rrc = DMATCH_NOMATCH
 47262  	goto RETURN_SWITCH
 47263  __1990:
 47264  	;
 47265  
 47266  	goto __1974
 47267  __1974:
 47268  	goto __1973
 47269  	goto __1975
 47270  __1975:
 47271  	;
 47272  	// Control never gets here
 47273  
 47274  __1795:
 47275  __1991:
 47276  
 47277  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47278  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM216
 47279  	goto MATCH_RECURSE
 47280  L_RM216:
 47281  	;
 47282  
 47283  	if !(rrc != DMATCH_NOMATCH) {
 47284  		goto __1994
 47285  	}
 47286  	rrc = rrc
 47287  	goto RETURN_SWITCH
 47288  __1994:
 47289  	;
 47290  
 47291  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47292  		goto __1995
 47293  	}
 47294  	rrc = DMATCH_NOMATCH
 47295  	goto RETURN_SWITCH
 47296  __1995:
 47297  	;
 47298  
 47299  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47300  		goto __1996
 47301  	}
 47302  
 47303  	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)) {
 47304  		goto __1997
 47305  	}
 47306  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47307  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47308  		goto __1998
 47309  	}
 47310  	return -2
 47311  __1998:
 47312  	;
 47313  __1997:
 47314  	;
 47315  
 47316  	rrc = DMATCH_NOMATCH
 47317  	goto RETURN_SWITCH
 47318  
 47319  __1996:
 47320  	;
 47321  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47322  	if !(utf != 0 && fc >= 0xc0) {
 47323  		goto __1999
 47324  	}
 47325  	if !(fc&0x20 == Tuint32_t(0)) {
 47326  		goto __2000
 47327  	}
 47328  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47329  	goto __2001
 47330  __2000:
 47331  	if !(fc&0x10 == Tuint32_t(0)) {
 47332  		goto __2002
 47333  	}
 47334  	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
 47335  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47336  	goto __2003
 47337  __2002:
 47338  	if !(fc&0x08 == Tuint32_t(0)) {
 47339  		goto __2004
 47340  	}
 47341  	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
 47342  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47343  	goto __2005
 47344  __2004:
 47345  	if !(fc&0x04 == Tuint32_t(0)) {
 47346  		goto __2006
 47347  	}
 47348  	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
 47349  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47350  	goto __2007
 47351  __2006:
 47352  	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
 47353  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47354  __2007:
 47355  	;
 47356  __2005:
 47357  	;
 47358  __2003:
 47359  	;
 47360  __2001:
 47361  	;
 47362  __1999:
 47363  	;
 47364  
 47365  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)))*4
 47366  __2008:
 47367  
 47368  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 47369  		goto __2011
 47370  	}
 47371  
 47372  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP) {
 47373  		goto __2012
 47374  	}
 47375  	goto __2010
 47376  __2012:
 47377  	;
 47378  	rrc = DMATCH_NOMATCH
 47379  	goto RETURN_SWITCH
 47380  
 47381  __2011:
 47382  	;
 47383  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 47384  		goto __2013
 47385  	}
 47386  
 47387  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP) {
 47388  		goto __2014
 47389  	}
 47390  	rrc = DMATCH_NOMATCH
 47391  	goto RETURN_SWITCH
 47392  __2014:
 47393  	;
 47394  
 47395  	goto __2010
 47396  __2013:
 47397  	;
 47398  	goto __2009
 47399  __2009:
 47400  	goto __2008
 47401  	goto __2010
 47402  __2010:
 47403  	;
 47404  	goto __1992
 47405  __1992:
 47406  	goto __1991
 47407  	goto __1993
 47408  __1993:
 47409  	;
 47410  	// Control never gets here
 47411  
 47412  __1796:
 47413  __2015:
 47414  
 47415  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47416  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM217
 47417  	goto MATCH_RECURSE
 47418  L_RM217:
 47419  	;
 47420  
 47421  	if !(rrc != DMATCH_NOMATCH) {
 47422  		goto __2018
 47423  	}
 47424  	rrc = rrc
 47425  	goto RETURN_SWITCH
 47426  __2018:
 47427  	;
 47428  
 47429  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47430  		goto __2019
 47431  	}
 47432  	rrc = DMATCH_NOMATCH
 47433  	goto RETURN_SWITCH
 47434  __2019:
 47435  	;
 47436  
 47437  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47438  		goto __2020
 47439  	}
 47440  
 47441  	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)) {
 47442  		goto __2021
 47443  	}
 47444  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47445  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47446  		goto __2022
 47447  	}
 47448  	return -2
 47449  __2022:
 47450  	;
 47451  __2021:
 47452  	;
 47453  
 47454  	rrc = DMATCH_NOMATCH
 47455  	goto RETURN_SWITCH
 47456  
 47457  __2020:
 47458  	;
 47459  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47460  	if !(utf != 0 && fc >= 0xc0) {
 47461  		goto __2023
 47462  	}
 47463  	if !(fc&0x20 == Tuint32_t(0)) {
 47464  		goto __2024
 47465  	}
 47466  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47467  	goto __2025
 47468  __2024:
 47469  	if !(fc&0x10 == Tuint32_t(0)) {
 47470  		goto __2026
 47471  	}
 47472  	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
 47473  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47474  	goto __2027
 47475  __2026:
 47476  	if !(fc&0x08 == Tuint32_t(0)) {
 47477  		goto __2028
 47478  	}
 47479  	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
 47480  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47481  	goto __2029
 47482  __2028:
 47483  	if !(fc&0x04 == Tuint32_t(0)) {
 47484  		goto __2030
 47485  	}
 47486  	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
 47487  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47488  	goto __2031
 47489  __2030:
 47490  	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
 47491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47492  __2031:
 47493  	;
 47494  __2029:
 47495  	;
 47496  __2027:
 47497  	;
 47498  __2025:
 47499  	;
 47500  __2023:
 47501  	;
 47502  
 47503  	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 + 32 + 2*4)) == OP_NOTPROP)) {
 47504  		goto __2032
 47505  	}
 47506  	rrc = DMATCH_NOMATCH
 47507  	goto RETURN_SWITCH
 47508  __2032:
 47509  	;
 47510  
 47511  	goto __2016
 47512  __2016:
 47513  	goto __2015
 47514  	goto __2017
 47515  __2017:
 47516  	;
 47517  	// Control never gets here
 47518  
 47519  __1797:
 47520  __2033:
 47521  
 47522  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47523  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM224
 47524  	goto MATCH_RECURSE
 47525  L_RM224:
 47526  	;
 47527  
 47528  	if !(rrc != DMATCH_NOMATCH) {
 47529  		goto __2036
 47530  	}
 47531  	rrc = rrc
 47532  	goto RETURN_SWITCH
 47533  __2036:
 47534  	;
 47535  
 47536  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47537  		goto __2037
 47538  	}
 47539  	rrc = DMATCH_NOMATCH
 47540  	goto RETURN_SWITCH
 47541  __2037:
 47542  	;
 47543  
 47544  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47545  		goto __2038
 47546  	}
 47547  
 47548  	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)) {
 47549  		goto __2039
 47550  	}
 47551  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47552  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47553  		goto __2040
 47554  	}
 47555  	return -2
 47556  __2040:
 47557  	;
 47558  __2039:
 47559  	;
 47560  
 47561  	rrc = DMATCH_NOMATCH
 47562  	goto RETURN_SWITCH
 47563  
 47564  __2038:
 47565  	;
 47566  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47567  	if !(utf != 0 && fc >= 0xc0) {
 47568  		goto __2041
 47569  	}
 47570  	if !(fc&0x20 == Tuint32_t(0)) {
 47571  		goto __2042
 47572  	}
 47573  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47574  	goto __2043
 47575  __2042:
 47576  	if !(fc&0x10 == Tuint32_t(0)) {
 47577  		goto __2044
 47578  	}
 47579  	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
 47580  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47581  	goto __2045
 47582  __2044:
 47583  	if !(fc&0x08 == Tuint32_t(0)) {
 47584  		goto __2046
 47585  	}
 47586  	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
 47587  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47588  	goto __2047
 47589  __2046:
 47590  	if !(fc&0x04 == Tuint32_t(0)) {
 47591  		goto __2048
 47592  	}
 47593  	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
 47594  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47595  	goto __2049
 47596  __2048:
 47597  	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
 47598  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47599  __2049:
 47600  	;
 47601  __2047:
 47602  	;
 47603  __2045:
 47604  	;
 47605  __2043:
 47606  	;
 47607  __2041:
 47608  	;
 47609  
 47610  	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 + 32 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 47611  		goto __2050
 47612  	}
 47613  	rrc = DMATCH_NOMATCH
 47614  	goto RETURN_SWITCH
 47615  __2050:
 47616  	;
 47617  
 47618  	goto __2034
 47619  __2034:
 47620  	goto __2033
 47621  	goto __2035
 47622  __2035:
 47623  	;
 47624  	// Control never gets here
 47625  
 47626  __1798:
 47627  __2051:
 47628  
 47629  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47630  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM223
 47631  	goto MATCH_RECURSE
 47632  L_RM223:
 47633  	;
 47634  
 47635  	if !(rrc != DMATCH_NOMATCH) {
 47636  		goto __2054
 47637  	}
 47638  	rrc = rrc
 47639  	goto RETURN_SWITCH
 47640  __2054:
 47641  	;
 47642  
 47643  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47644  		goto __2055
 47645  	}
 47646  	rrc = DMATCH_NOMATCH
 47647  	goto RETURN_SWITCH
 47648  __2055:
 47649  	;
 47650  
 47651  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47652  		goto __2056
 47653  	}
 47654  
 47655  	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)) {
 47656  		goto __2057
 47657  	}
 47658  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47659  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47660  		goto __2058
 47661  	}
 47662  	return -2
 47663  __2058:
 47664  	;
 47665  __2057:
 47666  	;
 47667  
 47668  	rrc = DMATCH_NOMATCH
 47669  	goto RETURN_SWITCH
 47670  
 47671  __2056:
 47672  	;
 47673  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47674  	if !(utf != 0 && fc >= 0xc0) {
 47675  		goto __2059
 47676  	}
 47677  	if !(fc&0x20 == Tuint32_t(0)) {
 47678  		goto __2060
 47679  	}
 47680  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47681  	goto __2061
 47682  __2060:
 47683  	if !(fc&0x10 == Tuint32_t(0)) {
 47684  		goto __2062
 47685  	}
 47686  	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
 47687  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47688  	goto __2063
 47689  __2062:
 47690  	if !(fc&0x08 == Tuint32_t(0)) {
 47691  		goto __2064
 47692  	}
 47693  	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
 47694  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47695  	goto __2065
 47696  __2064:
 47697  	if !(fc&0x04 == Tuint32_t(0)) {
 47698  		goto __2066
 47699  	}
 47700  	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
 47701  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47702  	goto __2067
 47703  __2066:
 47704  	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
 47705  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47706  __2067:
 47707  	;
 47708  __2065:
 47709  	;
 47710  __2063:
 47711  	;
 47712  __2061:
 47713  	;
 47714  __2059:
 47715  	;
 47716  
 47717  	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
 47718  	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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 47719  	if !(ok5 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)) {
 47720  		goto __2068
 47721  	}
 47722  	rrc = DMATCH_NOMATCH
 47723  	goto RETURN_SWITCH
 47724  __2068:
 47725  	;
 47726  
 47727  	goto __2052
 47728  __2052:
 47729  	goto __2051
 47730  	goto __2053
 47731  __2053:
 47732  	;
 47733  	// Control never gets here
 47734  
 47735  	// This should never occur
 47736  __1799:
 47737  	return -44
 47738  __1784:
 47739  	;
 47740  	goto __1783
 47741  __1782:
 47742  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_EXTUNI) {
 47743  		goto __2069
 47744  	}
 47745  
 47746  __2071:
 47747  
 47748  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47749  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM218
 47750  	goto MATCH_RECURSE
 47751  L_RM218:
 47752  	;
 47753  
 47754  	if !(rrc != DMATCH_NOMATCH) {
 47755  		goto __2074
 47756  	}
 47757  	rrc = rrc
 47758  	goto RETURN_SWITCH
 47759  __2074:
 47760  	;
 47761  
 47762  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47763  		goto __2075
 47764  	}
 47765  	rrc = DMATCH_NOMATCH
 47766  	goto RETURN_SWITCH
 47767  __2075:
 47768  	;
 47769  
 47770  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47771  		goto __2076
 47772  	}
 47773  
 47774  	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)) {
 47775  		goto __2078
 47776  	}
 47777  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47778  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47779  		goto __2079
 47780  	}
 47781  	return -2
 47782  __2079:
 47783  	;
 47784  __2078:
 47785  	;
 47786  
 47787  	rrc = DMATCH_NOMATCH
 47788  	goto RETURN_SWITCH
 47789  
 47790  	goto __2077
 47791  __2076:
 47792  
 47793  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47794  	if !(utf != 0 && fc >= 0xc0) {
 47795  		goto __2080
 47796  	}
 47797  	if !(fc&0x20 == Tuint32_t(0)) {
 47798  		goto __2081
 47799  	}
 47800  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47801  	goto __2082
 47802  __2081:
 47803  	if !(fc&0x10 == Tuint32_t(0)) {
 47804  		goto __2083
 47805  	}
 47806  	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
 47807  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47808  	goto __2084
 47809  __2083:
 47810  	if !(fc&0x08 == Tuint32_t(0)) {
 47811  		goto __2085
 47812  	}
 47813  	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
 47814  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47815  	goto __2086
 47816  __2085:
 47817  	if !(fc&0x04 == Tuint32_t(0)) {
 47818  		goto __2087
 47819  	}
 47820  	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
 47821  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47822  	goto __2088
 47823  __2087:
 47824  	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
 47825  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47826  __2088:
 47827  	;
 47828  __2086:
 47829  	;
 47830  __2084:
 47831  	;
 47832  __2082:
 47833  	;
 47834  __2080:
 47835  	;
 47836  
 47837  	(*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,
 47838  		utf, uintptr(0))
 47839  __2077:
 47840  	;
 47841  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47842  		goto __2089
 47843  	}
 47844  	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)) {
 47845  		goto __2090
 47846  	}
 47847  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47848  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47849  		goto __2091
 47850  	}
 47851  	return -2
 47852  __2091:
 47853  	;
 47854  __2090:
 47855  	;
 47856  __2089:
 47857  	;
 47858  
 47859  	goto __2072
 47860  __2072:
 47861  	goto __2071
 47862  	goto __2073
 47863  __2073:
 47864  	;
 47865  	goto __2070
 47866  __2069:
 47867  
 47868  	// UTF mode for non-property testing character types.
 47869  
 47870  	if !(utf != 0) {
 47871  		goto __2092
 47872  	}
 47873  
 47874  __2094:
 47875  
 47876  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47877  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM219
 47878  	goto MATCH_RECURSE
 47879  L_RM219:
 47880  	;
 47881  
 47882  	if !(rrc != DMATCH_NOMATCH) {
 47883  		goto __2097
 47884  	}
 47885  	rrc = rrc
 47886  	goto RETURN_SWITCH
 47887  __2097:
 47888  	;
 47889  
 47890  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 47891  		goto __2098
 47892  	}
 47893  	rrc = DMATCH_NOMATCH
 47894  	goto RETURN_SWITCH
 47895  __2098:
 47896  	;
 47897  
 47898  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47899  		goto __2099
 47900  	}
 47901  
 47902  	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)) {
 47903  		goto __2100
 47904  	}
 47905  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47906  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47907  		goto __2101
 47908  	}
 47909  	return -2
 47910  __2101:
 47911  	;
 47912  __2100:
 47913  	;
 47914  
 47915  	rrc = DMATCH_NOMATCH
 47916  	goto RETURN_SWITCH
 47917  
 47918  __2099:
 47919  	;
 47920  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_ANY && func() int32 {
 47921  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 47922  			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+156, utf) != 0)
 47923  		}
 47924  		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 + 160))) && ((*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 + 160 + 1)))))
 47925  	}() != 0) {
 47926  		goto __2102
 47927  	}
 47928  	rrc = DMATCH_NOMATCH
 47929  	goto RETURN_SWITCH
 47930  __2102:
 47931  	;
 47932  
 47933  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47934  	if !(fc >= 0xc0) {
 47935  		goto __2103
 47936  	}
 47937  	if !(fc&0x20 == Tuint32_t(0)) {
 47938  		goto __2104
 47939  	}
 47940  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47941  	goto __2105
 47942  __2104:
 47943  	if !(fc&0x10 == Tuint32_t(0)) {
 47944  		goto __2106
 47945  	}
 47946  	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
 47947  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 47948  	goto __2107
 47949  __2106:
 47950  	if !(fc&0x08 == Tuint32_t(0)) {
 47951  		goto __2108
 47952  	}
 47953  	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
 47954  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 47955  	goto __2109
 47956  __2108:
 47957  	if !(fc&0x04 == Tuint32_t(0)) {
 47958  		goto __2110
 47959  	}
 47960  	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
 47961  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 47962  	goto __2111
 47963  __2110:
 47964  	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
 47965  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 47966  __2111:
 47967  	;
 47968  __2109:
 47969  	;
 47970  __2107:
 47971  	;
 47972  __2105:
 47973  	;
 47974  __2103:
 47975  	;
 47976  
 47977  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 47978  	case OP_ANY:
 47979  		goto __2113
 47980  
 47981  	case OP_ALLANY:
 47982  		goto __2114
 47983  	case OP_ANYBYTE:
 47984  		goto __2115
 47985  
 47986  	case OP_ANYNL:
 47987  		goto __2116
 47988  
 47989  	case OP_NOT_HSPACE:
 47990  		goto __2117
 47991  
 47992  	case OP_HSPACE:
 47993  		goto __2118
 47994  
 47995  	case OP_NOT_VSPACE:
 47996  		goto __2119
 47997  
 47998  	case OP_VSPACE:
 47999  		goto __2120
 48000  
 48001  	case OP_NOT_DIGIT:
 48002  		goto __2121
 48003  
 48004  	case OP_DIGIT:
 48005  		goto __2122
 48006  
 48007  	case OP_NOT_WHITESPACE:
 48008  		goto __2123
 48009  
 48010  	case OP_WHITESPACE:
 48011  		goto __2124
 48012  
 48013  	case OP_NOT_WORDCHAR:
 48014  		goto __2125
 48015  
 48016  	case OP_WORDCHAR:
 48017  		goto __2126
 48018  
 48019  	default:
 48020  		goto __2127
 48021  	}
 48022  	goto __2112
 48023  
 48024  __2113: // This is the non-NL case
 48025  	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 + 160)))) {
 48026  		goto __2128
 48027  	}
 48028  
 48029  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48030  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48031  		goto __2129
 48032  	}
 48033  	return -2
 48034  __2129:
 48035  	;
 48036  __2128:
 48037  	;
 48038  	goto __2112
 48039  
 48040  __2114:
 48041  __2115:
 48042  	goto __2112
 48043  
 48044  __2116:
 48045  	switch fc {
 48046  	default:
 48047  		goto __2131
 48048  
 48049  	case Tuint32_t('\015'):
 48050  		goto __2132
 48051  
 48052  	case Tuint32_t('\012'):
 48053  		goto __2133
 48054  
 48055  	case Tuint32_t('\013'):
 48056  		goto __2134
 48057  	case Tuint32_t('\014'):
 48058  		goto __2135
 48059  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48060  		goto __2136
 48061  	case Tuint32_t(0x2028):
 48062  		goto __2137
 48063  	case Tuint32_t(0x2029):
 48064  		goto __2138
 48065  	}
 48066  	goto __2130
 48067  
 48068  __2131:
 48069  	rrc = DMATCH_NOMATCH
 48070  	goto RETURN_SWITCH
 48071  
 48072  __2132:
 48073  	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') {
 48074  		goto __2139
 48075  	}
 48076  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48077  __2139:
 48078  	;
 48079  	goto __2130
 48080  
 48081  __2133:
 48082  	goto __2130
 48083  
 48084  __2134:
 48085  __2135:
 48086  __2136:
 48087  __2137:
 48088  __2138:
 48089  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48090  		goto __2140
 48091  	}
 48092  	rrc = DMATCH_NOMATCH
 48093  	goto RETURN_SWITCH
 48094  __2140:
 48095  	;
 48096  
 48097  	goto __2130
 48098  __2130:
 48099  	;
 48100  	goto __2112
 48101  
 48102  __2117:
 48103  	switch fc {
 48104  	case Tuint32_t('\011'):
 48105  		goto __2142
 48106  	case Tuint32_t('\040'):
 48107  		goto __2143
 48108  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48109  		goto __2144
 48110  	case Tuint32_t(0x1680):
 48111  		goto __2145 /* OGHAM SPACE MARK */
 48112  	case Tuint32_t(0x180e):
 48113  		goto __2146 /* MONGOLIAN VOWEL SEPARATOR */
 48114  	case Tuint32_t(0x2000):
 48115  		goto __2147 /* EN QUAD */
 48116  	case Tuint32_t(0x2001):
 48117  		goto __2148 /* EM QUAD */
 48118  	case Tuint32_t(0x2002):
 48119  		goto __2149 /* EN SPACE */
 48120  	case Tuint32_t(0x2003):
 48121  		goto __2150 /* EM SPACE */
 48122  	case Tuint32_t(0x2004):
 48123  		goto __2151 /* THREE-PER-EM SPACE */
 48124  	case Tuint32_t(0x2005):
 48125  		goto __2152 /* FOUR-PER-EM SPACE */
 48126  	case Tuint32_t(0x2006):
 48127  		goto __2153 /* SIX-PER-EM SPACE */
 48128  	case Tuint32_t(0x2007):
 48129  		goto __2154 /* FIGURE SPACE */
 48130  	case Tuint32_t(0x2008):
 48131  		goto __2155 /* PUNCTUATION SPACE */
 48132  	case Tuint32_t(0x2009):
 48133  		goto __2156 /* THIN SPACE */
 48134  	case Tuint32_t(0x200A):
 48135  		goto __2157 /* HAIR SPACE */
 48136  	case Tuint32_t(0x202f):
 48137  		goto __2158 /* NARROW NO-BREAK SPACE */
 48138  	case Tuint32_t(0x205f):
 48139  		goto __2159 /* MEDIUM MATHEMATICAL SPACE */
 48140  	case Tuint32_t(0x3000):
 48141  		goto __2160
 48142  	default:
 48143  		goto __2161
 48144  	}
 48145  	goto __2141
 48146  
 48147  __2142:
 48148  __2143:
 48149  __2144:
 48150  __2145: /* OGHAM SPACE MARK */
 48151  __2146: /* MONGOLIAN VOWEL SEPARATOR */
 48152  __2147: /* EN QUAD */
 48153  __2148: /* EM QUAD */
 48154  __2149: /* EN SPACE */
 48155  __2150: /* EM SPACE */
 48156  __2151: /* THREE-PER-EM SPACE */
 48157  __2152: /* FOUR-PER-EM SPACE */
 48158  __2153: /* SIX-PER-EM SPACE */
 48159  __2154: /* FIGURE SPACE */
 48160  __2155: /* PUNCTUATION SPACE */
 48161  __2156: /* THIN SPACE */
 48162  __2157: /* HAIR SPACE */
 48163  __2158: /* NARROW NO-BREAK SPACE */
 48164  __2159: /* MEDIUM MATHEMATICAL SPACE */
 48165  __2160:
 48166  	rrc = DMATCH_NOMATCH
 48167  	goto RETURN_SWITCH
 48168  
 48169  __2161:
 48170  	goto __2141
 48171  __2141:
 48172  	;
 48173  	goto __2112
 48174  
 48175  __2118:
 48176  	switch fc {
 48177  	case Tuint32_t('\011'):
 48178  		goto __2163
 48179  	case Tuint32_t('\040'):
 48180  		goto __2164
 48181  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48182  		goto __2165
 48183  	case Tuint32_t(0x1680):
 48184  		goto __2166 /* OGHAM SPACE MARK */
 48185  	case Tuint32_t(0x180e):
 48186  		goto __2167 /* MONGOLIAN VOWEL SEPARATOR */
 48187  	case Tuint32_t(0x2000):
 48188  		goto __2168 /* EN QUAD */
 48189  	case Tuint32_t(0x2001):
 48190  		goto __2169 /* EM QUAD */
 48191  	case Tuint32_t(0x2002):
 48192  		goto __2170 /* EN SPACE */
 48193  	case Tuint32_t(0x2003):
 48194  		goto __2171 /* EM SPACE */
 48195  	case Tuint32_t(0x2004):
 48196  		goto __2172 /* THREE-PER-EM SPACE */
 48197  	case Tuint32_t(0x2005):
 48198  		goto __2173 /* FOUR-PER-EM SPACE */
 48199  	case Tuint32_t(0x2006):
 48200  		goto __2174 /* SIX-PER-EM SPACE */
 48201  	case Tuint32_t(0x2007):
 48202  		goto __2175 /* FIGURE SPACE */
 48203  	case Tuint32_t(0x2008):
 48204  		goto __2176 /* PUNCTUATION SPACE */
 48205  	case Tuint32_t(0x2009):
 48206  		goto __2177 /* THIN SPACE */
 48207  	case Tuint32_t(0x200A):
 48208  		goto __2178 /* HAIR SPACE */
 48209  	case Tuint32_t(0x202f):
 48210  		goto __2179 /* NARROW NO-BREAK SPACE */
 48211  	case Tuint32_t(0x205f):
 48212  		goto __2180 /* MEDIUM MATHEMATICAL SPACE */
 48213  	case Tuint32_t(0x3000):
 48214  		goto __2181
 48215  	default:
 48216  		goto __2182
 48217  	}
 48218  	goto __2162
 48219  
 48220  __2163:
 48221  __2164:
 48222  __2165:
 48223  __2166: /* OGHAM SPACE MARK */
 48224  __2167: /* MONGOLIAN VOWEL SEPARATOR */
 48225  __2168: /* EN QUAD */
 48226  __2169: /* EM QUAD */
 48227  __2170: /* EN SPACE */
 48228  __2171: /* EM SPACE */
 48229  __2172: /* THREE-PER-EM SPACE */
 48230  __2173: /* FOUR-PER-EM SPACE */
 48231  __2174: /* SIX-PER-EM SPACE */
 48232  __2175: /* FIGURE SPACE */
 48233  __2176: /* PUNCTUATION SPACE */
 48234  __2177: /* THIN SPACE */
 48235  __2178: /* HAIR SPACE */
 48236  __2179: /* NARROW NO-BREAK SPACE */
 48237  __2180: /* MEDIUM MATHEMATICAL SPACE */
 48238  __2181:
 48239  	goto __2162
 48240  __2182:
 48241  	rrc = DMATCH_NOMATCH
 48242  	goto RETURN_SWITCH
 48243  
 48244  __2162:
 48245  	;
 48246  	goto __2112
 48247  
 48248  __2119:
 48249  	switch fc {
 48250  	case Tuint32_t('\012'):
 48251  		goto __2184
 48252  	case Tuint32_t('\013'):
 48253  		goto __2185
 48254  	case Tuint32_t('\014'):
 48255  		goto __2186
 48256  	case Tuint32_t('\015'):
 48257  		goto __2187
 48258  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48259  		goto __2188
 48260  	case Tuint32_t(0x2028):
 48261  		goto __2189 /* LINE SEPARATOR */
 48262  	case Tuint32_t(0x2029):
 48263  		goto __2190
 48264  	default:
 48265  		goto __2191
 48266  	}
 48267  	goto __2183
 48268  
 48269  __2184:
 48270  __2185:
 48271  __2186:
 48272  __2187:
 48273  __2188:
 48274  __2189: /* LINE SEPARATOR */
 48275  __2190:
 48276  	rrc = DMATCH_NOMATCH
 48277  	goto RETURN_SWITCH
 48278  
 48279  __2191:
 48280  	goto __2183
 48281  __2183:
 48282  	;
 48283  	goto __2112
 48284  
 48285  __2120:
 48286  	switch fc {
 48287  	case Tuint32_t('\012'):
 48288  		goto __2193
 48289  	case Tuint32_t('\013'):
 48290  		goto __2194
 48291  	case Tuint32_t('\014'):
 48292  		goto __2195
 48293  	case Tuint32_t('\015'):
 48294  		goto __2196
 48295  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48296  		goto __2197
 48297  	case Tuint32_t(0x2028):
 48298  		goto __2198 /* LINE SEPARATOR */
 48299  	case Tuint32_t(0x2029):
 48300  		goto __2199
 48301  	default:
 48302  		goto __2200
 48303  	}
 48304  	goto __2192
 48305  
 48306  __2193:
 48307  __2194:
 48308  __2195:
 48309  __2196:
 48310  __2197:
 48311  __2198: /* LINE SEPARATOR */
 48312  __2199:
 48313  	goto __2192
 48314  __2200:
 48315  	rrc = DMATCH_NOMATCH
 48316  	goto RETURN_SWITCH
 48317  
 48318  __2192:
 48319  	;
 48320  	goto __2112
 48321  
 48322  __2121:
 48323  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48324  		goto __2201
 48325  	}
 48326  	rrc = DMATCH_NOMATCH
 48327  	goto RETURN_SWITCH
 48328  __2201:
 48329  	;
 48330  
 48331  	goto __2112
 48332  
 48333  __2122:
 48334  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48335  		goto __2202
 48336  	}
 48337  	rrc = DMATCH_NOMATCH
 48338  	goto RETURN_SWITCH
 48339  __2202:
 48340  	;
 48341  
 48342  	goto __2112
 48343  
 48344  __2123:
 48345  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48346  		goto __2203
 48347  	}
 48348  	rrc = DMATCH_NOMATCH
 48349  	goto RETURN_SWITCH
 48350  __2203:
 48351  	;
 48352  
 48353  	goto __2112
 48354  
 48355  __2124:
 48356  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48357  		goto __2204
 48358  	}
 48359  	rrc = DMATCH_NOMATCH
 48360  	goto RETURN_SWITCH
 48361  __2204:
 48362  	;
 48363  
 48364  	goto __2112
 48365  
 48366  __2125:
 48367  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48368  		goto __2205
 48369  	}
 48370  	rrc = DMATCH_NOMATCH
 48371  	goto RETURN_SWITCH
 48372  __2205:
 48373  	;
 48374  
 48375  	goto __2112
 48376  
 48377  __2126:
 48378  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48379  		goto __2206
 48380  	}
 48381  	rrc = DMATCH_NOMATCH
 48382  	goto RETURN_SWITCH
 48383  __2206:
 48384  	;
 48385  
 48386  	goto __2112
 48387  
 48388  __2127:
 48389  	return -44
 48390  __2112:
 48391  	;
 48392  	goto __2095
 48393  __2095:
 48394  	goto __2094
 48395  	goto __2096
 48396  __2096:
 48397  	;
 48398  	goto __2093
 48399  __2092:
 48400  
 48401  	/* Not UTF mode */
 48402  
 48403  __2207:
 48404  
 48405  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 48406  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM33
 48407  	goto MATCH_RECURSE
 48408  L_RM33:
 48409  	;
 48410  
 48411  	if !(rrc != DMATCH_NOMATCH) {
 48412  		goto __2210
 48413  	}
 48414  	rrc = rrc
 48415  	goto RETURN_SWITCH
 48416  __2210:
 48417  	;
 48418  
 48419  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 48420  		goto __2211
 48421  	}
 48422  	rrc = DMATCH_NOMATCH
 48423  	goto RETURN_SWITCH
 48424  __2211:
 48425  	;
 48426  
 48427  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48428  		goto __2212
 48429  	}
 48430  
 48431  	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)) {
 48432  		goto __2213
 48433  	}
 48434  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48435  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48436  		goto __2214
 48437  	}
 48438  	return -2
 48439  __2214:
 48440  	;
 48441  __2213:
 48442  	;
 48443  
 48444  	rrc = DMATCH_NOMATCH
 48445  	goto RETURN_SWITCH
 48446  
 48447  __2212:
 48448  	;
 48449  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_ANY && func() int32 {
 48450  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 48451  			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+156, utf) != 0)
 48452  		}
 48453  		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 + 160))) && ((*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 + 160 + 1)))))
 48454  	}() != 0) {
 48455  		goto __2215
 48456  	}
 48457  	rrc = DMATCH_NOMATCH
 48458  	goto RETURN_SWITCH
 48459  __2215:
 48460  	;
 48461  
 48462  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 48463  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 48464  	case OP_ANY:
 48465  		goto __2217
 48466  
 48467  	case OP_ALLANY:
 48468  		goto __2218
 48469  	case OP_ANYBYTE:
 48470  		goto __2219
 48471  
 48472  	case OP_ANYNL:
 48473  		goto __2220
 48474  
 48475  	case OP_NOT_HSPACE:
 48476  		goto __2221
 48477  
 48478  	case OP_HSPACE:
 48479  		goto __2222
 48480  
 48481  	case OP_NOT_VSPACE:
 48482  		goto __2223
 48483  
 48484  	case OP_VSPACE:
 48485  		goto __2224
 48486  
 48487  	case OP_NOT_DIGIT:
 48488  		goto __2225
 48489  
 48490  	case OP_DIGIT:
 48491  		goto __2226
 48492  
 48493  	case OP_NOT_WHITESPACE:
 48494  		goto __2227
 48495  
 48496  	case OP_WHITESPACE:
 48497  		goto __2228
 48498  
 48499  	case OP_NOT_WORDCHAR:
 48500  		goto __2229
 48501  
 48502  	case OP_WORDCHAR:
 48503  		goto __2230
 48504  
 48505  	default:
 48506  		goto __2231
 48507  	}
 48508  	goto __2216
 48509  
 48510  __2217: // This is the non-NL case
 48511  	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 + 160)))) {
 48512  		goto __2232
 48513  	}
 48514  
 48515  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48516  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48517  		goto __2233
 48518  	}
 48519  	return -2
 48520  __2233:
 48521  	;
 48522  __2232:
 48523  	;
 48524  	goto __2216
 48525  
 48526  __2218:
 48527  __2219:
 48528  	goto __2216
 48529  
 48530  __2220:
 48531  	switch fc {
 48532  	default:
 48533  		goto __2235
 48534  
 48535  	case Tuint32_t('\015'):
 48536  		goto __2236
 48537  
 48538  	case Tuint32_t('\012'):
 48539  		goto __2237
 48540  
 48541  	case Tuint32_t('\013'):
 48542  		goto __2238
 48543  	case Tuint32_t('\014'):
 48544  		goto __2239
 48545  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48546  		goto __2240
 48547  	}
 48548  	goto __2234
 48549  
 48550  __2235:
 48551  	rrc = DMATCH_NOMATCH
 48552  	goto RETURN_SWITCH
 48553  
 48554  __2236:
 48555  	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') {
 48556  		goto __2241
 48557  	}
 48558  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48559  __2241:
 48560  	;
 48561  	goto __2234
 48562  
 48563  __2237:
 48564  	goto __2234
 48565  
 48566  __2238:
 48567  __2239:
 48568  __2240:
 48569  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48570  		goto __2242
 48571  	}
 48572  	rrc = DMATCH_NOMATCH
 48573  	goto RETURN_SWITCH
 48574  __2242:
 48575  	;
 48576  
 48577  	goto __2234
 48578  __2234:
 48579  	;
 48580  	goto __2216
 48581  
 48582  __2221:
 48583  	switch fc {
 48584  	default:
 48585  		goto __2244
 48586  	case Tuint32_t('\011'):
 48587  		goto __2245
 48588  	case Tuint32_t('\040'):
 48589  		goto __2246
 48590  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48591  		goto __2247
 48592  	}
 48593  	goto __2243
 48594  
 48595  __2244:
 48596  	goto __2243
 48597  __2245:
 48598  __2246:
 48599  __2247:
 48600  	rrc = DMATCH_NOMATCH
 48601  	goto RETURN_SWITCH
 48602  
 48603  __2243:
 48604  	;
 48605  	goto __2216
 48606  
 48607  __2222:
 48608  	switch fc {
 48609  	default:
 48610  		goto __2249
 48611  	case Tuint32_t('\011'):
 48612  		goto __2250
 48613  	case Tuint32_t('\040'):
 48614  		goto __2251
 48615  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48616  		goto __2252
 48617  	}
 48618  	goto __2248
 48619  
 48620  __2249:
 48621  	rrc = DMATCH_NOMATCH
 48622  	goto RETURN_SWITCH
 48623  
 48624  __2250:
 48625  __2251:
 48626  __2252:
 48627  	goto __2248
 48628  __2248:
 48629  	;
 48630  	goto __2216
 48631  
 48632  __2223:
 48633  	switch fc {
 48634  	default:
 48635  		goto __2254
 48636  	case Tuint32_t('\012'):
 48637  		goto __2255
 48638  	case Tuint32_t('\013'):
 48639  		goto __2256
 48640  	case Tuint32_t('\014'):
 48641  		goto __2257
 48642  	case Tuint32_t('\015'):
 48643  		goto __2258
 48644  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48645  		goto __2259
 48646  	}
 48647  	goto __2253
 48648  
 48649  __2254:
 48650  	goto __2253
 48651  __2255:
 48652  __2256:
 48653  __2257:
 48654  __2258:
 48655  __2259:
 48656  	rrc = DMATCH_NOMATCH
 48657  	goto RETURN_SWITCH
 48658  
 48659  __2253:
 48660  	;
 48661  	goto __2216
 48662  
 48663  __2224:
 48664  	switch fc {
 48665  	default:
 48666  		goto __2261
 48667  	case Tuint32_t('\012'):
 48668  		goto __2262
 48669  	case Tuint32_t('\013'):
 48670  		goto __2263
 48671  	case Tuint32_t('\014'):
 48672  		goto __2264
 48673  	case Tuint32_t('\015'):
 48674  		goto __2265
 48675  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48676  		goto __2266
 48677  	}
 48678  	goto __2260
 48679  
 48680  __2261:
 48681  	rrc = DMATCH_NOMATCH
 48682  	goto RETURN_SWITCH
 48683  
 48684  __2262:
 48685  __2263:
 48686  __2264:
 48687  __2265:
 48688  __2266:
 48689  	goto __2260
 48690  __2260:
 48691  	;
 48692  	goto __2216
 48693  
 48694  __2225:
 48695  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48696  		goto __2267
 48697  	}
 48698  	rrc = DMATCH_NOMATCH
 48699  	goto RETURN_SWITCH
 48700  __2267:
 48701  	;
 48702  
 48703  	goto __2216
 48704  
 48705  __2226:
 48706  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48707  		goto __2268
 48708  	}
 48709  	rrc = DMATCH_NOMATCH
 48710  	goto RETURN_SWITCH
 48711  __2268:
 48712  	;
 48713  
 48714  	goto __2216
 48715  
 48716  __2227:
 48717  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48718  		goto __2269
 48719  	}
 48720  	rrc = DMATCH_NOMATCH
 48721  	goto RETURN_SWITCH
 48722  __2269:
 48723  	;
 48724  
 48725  	goto __2216
 48726  
 48727  __2228:
 48728  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48729  		goto __2270
 48730  	}
 48731  	rrc = DMATCH_NOMATCH
 48732  	goto RETURN_SWITCH
 48733  __2270:
 48734  	;
 48735  
 48736  	goto __2216
 48737  
 48738  __2229:
 48739  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48740  		goto __2271
 48741  	}
 48742  	rrc = DMATCH_NOMATCH
 48743  	goto RETURN_SWITCH
 48744  __2271:
 48745  	;
 48746  
 48747  	goto __2216
 48748  
 48749  __2230:
 48750  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48751  		goto __2272
 48752  	}
 48753  	rrc = DMATCH_NOMATCH
 48754  	goto RETURN_SWITCH
 48755  __2272:
 48756  	;
 48757  
 48758  	goto __2216
 48759  
 48760  __2231:
 48761  	return -44
 48762  __2216:
 48763  	;
 48764  	goto __2208
 48765  __2208:
 48766  	goto __2207
 48767  	goto __2209
 48768  __2209:
 48769  	;
 48770  __2093:
 48771  	;
 48772  __2070:
 48773  	;
 48774  __1783:
 48775  	;
 48776  	// Control never gets here
 48777  	goto __1781
 48778  __1780:
 48779  
 48780  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Remember where we started
 48781  
 48782  	if !(proptype >= 0) {
 48783  		goto __2273
 48784  	}
 48785  	notmatch2 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOTPROP)
 48786  	switch proptype {
 48787  	case DPT_ANY:
 48788  		goto __2276
 48789  
 48790  	case DPT_LAMP:
 48791  		goto __2277
 48792  
 48793  	case DPT_GC:
 48794  		goto __2278
 48795  
 48796  	case DPT_PC:
 48797  		goto __2279
 48798  
 48799  	case DPT_SC:
 48800  		goto __2280
 48801  
 48802  	case DPT_SCX:
 48803  		goto __2281
 48804  
 48805  	case DPT_ALNUM:
 48806  		goto __2282
 48807  
 48808  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 48809  	//           which means that Perl space and POSIX space are now identical. PCRE
 48810  	//           was changed at release 8.34.
 48811  
 48812  	case DPT_SPACE:
 48813  		goto __2283 // Perl space
 48814  	case DPT_PXSPACE:
 48815  		goto __2284
 48816  
 48817  	case DPT_WORD:
 48818  		goto __2285
 48819  
 48820  	case DPT_CLIST:
 48821  		goto __2286
 48822  
 48823  	case DPT_UCNC:
 48824  		goto __2287
 48825  
 48826  	case DPT_BIDICL:
 48827  		goto __2288
 48828  
 48829  	case DPT_BOOL:
 48830  		goto __2289
 48831  
 48832  	default:
 48833  		goto __2290
 48834  	}
 48835  	goto __2275
 48836  
 48837  __2276:
 48838  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 48839  __2291:
 48840  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 48841  		goto __2293
 48842  	}
 48843  
 48844  	len4 = 1
 48845  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48846  		goto __2294
 48847  	}
 48848  
 48849  	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)) {
 48850  		goto __2295
 48851  	}
 48852  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48853  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48854  		goto __2296
 48855  	}
 48856  	return -2
 48857  __2296:
 48858  	;
 48859  __2295:
 48860  	;
 48861  
 48862  	goto __2293
 48863  __2294:
 48864  	;
 48865  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48866  	if !(utf != 0 && fc >= 0xc0) {
 48867  		goto __2297
 48868  	}
 48869  	if !(fc&0x20 == Tuint32_t(0)) {
 48870  		goto __2298
 48871  	}
 48872  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48873  	len4++
 48874  	goto __2299
 48875  __2298:
 48876  	if !(fc&0x10 == Tuint32_t(0)) {
 48877  		goto __2300
 48878  	}
 48879  	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
 48880  	len4 = len4 + 2
 48881  	goto __2301
 48882  __2300:
 48883  	if !(fc&0x08 == Tuint32_t(0)) {
 48884  		goto __2302
 48885  	}
 48886  	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
 48887  	len4 = len4 + 3
 48888  	goto __2303
 48889  __2302:
 48890  	if !(fc&0x04 == Tuint32_t(0)) {
 48891  		goto __2304
 48892  	}
 48893  	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
 48894  	len4 = len4 + 4
 48895  	goto __2305
 48896  __2304:
 48897  	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
 48898  	len4 = len4 + 5
 48899  __2305:
 48900  	;
 48901  __2303:
 48902  	;
 48903  __2301:
 48904  	;
 48905  __2299:
 48906  	;
 48907  __2297:
 48908  	;
 48909  
 48910  	if !(notmatch2 != 0) {
 48911  		goto __2306
 48912  	}
 48913  	goto __2293
 48914  __2306:
 48915  	;
 48916  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len4)
 48917  	goto __2292
 48918  __2292:
 48919  	i++
 48920  	goto __2291
 48921  	goto __2293
 48922  __2293:
 48923  	;
 48924  	goto __2275
 48925  
 48926  __2277:
 48927  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 48928  __2307:
 48929  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 48930  		goto __2309
 48931  	}
 48932  
 48933  	len5 = 1
 48934  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48935  		goto __2310
 48936  	}
 48937  
 48938  	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)) {
 48939  		goto __2311
 48940  	}
 48941  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48942  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48943  		goto __2312
 48944  	}
 48945  	return -2
 48946  __2312:
 48947  	;
 48948  __2311:
 48949  	;
 48950  
 48951  	goto __2309
 48952  __2310:
 48953  	;
 48954  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48955  	if !(utf != 0 && fc >= 0xc0) {
 48956  		goto __2313
 48957  	}
 48958  	if !(fc&0x20 == Tuint32_t(0)) {
 48959  		goto __2314
 48960  	}
 48961  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48962  	len5++
 48963  	goto __2315
 48964  __2314:
 48965  	if !(fc&0x10 == Tuint32_t(0)) {
 48966  		goto __2316
 48967  	}
 48968  	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
 48969  	len5 = len5 + 2
 48970  	goto __2317
 48971  __2316:
 48972  	if !(fc&0x08 == Tuint32_t(0)) {
 48973  		goto __2318
 48974  	}
 48975  	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
 48976  	len5 = len5 + 3
 48977  	goto __2319
 48978  __2318:
 48979  	if !(fc&0x04 == Tuint32_t(0)) {
 48980  		goto __2320
 48981  	}
 48982  	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
 48983  	len5 = len5 + 4
 48984  	goto __2321
 48985  __2320:
 48986  	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
 48987  	len5 = len5 + 5
 48988  __2321:
 48989  	;
 48990  __2319:
 48991  	;
 48992  __2317:
 48993  	;
 48994  __2315:
 48995  	;
 48996  __2313:
 48997  	;
 48998  
 48999  	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)
 49000  	if !(libc.Bool32(chartype2 == ucp_Lu || chartype2 == ucp_Ll || chartype2 == ucp_Lt) == notmatch2) {
 49001  		goto __2322
 49002  	}
 49003  	goto __2309
 49004  __2322:
 49005  	;
 49006  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len5)
 49007  	goto __2308
 49008  __2308:
 49009  	i++
 49010  	goto __2307
 49011  	goto __2309
 49012  __2309:
 49013  	;
 49014  	goto __2275
 49015  
 49016  __2278:
 49017  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49018  __2323:
 49019  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49020  		goto __2325
 49021  	}
 49022  
 49023  	len6 = 1
 49024  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49025  		goto __2326
 49026  	}
 49027  
 49028  	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)) {
 49029  		goto __2327
 49030  	}
 49031  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49032  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49033  		goto __2328
 49034  	}
 49035  	return -2
 49036  __2328:
 49037  	;
 49038  __2327:
 49039  	;
 49040  
 49041  	goto __2325
 49042  __2326:
 49043  	;
 49044  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49045  	if !(utf != 0 && fc >= 0xc0) {
 49046  		goto __2329
 49047  	}
 49048  	if !(fc&0x20 == Tuint32_t(0)) {
 49049  		goto __2330
 49050  	}
 49051  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49052  	len6++
 49053  	goto __2331
 49054  __2330:
 49055  	if !(fc&0x10 == Tuint32_t(0)) {
 49056  		goto __2332
 49057  	}
 49058  	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
 49059  	len6 = len6 + 2
 49060  	goto __2333
 49061  __2332:
 49062  	if !(fc&0x08 == Tuint32_t(0)) {
 49063  		goto __2334
 49064  	}
 49065  	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
 49066  	len6 = len6 + 3
 49067  	goto __2335
 49068  __2334:
 49069  	if !(fc&0x04 == Tuint32_t(0)) {
 49070  		goto __2336
 49071  	}
 49072  	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
 49073  	len6 = len6 + 4
 49074  	goto __2337
 49075  __2336:
 49076  	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
 49077  	len6 = len6 + 5
 49078  __2337:
 49079  	;
 49080  __2335:
 49081  	;
 49082  __2333:
 49083  	;
 49084  __2331:
 49085  	;
 49086  __2329:
 49087  	;
 49088  
 49089  	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 + 32 + 3*4))) == notmatch2) {
 49090  		goto __2338
 49091  	}
 49092  	goto __2325
 49093  __2338:
 49094  	;
 49095  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len6)
 49096  	goto __2324
 49097  __2324:
 49098  	i++
 49099  	goto __2323
 49100  	goto __2325
 49101  __2325:
 49102  	;
 49103  	goto __2275
 49104  
 49105  __2279:
 49106  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49107  __2339:
 49108  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49109  		goto __2341
 49110  	}
 49111  
 49112  	len7 = 1
 49113  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49114  		goto __2342
 49115  	}
 49116  
 49117  	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)) {
 49118  		goto __2343
 49119  	}
 49120  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49121  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49122  		goto __2344
 49123  	}
 49124  	return -2
 49125  __2344:
 49126  	;
 49127  __2343:
 49128  	;
 49129  
 49130  	goto __2341
 49131  __2342:
 49132  	;
 49133  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49134  	if !(utf != 0 && fc >= 0xc0) {
 49135  		goto __2345
 49136  	}
 49137  	if !(fc&0x20 == Tuint32_t(0)) {
 49138  		goto __2346
 49139  	}
 49140  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49141  	len7++
 49142  	goto __2347
 49143  __2346:
 49144  	if !(fc&0x10 == Tuint32_t(0)) {
 49145  		goto __2348
 49146  	}
 49147  	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
 49148  	len7 = len7 + 2
 49149  	goto __2349
 49150  __2348:
 49151  	if !(fc&0x08 == Tuint32_t(0)) {
 49152  		goto __2350
 49153  	}
 49154  	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
 49155  	len7 = len7 + 3
 49156  	goto __2351
 49157  __2350:
 49158  	if !(fc&0x04 == Tuint32_t(0)) {
 49159  		goto __2352
 49160  	}
 49161  	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
 49162  	len7 = len7 + 4
 49163  	goto __2353
 49164  __2352:
 49165  	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
 49166  	len7 = len7 + 5
 49167  __2353:
 49168  	;
 49169  __2351:
 49170  	;
 49171  __2349:
 49172  	;
 49173  __2347:
 49174  	;
 49175  __2345:
 49176  	;
 49177  
 49178  	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 + 32 + 3*4))) == notmatch2) {
 49179  		goto __2354
 49180  	}
 49181  	goto __2341
 49182  __2354:
 49183  	;
 49184  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len7)
 49185  	goto __2340
 49186  __2340:
 49187  	i++
 49188  	goto __2339
 49189  	goto __2341
 49190  __2341:
 49191  	;
 49192  	goto __2275
 49193  
 49194  __2280:
 49195  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49196  __2355:
 49197  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49198  		goto __2357
 49199  	}
 49200  
 49201  	len8 = 1
 49202  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49203  		goto __2358
 49204  	}
 49205  
 49206  	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)) {
 49207  		goto __2359
 49208  	}
 49209  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49210  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49211  		goto __2360
 49212  	}
 49213  	return -2
 49214  __2360:
 49215  	;
 49216  __2359:
 49217  	;
 49218  
 49219  	goto __2357
 49220  __2358:
 49221  	;
 49222  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49223  	if !(utf != 0 && fc >= 0xc0) {
 49224  		goto __2361
 49225  	}
 49226  	if !(fc&0x20 == Tuint32_t(0)) {
 49227  		goto __2362
 49228  	}
 49229  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49230  	len8++
 49231  	goto __2363
 49232  __2362:
 49233  	if !(fc&0x10 == Tuint32_t(0)) {
 49234  		goto __2364
 49235  	}
 49236  	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
 49237  	len8 = len8 + 2
 49238  	goto __2365
 49239  __2364:
 49240  	if !(fc&0x08 == Tuint32_t(0)) {
 49241  		goto __2366
 49242  	}
 49243  	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
 49244  	len8 = len8 + 3
 49245  	goto __2367
 49246  __2366:
 49247  	if !(fc&0x04 == Tuint32_t(0)) {
 49248  		goto __2368
 49249  	}
 49250  	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
 49251  	len8 = len8 + 4
 49252  	goto __2369
 49253  __2368:
 49254  	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
 49255  	len8 = len8 + 5
 49256  __2369:
 49257  	;
 49258  __2367:
 49259  	;
 49260  __2365:
 49261  	;
 49262  __2363:
 49263  	;
 49264  __2361:
 49265  	;
 49266  
 49267  	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 + 32 + 3*4))) == notmatch2) {
 49268  		goto __2370
 49269  	}
 49270  	goto __2357
 49271  __2370:
 49272  	;
 49273  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len8)
 49274  	goto __2356
 49275  __2356:
 49276  	i++
 49277  	goto __2355
 49278  	goto __2357
 49279  __2357:
 49280  	;
 49281  	goto __2275
 49282  
 49283  __2281:
 49284  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49285  __2371:
 49286  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49287  		goto __2373
 49288  	}
 49289  
 49290  	len9 = 1
 49291  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49292  		goto __2374
 49293  	}
 49294  
 49295  	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)) {
 49296  		goto __2375
 49297  	}
 49298  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49299  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49300  		goto __2376
 49301  	}
 49302  	return -2
 49303  __2376:
 49304  	;
 49305  __2375:
 49306  	;
 49307  
 49308  	goto __2373
 49309  __2374:
 49310  	;
 49311  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49312  	if !(utf != 0 && fc >= 0xc0) {
 49313  		goto __2377
 49314  	}
 49315  	if !(fc&0x20 == Tuint32_t(0)) {
 49316  		goto __2378
 49317  	}
 49318  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49319  	len9++
 49320  	goto __2379
 49321  __2378:
 49322  	if !(fc&0x10 == Tuint32_t(0)) {
 49323  		goto __2380
 49324  	}
 49325  	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
 49326  	len9 = len9 + 2
 49327  	goto __2381
 49328  __2380:
 49329  	if !(fc&0x08 == Tuint32_t(0)) {
 49330  		goto __2382
 49331  	}
 49332  	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
 49333  	len9 = len9 + 3
 49334  	goto __2383
 49335  __2382:
 49336  	if !(fc&0x04 == Tuint32_t(0)) {
 49337  		goto __2384
 49338  	}
 49339  	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
 49340  	len9 = len9 + 4
 49341  	goto __2385
 49342  __2384:
 49343  	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
 49344  	len9 = len9 + 5
 49345  __2385:
 49346  	;
 49347  __2383:
 49348  	;
 49349  __2381:
 49350  	;
 49351  __2379:
 49352  	;
 49353  __2377:
 49354  	;
 49355  
 49356  	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
 49357  	ok6 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop5)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 49358  	if !(ok6 == notmatch2) {
 49359  		goto __2386
 49360  	}
 49361  	goto __2373
 49362  __2386:
 49363  	;
 49364  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len9)
 49365  	goto __2372
 49366  __2372:
 49367  	i++
 49368  	goto __2371
 49369  	goto __2373
 49370  __2373:
 49371  	;
 49372  	goto __2275
 49373  
 49374  __2282:
 49375  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49376  __2387:
 49377  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49378  		goto __2389
 49379  	}
 49380  
 49381  	len10 = 1
 49382  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49383  		goto __2390
 49384  	}
 49385  
 49386  	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)) {
 49387  		goto __2391
 49388  	}
 49389  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49390  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49391  		goto __2392
 49392  	}
 49393  	return -2
 49394  __2392:
 49395  	;
 49396  __2391:
 49397  	;
 49398  
 49399  	goto __2389
 49400  __2390:
 49401  	;
 49402  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49403  	if !(utf != 0 && fc >= 0xc0) {
 49404  		goto __2393
 49405  	}
 49406  	if !(fc&0x20 == Tuint32_t(0)) {
 49407  		goto __2394
 49408  	}
 49409  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49410  	len10++
 49411  	goto __2395
 49412  __2394:
 49413  	if !(fc&0x10 == Tuint32_t(0)) {
 49414  		goto __2396
 49415  	}
 49416  	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
 49417  	len10 = len10 + 2
 49418  	goto __2397
 49419  __2396:
 49420  	if !(fc&0x08 == Tuint32_t(0)) {
 49421  		goto __2398
 49422  	}
 49423  	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
 49424  	len10 = len10 + 3
 49425  	goto __2399
 49426  __2398:
 49427  	if !(fc&0x04 == Tuint32_t(0)) {
 49428  		goto __2400
 49429  	}
 49430  	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
 49431  	len10 = len10 + 4
 49432  	goto __2401
 49433  __2400:
 49434  	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
 49435  	len10 = len10 + 5
 49436  __2401:
 49437  	;
 49438  __2399:
 49439  	;
 49440  __2397:
 49441  	;
 49442  __2395:
 49443  	;
 49444  __2393:
 49445  	;
 49446  
 49447  	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])
 49448  	if !(libc.Bool32(category4 == ucp_L || category4 == ucp_N) == notmatch2) {
 49449  		goto __2402
 49450  	}
 49451  	goto __2389
 49452  __2402:
 49453  	;
 49454  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len10)
 49455  	goto __2388
 49456  __2388:
 49457  	i++
 49458  	goto __2387
 49459  	goto __2389
 49460  __2389:
 49461  	;
 49462  	goto __2275
 49463  
 49464  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 49465  	//           which means that Perl space and POSIX space are now identical. PCRE
 49466  	//           was changed at release 8.34.
 49467  
 49468  __2283: // Perl space
 49469  __2284: // POSIX space
 49470  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49471  __2403:
 49472  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49473  		goto __2405
 49474  	}
 49475  
 49476  	len11 = 1
 49477  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49478  		goto __2406
 49479  	}
 49480  
 49481  	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)) {
 49482  		goto __2407
 49483  	}
 49484  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49485  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49486  		goto __2408
 49487  	}
 49488  	return -2
 49489  __2408:
 49490  	;
 49491  __2407:
 49492  	;
 49493  
 49494  	goto __2405
 49495  __2406:
 49496  	;
 49497  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49498  	if !(utf != 0 && fc >= 0xc0) {
 49499  		goto __2409
 49500  	}
 49501  	if !(fc&0x20 == Tuint32_t(0)) {
 49502  		goto __2410
 49503  	}
 49504  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49505  	len11++
 49506  	goto __2411
 49507  __2410:
 49508  	if !(fc&0x10 == Tuint32_t(0)) {
 49509  		goto __2412
 49510  	}
 49511  	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
 49512  	len11 = len11 + 2
 49513  	goto __2413
 49514  __2412:
 49515  	if !(fc&0x08 == Tuint32_t(0)) {
 49516  		goto __2414
 49517  	}
 49518  	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
 49519  	len11 = len11 + 3
 49520  	goto __2415
 49521  __2414:
 49522  	if !(fc&0x04 == Tuint32_t(0)) {
 49523  		goto __2416
 49524  	}
 49525  	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
 49526  	len11 = len11 + 4
 49527  	goto __2417
 49528  __2416:
 49529  	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
 49530  	len11 = len11 + 5
 49531  __2417:
 49532  	;
 49533  __2415:
 49534  	;
 49535  __2413:
 49536  	;
 49537  __2411:
 49538  	;
 49539  __2409:
 49540  	;
 49541  
 49542  	switch fc {
 49543  	case Tuint32_t('\011'):
 49544  		goto __2419
 49545  	case Tuint32_t('\040'):
 49546  		goto __2420
 49547  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 49548  		goto __2421
 49549  	case Tuint32_t(0x1680):
 49550  		goto __2422 /* OGHAM SPACE MARK */
 49551  	case Tuint32_t(0x180e):
 49552  		goto __2423 /* MONGOLIAN VOWEL SEPARATOR */
 49553  	case Tuint32_t(0x2000):
 49554  		goto __2424 /* EN QUAD */
 49555  	case Tuint32_t(0x2001):
 49556  		goto __2425 /* EM QUAD */
 49557  	case Tuint32_t(0x2002):
 49558  		goto __2426 /* EN SPACE */
 49559  	case Tuint32_t(0x2003):
 49560  		goto __2427 /* EM SPACE */
 49561  	case Tuint32_t(0x2004):
 49562  		goto __2428 /* THREE-PER-EM SPACE */
 49563  	case Tuint32_t(0x2005):
 49564  		goto __2429 /* FOUR-PER-EM SPACE */
 49565  	case Tuint32_t(0x2006):
 49566  		goto __2430 /* SIX-PER-EM SPACE */
 49567  	case Tuint32_t(0x2007):
 49568  		goto __2431 /* FIGURE SPACE */
 49569  	case Tuint32_t(0x2008):
 49570  		goto __2432 /* PUNCTUATION SPACE */
 49571  	case Tuint32_t(0x2009):
 49572  		goto __2433 /* THIN SPACE */
 49573  	case Tuint32_t(0x200A):
 49574  		goto __2434 /* HAIR SPACE */
 49575  	case Tuint32_t(0x202f):
 49576  		goto __2435 /* NARROW NO-BREAK SPACE */
 49577  	case Tuint32_t(0x205f):
 49578  		goto __2436 /* MEDIUM MATHEMATICAL SPACE */
 49579  	case Tuint32_t(0x3000):
 49580  		goto __2437
 49581  	case Tuint32_t('\012'):
 49582  		goto __2438
 49583  	case Tuint32_t('\013'):
 49584  		goto __2439
 49585  	case Tuint32_t('\014'):
 49586  		goto __2440
 49587  	case Tuint32_t('\015'):
 49588  		goto __2441
 49589  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 49590  		goto __2442
 49591  	case Tuint32_t(0x2028):
 49592  		goto __2443 /* LINE SEPARATOR */
 49593  	case Tuint32_t(0x2029):
 49594  		goto __2444
 49595  
 49596  	default:
 49597  		goto __2445
 49598  	}
 49599  	goto __2418
 49600  
 49601  __2419:
 49602  __2420:
 49603  __2421:
 49604  __2422: /* OGHAM SPACE MARK */
 49605  __2423: /* MONGOLIAN VOWEL SEPARATOR */
 49606  __2424: /* EN QUAD */
 49607  __2425: /* EM QUAD */
 49608  __2426: /* EN SPACE */
 49609  __2427: /* EM SPACE */
 49610  __2428: /* THREE-PER-EM SPACE */
 49611  __2429: /* FOUR-PER-EM SPACE */
 49612  __2430: /* SIX-PER-EM SPACE */
 49613  __2431: /* FIGURE SPACE */
 49614  __2432: /* PUNCTUATION SPACE */
 49615  __2433: /* THIN SPACE */
 49616  __2434: /* HAIR SPACE */
 49617  __2435: /* NARROW NO-BREAK SPACE */
 49618  __2436: /* MEDIUM MATHEMATICAL SPACE */
 49619  __2437:
 49620  __2438:
 49621  __2439:
 49622  __2440:
 49623  __2441:
 49624  __2442:
 49625  __2443: /* LINE SEPARATOR */
 49626  __2444:
 49627  	if !(notmatch2 != 0) {
 49628  		goto __2446
 49629  	}
 49630  	goto ENDLOOP99
 49631  __2446:
 49632  	; // Break the loop
 49633  	goto __2418
 49634  
 49635  __2445:
 49636  	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) {
 49637  		goto __2447
 49638  	}
 49639  	goto ENDLOOP99
 49640  __2447:
 49641  	; // Break the loop
 49642  	goto __2418
 49643  __2418:
 49644  	;
 49645  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len11)
 49646  	goto __2404
 49647  __2404:
 49648  	i++
 49649  	goto __2403
 49650  	goto __2405
 49651  __2405:
 49652  	;
 49653  ENDLOOP99:
 49654  	goto __2275
 49655  
 49656  __2285:
 49657  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49658  __2448:
 49659  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49660  		goto __2450
 49661  	}
 49662  
 49663  	len12 = 1
 49664  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49665  		goto __2451
 49666  	}
 49667  
 49668  	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)) {
 49669  		goto __2452
 49670  	}
 49671  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49672  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49673  		goto __2453
 49674  	}
 49675  	return -2
 49676  __2453:
 49677  	;
 49678  __2452:
 49679  	;
 49680  
 49681  	goto __2450
 49682  __2451:
 49683  	;
 49684  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49685  	if !(utf != 0 && fc >= 0xc0) {
 49686  		goto __2454
 49687  	}
 49688  	if !(fc&0x20 == Tuint32_t(0)) {
 49689  		goto __2455
 49690  	}
 49691  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49692  	len12++
 49693  	goto __2456
 49694  __2455:
 49695  	if !(fc&0x10 == Tuint32_t(0)) {
 49696  		goto __2457
 49697  	}
 49698  	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
 49699  	len12 = len12 + 2
 49700  	goto __2458
 49701  __2457:
 49702  	if !(fc&0x08 == Tuint32_t(0)) {
 49703  		goto __2459
 49704  	}
 49705  	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
 49706  	len12 = len12 + 3
 49707  	goto __2460
 49708  __2459:
 49709  	if !(fc&0x04 == Tuint32_t(0)) {
 49710  		goto __2461
 49711  	}
 49712  	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
 49713  	len12 = len12 + 4
 49714  	goto __2462
 49715  __2461:
 49716  	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
 49717  	len12 = len12 + 5
 49718  __2462:
 49719  	;
 49720  __2460:
 49721  	;
 49722  __2458:
 49723  	;
 49724  __2456:
 49725  	;
 49726  __2454:
 49727  	;
 49728  
 49729  	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])
 49730  	if !(libc.Bool32(category5 == ucp_L || category5 == ucp_N || fc == Tuint32_t('\137')) == notmatch2) {
 49731  		goto __2463
 49732  	}
 49733  	goto __2450
 49734  __2463:
 49735  	;
 49736  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len12)
 49737  	goto __2449
 49738  __2449:
 49739  	i++
 49740  	goto __2448
 49741  	goto __2450
 49742  __2450:
 49743  	;
 49744  	goto __2275
 49745  
 49746  __2286:
 49747  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49748  __2464:
 49749  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49750  		goto __2466
 49751  	}
 49752  
 49753  	len13 = 1
 49754  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49755  		goto __2467
 49756  	}
 49757  
 49758  	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)) {
 49759  		goto __2468
 49760  	}
 49761  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49762  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49763  		goto __2469
 49764  	}
 49765  	return -2
 49766  __2469:
 49767  	;
 49768  __2468:
 49769  	;
 49770  
 49771  	goto __2466
 49772  __2467:
 49773  	;
 49774  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49775  	if !(utf != 0 && fc >= 0xc0) {
 49776  		goto __2470
 49777  	}
 49778  	if !(fc&0x20 == Tuint32_t(0)) {
 49779  		goto __2471
 49780  	}
 49781  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49782  	len13++
 49783  	goto __2472
 49784  __2471:
 49785  	if !(fc&0x10 == Tuint32_t(0)) {
 49786  		goto __2473
 49787  	}
 49788  	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
 49789  	len13 = len13 + 2
 49790  	goto __2474
 49791  __2473:
 49792  	if !(fc&0x08 == Tuint32_t(0)) {
 49793  		goto __2475
 49794  	}
 49795  	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
 49796  	len13 = len13 + 3
 49797  	goto __2476
 49798  __2475:
 49799  	if !(fc&0x04 == Tuint32_t(0)) {
 49800  		goto __2477
 49801  	}
 49802  	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
 49803  	len13 = len13 + 4
 49804  	goto __2478
 49805  __2477:
 49806  	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
 49807  	len13 = len13 + 5
 49808  __2478:
 49809  	;
 49810  __2476:
 49811  	;
 49812  __2474:
 49813  	;
 49814  __2472:
 49815  	;
 49816  __2470:
 49817  	;
 49818  
 49819  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4)))*4
 49820  __2479:
 49821  
 49822  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 49823  		goto __2482
 49824  	}
 49825  	if !(notmatch2 != 0) {
 49826  		goto __2483
 49827  	}
 49828  	goto __2481
 49829  	goto __2484
 49830  __2483:
 49831  	goto GOT_MAX
 49832  __2484:
 49833  	;
 49834  __2482:
 49835  	;
 49836  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 49837  		goto __2485
 49838  	}
 49839  	if !(notmatch2 != 0) {
 49840  		goto __2486
 49841  	}
 49842  	goto GOT_MAX
 49843  	goto __2487
 49844  __2486:
 49845  	goto __2481
 49846  __2487:
 49847  	;
 49848  __2485:
 49849  	;
 49850  	goto __2480
 49851  __2480:
 49852  	goto __2479
 49853  	goto __2481
 49854  __2481:
 49855  	;
 49856  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len13)
 49857  	goto __2465
 49858  __2465:
 49859  	i++
 49860  	goto __2464
 49861  	goto __2466
 49862  __2466:
 49863  	;
 49864  GOT_MAX:
 49865  	goto __2275
 49866  
 49867  __2287:
 49868  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49869  __2488:
 49870  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49871  		goto __2490
 49872  	}
 49873  
 49874  	len14 = 1
 49875  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49876  		goto __2491
 49877  	}
 49878  
 49879  	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)) {
 49880  		goto __2492
 49881  	}
 49882  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49883  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49884  		goto __2493
 49885  	}
 49886  	return -2
 49887  __2493:
 49888  	;
 49889  __2492:
 49890  	;
 49891  
 49892  	goto __2490
 49893  __2491:
 49894  	;
 49895  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49896  	if !(utf != 0 && fc >= 0xc0) {
 49897  		goto __2494
 49898  	}
 49899  	if !(fc&0x20 == Tuint32_t(0)) {
 49900  		goto __2495
 49901  	}
 49902  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49903  	len14++
 49904  	goto __2496
 49905  __2495:
 49906  	if !(fc&0x10 == Tuint32_t(0)) {
 49907  		goto __2497
 49908  	}
 49909  	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
 49910  	len14 = len14 + 2
 49911  	goto __2498
 49912  __2497:
 49913  	if !(fc&0x08 == Tuint32_t(0)) {
 49914  		goto __2499
 49915  	}
 49916  	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
 49917  	len14 = len14 + 3
 49918  	goto __2500
 49919  __2499:
 49920  	if !(fc&0x04 == Tuint32_t(0)) {
 49921  		goto __2501
 49922  	}
 49923  	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
 49924  	len14 = len14 + 4
 49925  	goto __2502
 49926  __2501:
 49927  	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
 49928  	len14 = len14 + 5
 49929  __2502:
 49930  	;
 49931  __2500:
 49932  	;
 49933  __2498:
 49934  	;
 49935  __2496:
 49936  	;
 49937  __2494:
 49938  	;
 49939  
 49940  	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) {
 49941  		goto __2503
 49942  	}
 49943  	goto __2490
 49944  __2503:
 49945  	;
 49946  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len14)
 49947  	goto __2489
 49948  __2489:
 49949  	i++
 49950  	goto __2488
 49951  	goto __2490
 49952  __2490:
 49953  	;
 49954  	goto __2275
 49955  
 49956  __2288:
 49957  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 49958  __2504:
 49959  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 49960  		goto __2506
 49961  	}
 49962  
 49963  	len15 = 1
 49964  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49965  		goto __2507
 49966  	}
 49967  
 49968  	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)) {
 49969  		goto __2508
 49970  	}
 49971  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49972  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49973  		goto __2509
 49974  	}
 49975  	return -2
 49976  __2509:
 49977  	;
 49978  __2508:
 49979  	;
 49980  
 49981  	goto __2506
 49982  __2507:
 49983  	;
 49984  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49985  	if !(utf != 0 && fc >= 0xc0) {
 49986  		goto __2510
 49987  	}
 49988  	if !(fc&0x20 == Tuint32_t(0)) {
 49989  		goto __2511
 49990  	}
 49991  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49992  	len15++
 49993  	goto __2512
 49994  __2511:
 49995  	if !(fc&0x10 == Tuint32_t(0)) {
 49996  		goto __2513
 49997  	}
 49998  	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
 49999  	len15 = len15 + 2
 50000  	goto __2514
 50001  __2513:
 50002  	if !(fc&0x08 == Tuint32_t(0)) {
 50003  		goto __2515
 50004  	}
 50005  	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
 50006  	len15 = len15 + 3
 50007  	goto __2516
 50008  __2515:
 50009  	if !(fc&0x04 == Tuint32_t(0)) {
 50010  		goto __2517
 50011  	}
 50012  	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
 50013  	len15 = len15 + 4
 50014  	goto __2518
 50015  __2517:
 50016  	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
 50017  	len15 = len15 + 5
 50018  __2518:
 50019  	;
 50020  __2516:
 50021  	;
 50022  __2514:
 50023  	;
 50024  __2512:
 50025  	;
 50026  __2510:
 50027  	;
 50028  
 50029  	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 + 32 + 3*4))) == notmatch2) {
 50030  		goto __2519
 50031  	}
 50032  	goto __2506
 50033  __2519:
 50034  	;
 50035  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len15)
 50036  	goto __2505
 50037  __2505:
 50038  	i++
 50039  	goto __2504
 50040  	goto __2506
 50041  __2506:
 50042  	;
 50043  	goto __2275
 50044  
 50045  __2289:
 50046  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50047  __2520:
 50048  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50049  		goto __2522
 50050  	}
 50051  
 50052  	len16 = 1
 50053  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50054  		goto __2523
 50055  	}
 50056  
 50057  	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)) {
 50058  		goto __2524
 50059  	}
 50060  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50061  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50062  		goto __2525
 50063  	}
 50064  	return -2
 50065  __2525:
 50066  	;
 50067  __2524:
 50068  	;
 50069  
 50070  	goto __2522
 50071  __2523:
 50072  	;
 50073  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50074  	if !(utf != 0 && fc >= 0xc0) {
 50075  		goto __2526
 50076  	}
 50077  	if !(fc&0x20 == Tuint32_t(0)) {
 50078  		goto __2527
 50079  	}
 50080  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50081  	len16++
 50082  	goto __2528
 50083  __2527:
 50084  	if !(fc&0x10 == Tuint32_t(0)) {
 50085  		goto __2529
 50086  	}
 50087  	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
 50088  	len16 = len16 + 2
 50089  	goto __2530
 50090  __2529:
 50091  	if !(fc&0x08 == Tuint32_t(0)) {
 50092  		goto __2531
 50093  	}
 50094  	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
 50095  	len16 = len16 + 3
 50096  	goto __2532
 50097  __2531:
 50098  	if !(fc&0x04 == Tuint32_t(0)) {
 50099  		goto __2533
 50100  	}
 50101  	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
 50102  	len16 = len16 + 4
 50103  	goto __2534
 50104  __2533:
 50105  	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
 50106  	len16 = len16 + 5
 50107  __2534:
 50108  	;
 50109  __2532:
 50110  	;
 50111  __2530:
 50112  	;
 50113  __2528:
 50114  	;
 50115  __2526:
 50116  	;
 50117  
 50118  	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
 50119  	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 + 32 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 50120  	if !(ok7 == notmatch2) {
 50121  		goto __2535
 50122  	}
 50123  	goto __2522
 50124  __2535:
 50125  	;
 50126  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len16)
 50127  	goto __2521
 50128  __2521:
 50129  	i++
 50130  	goto __2520
 50131  	goto __2522
 50132  __2522:
 50133  	;
 50134  	goto __2275
 50135  
 50136  __2290:
 50137  	return -44
 50138  __2275:
 50139  	;
 50140  
 50141  	// Feptr is now past the end of the maximum run
 50142  
 50143  	if !(reptype == REPTYPE_POS) {
 50144  		goto __2536
 50145  	}
 50146  	goto __11
 50147  __2536:
 50148  	; // No backtracking
 50149  
 50150  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 50151  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 50152  	//         go too far.
 50153  
 50154  __2537:
 50155  
 50156  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 50157  		goto __2540
 50158  	}
 50159  	goto __2539
 50160  __2540:
 50161  	;
 50162  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50163  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM222
 50164  	goto MATCH_RECURSE
 50165  L_RM222:
 50166  	;
 50167  
 50168  	if !(rrc != DMATCH_NOMATCH) {
 50169  		goto __2541
 50170  	}
 50171  	rrc = rrc
 50172  	goto RETURN_SWITCH
 50173  __2541:
 50174  	;
 50175  
 50176  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50177  	if !(utf != 0) {
 50178  		goto __2542
 50179  	}
 50180  __2543:
 50181  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50182  		goto __2544
 50183  	}
 50184  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50185  	goto __2543
 50186  __2544:
 50187  	;
 50188  __2542:
 50189  	;
 50190  	goto __2538
 50191  __2538:
 50192  	goto __2537
 50193  	goto __2539
 50194  __2539:
 50195  	;
 50196  	goto __2274
 50197  __2273:
 50198  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_EXTUNI) {
 50199  		goto __2545
 50200  	}
 50201  
 50202  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50203  __2547:
 50204  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50205  		goto __2549
 50206  	}
 50207  
 50208  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50209  		goto __2550
 50210  	}
 50211  
 50212  	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)) {
 50213  		goto __2552
 50214  	}
 50215  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50216  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50217  		goto __2553
 50218  	}
 50219  	return -2
 50220  __2553:
 50221  	;
 50222  __2552:
 50223  	;
 50224  
 50225  	goto __2549
 50226  	goto __2551
 50227  __2550:
 50228  
 50229  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 50230  	if !(utf != 0 && fc >= 0xc0) {
 50231  		goto __2554
 50232  	}
 50233  	if !(fc&0x20 == Tuint32_t(0)) {
 50234  		goto __2555
 50235  	}
 50236  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 50237  	goto __2556
 50238  __2555:
 50239  	if !(fc&0x10 == Tuint32_t(0)) {
 50240  		goto __2557
 50241  	}
 50242  	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
 50243  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(2)
 50244  	goto __2558
 50245  __2557:
 50246  	if !(fc&0x08 == Tuint32_t(0)) {
 50247  		goto __2559
 50248  	}
 50249  	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
 50250  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(3)
 50251  	goto __2560
 50252  __2559:
 50253  	if !(fc&0x04 == Tuint32_t(0)) {
 50254  		goto __2561
 50255  	}
 50256  	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
 50257  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(4)
 50258  	goto __2562
 50259  __2561:
 50260  	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
 50261  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += uintptr(5)
 50262  __2562:
 50263  	;
 50264  __2560:
 50265  	;
 50266  __2558:
 50267  	;
 50268  __2556:
 50269  	;
 50270  __2554:
 50271  	;
 50272  
 50273  	(*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,
 50274  		utf, uintptr(0))
 50275  __2551:
 50276  	;
 50277  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50278  		goto __2563
 50279  	}
 50280  	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)) {
 50281  		goto __2564
 50282  	}
 50283  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50284  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50285  		goto __2565
 50286  	}
 50287  	return -2
 50288  __2565:
 50289  	;
 50290  __2564:
 50291  	;
 50292  __2563:
 50293  	;
 50294  
 50295  	goto __2548
 50296  __2548:
 50297  	i++
 50298  	goto __2547
 50299  	goto __2549
 50300  __2549:
 50301  	;
 50302  
 50303  	// Feptr is now past the end of the maximum run
 50304  
 50305  	if !(reptype == REPTYPE_POS) {
 50306  		goto __2566
 50307  	}
 50308  	goto __11
 50309  __2566:
 50310  	; // No backtracking
 50311  
 50312  	// We use <= Lstart_eptr rather than == Lstart_eptr to detect the start
 50313  	//         of the run while backtracking because the use of \C in UTF mode can
 50314  	//         cause BACKCHAR to move back past Lstart_eptr. This is just palliative;
 50315  	//         the use of \C in UTF mode is fraught with danger.
 50316  
 50317  __2567:
 50318  
 50319  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 50320  		goto __2570
 50321  	}
 50322  	goto __2569
 50323  __2570:
 50324  	; /* At start of char run */
 50325  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50326  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM220
 50327  	goto MATCH_RECURSE
 50328  L_RM220:
 50329  	;
 50330  
 50331  	if !(rrc != DMATCH_NOMATCH) {
 50332  		goto __2571
 50333  	}
 50334  	rrc = rrc
 50335  	goto RETURN_SWITCH
 50336  __2571:
 50337  	;
 50338  
 50339  	// Backtracking over an extended grapheme cluster involves inspecting
 50340  	//           the previous two characters (if present) to see if a break is
 50341  	//           permitted between them.
 50342  
 50343  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50344  	if !!(utf != 0) {
 50345  		goto __2572
 50346  	}
 50347  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50348  	goto __2573
 50349  __2572:
 50350  
 50351  __2574:
 50352  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50353  		goto __2575
 50354  	}
 50355  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50356  	goto __2574
 50357  __2575:
 50358  	;
 50359  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50360  	if !(fc >= 0xc0) {
 50361  		goto __2576
 50362  	}
 50363  	if !(fc&0x20 == Tuint32_t(0)) {
 50364  		goto __2577
 50365  	}
 50366  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50367  	goto __2578
 50368  __2577:
 50369  	if !(fc&0x10 == Tuint32_t(0)) {
 50370  		goto __2579
 50371  	}
 50372  	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
 50373  	goto __2580
 50374  __2579:
 50375  	if !(fc&0x08 == Tuint32_t(0)) {
 50376  		goto __2581
 50377  	}
 50378  	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
 50379  	goto __2582
 50380  __2581:
 50381  	if !(fc&0x04 == Tuint32_t(0)) {
 50382  		goto __2583
 50383  	}
 50384  	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
 50385  	goto __2584
 50386  __2583:
 50387  	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
 50388  __2584:
 50389  	;
 50390  __2582:
 50391  	;
 50392  __2580:
 50393  	;
 50394  __2578:
 50395  	;
 50396  __2576:
 50397  	;
 50398  
 50399  __2573:
 50400  	;
 50401  	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)
 50402  
 50403  __2585:
 50404  
 50405  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 50406  		goto __2588
 50407  	}
 50408  	goto __2587
 50409  __2588:
 50410  	; // At start of char run
 50411  	fptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 50412  	if !!(utf != 0) {
 50413  		goto __2589
 50414  	}
 50415  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50416  	goto __2590
 50417  __2589:
 50418  
 50419  __2591:
 50420  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))&0xc0 == 0x80) {
 50421  		goto __2592
 50422  	}
 50423  	fptr--
 50424  	goto __2591
 50425  __2592:
 50426  	;
 50427  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50428  	if !(fc >= 0xc0) {
 50429  		goto __2593
 50430  	}
 50431  	if !(fc&0x20 == Tuint32_t(0)) {
 50432  		goto __2594
 50433  	}
 50434  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f
 50435  	goto __2595
 50436  __2594:
 50437  	if !(fc&0x10 == Tuint32_t(0)) {
 50438  		goto __2596
 50439  	}
 50440  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f
 50441  	goto __2597
 50442  __2596:
 50443  	if !(fc&0x08 == Tuint32_t(0)) {
 50444  		goto __2598
 50445  	}
 50446  	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
 50447  	goto __2599
 50448  __2598:
 50449  	if !(fc&0x04 == Tuint32_t(0)) {
 50450  		goto __2600
 50451  	}
 50452  	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
 50453  	goto __2601
 50454  __2600:
 50455  	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
 50456  __2601:
 50457  	;
 50458  __2599:
 50459  	;
 50460  __2597:
 50461  	;
 50462  __2595:
 50463  	;
 50464  __2593:
 50465  	;
 50466  
 50467  __2590:
 50468  	;
 50469  	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)
 50470  	if !(X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0)) {
 50471  		goto __2602
 50472  	}
 50473  	goto __2587
 50474  __2602:
 50475  	;
 50476  	(*Theapframe)(unsafe.Pointer(F)).Feptr = fptr
 50477  	rgb = lgb
 50478  	goto __2586
 50479  __2586:
 50480  	goto __2585
 50481  	goto __2587
 50482  __2587:
 50483  	;
 50484  	goto __2568
 50485  __2568:
 50486  	goto __2567
 50487  	goto __2569
 50488  __2569:
 50489  	;
 50490  	goto __2546
 50491  __2545:
 50492  
 50493  	if !(utf != 0) {
 50494  		goto __2603
 50495  	}
 50496  
 50497  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 50498  	case OP_ANY:
 50499  		goto __2606
 50500  
 50501  	case OP_ALLANY:
 50502  		goto __2607
 50503  
 50504  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50505  
 50506  	case OP_ANYBYTE:
 50507  		goto __2608
 50508  
 50509  	case OP_ANYNL:
 50510  		goto __2609
 50511  
 50512  	case OP_NOT_HSPACE:
 50513  		goto __2610
 50514  	case OP_HSPACE:
 50515  		goto __2611
 50516  
 50517  	case OP_NOT_VSPACE:
 50518  		goto __2612
 50519  	case OP_VSPACE:
 50520  		goto __2613
 50521  
 50522  	case OP_NOT_DIGIT:
 50523  		goto __2614
 50524  
 50525  	case OP_DIGIT:
 50526  		goto __2615
 50527  
 50528  	case OP_NOT_WHITESPACE:
 50529  		goto __2616
 50530  
 50531  	case OP_WHITESPACE:
 50532  		goto __2617
 50533  
 50534  	case OP_NOT_WORDCHAR:
 50535  		goto __2618
 50536  
 50537  	case OP_WORDCHAR:
 50538  		goto __2619
 50539  
 50540  	default:
 50541  		goto __2620
 50542  	}
 50543  	goto __2605
 50544  
 50545  __2606:
 50546  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50547  __2621:
 50548  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50549  		goto __2623
 50550  	}
 50551  
 50552  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50553  		goto __2624
 50554  	}
 50555  
 50556  	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)) {
 50557  		goto __2625
 50558  	}
 50559  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50560  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50561  		goto __2626
 50562  	}
 50563  	return -2
 50564  __2626:
 50565  	;
 50566  __2625:
 50567  	;
 50568  
 50569  	goto __2623
 50570  __2624:
 50571  	;
 50572  	if !(func() int32 {
 50573  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 50574  			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+156, utf) != 0)
 50575  		}
 50576  		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 + 160))) && ((*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 + 160 + 1)))))
 50577  	}() != 0) {
 50578  		goto __2627
 50579  	}
 50580  	goto __2623
 50581  __2627:
 50582  	;
 50583  	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 + 160)))) {
 50584  		goto __2628
 50585  	}
 50586  
 50587  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50588  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50589  		goto __2629
 50590  	}
 50591  	return -2
 50592  __2629:
 50593  	;
 50594  __2628:
 50595  	;
 50596  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50597  __2630:
 50598  	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) {
 50599  		goto __2631
 50600  	}
 50601  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50602  	goto __2630
 50603  __2631:
 50604  	;
 50605  	goto __2622
 50606  __2622:
 50607  	i++
 50608  	goto __2621
 50609  	goto __2623
 50610  __2623:
 50611  	;
 50612  	goto __2605
 50613  
 50614  __2607:
 50615  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) < 4294967295) {
 50616  		goto __2632
 50617  	}
 50618  
 50619  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50620  __2634:
 50621  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50622  		goto __2636
 50623  	}
 50624  
 50625  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50626  		goto __2637
 50627  	}
 50628  
 50629  	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)) {
 50630  		goto __2638
 50631  	}
 50632  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50633  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50634  		goto __2639
 50635  	}
 50636  	return -2
 50637  __2639:
 50638  	;
 50639  __2638:
 50640  	;
 50641  
 50642  	goto __2636
 50643  __2637:
 50644  	;
 50645  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50646  __2640:
 50647  	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) {
 50648  		goto __2641
 50649  	}
 50650  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50651  	goto __2640
 50652  __2641:
 50653  	;
 50654  	goto __2635
 50655  __2635:
 50656  	i++
 50657  	goto __2634
 50658  	goto __2636
 50659  __2636:
 50660  	;
 50661  	goto __2633
 50662  __2632:
 50663  
 50664  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject // Unlimited UTF-8 repeat
 50665  	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)) {
 50666  		goto __2642
 50667  	}
 50668  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50669  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50670  		goto __2643
 50671  	}
 50672  	return -2
 50673  __2643:
 50674  	;
 50675  __2642:
 50676  	;
 50677  
 50678  __2633:
 50679  	;
 50680  	goto __2605
 50681  
 50682  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50683  
 50684  __2608:
 50685  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50686  	if !(fc > Tuint32_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int32((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 50687  		goto __2644
 50688  	}
 50689  
 50690  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 50691  	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)) {
 50692  		goto __2646
 50693  	}
 50694  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50695  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50696  		goto __2647
 50697  	}
 50698  	return -2
 50699  __2647:
 50700  	;
 50701  __2646:
 50702  	;
 50703  
 50704  	goto __2645
 50705  __2644:
 50706  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(fc)
 50707  __2645:
 50708  	;
 50709  	goto __2605
 50710  
 50711  __2609:
 50712  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50713  __2648:
 50714  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50715  		goto __2650
 50716  	}
 50717  
 50718  	len17 = 1
 50719  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50720  		goto __2651
 50721  	}
 50722  
 50723  	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)) {
 50724  		goto __2652
 50725  	}
 50726  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50727  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50728  		goto __2653
 50729  	}
 50730  	return -2
 50731  __2653:
 50732  	;
 50733  __2652:
 50734  	;
 50735  
 50736  	goto __2650
 50737  __2651:
 50738  	;
 50739  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50740  	if !(fc >= 0xc0) {
 50741  		goto __2654
 50742  	}
 50743  	if !(fc&0x20 == Tuint32_t(0)) {
 50744  		goto __2655
 50745  	}
 50746  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50747  	len17++
 50748  	goto __2656
 50749  __2655:
 50750  	if !(fc&0x10 == Tuint32_t(0)) {
 50751  		goto __2657
 50752  	}
 50753  	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
 50754  	len17 = len17 + 2
 50755  	goto __2658
 50756  __2657:
 50757  	if !(fc&0x08 == Tuint32_t(0)) {
 50758  		goto __2659
 50759  	}
 50760  	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
 50761  	len17 = len17 + 3
 50762  	goto __2660
 50763  __2659:
 50764  	if !(fc&0x04 == Tuint32_t(0)) {
 50765  		goto __2661
 50766  	}
 50767  	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
 50768  	len17 = len17 + 4
 50769  	goto __2662
 50770  __2661:
 50771  	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
 50772  	len17 = len17 + 5
 50773  __2662:
 50774  	;
 50775  __2660:
 50776  	;
 50777  __2658:
 50778  	;
 50779  __2656:
 50780  	;
 50781  __2654:
 50782  	;
 50783  
 50784  	if !(fc == Tuint32_t('\015')) {
 50785  		goto __2663
 50786  	}
 50787  
 50788  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50789  		goto __2665
 50790  	}
 50791  	goto __2650
 50792  __2665:
 50793  	;
 50794  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 50795  		goto __2666
 50796  	}
 50797  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50798  __2666:
 50799  	;
 50800  	goto __2664
 50801  __2663:
 50802  
 50803  	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 != libc.Uint32FromUint8(libc.Uint8FromInt32(133)) &&
 50804  		fc != Tuint32_t(0x2028) && fc != Tuint32_t(0x2029))) {
 50805  		goto __2667
 50806  	}
 50807  	goto __2650
 50808  __2667:
 50809  	;
 50810  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len17)
 50811  __2664:
 50812  	;
 50813  	goto __2649
 50814  __2649:
 50815  	i++
 50816  	goto __2648
 50817  	goto __2650
 50818  __2650:
 50819  	;
 50820  	goto __2605
 50821  
 50822  __2610:
 50823  __2611:
 50824  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50825  __2668:
 50826  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50827  		goto __2670
 50828  	}
 50829  
 50830  	len18 = 1
 50831  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50832  		goto __2671
 50833  	}
 50834  
 50835  	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)) {
 50836  		goto __2672
 50837  	}
 50838  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50839  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50840  		goto __2673
 50841  	}
 50842  	return -2
 50843  __2673:
 50844  	;
 50845  __2672:
 50846  	;
 50847  
 50848  	goto __2670
 50849  __2671:
 50850  	;
 50851  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50852  	if !(fc >= 0xc0) {
 50853  		goto __2674
 50854  	}
 50855  	if !(fc&0x20 == Tuint32_t(0)) {
 50856  		goto __2675
 50857  	}
 50858  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50859  	len18++
 50860  	goto __2676
 50861  __2675:
 50862  	if !(fc&0x10 == Tuint32_t(0)) {
 50863  		goto __2677
 50864  	}
 50865  	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
 50866  	len18 = len18 + 2
 50867  	goto __2678
 50868  __2677:
 50869  	if !(fc&0x08 == Tuint32_t(0)) {
 50870  		goto __2679
 50871  	}
 50872  	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
 50873  	len18 = len18 + 3
 50874  	goto __2680
 50875  __2679:
 50876  	if !(fc&0x04 == Tuint32_t(0)) {
 50877  		goto __2681
 50878  	}
 50879  	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
 50880  	len18 = len18 + 4
 50881  	goto __2682
 50882  __2681:
 50883  	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
 50884  	len18 = len18 + 5
 50885  __2682:
 50886  	;
 50887  __2680:
 50888  	;
 50889  __2678:
 50890  	;
 50891  __2676:
 50892  	;
 50893  __2674:
 50894  	;
 50895  
 50896  	switch fc {
 50897  	case Tuint32_t('\011'):
 50898  		goto __2684
 50899  	case Tuint32_t('\040'):
 50900  		goto __2685
 50901  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 50902  		goto __2686
 50903  	case Tuint32_t(0x1680):
 50904  		goto __2687 /* OGHAM SPACE MARK */
 50905  	case Tuint32_t(0x180e):
 50906  		goto __2688 /* MONGOLIAN VOWEL SEPARATOR */
 50907  	case Tuint32_t(0x2000):
 50908  		goto __2689 /* EN QUAD */
 50909  	case Tuint32_t(0x2001):
 50910  		goto __2690 /* EM QUAD */
 50911  	case Tuint32_t(0x2002):
 50912  		goto __2691 /* EN SPACE */
 50913  	case Tuint32_t(0x2003):
 50914  		goto __2692 /* EM SPACE */
 50915  	case Tuint32_t(0x2004):
 50916  		goto __2693 /* THREE-PER-EM SPACE */
 50917  	case Tuint32_t(0x2005):
 50918  		goto __2694 /* FOUR-PER-EM SPACE */
 50919  	case Tuint32_t(0x2006):
 50920  		goto __2695 /* SIX-PER-EM SPACE */
 50921  	case Tuint32_t(0x2007):
 50922  		goto __2696 /* FIGURE SPACE */
 50923  	case Tuint32_t(0x2008):
 50924  		goto __2697 /* PUNCTUATION SPACE */
 50925  	case Tuint32_t(0x2009):
 50926  		goto __2698 /* THIN SPACE */
 50927  	case Tuint32_t(0x200A):
 50928  		goto __2699 /* HAIR SPACE */
 50929  	case Tuint32_t(0x202f):
 50930  		goto __2700 /* NARROW NO-BREAK SPACE */
 50931  	case Tuint32_t(0x205f):
 50932  		goto __2701 /* MEDIUM MATHEMATICAL SPACE */
 50933  	case Tuint32_t(0x3000):
 50934  		goto __2702
 50935  	default:
 50936  		goto __2703
 50937  	}
 50938  	goto __2683
 50939  
 50940  __2684:
 50941  __2685:
 50942  __2686:
 50943  __2687: /* OGHAM SPACE MARK */
 50944  __2688: /* MONGOLIAN VOWEL SEPARATOR */
 50945  __2689: /* EN QUAD */
 50946  __2690: /* EM QUAD */
 50947  __2691: /* EN SPACE */
 50948  __2692: /* EM SPACE */
 50949  __2693: /* THREE-PER-EM SPACE */
 50950  __2694: /* FOUR-PER-EM SPACE */
 50951  __2695: /* SIX-PER-EM SPACE */
 50952  __2696: /* FIGURE SPACE */
 50953  __2697: /* PUNCTUATION SPACE */
 50954  __2698: /* THIN SPACE */
 50955  __2699: /* HAIR SPACE */
 50956  __2700: /* NARROW NO-BREAK SPACE */
 50957  __2701: /* MEDIUM MATHEMATICAL SPACE */
 50958  __2702:
 50959  	gotspace = DTRUE
 50960  	goto __2683
 50961  __2703:
 50962  	gotspace = DFALSE
 50963  	goto __2683
 50964  __2683:
 50965  	;
 50966  	if !(gotspace == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOT_HSPACE)) {
 50967  		goto __2704
 50968  	}
 50969  	goto __2670
 50970  __2704:
 50971  	;
 50972  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len18)
 50973  	goto __2669
 50974  __2669:
 50975  	i++
 50976  	goto __2668
 50977  	goto __2670
 50978  __2670:
 50979  	;
 50980  	goto __2605
 50981  
 50982  __2612:
 50983  __2613:
 50984  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 50985  __2705:
 50986  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 50987  		goto __2707
 50988  	}
 50989  
 50990  	len19 = 1
 50991  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50992  		goto __2708
 50993  	}
 50994  
 50995  	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)) {
 50996  		goto __2709
 50997  	}
 50998  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50999  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51000  		goto __2710
 51001  	}
 51002  	return -2
 51003  __2710:
 51004  	;
 51005  __2709:
 51006  	;
 51007  
 51008  	goto __2707
 51009  __2708:
 51010  	;
 51011  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51012  	if !(fc >= 0xc0) {
 51013  		goto __2711
 51014  	}
 51015  	if !(fc&0x20 == Tuint32_t(0)) {
 51016  		goto __2712
 51017  	}
 51018  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51019  	len19++
 51020  	goto __2713
 51021  __2712:
 51022  	if !(fc&0x10 == Tuint32_t(0)) {
 51023  		goto __2714
 51024  	}
 51025  	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
 51026  	len19 = len19 + 2
 51027  	goto __2715
 51028  __2714:
 51029  	if !(fc&0x08 == Tuint32_t(0)) {
 51030  		goto __2716
 51031  	}
 51032  	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
 51033  	len19 = len19 + 3
 51034  	goto __2717
 51035  __2716:
 51036  	if !(fc&0x04 == Tuint32_t(0)) {
 51037  		goto __2718
 51038  	}
 51039  	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
 51040  	len19 = len19 + 4
 51041  	goto __2719
 51042  __2718:
 51043  	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
 51044  	len19 = len19 + 5
 51045  __2719:
 51046  	;
 51047  __2717:
 51048  	;
 51049  __2715:
 51050  	;
 51051  __2713:
 51052  	;
 51053  __2711:
 51054  	;
 51055  
 51056  	switch fc {
 51057  	case Tuint32_t('\012'):
 51058  		goto __2721
 51059  	case Tuint32_t('\013'):
 51060  		goto __2722
 51061  	case Tuint32_t('\014'):
 51062  		goto __2723
 51063  	case Tuint32_t('\015'):
 51064  		goto __2724
 51065  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 51066  		goto __2725
 51067  	case Tuint32_t(0x2028):
 51068  		goto __2726 /* LINE SEPARATOR */
 51069  	case Tuint32_t(0x2029):
 51070  		goto __2727
 51071  	default:
 51072  		goto __2728
 51073  	}
 51074  	goto __2720
 51075  
 51076  __2721:
 51077  __2722:
 51078  __2723:
 51079  __2724:
 51080  __2725:
 51081  __2726: /* LINE SEPARATOR */
 51082  __2727:
 51083  	gotspace1 = DTRUE
 51084  	goto __2720
 51085  __2728:
 51086  	gotspace1 = DFALSE
 51087  	goto __2720
 51088  __2720:
 51089  	;
 51090  	if !(gotspace1 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_NOT_VSPACE)) {
 51091  		goto __2729
 51092  	}
 51093  	goto __2707
 51094  __2729:
 51095  	;
 51096  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len19)
 51097  	goto __2706
 51098  __2706:
 51099  	i++
 51100  	goto __2705
 51101  	goto __2707
 51102  __2707:
 51103  	;
 51104  	goto __2605
 51105  
 51106  __2614:
 51107  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51108  __2730:
 51109  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51110  		goto __2732
 51111  	}
 51112  
 51113  	len20 = 1
 51114  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51115  		goto __2733
 51116  	}
 51117  
 51118  	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)) {
 51119  		goto __2734
 51120  	}
 51121  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51122  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51123  		goto __2735
 51124  	}
 51125  	return -2
 51126  __2735:
 51127  	;
 51128  __2734:
 51129  	;
 51130  
 51131  	goto __2732
 51132  __2733:
 51133  	;
 51134  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51135  	if !(fc >= 0xc0) {
 51136  		goto __2736
 51137  	}
 51138  	if !(fc&0x20 == Tuint32_t(0)) {
 51139  		goto __2737
 51140  	}
 51141  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51142  	len20++
 51143  	goto __2738
 51144  __2737:
 51145  	if !(fc&0x10 == Tuint32_t(0)) {
 51146  		goto __2739
 51147  	}
 51148  	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
 51149  	len20 = len20 + 2
 51150  	goto __2740
 51151  __2739:
 51152  	if !(fc&0x08 == Tuint32_t(0)) {
 51153  		goto __2741
 51154  	}
 51155  	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
 51156  	len20 = len20 + 3
 51157  	goto __2742
 51158  __2741:
 51159  	if !(fc&0x04 == Tuint32_t(0)) {
 51160  		goto __2743
 51161  	}
 51162  	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
 51163  	len20 = len20 + 4
 51164  	goto __2744
 51165  __2743:
 51166  	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
 51167  	len20 = len20 + 5
 51168  __2744:
 51169  	;
 51170  __2742:
 51171  	;
 51172  __2740:
 51173  	;
 51174  __2738:
 51175  	;
 51176  __2736:
 51177  	;
 51178  
 51179  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 51180  		goto __2745
 51181  	}
 51182  	goto __2732
 51183  __2745:
 51184  	;
 51185  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len20)
 51186  	goto __2731
 51187  __2731:
 51188  	i++
 51189  	goto __2730
 51190  	goto __2732
 51191  __2732:
 51192  	;
 51193  	goto __2605
 51194  
 51195  __2615:
 51196  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51197  __2746:
 51198  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51199  		goto __2748
 51200  	}
 51201  
 51202  	len21 = 1
 51203  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51204  		goto __2749
 51205  	}
 51206  
 51207  	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)) {
 51208  		goto __2750
 51209  	}
 51210  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51211  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51212  		goto __2751
 51213  	}
 51214  	return -2
 51215  __2751:
 51216  	;
 51217  __2750:
 51218  	;
 51219  
 51220  	goto __2748
 51221  __2749:
 51222  	;
 51223  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51224  	if !(fc >= 0xc0) {
 51225  		goto __2752
 51226  	}
 51227  	if !(fc&0x20 == Tuint32_t(0)) {
 51228  		goto __2753
 51229  	}
 51230  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51231  	len21++
 51232  	goto __2754
 51233  __2753:
 51234  	if !(fc&0x10 == Tuint32_t(0)) {
 51235  		goto __2755
 51236  	}
 51237  	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
 51238  	len21 = len21 + 2
 51239  	goto __2756
 51240  __2755:
 51241  	if !(fc&0x08 == Tuint32_t(0)) {
 51242  		goto __2757
 51243  	}
 51244  	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
 51245  	len21 = len21 + 3
 51246  	goto __2758
 51247  __2757:
 51248  	if !(fc&0x04 == Tuint32_t(0)) {
 51249  		goto __2759
 51250  	}
 51251  	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
 51252  	len21 = len21 + 4
 51253  	goto __2760
 51254  __2759:
 51255  	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
 51256  	len21 = len21 + 5
 51257  __2760:
 51258  	;
 51259  __2758:
 51260  	;
 51261  __2756:
 51262  	;
 51263  __2754:
 51264  	;
 51265  __2752:
 51266  	;
 51267  
 51268  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 51269  		goto __2761
 51270  	}
 51271  	goto __2748
 51272  __2761:
 51273  	;
 51274  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len21)
 51275  	goto __2747
 51276  __2747:
 51277  	i++
 51278  	goto __2746
 51279  	goto __2748
 51280  __2748:
 51281  	;
 51282  	goto __2605
 51283  
 51284  __2616:
 51285  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51286  __2762:
 51287  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51288  		goto __2764
 51289  	}
 51290  
 51291  	len22 = 1
 51292  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51293  		goto __2765
 51294  	}
 51295  
 51296  	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)) {
 51297  		goto __2766
 51298  	}
 51299  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51300  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51301  		goto __2767
 51302  	}
 51303  	return -2
 51304  __2767:
 51305  	;
 51306  __2766:
 51307  	;
 51308  
 51309  	goto __2764
 51310  __2765:
 51311  	;
 51312  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51313  	if !(fc >= 0xc0) {
 51314  		goto __2768
 51315  	}
 51316  	if !(fc&0x20 == Tuint32_t(0)) {
 51317  		goto __2769
 51318  	}
 51319  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51320  	len22++
 51321  	goto __2770
 51322  __2769:
 51323  	if !(fc&0x10 == Tuint32_t(0)) {
 51324  		goto __2771
 51325  	}
 51326  	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
 51327  	len22 = len22 + 2
 51328  	goto __2772
 51329  __2771:
 51330  	if !(fc&0x08 == Tuint32_t(0)) {
 51331  		goto __2773
 51332  	}
 51333  	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
 51334  	len22 = len22 + 3
 51335  	goto __2774
 51336  __2773:
 51337  	if !(fc&0x04 == Tuint32_t(0)) {
 51338  		goto __2775
 51339  	}
 51340  	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
 51341  	len22 = len22 + 4
 51342  	goto __2776
 51343  __2775:
 51344  	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
 51345  	len22 = len22 + 5
 51346  __2776:
 51347  	;
 51348  __2774:
 51349  	;
 51350  __2772:
 51351  	;
 51352  __2770:
 51353  	;
 51354  __2768:
 51355  	;
 51356  
 51357  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 51358  		goto __2777
 51359  	}
 51360  	goto __2764
 51361  __2777:
 51362  	;
 51363  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len22)
 51364  	goto __2763
 51365  __2763:
 51366  	i++
 51367  	goto __2762
 51368  	goto __2764
 51369  __2764:
 51370  	;
 51371  	goto __2605
 51372  
 51373  __2617:
 51374  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51375  __2778:
 51376  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51377  		goto __2780
 51378  	}
 51379  
 51380  	len23 = 1
 51381  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51382  		goto __2781
 51383  	}
 51384  
 51385  	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)) {
 51386  		goto __2782
 51387  	}
 51388  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51389  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51390  		goto __2783
 51391  	}
 51392  	return -2
 51393  __2783:
 51394  	;
 51395  __2782:
 51396  	;
 51397  
 51398  	goto __2780
 51399  __2781:
 51400  	;
 51401  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51402  	if !(fc >= 0xc0) {
 51403  		goto __2784
 51404  	}
 51405  	if !(fc&0x20 == Tuint32_t(0)) {
 51406  		goto __2785
 51407  	}
 51408  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51409  	len23++
 51410  	goto __2786
 51411  __2785:
 51412  	if !(fc&0x10 == Tuint32_t(0)) {
 51413  		goto __2787
 51414  	}
 51415  	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
 51416  	len23 = len23 + 2
 51417  	goto __2788
 51418  __2787:
 51419  	if !(fc&0x08 == Tuint32_t(0)) {
 51420  		goto __2789
 51421  	}
 51422  	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
 51423  	len23 = len23 + 3
 51424  	goto __2790
 51425  __2789:
 51426  	if !(fc&0x04 == Tuint32_t(0)) {
 51427  		goto __2791
 51428  	}
 51429  	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
 51430  	len23 = len23 + 4
 51431  	goto __2792
 51432  __2791:
 51433  	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
 51434  	len23 = len23 + 5
 51435  __2792:
 51436  	;
 51437  __2790:
 51438  	;
 51439  __2788:
 51440  	;
 51441  __2786:
 51442  	;
 51443  __2784:
 51444  	;
 51445  
 51446  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 51447  		goto __2793
 51448  	}
 51449  	goto __2780
 51450  __2793:
 51451  	;
 51452  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len23)
 51453  	goto __2779
 51454  __2779:
 51455  	i++
 51456  	goto __2778
 51457  	goto __2780
 51458  __2780:
 51459  	;
 51460  	goto __2605
 51461  
 51462  __2618:
 51463  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51464  __2794:
 51465  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51466  		goto __2796
 51467  	}
 51468  
 51469  	len24 = 1
 51470  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51471  		goto __2797
 51472  	}
 51473  
 51474  	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)) {
 51475  		goto __2798
 51476  	}
 51477  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51478  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51479  		goto __2799
 51480  	}
 51481  	return -2
 51482  __2799:
 51483  	;
 51484  __2798:
 51485  	;
 51486  
 51487  	goto __2796
 51488  __2797:
 51489  	;
 51490  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51491  	if !(fc >= 0xc0) {
 51492  		goto __2800
 51493  	}
 51494  	if !(fc&0x20 == Tuint32_t(0)) {
 51495  		goto __2801
 51496  	}
 51497  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51498  	len24++
 51499  	goto __2802
 51500  __2801:
 51501  	if !(fc&0x10 == Tuint32_t(0)) {
 51502  		goto __2803
 51503  	}
 51504  	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
 51505  	len24 = len24 + 2
 51506  	goto __2804
 51507  __2803:
 51508  	if !(fc&0x08 == Tuint32_t(0)) {
 51509  		goto __2805
 51510  	}
 51511  	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
 51512  	len24 = len24 + 3
 51513  	goto __2806
 51514  __2805:
 51515  	if !(fc&0x04 == Tuint32_t(0)) {
 51516  		goto __2807
 51517  	}
 51518  	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
 51519  	len24 = len24 + 4
 51520  	goto __2808
 51521  __2807:
 51522  	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
 51523  	len24 = len24 + 5
 51524  __2808:
 51525  	;
 51526  __2806:
 51527  	;
 51528  __2804:
 51529  	;
 51530  __2802:
 51531  	;
 51532  __2800:
 51533  	;
 51534  
 51535  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 51536  		goto __2809
 51537  	}
 51538  	goto __2796
 51539  __2809:
 51540  	;
 51541  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len24)
 51542  	goto __2795
 51543  __2795:
 51544  	i++
 51545  	goto __2794
 51546  	goto __2796
 51547  __2796:
 51548  	;
 51549  	goto __2605
 51550  
 51551  __2619:
 51552  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51553  __2810:
 51554  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51555  		goto __2812
 51556  	}
 51557  
 51558  	len25 = 1
 51559  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51560  		goto __2813
 51561  	}
 51562  
 51563  	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)) {
 51564  		goto __2814
 51565  	}
 51566  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51567  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51568  		goto __2815
 51569  	}
 51570  	return -2
 51571  __2815:
 51572  	;
 51573  __2814:
 51574  	;
 51575  
 51576  	goto __2812
 51577  __2813:
 51578  	;
 51579  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51580  	if !(fc >= 0xc0) {
 51581  		goto __2816
 51582  	}
 51583  	if !(fc&0x20 == Tuint32_t(0)) {
 51584  		goto __2817
 51585  	}
 51586  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51587  	len25++
 51588  	goto __2818
 51589  __2817:
 51590  	if !(fc&0x10 == Tuint32_t(0)) {
 51591  		goto __2819
 51592  	}
 51593  	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
 51594  	len25 = len25 + 2
 51595  	goto __2820
 51596  __2819:
 51597  	if !(fc&0x08 == Tuint32_t(0)) {
 51598  		goto __2821
 51599  	}
 51600  	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
 51601  	len25 = len25 + 3
 51602  	goto __2822
 51603  __2821:
 51604  	if !(fc&0x04 == Tuint32_t(0)) {
 51605  		goto __2823
 51606  	}
 51607  	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
 51608  	len25 = len25 + 4
 51609  	goto __2824
 51610  __2823:
 51611  	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
 51612  	len25 = len25 + 5
 51613  __2824:
 51614  	;
 51615  __2822:
 51616  	;
 51617  __2820:
 51618  	;
 51619  __2818:
 51620  	;
 51621  __2816:
 51622  	;
 51623  
 51624  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 51625  		goto __2825
 51626  	}
 51627  	goto __2812
 51628  __2825:
 51629  	;
 51630  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(len25)
 51631  	goto __2811
 51632  __2811:
 51633  	i++
 51634  	goto __2810
 51635  	goto __2812
 51636  __2812:
 51637  	;
 51638  	goto __2605
 51639  
 51640  __2620:
 51641  	return -44
 51642  __2605:
 51643  	;
 51644  
 51645  	if !(reptype == REPTYPE_POS) {
 51646  		goto __2826
 51647  	}
 51648  	goto __11
 51649  __2826:
 51650  	; // No backtracking
 51651  
 51652  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 51653  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't go
 51654  	//         too far.
 51655  
 51656  __2827:
 51657  
 51658  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 51659  		goto __2830
 51660  	}
 51661  	goto __2829
 51662  __2830:
 51663  	;
 51664  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 51665  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM221
 51666  	goto MATCH_RECURSE
 51667  L_RM221:
 51668  	;
 51669  
 51670  	if !(rrc != DMATCH_NOMATCH) {
 51671  		goto __2831
 51672  	}
 51673  	rrc = rrc
 51674  	goto RETURN_SWITCH
 51675  __2831:
 51676  	;
 51677  
 51678  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51679  __2832:
 51680  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 51681  		goto __2833
 51682  	}
 51683  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51684  	goto __2832
 51685  __2833:
 51686  	;
 51687  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)))) == '\015') {
 51688  		goto __2834
 51689  	}
 51690  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51691  __2834:
 51692  	;
 51693  	goto __2828
 51694  __2828:
 51695  	goto __2827
 51696  	goto __2829
 51697  __2829:
 51698  	;
 51699  	goto __2604
 51700  __2603:
 51701  
 51702  	/* Not UTF mode */
 51703  
 51704  	switch *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) {
 51705  	case OP_ANY:
 51706  		goto __2836
 51707  
 51708  	case OP_ALLANY:
 51709  		goto __2837
 51710  	case OP_ANYBYTE:
 51711  		goto __2838
 51712  
 51713  	case OP_ANYNL:
 51714  		goto __2839
 51715  
 51716  	case OP_NOT_HSPACE:
 51717  		goto __2840
 51718  
 51719  	case OP_HSPACE:
 51720  		goto __2841
 51721  
 51722  	case OP_NOT_VSPACE:
 51723  		goto __2842
 51724  
 51725  	case OP_VSPACE:
 51726  		goto __2843
 51727  
 51728  	case OP_NOT_DIGIT:
 51729  		goto __2844
 51730  
 51731  	case OP_DIGIT:
 51732  		goto __2845
 51733  
 51734  	case OP_NOT_WHITESPACE:
 51735  		goto __2846
 51736  
 51737  	case OP_WHITESPACE:
 51738  		goto __2847
 51739  
 51740  	case OP_NOT_WORDCHAR:
 51741  		goto __2848
 51742  
 51743  	case OP_WORDCHAR:
 51744  		goto __2849
 51745  
 51746  	default:
 51747  		goto __2850
 51748  	}
 51749  	goto __2835
 51750  
 51751  __2836:
 51752  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51753  __2851:
 51754  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51755  		goto __2853
 51756  	}
 51757  
 51758  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51759  		goto __2854
 51760  	}
 51761  
 51762  	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)) {
 51763  		goto __2855
 51764  	}
 51765  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51766  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51767  		goto __2856
 51768  	}
 51769  	return -2
 51770  __2856:
 51771  	;
 51772  __2855:
 51773  	;
 51774  
 51775  	goto __2853
 51776  __2854:
 51777  	;
 51778  	if !(func() int32 {
 51779  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 51780  			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+156, utf) != 0)
 51781  		}
 51782  		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 + 160))) && ((*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 + 160 + 1)))))
 51783  	}() != 0) {
 51784  		goto __2857
 51785  	}
 51786  	goto __2853
 51787  __2857:
 51788  	;
 51789  	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 + 160)))) {
 51790  		goto __2858
 51791  	}
 51792  
 51793  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51794  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51795  		goto __2859
 51796  	}
 51797  	return -2
 51798  __2859:
 51799  	;
 51800  __2858:
 51801  	;
 51802  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51803  	goto __2852
 51804  __2852:
 51805  	i++
 51806  	goto __2851
 51807  	goto __2853
 51808  __2853:
 51809  	;
 51810  	goto __2835
 51811  
 51812  __2837:
 51813  __2838:
 51814  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51815  	if !(fc > Tuint32_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int32((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 51816  		goto __2860
 51817  	}
 51818  
 51819  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 51820  	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)) {
 51821  		goto __2862
 51822  	}
 51823  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51824  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51825  		goto __2863
 51826  	}
 51827  	return -2
 51828  __2863:
 51829  	;
 51830  __2862:
 51831  	;
 51832  
 51833  	goto __2861
 51834  __2860:
 51835  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(fc)
 51836  __2861:
 51837  	;
 51838  	goto __2835
 51839  
 51840  __2839:
 51841  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51842  __2864:
 51843  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51844  		goto __2866
 51845  	}
 51846  
 51847  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51848  		goto __2867
 51849  	}
 51850  
 51851  	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)) {
 51852  		goto __2868
 51853  	}
 51854  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51855  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51856  		goto __2869
 51857  	}
 51858  	return -2
 51859  __2869:
 51860  	;
 51861  __2868:
 51862  	;
 51863  
 51864  	goto __2866
 51865  __2867:
 51866  	;
 51867  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51868  	if !(fc == Tuint32_t('\015')) {
 51869  		goto __2870
 51870  	}
 51871  
 51872  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51873  		goto __2872
 51874  	}
 51875  	goto __2866
 51876  __2872:
 51877  	;
 51878  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 51879  		goto __2873
 51880  	}
 51881  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51882  __2873:
 51883  	;
 51884  	goto __2871
 51885  __2870:
 51886  
 51887  	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 != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) {
 51888  		goto __2874
 51889  	}
 51890  	goto __2866
 51891  __2874:
 51892  	;
 51893  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51894  __2871:
 51895  	;
 51896  	goto __2865
 51897  __2865:
 51898  	i++
 51899  	goto __2864
 51900  	goto __2866
 51901  __2866:
 51902  	;
 51903  	goto __2835
 51904  
 51905  __2840:
 51906  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51907  __2875:
 51908  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51909  		goto __2877
 51910  	}
 51911  
 51912  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51913  		goto __2878
 51914  	}
 51915  
 51916  	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)) {
 51917  		goto __2879
 51918  	}
 51919  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51920  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51921  		goto __2880
 51922  	}
 51923  	return -2
 51924  __2880:
 51925  	;
 51926  __2879:
 51927  	;
 51928  
 51929  	goto __2877
 51930  __2878:
 51931  	;
 51932  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 51933  	default:
 51934  		goto __2882
 51935  	case '\011':
 51936  		goto __2883
 51937  	case '\040':
 51938  		goto __2884
 51939  	case int32(libc.Uint8FromInt32(160)):
 51940  		goto __2885
 51941  	}
 51942  	goto __2881
 51943  
 51944  __2882:
 51945  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51946  	goto __2881
 51947  __2883:
 51948  __2884:
 51949  __2885:
 51950  	goto ENDLOOP00
 51951  __2881:
 51952  	;
 51953  	goto __2876
 51954  __2876:
 51955  	i++
 51956  	goto __2875
 51957  	goto __2877
 51958  __2877:
 51959  	;
 51960  ENDLOOP00:
 51961  	goto __2835
 51962  
 51963  __2841:
 51964  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 51965  __2886:
 51966  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 51967  		goto __2888
 51968  	}
 51969  
 51970  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51971  		goto __2889
 51972  	}
 51973  
 51974  	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)) {
 51975  		goto __2890
 51976  	}
 51977  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51978  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51979  		goto __2891
 51980  	}
 51981  	return -2
 51982  __2891:
 51983  	;
 51984  __2890:
 51985  	;
 51986  
 51987  	goto __2888
 51988  __2889:
 51989  	;
 51990  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 51991  	default:
 51992  		goto __2893
 51993  	case '\011':
 51994  		goto __2894
 51995  	case '\040':
 51996  		goto __2895
 51997  	case int32(libc.Uint8FromInt32(160)):
 51998  		goto __2896
 51999  	}
 52000  	goto __2892
 52001  
 52002  __2893:
 52003  	goto ENDLOOP01
 52004  __2894:
 52005  __2895:
 52006  __2896:
 52007  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52008  	goto __2892
 52009  __2892:
 52010  	;
 52011  	goto __2887
 52012  __2887:
 52013  	i++
 52014  	goto __2886
 52015  	goto __2888
 52016  __2888:
 52017  	;
 52018  ENDLOOP01:
 52019  	goto __2835
 52020  
 52021  __2842:
 52022  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52023  __2897:
 52024  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52025  		goto __2899
 52026  	}
 52027  
 52028  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52029  		goto __2900
 52030  	}
 52031  
 52032  	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)) {
 52033  		goto __2901
 52034  	}
 52035  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52036  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52037  		goto __2902
 52038  	}
 52039  	return -2
 52040  __2902:
 52041  	;
 52042  __2901:
 52043  	;
 52044  
 52045  	goto __2899
 52046  __2900:
 52047  	;
 52048  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52049  	default:
 52050  		goto __2904
 52051  	case '\012':
 52052  		goto __2905
 52053  	case '\013':
 52054  		goto __2906
 52055  	case '\014':
 52056  		goto __2907
 52057  	case '\015':
 52058  		goto __2908
 52059  	case int32(libc.Uint8FromInt32(133)):
 52060  		goto __2909
 52061  	}
 52062  	goto __2903
 52063  
 52064  __2904:
 52065  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52066  	goto __2903
 52067  __2905:
 52068  __2906:
 52069  __2907:
 52070  __2908:
 52071  __2909:
 52072  	goto ENDLOOP02
 52073  __2903:
 52074  	;
 52075  	goto __2898
 52076  __2898:
 52077  	i++
 52078  	goto __2897
 52079  	goto __2899
 52080  __2899:
 52081  	;
 52082  ENDLOOP02:
 52083  	goto __2835
 52084  
 52085  __2843:
 52086  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52087  __2910:
 52088  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52089  		goto __2912
 52090  	}
 52091  
 52092  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52093  		goto __2913
 52094  	}
 52095  
 52096  	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)) {
 52097  		goto __2914
 52098  	}
 52099  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52100  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52101  		goto __2915
 52102  	}
 52103  	return -2
 52104  __2915:
 52105  	;
 52106  __2914:
 52107  	;
 52108  
 52109  	goto __2912
 52110  __2913:
 52111  	;
 52112  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52113  	default:
 52114  		goto __2917
 52115  	case '\012':
 52116  		goto __2918
 52117  	case '\013':
 52118  		goto __2919
 52119  	case '\014':
 52120  		goto __2920
 52121  	case '\015':
 52122  		goto __2921
 52123  	case int32(libc.Uint8FromInt32(133)):
 52124  		goto __2922
 52125  	}
 52126  	goto __2916
 52127  
 52128  __2917:
 52129  	goto ENDLOOP03
 52130  __2918:
 52131  __2919:
 52132  __2920:
 52133  __2921:
 52134  __2922:
 52135  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52136  	goto __2916
 52137  __2916:
 52138  	;
 52139  	goto __2911
 52140  __2911:
 52141  	i++
 52142  	goto __2910
 52143  	goto __2912
 52144  __2912:
 52145  	;
 52146  ENDLOOP03:
 52147  	goto __2835
 52148  
 52149  __2844:
 52150  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52151  __2923:
 52152  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52153  		goto __2925
 52154  	}
 52155  
 52156  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52157  		goto __2926
 52158  	}
 52159  
 52160  	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)) {
 52161  		goto __2927
 52162  	}
 52163  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52164  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52165  		goto __2928
 52166  	}
 52167  	return -2
 52168  __2928:
 52169  	;
 52170  __2927:
 52171  	;
 52172  
 52173  	goto __2925
 52174  __2926:
 52175  	;
 52176  	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) {
 52177  		goto __2929
 52178  	}
 52179  	goto __2925
 52180  __2929:
 52181  	;
 52182  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52183  	goto __2924
 52184  __2924:
 52185  	i++
 52186  	goto __2923
 52187  	goto __2925
 52188  __2925:
 52189  	;
 52190  	goto __2835
 52191  
 52192  __2845:
 52193  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52194  __2930:
 52195  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52196  		goto __2932
 52197  	}
 52198  
 52199  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52200  		goto __2933
 52201  	}
 52202  
 52203  	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)) {
 52204  		goto __2934
 52205  	}
 52206  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52207  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52208  		goto __2935
 52209  	}
 52210  	return -2
 52211  __2935:
 52212  	;
 52213  __2934:
 52214  	;
 52215  
 52216  	goto __2932
 52217  __2933:
 52218  	;
 52219  	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) {
 52220  		goto __2936
 52221  	}
 52222  	goto __2932
 52223  __2936:
 52224  	;
 52225  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52226  	goto __2931
 52227  __2931:
 52228  	i++
 52229  	goto __2930
 52230  	goto __2932
 52231  __2932:
 52232  	;
 52233  	goto __2835
 52234  
 52235  __2846:
 52236  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52237  __2937:
 52238  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52239  		goto __2939
 52240  	}
 52241  
 52242  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52243  		goto __2940
 52244  	}
 52245  
 52246  	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)) {
 52247  		goto __2941
 52248  	}
 52249  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52250  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52251  		goto __2942
 52252  	}
 52253  	return -2
 52254  __2942:
 52255  	;
 52256  __2941:
 52257  	;
 52258  
 52259  	goto __2939
 52260  __2940:
 52261  	;
 52262  	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) {
 52263  		goto __2943
 52264  	}
 52265  	goto __2939
 52266  __2943:
 52267  	;
 52268  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52269  	goto __2938
 52270  __2938:
 52271  	i++
 52272  	goto __2937
 52273  	goto __2939
 52274  __2939:
 52275  	;
 52276  	goto __2835
 52277  
 52278  __2847:
 52279  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52280  __2944:
 52281  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52282  		goto __2946
 52283  	}
 52284  
 52285  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52286  		goto __2947
 52287  	}
 52288  
 52289  	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)) {
 52290  		goto __2948
 52291  	}
 52292  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52293  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52294  		goto __2949
 52295  	}
 52296  	return -2
 52297  __2949:
 52298  	;
 52299  __2948:
 52300  	;
 52301  
 52302  	goto __2946
 52303  __2947:
 52304  	;
 52305  	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) {
 52306  		goto __2950
 52307  	}
 52308  	goto __2946
 52309  __2950:
 52310  	;
 52311  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52312  	goto __2945
 52313  __2945:
 52314  	i++
 52315  	goto __2944
 52316  	goto __2946
 52317  __2946:
 52318  	;
 52319  	goto __2835
 52320  
 52321  __2848:
 52322  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52323  __2951:
 52324  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52325  		goto __2953
 52326  	}
 52327  
 52328  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52329  		goto __2954
 52330  	}
 52331  
 52332  	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)) {
 52333  		goto __2955
 52334  	}
 52335  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52336  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52337  		goto __2956
 52338  	}
 52339  	return -2
 52340  __2956:
 52341  	;
 52342  __2955:
 52343  	;
 52344  
 52345  	goto __2953
 52346  __2954:
 52347  	;
 52348  	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) {
 52349  		goto __2957
 52350  	}
 52351  	goto __2953
 52352  __2957:
 52353  	;
 52354  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52355  	goto __2952
 52356  __2952:
 52357  	i++
 52358  	goto __2951
 52359  	goto __2953
 52360  __2953:
 52361  	;
 52362  	goto __2835
 52363  
 52364  __2849:
 52365  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52366  __2958:
 52367  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52368  		goto __2960
 52369  	}
 52370  
 52371  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52372  		goto __2961
 52373  	}
 52374  
 52375  	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)) {
 52376  		goto __2962
 52377  	}
 52378  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52379  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52380  		goto __2963
 52381  	}
 52382  	return -2
 52383  __2963:
 52384  	;
 52385  __2962:
 52386  	;
 52387  
 52388  	goto __2960
 52389  __2961:
 52390  	;
 52391  	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) {
 52392  		goto __2964
 52393  	}
 52394  	goto __2960
 52395  __2964:
 52396  	;
 52397  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52398  	goto __2959
 52399  __2959:
 52400  	i++
 52401  	goto __2958
 52402  	goto __2960
 52403  __2960:
 52404  	;
 52405  	goto __2835
 52406  
 52407  __2850:
 52408  	return -44
 52409  __2835:
 52410  	;
 52411  
 52412  	if !(reptype == REPTYPE_POS) {
 52413  		goto __2965
 52414  	}
 52415  	goto __11
 52416  __2965:
 52417  	; // No backtracking
 52418  
 52419  __2966:
 52420  
 52421  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 52422  		goto __2969
 52423  	}
 52424  	goto __2968
 52425  __2969:
 52426  	;
 52427  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52428  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM34
 52429  	goto MATCH_RECURSE
 52430  L_RM34:
 52431  	;
 52432  
 52433  	if !(rrc != DMATCH_NOMATCH) {
 52434  		goto __2970
 52435  	}
 52436  	rrc = rrc
 52437  	goto RETURN_SWITCH
 52438  __2970:
 52439  	;
 52440  
 52441  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52442  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) && 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') {
 52443  		goto __2971
 52444  	}
 52445  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52446  __2971:
 52447  	;
 52448  	goto __2967
 52449  __2967:
 52450  	goto __2966
 52451  	goto __2968
 52452  __2968:
 52453  	;
 52454  __2604:
 52455  	;
 52456  __2546:
 52457  	;
 52458  __2274:
 52459  	;
 52460  __1781:
 52461  	;
 52462  	goto __13 // End of repeat character type processing
 52463  
 52464  	// =====================================================================
 52465  	// Match a back reference, possibly repeatedly. Look past the end of the
 52466  	//     item to see if there is repeat information following. The OP_REF and
 52467  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 52468  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 52469  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 52470  	//     the name refers, and use the first one that is set.
 52471  
 52472  __107:
 52473  __108:
 52474  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_DNREFI))
 52475  
 52476  	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)))))
 52477  	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))
 52478  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52479  
 52480  __2972:
 52481  	if !(libc.PostDecInt32(&count, 1) > 0) {
 52482  		goto __2973
 52483  	}
 52484  
 52485  	(*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))
 52486  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*4)) != libc.CplUint32(Tsize_t(0))) {
 52487  		goto __2974
 52488  	}
 52489  	goto __2973
 52490  __2974:
 52491  	;
 52492  	slot += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 52493  	goto __2972
 52494  __2973:
 52495  	;
 52496  
 52497  	goto REF_REPEAT
 52498  
 52499  __109:
 52500  __110:
 52501  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_REFI))
 52502  	(*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))
 52503  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 52504  
 52505  	// Set up for repetition, or handle the non-repeated case. The maximum and
 52506  	//     minimum must be in the heap frame, but as they are short-term values, we
 52507  	//     use temporary fields.
 52508  
 52509  REF_REPEAT:
 52510  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 52511  	case OP_CRSTAR:
 52512  		goto __2976
 52513  	case OP_CRMINSTAR:
 52514  		goto __2977
 52515  	case OP_CRPLUS:
 52516  		goto __2978
 52517  	case OP_CRMINPLUS:
 52518  		goto __2979
 52519  	case OP_CRQUERY:
 52520  		goto __2980
 52521  	case OP_CRMINQUERY:
 52522  		goto __2981
 52523  
 52524  	case OP_CRRANGE:
 52525  		goto __2982
 52526  	case OP_CRMINRANGE:
 52527  		goto __2983
 52528  
 52529  	default:
 52530  		goto __2984
 52531  	}
 52532  	goto __2975
 52533  
 52534  __2976:
 52535  __2977:
 52536  __2978:
 52537  __2979:
 52538  __2980:
 52539  __2981:
 52540  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 52541  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = rep_min[fc]
 52542  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = rep_max[fc]
 52543  	reptype = rep_typ[fc]
 52544  	goto __2975
 52545  
 52546  __2982:
 52547  __2983:
 52548  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 52549  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 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))))
 52550  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 52551  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) == Tuint32_t(0)) {
 52552  		goto __2985
 52553  	}
 52554  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = 4294967295
 52555  __2985:
 52556  	; // Max 0 => infinity
 52557  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52558  	goto __2975
 52559  
 52560  __2984: /* No repeat follows */
 52561  
 52562  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))), F, mb, bp)
 52563  	if !(rrc != 0) {
 52564  		goto __2986
 52565  	}
 52566  
 52567  	if !(rrc > 0) {
 52568  		goto __2987
 52569  	}
 52570  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52571  __2987:
 52572  	; // Partial match
 52573  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52574  		goto __2988
 52575  	}
 52576  	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)) {
 52577  		goto __2989
 52578  	}
 52579  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52580  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52581  		goto __2990
 52582  	}
 52583  	return -2
 52584  __2990:
 52585  	;
 52586  __2989:
 52587  	;
 52588  __2988:
 52589  	;
 52590  
 52591  	rrc = DMATCH_NOMATCH
 52592  	goto RETURN_SWITCH
 52593  
 52594  __2986:
 52595  	;
 52596  
 52597  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 52598  	goto __11 // With the main loop
 52599  __2975:
 52600  	;
 52601  
 52602  	// Handle repeated back references. If a set group has length zero, just
 52603  	//     continue with the main loop, because it matches however many times. For an
 52604  	//     unset reference, if the minimum is zero, we can also just continue. We can
 52605  	//     also continue if PCRE2_MATCH_UNSET_BACKREF is set, because this makes unset
 52606  	//     group behave as a zero-length group. For any other unset cases, carrying
 52607  	//     on will result in NOMATCH.
 52608  
 52609  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*4)) != libc.CplUint32(Tsize_t(0))) {
 52610  		goto __2991
 52611  	}
 52612  
 52613  	if !(*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*4)) == *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+Tsize_t(1))*4))) {
 52614  		goto __2993
 52615  	}
 52616  	goto __11
 52617  __2993:
 52618  	;
 52619  	goto __2992
 52620  __2991: /* Group is not set */
 52621  
 52622  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 52623  		goto __2994
 52624  	}
 52625  	goto __11
 52626  __2994:
 52627  	;
 52628  __2992:
 52629  	;
 52630  
 52631  	// First, ensure the minimum number of matches are present.
 52632  
 52633  	i = Tuint32_t(1)
 52634  __2995:
 52635  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 32))) {
 52636  		goto __2997
 52637  	}
 52638  
 52639  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))), F, mb, bp+4)
 52640  	if !(rrc != 0) {
 52641  		goto __2998
 52642  	}
 52643  
 52644  	if !(rrc > 0) {
 52645  		goto __2999
 52646  	}
 52647  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52648  __2999:
 52649  	; // Partial match
 52650  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52651  		goto __3000
 52652  	}
 52653  	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)) {
 52654  		goto __3001
 52655  	}
 52656  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52657  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52658  		goto __3002
 52659  	}
 52660  	return -2
 52661  __3002:
 52662  	;
 52663  __3001:
 52664  	;
 52665  __3000:
 52666  	;
 52667  
 52668  	rrc = DMATCH_NOMATCH
 52669  	goto RETURN_SWITCH
 52670  
 52671  __2998:
 52672  	;
 52673  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 4)))
 52674  	goto __2996
 52675  __2996:
 52676  	i++
 52677  	goto __2995
 52678  	goto __2997
 52679  __2997:
 52680  	;
 52681  
 52682  	// If min = max, we are done. They are not both allowed to be zero.
 52683  
 52684  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32)) == *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52685  		goto __3003
 52686  	}
 52687  	goto __11
 52688  __3003:
 52689  	;
 52690  
 52691  	// If minimizing, keep trying and advancing the pointer.
 52692  
 52693  	if !(reptype == REPTYPE_MIN) {
 52694  		goto __3004
 52695  	}
 52696  
 52697  __3006:
 52698  
 52699  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52700  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM20
 52701  	goto MATCH_RECURSE
 52702  L_RM20:
 52703  	;
 52704  
 52705  	if !(rrc != DMATCH_NOMATCH) {
 52706  		goto __3009
 52707  	}
 52708  	rrc = rrc
 52709  	goto RETURN_SWITCH
 52710  __3009:
 52711  	;
 52712  
 52713  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 32)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52714  		goto __3010
 52715  	}
 52716  	rrc = DMATCH_NOMATCH
 52717  	goto RETURN_SWITCH
 52718  __3010:
 52719  	;
 52720  
 52721  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))), F, mb, bp+8)
 52722  	if !(rrc != 0) {
 52723  		goto __3011
 52724  	}
 52725  
 52726  	if !(rrc > 0) {
 52727  		goto __3012
 52728  	}
 52729  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52730  __3012:
 52731  	; // Partial match
 52732  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52733  		goto __3013
 52734  	}
 52735  	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)) {
 52736  		goto __3014
 52737  	}
 52738  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52739  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52740  		goto __3015
 52741  	}
 52742  	return -2
 52743  __3015:
 52744  	;
 52745  __3014:
 52746  	;
 52747  __3013:
 52748  	;
 52749  
 52750  	rrc = DMATCH_NOMATCH
 52751  	goto RETURN_SWITCH
 52752  
 52753  __3011:
 52754  	;
 52755  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 8)))
 52756  	goto __3007
 52757  __3007:
 52758  	goto __3006
 52759  	goto __3008
 52760  __3008:
 52761  	;
 52762  	// Control never gets here
 52763  	goto __3005
 52764  __3004:
 52765  	samelengths = DTRUE
 52766  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Starting position
 52767  	(*Theapframe)(unsafe.Pointer(F)).Flength = *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+Tsize_t(1))*4)) - *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*4))
 52768  
 52769  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52770  __3016:
 52771  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52772  		goto __3018
 52773  	}
 52774  
 52775  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))), F, mb, bp+12)
 52776  	if !(rrc != 0) {
 52777  		goto __3019
 52778  	}
 52779  
 52780  	// Can't use CHECK_PARTIAL because we don't want to update Feptr in
 52781  	//           the soft partial matching case.
 52782  
 52783  	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) {
 52784  		goto __3020
 52785  	}
 52786  
 52787  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52788  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52789  		goto __3021
 52790  	}
 52791  	return -2
 52792  __3021:
 52793  	;
 52794  __3020:
 52795  	;
 52796  	goto __3018
 52797  __3019:
 52798  	;
 52799  
 52800  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 12)) != (*Theapframe)(unsafe.Pointer(F)).Flength) {
 52801  		goto __3022
 52802  	}
 52803  	samelengths = DFALSE
 52804  __3022:
 52805  	;
 52806  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 12)))
 52807  	goto __3017
 52808  __3017:
 52809  	i++
 52810  	goto __3016
 52811  	goto __3018
 52812  __3018:
 52813  	;
 52814  
 52815  	// If the length matched for each repetition is the same as the length of
 52816  	//       the captured group, we can easily work backwards. This is the normal
 52817  	//       case. However, in caseless UTF-8 mode there are pairs of case-equivalent
 52818  	//       characters whose lengths (in terms of code units) differ. However, this
 52819  	//       is very rare, so we handle it by re-matching fewer and fewer times.
 52820  
 52821  	if !(samelengths != 0) {
 52822  		goto __3023
 52823  	}
 52824  
 52825  __3025:
 52826  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 52827  		goto __3026
 52828  	}
 52829  
 52830  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52831  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM21
 52832  	goto MATCH_RECURSE
 52833  L_RM21:
 52834  	;
 52835  
 52836  	if !(rrc != DMATCH_NOMATCH) {
 52837  		goto __3027
 52838  	}
 52839  	rrc = rrc
 52840  	goto RETURN_SWITCH
 52841  __3027:
 52842  	;
 52843  
 52844  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) -= TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 52845  	goto __3025
 52846  __3026:
 52847  	;
 52848  	goto __3024
 52849  __3023:
 52850  
 52851  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = i
 52852  __3028:
 52853  
 52854  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52855  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM22
 52856  	goto MATCH_RECURSE
 52857  L_RM22:
 52858  	;
 52859  
 52860  	if !(rrc != DMATCH_NOMATCH) {
 52861  		goto __3031
 52862  	}
 52863  	rrc = rrc
 52864  	goto RETURN_SWITCH
 52865  __3031:
 52866  	;
 52867  
 52868  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 52869  		goto __3032
 52870  	}
 52871  	goto __3030
 52872  __3032:
 52873  	; // Failed after minimal repetition
 52874  	(*Theapframe)(unsafe.Pointer(F)).Feptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))
 52875  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))--
 52876  	i = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 52877  __3033:
 52878  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4))) {
 52879  		goto __3035
 52880  	}
 52881  
 52882  	match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4))), F, mb, bp+16)
 52883  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 16)))
 52884  	goto __3034
 52885  __3034:
 52886  	i++
 52887  	goto __3033
 52888  	goto __3035
 52889  __3035:
 52890  	;
 52891  	goto __3029
 52892  __3029:
 52893  	goto __3028
 52894  	goto __3030
 52895  __3030:
 52896  	;
 52897  __3024:
 52898  	;
 52899  
 52900  	rrc = DMATCH_NOMATCH
 52901  	goto RETURN_SWITCH
 52902  
 52903  __3005:
 52904  	;
 52905  	// Control never gets here
 52906  
 52907  	// =========================================================================
 52908  	//           Opcodes for the start of various parenthesized items
 52909  	// =========================================================================
 52910  
 52911  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 52912  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 52913  	//     that is passed back with the end of the branch. If (*THEN) is within the
 52914  	//     current branch, and the branch is one of two or more alternatives (it
 52915  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 52916  	//     action, so convert the return code to NOMATCH, which will cause normal
 52917  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 52918  	//     outer alternative. This implements Perl's treatment of parenthesized
 52919  	//     groups, where a group not containing | does not affect the current
 52920  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 52921  
 52922  	// =====================================================================
 52923  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 52924  	//     bracket group, indicating that it may occur zero times. It may repeat
 52925  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 52926  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 52927  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 52928  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 52929  
 52930  __111:
 52931  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52932  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))
 52933  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM9
 52934  	goto MATCH_RECURSE
 52935  L_RM9:
 52936  	;
 52937  
 52938  	if !(rrc != DMATCH_NOMATCH) {
 52939  		goto __3036
 52940  	}
 52941  	rrc = rrc
 52942  	goto RETURN_SWITCH
 52943  __3036:
 52944  	;
 52945  
 52946  __3037:
 52947  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 2)))))
 52948  	goto __3038
 52949  __3038:
 52950  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) == OP_ALT {
 52951  		goto __3037
 52952  	}
 52953  	goto __3039
 52954  __3039:
 52955  	;
 52956  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + uintptr(1) + uintptr(DLINK_SIZE)
 52957  	goto __13
 52958  
 52959  __112:
 52960  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52961  __3040:
 52962  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 2)))))
 52963  	goto __3041
 52964  __3041:
 52965  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) == OP_ALT {
 52966  		goto __3040
 52967  	}
 52968  	goto __3042
 52969  __3042:
 52970  	;
 52971  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + uintptr(1) + uintptr(DLINK_SIZE)
 52972  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM10
 52973  	goto MATCH_RECURSE
 52974  L_RM10:
 52975  	;
 52976  
 52977  	if !(rrc != DMATCH_NOMATCH) {
 52978  		goto __3043
 52979  	}
 52980  	rrc = rrc
 52981  	goto RETURN_SWITCH
 52982  __3043:
 52983  	;
 52984  
 52985  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 52986  	goto __13
 52987  
 52988  __113:
 52989  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 52990  __3044:
 52991  	*(*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)))))
 52992  	goto __3045
 52993  __3045:
 52994  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 52995  		goto __3044
 52996  	}
 52997  	goto __3046
 52998  __3046:
 52999  	;
 53000  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53001  	goto __13
 53002  
 53003  	// =====================================================================
 53004  	// Handle possessive brackets with an unlimited repeat. The end of these
 53005  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 53006  	//     going further in the pattern.
 53007  
 53008  __114:
 53009  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(DTRUE) // Zero repeat is allowed
 53010  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(1)
 53011  	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) {
 53012  		goto __3047
 53013  	}
 53014  	goto POSSESSIVE_CAPTURE
 53015  __3047:
 53016  	;
 53017  	goto POSSESSIVE_NON_CAPTURE
 53018  
 53019  __115:
 53020  __116:
 53021  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53022  
 53023  POSSESSIVE_NON_CAPTURE:
 53024  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_NOCAPTURE // Remembered frame type
 53025  	goto POSSESSIVE_GROUP
 53026  
 53027  __117:
 53028  __118:
 53029  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53030  
 53031  POSSESSIVE_CAPTURE:
 53032  	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))))
 53033  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_CAPTURE | number // Remembered frame type
 53034  
 53035  POSSESSIVE_GROUP:
 53036  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = Tuint32_t(DFALSE)                         // Never matched
 53037  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode // Start of this group
 53038  
 53039  __3048:
 53040  
 53041  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Position at group start
 53042  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 53043  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53044  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM8
 53045  	goto MATCH_RECURSE
 53046  L_RM8:
 53047  	;
 53048  
 53049  	if !(rrc == -998) {
 53050  		goto __3051
 53051  	}
 53052  
 53053  	*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) = Tuint32_t(DTRUE) // Matched at least once
 53054  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))) {
 53055  		goto __3052
 53056  	} /* Empty match; skip to end */
 53057  
 53058  __3053:
 53059  	*(*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)))))
 53060  	goto __3054
 53061  __3054:
 53062  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53063  		goto __3053
 53064  	}
 53065  	goto __3055
 53066  __3055:
 53067  	;
 53068  	goto __3050
 53069  __3052:
 53070  	;
 53071  
 53072  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4 + 1*4))
 53073  	goto __3049
 53074  __3051:
 53075  	;
 53076  
 53077  	// See comment above about handling THEN.
 53078  
 53079  	if !(rrc == -993) {
 53080  		goto __3056
 53081  	}
 53082  
 53083  	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)))))
 53084  	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)) {
 53085  		goto __3057
 53086  	}
 53087  	rrc = DMATCH_NOMATCH
 53088  __3057:
 53089  	;
 53090  __3056:
 53091  	;
 53092  
 53093  	if !(rrc != DMATCH_NOMATCH) {
 53094  		goto __3058
 53095  	}
 53096  	rrc = rrc
 53097  	goto RETURN_SWITCH
 53098  __3058:
 53099  	;
 53100  
 53101  	*(*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)))))
 53102  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53103  		goto __3059
 53104  	}
 53105  	goto __3050
 53106  __3059:
 53107  	;
 53108  	goto __3049
 53109  __3049:
 53110  	goto __3048
 53111  	goto __3050
 53112  __3050:
 53113  	;
 53114  
 53115  	// Success if matched something or zero repeat allowed
 53116  
 53117  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 32 + 1*4)) != 0 || *(*Tuint32_t)(unsafe.Pointer(F + 32 + 2*4)) != 0) {
 53118  		goto __3060
 53119  	}
 53120  
 53121  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53122  	goto __13
 53123  __3060:
 53124  	;
 53125  
 53126  	rrc = DMATCH_NOMATCH
 53127  	goto RETURN_SWITCH
 53128  
 53129  	// =====================================================================
 53130  	// Handle non-capturing brackets that cannot match an empty string. When we
 53131  	//     get to the final alternative within the brackets, as long as there are no
 53132  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 53133  	//     point. (Ideally we should test for a THEN within this group, but we don't
 53134  	//     have that information.) Don't do this if we are at the very top level,
 53135  	//     however, because that would make handling assertions and once-only brackets
 53136  	//     messier when there is nothing to go back to.
 53137  
 53138  __119:
 53139  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen != 0 || (*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 53140  		goto __3061
 53141  	}
 53142  
 53143  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = Tuint32_t(0)
 53144  	goto GROUPLOOP
 53145  __3061:
 53146  	;
 53147  
 53148  __3062:
 53149  
 53150  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*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)))))
 53151  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) != OP_ALT) {
 53152  		goto __3065
 53153  	}
 53154  	goto __3064
 53155  __3065:
 53156  	;
 53157  
 53158  	/* This is never the final branch. We do not need to test for MATCH_THEN
 53159  	   here because this code is not used when there is a THEN in the pattern. */
 53160  
 53161  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53162  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM1
 53163  	goto MATCH_RECURSE
 53164  L_RM1:
 53165  	;
 53166  
 53167  	if !(rrc != DMATCH_NOMATCH) {
 53168  		goto __3066
 53169  	}
 53170  	rrc = rrc
 53171  	goto RETURN_SWITCH
 53172  __3066:
 53173  	;
 53174  
 53175  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))
 53176  	goto __3063
 53177  __3063:
 53178  	goto __3062
 53179  	goto __3064
 53180  __3064:
 53181  	;
 53182  
 53183  	// Hit the start of the final branch. Continue at this level.
 53184  
 53185  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53186  	goto __13
 53187  
 53188  	// =====================================================================
 53189  	// Handle a capturing bracket, other than those that are possessive with an
 53190  	//     unlimited repeat.
 53191  
 53192  __120:
 53193  __121:
 53194  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = 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))))
 53195  	goto GROUPLOOP
 53196  
 53197  	// =====================================================================
 53198  	// Atomic groups and non-capturing brackets that can match an empty string
 53199  	//     must record a backtracking point and also set up a chained frame.
 53200  
 53201  __122:
 53202  __123:
 53203  __124:
 53204  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53205  
 53206  GROUPLOOP:
 53207  __3067:
 53208  
 53209  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 53210  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53211  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM2
 53212  	goto MATCH_RECURSE
 53213  L_RM2:
 53214  	;
 53215  
 53216  	if !(rrc == -993) {
 53217  		goto __3070
 53218  	}
 53219  
 53220  	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)))))
 53221  	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)) {
 53222  		goto __3071
 53223  	}
 53224  	rrc = DMATCH_NOMATCH
 53225  __3071:
 53226  	;
 53227  __3070:
 53228  	;
 53229  	if !(rrc != DMATCH_NOMATCH) {
 53230  		goto __3072
 53231  	}
 53232  	rrc = rrc
 53233  	goto RETURN_SWITCH
 53234  __3072:
 53235  	;
 53236  
 53237  	*(*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)))))
 53238  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53239  		goto __3073
 53240  	}
 53241  	rrc = DMATCH_NOMATCH
 53242  	goto RETURN_SWITCH
 53243  __3073:
 53244  	;
 53245  
 53246  	goto __3068
 53247  __3068:
 53248  	goto __3067
 53249  	goto __3069
 53250  __3069:
 53251  	;
 53252  	// Control never reaches here.
 53253  
 53254  	// =====================================================================
 53255  	// Recursion either matches the current regex, or some subexpression. The
 53256  	//     offset data is the offset to the starting bracket from the start of the
 53257  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 53258  
 53259  __125:
 53260  	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)))))
 53261  	if bracode == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code {
 53262  		number = uint32(0)
 53263  	} else {
 53264  		number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 53265  	}
 53266  
 53267  	// If we are already in a recursion, check for repeating the same one
 53268  	//     without advancing the subject pointer. This should catch convoluted mutual
 53269  	//     recursions. (Some simple cases are caught at compile time.)
 53270  
 53271  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53272  		goto __3074
 53273  	}
 53274  
 53275  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 53276  __3075:
 53277  	if !(offset != libc.CplUint32(Tsize_t(0))) {
 53278  		goto __3076
 53279  	}
 53280  
 53281  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 53282  	P = N - uintptr(frame_size)
 53283  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_RECURSE|number) {
 53284  		goto __3077
 53285  	}
 53286  
 53287  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(P)).Feptr) {
 53288  		goto __3078
 53289  	}
 53290  	return -52
 53291  __3078:
 53292  	;
 53293  	goto __3076
 53294  __3077:
 53295  	;
 53296  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 53297  	goto __3075
 53298  __3076:
 53299  	;
 53300  __3074:
 53301  	;
 53302  
 53303  	// Now run the recursion, branch by branch.
 53304  
 53305  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = bracode
 53306  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_RECURSE | number
 53307  
 53308  __3079:
 53309  
 53310  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 53311  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))])
 53312  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM11
 53313  	goto MATCH_RECURSE
 53314  L_RM11:
 53315  	;
 53316  
 53317  	next_ecode2 = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 2)))))
 53318  
 53319  	// Handle backtracking verbs, which are defined in a range that can
 53320  	//       easily be tested for. PCRE does not allow THEN, SKIP, PRUNE or COMMIT to
 53321  	//       escape beyond a recursion; they cause a NOMATCH for the entire recursion.
 53322  	//
 53323  	//       When one of these verbs triggers, the current recursion group number is
 53324  	//       recorded. If it matches the recursion we are processing, the verb
 53325  	//       happened within the recursion and we must deal with it. Otherwise it must
 53326  	//       have happened after the recursion completed, and so has to be passed
 53327  	//       back. See comment above about handling THEN.
 53328  
 53329  	if !(rrc >= -997 && rrc <= -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse == *(*Tuint32_t)(unsafe.Pointer(F + 32))^DGF_RECURSE) {
 53330  		goto __3082
 53331  	}
 53332  
 53333  	if !(rrc == -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode2 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode2))) == OP_ALT)) {
 53334  		goto __3083
 53335  	}
 53336  	rrc = DMATCH_NOMATCH
 53337  	goto __3084
 53338  __3083:
 53339  	rrc = DMATCH_NOMATCH
 53340  	goto RETURN_SWITCH
 53341  __3084:
 53342  	;
 53343  
 53344  __3082:
 53345  	;
 53346  
 53347  	// Note that carrying on after (*ACCEPT) in a recursion is handled in the
 53348  	//       OP_ACCEPT code. Nothing needs to be done here.
 53349  
 53350  	if !(rrc != DMATCH_NOMATCH) {
 53351  		goto __3085
 53352  	}
 53353  	rrc = rrc
 53354  	goto RETURN_SWITCH
 53355  __3085:
 53356  	;
 53357  
 53358  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = next_ecode2
 53359  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) != OP_ALT) {
 53360  		goto __3086
 53361  	}
 53362  	rrc = DMATCH_NOMATCH
 53363  	goto RETURN_SWITCH
 53364  __3086:
 53365  	;
 53366  
 53367  	goto __3080
 53368  __3080:
 53369  	goto __3079
 53370  	goto __3081
 53371  __3081:
 53372  	;
 53373  	// Control never reaches here.
 53374  
 53375  	// =====================================================================
 53376  	// Positive assertions are like other groups except that PCRE doesn't allow
 53377  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 53378  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 53379  	//     captures and mark retained. Any other return is an error.
 53380  
 53381  __126:
 53382  __127:
 53383  __128:
 53384  __129:
 53385  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53386  __3087:
 53387  
 53388  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 53389  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53390  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM3
 53391  	goto MATCH_RECURSE
 53392  L_RM3:
 53393  	;
 53394  
 53395  	if !(rrc == -999) {
 53396  		goto __3090
 53397  	}
 53398  
 53399  	libc.Xmemcpy(tls, F+84,
 53400  		assert_accept_frame+uintptr(uint32(uintptr(0)+84)),
 53401  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53402  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53403  	(*Theapframe)(unsafe.Pointer(F)).Fmark = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Fmark
 53404  	goto __3089
 53405  __3090:
 53406  	;
 53407  	if !(rrc != DMATCH_NOMATCH && rrc != -993) {
 53408  		goto __3091
 53409  	}
 53410  	rrc = rrc
 53411  	goto RETURN_SWITCH
 53412  __3091:
 53413  	;
 53414  
 53415  	*(*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)))))
 53416  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53417  		goto __3092
 53418  	}
 53419  	rrc = DMATCH_NOMATCH
 53420  	goto RETURN_SWITCH
 53421  __3092:
 53422  	;
 53423  
 53424  	goto __3088
 53425  __3088:
 53426  	goto __3087
 53427  	goto __3089
 53428  __3089:
 53429  	;
 53430  
 53431  __3093:
 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  	goto __3094
 53434  __3094:
 53435  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53436  		goto __3093
 53437  	}
 53438  	goto __3095
 53439  __3095:
 53440  	;
 53441  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53442  	goto __13
 53443  
 53444  	// =====================================================================
 53445  	// Handle negative assertions. Loop for each non-matching branch as for
 53446  	//     positive assertions.
 53447  
 53448  __130:
 53449  __131:
 53450  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53451  
 53452  __3096:
 53453  
 53454  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 32))
 53455  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53456  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM4
 53457  	goto MATCH_RECURSE
 53458  L_RM4:
 53459  	;
 53460  
 53461  	switch rrc {
 53462  	case -999:
 53463  		goto __3100 // Assertion matched, therefore it fails.
 53464  	case DMATCH_MATCH:
 53465  		goto __3101
 53466  
 53467  	case DMATCH_NOMATCH:
 53468  		goto __3102 // Branch failed, try next if present.
 53469  	case -993:
 53470  		goto __3103
 53471  
 53472  	case -997:
 53473  		goto __3104 // Assertion forced to fail, therefore continue.
 53474  	case -995:
 53475  		goto __3105
 53476  	case -996:
 53477  		goto __3106
 53478  
 53479  	default:
 53480  		goto __3107
 53481  	}
 53482  	goto __3099
 53483  
 53484  __3100: // Assertion matched, therefore it fails.
 53485  __3101:
 53486  	rrc = DMATCH_NOMATCH
 53487  	goto RETURN_SWITCH
 53488  
 53489  __3102: // Branch failed, try next if present.
 53490  __3103:
 53491  	*(*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)))))
 53492  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53493  		goto __3108
 53494  	}
 53495  	goto ASSERT_NOT_FAILED
 53496  __3108:
 53497  	;
 53498  	goto __3099
 53499  
 53500  __3104: // Assertion forced to fail, therefore continue.
 53501  __3105:
 53502  __3106:
 53503  __3109:
 53504  	*(*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)))))
 53505  	goto __3110
 53506  __3110:
 53507  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53508  		goto __3109
 53509  	}
 53510  	goto __3111
 53511  __3111:
 53512  	;
 53513  	goto ASSERT_NOT_FAILED
 53514  
 53515  __3107: /* Pass back any other return */
 53516  	rrc = rrc
 53517  	goto RETURN_SWITCH
 53518  
 53519  __3099:
 53520  	;
 53521  	goto __3097
 53522  __3097:
 53523  	goto __3096
 53524  	goto __3098
 53525  __3098:
 53526  	;
 53527  
 53528  	// None of the branches have matched or there was a backtrack to (*COMMIT),
 53529  	//     (*SKIP), (*PRUNE), or (*THEN) in the last branch. This is success for a
 53530  	//     negative assertion, so carry on.
 53531  
 53532  ASSERT_NOT_FAILED:
 53533  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53534  	goto __13
 53535  
 53536  	// =====================================================================
 53537  	// The callout item calls an external function, if one is provided, passing
 53538  	//     details of the match so far. This is mainly for debugging, though the
 53539  	//     function is able to force a failure.
 53540  
 53541  __132:
 53542  __133:
 53543  	rrc = do_callout1(tls, F, mb, bp)
 53544  	if !(rrc > 0) {
 53545  		goto __3112
 53546  	}
 53547  	rrc = DMATCH_NOMATCH
 53548  	goto RETURN_SWITCH
 53549  __3112:
 53550  	;
 53551  
 53552  	if !(rrc < 0) {
 53553  		goto __3113
 53554  	}
 53555  	rrc = rrc
 53556  	goto RETURN_SWITCH
 53557  __3113:
 53558  	;
 53559  
 53560  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53561  	goto __13
 53562  
 53563  	// =====================================================================
 53564  	// Conditional group: compilation checked that there are no more than two
 53565  	//     branches. If the condition is false, skipping the first branch takes us
 53566  	//     past the end of the item if there is only one branch, but that's exactly
 53567  	//     what we want.
 53568  
 53569  __134:
 53570  __135:
 53571  
 53572  	// The variable Flength will be added to Fecode when the condition is
 53573  	//     false, to get to the second branch. Setting it to the offset to the ALT or
 53574  	//     KET, then incrementing Fecode achieves this effect. However, if the second
 53575  	//     branch is non-existent, we must point to the KET so that the end of the
 53576  	//     group is correctly processed. We now have Fecode pointing to the condition
 53577  	//     or callout.
 53578  
 53579  	(*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
 53580  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)))) != OP_ALT) {
 53581  		goto __3114
 53582  	}
 53583  	*(*Tsize_t)(unsafe.Pointer(F + 12)) -= Tsize_t(1 + DLINK_SIZE)
 53584  __3114:
 53585  	;
 53586  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) // From this opcode
 53587  
 53588  	// Because of the way auto-callout works during compile, a callout item is
 53589  	//     inserted between OP_COND and an assertion condition. Such a callout can
 53590  	//     also be inserted manually.
 53591  
 53592  	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) {
 53593  		goto __3115
 53594  	}
 53595  
 53596  	rrc = do_callout1(tls, F, mb, bp)
 53597  	if !(rrc > 0) {
 53598  		goto __3116
 53599  	}
 53600  	rrc = DMATCH_NOMATCH
 53601  	goto RETURN_SWITCH
 53602  __3116:
 53603  	;
 53604  
 53605  	if !(rrc < 0) {
 53606  		goto __3117
 53607  	}
 53608  	rrc = rrc
 53609  	goto RETURN_SWITCH
 53610  __3117:
 53611  	;
 53612  
 53613  	// Advance Fecode past the callout, so it now points to the condition. We
 53614  	//       must adjust Flength so that the value of Fecode+Flength is unchanged.
 53615  
 53616  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53617  	*(*Tsize_t)(unsafe.Pointer(F + 12)) -= *(*Tsize_t)(unsafe.Pointer(bp))
 53618  __3115:
 53619  	;
 53620  
 53621  	// Test the various possible conditions
 53622  
 53623  	condition = DFALSE
 53624  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 53625  	case OP_RREF:
 53626  		goto __3119
 53627  
 53628  	case OP_DNRREF:
 53629  		goto __3120
 53630  
 53631  	case OP_CREF:
 53632  		goto __3121
 53633  
 53634  	case OP_DNCREF:
 53635  		goto __3122
 53636  
 53637  	case OP_FALSE:
 53638  		goto __3123
 53639  	case OP_FAIL:
 53640  		goto __3124
 53641  
 53642  	case OP_TRUE:
 53643  		goto __3125
 53644  
 53645  	// The condition is an assertion. Run code similar to the assertion code
 53646  	//       above.
 53647  
 53648  	default:
 53649  		goto __3126
 53650  	}
 53651  	goto __3118
 53652  
 53653  __3119: // Group recursion test
 53654  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53655  		goto __3127
 53656  	}
 53657  
 53658  	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))))
 53659  	condition = libc.Bool32(number == Tuint32_t(DRREF_ANY) || number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53660  __3127:
 53661  	;
 53662  	goto __3118
 53663  
 53664  __3120: // Duplicate named group recursion test
 53665  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53666  		goto __3128
 53667  	}
 53668  
 53669  	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)))))
 53670  	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))
 53671  __3129:
 53672  	if !(libc.PostDecInt32(&count1, 1) > 0) {
 53673  		goto __3130
 53674  	}
 53675  
 53676  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1 + 1))))
 53677  	condition = libc.Bool32(number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53678  	if !(condition != 0) {
 53679  		goto __3131
 53680  	}
 53681  	goto __3130
 53682  __3131:
 53683  	;
 53684  	slot1 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53685  	goto __3129
 53686  __3130:
 53687  	;
 53688  __3128:
 53689  	;
 53690  	goto __3118
 53691  
 53692  __3121: // Numbered group used test
 53693  	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
 53694  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)) != libc.CplUint32(Tsize_t(0)))
 53695  	goto __3118
 53696  
 53697  __3122: /* Duplicate named group used test */
 53698  
 53699  	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)))))
 53700  	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))
 53701  __3132:
 53702  	if !(libc.PostDecInt32(&count2, 1) > 0) {
 53703  		goto __3133
 53704  	}
 53705  
 53706  	offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2 + 1))))<<1 - uint32(2))
 53707  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)) != libc.CplUint32(Tsize_t(0)))
 53708  	if !(condition != 0) {
 53709  		goto __3134
 53710  	}
 53711  	goto __3133
 53712  __3134:
 53713  	;
 53714  	slot2 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53715  	goto __3132
 53716  __3133:
 53717  	;
 53718  
 53719  	goto __3118
 53720  
 53721  __3123:
 53722  __3124: // The assertion (?!) becomes OP_FAIL
 53723  	goto __3118
 53724  
 53725  __3125:
 53726  	condition = DTRUE
 53727  	goto __3118
 53728  
 53729  	// The condition is an assertion. Run code similar to the assertion code
 53730  	//       above.
 53731  
 53732  __3126:
 53733  	*(*Tuint32_t)(unsafe.Pointer(F + 32)) = 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))
 53734  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53735  
 53736  __3135:
 53737  
 53738  	group_frame_type = DGF_CONDASSERT | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 53739  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))])
 53740  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM5
 53741  	goto MATCH_RECURSE
 53742  L_RM5:
 53743  	;
 53744  
 53745  	switch rrc {
 53746  	case -999:
 53747  		goto __3139
 53748  
 53749  	// Fall through
 53750  	// In the case of a match, the captures have already been put into
 53751  	//           the current frame.
 53752  
 53753  	case DMATCH_MATCH:
 53754  		goto __3140
 53755  
 53756  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53757  	//           assertion; it is therefore always treated as NOMATCH.
 53758  
 53759  	case DMATCH_NOMATCH:
 53760  		goto __3141
 53761  	case -993:
 53762  		goto __3142
 53763  
 53764  	// These force no match without checking other branches.
 53765  
 53766  	case -997:
 53767  		goto __3143
 53768  	case -995:
 53769  		goto __3144
 53770  	case -996:
 53771  		goto __3145
 53772  
 53773  	default:
 53774  		goto __3146
 53775  	}
 53776  	goto __3138
 53777  
 53778  __3139: // Save captures
 53779  	libc.Xmemcpy(tls, F+84,
 53780  		assert_accept_frame+uintptr(uint32(uintptr(0)+84)),
 53781  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53782  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53783  
 53784  	// Fall through
 53785  	// In the case of a match, the captures have already been put into
 53786  	//           the current frame.
 53787  
 53788  __3140:
 53789  	condition = TBOOL(*(*Tuint32_t)(unsafe.Pointer(F + 32))) // TRUE for positive assertion
 53790  	goto __3138
 53791  
 53792  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53793  	//           assertion; it is therefore always treated as NOMATCH.
 53794  
 53795  __3141:
 53796  __3142:
 53797  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4)) + 2)))))
 53798  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 4))))) == OP_ALT) {
 53799  		goto __3147
 53800  	}
 53801  	goto __3136
 53802  __3147:
 53803  	;                                                                         // Try next branch
 53804  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 32)) != 0)) // TRUE for negative assertion
 53805  	goto __3138
 53806  
 53807  	// These force no match without checking other branches.
 53808  
 53809  __3143:
 53810  __3144:
 53811  __3145:
 53812  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 32)) != 0))
 53813  	goto __3138
 53814  
 53815  __3146:
 53816  	rrc = rrc
 53817  	goto RETURN_SWITCH
 53818  
 53819  __3138:
 53820  	;
 53821  	goto __3137 // Out of the branch loop
 53822  	goto __3136
 53823  __3136:
 53824  	goto __3135
 53825  	goto __3137
 53826  __3137:
 53827  	;
 53828  
 53829  	// If the condition is true, find the end of the assertion so that
 53830  	//       advancing past it gets us to the start of the first branch.
 53831  
 53832  	if !(condition != 0) {
 53833  		goto __3148
 53834  	}
 53835  
 53836  __3149:
 53837  	*(*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)))))
 53838  	goto __3150
 53839  __3150:
 53840  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53841  		goto __3149
 53842  	}
 53843  	goto __3151
 53844  __3151:
 53845  	;
 53846  __3148:
 53847  	;
 53848  	goto __3118 // End of assertion condition
 53849  __3118:
 53850  	;
 53851  
 53852  	// Choose branch according to the condition.
 53853  
 53854  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += func() uintptr {
 53855  		if condition != 0 {
 53856  			return uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53857  		}
 53858  		return uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)
 53859  	}()
 53860  
 53861  	// If the opcode is OP_SCOND it means we are at a repeated conditional
 53862  	//     group that might match an empty string. We must therefore descend a level
 53863  	//     so that the start is remembered for checking. For OP_COND we can just
 53864  	//     continue at this level.
 53865  
 53866  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_SCOND) {
 53867  		goto __3152
 53868  	}
 53869  
 53870  	group_frame_type = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53871  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53872  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM35
 53873  	goto MATCH_RECURSE
 53874  L_RM35:
 53875  	;
 53876  
 53877  	rrc = rrc
 53878  	goto RETURN_SWITCH
 53879  
 53880  __3152:
 53881  	;
 53882  	goto __13
 53883  
 53884  	// =========================================================================
 53885  	//                  End of start of parenthesis opcodes
 53886  	// =========================================================================
 53887  
 53888  	// =====================================================================
 53889  	// Move the subject pointer back. This occurs only at the start of each
 53890  	//     branch of a lookbehind assertion. If we are too close to the start to move
 53891  	//     back, fail. When working with UTF-8 we move back a number of characters,
 53892  	//     not bytes.
 53893  
 53894  __136:
 53895  	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))))
 53896  	if !(utf != 0) {
 53897  		goto __3153
 53898  	}
 53899  
 53900  __3155:
 53901  	if !(libc.PostDecUint32(&number, 1) > Tuint32_t(0)) {
 53902  		goto __3156
 53903  	}
 53904  
 53905  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 53906  		goto __3157
 53907  	}
 53908  	rrc = DMATCH_NOMATCH
 53909  	goto RETURN_SWITCH
 53910  __3157:
 53911  	;
 53912  
 53913  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53914  __3158:
 53915  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 53916  		goto __3159
 53917  	}
 53918  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53919  	goto __3158
 53920  __3159:
 53921  	;
 53922  	goto __3155
 53923  __3156:
 53924  	;
 53925  	goto __3154
 53926  __3153:
 53927  
 53928  	/* No UTF-8 support, or not in UTF-8 mode: count is code unit count */
 53929  
 53930  	if !(Tptrdiff_t(number) > (int32((*Theapframe)(unsafe.Pointer(F)).Feptr)-int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject))/1) {
 53931  		goto __3160
 53932  	}
 53933  	rrc = DMATCH_NOMATCH
 53934  	goto RETURN_SWITCH
 53935  __3160:
 53936  	;
 53937  
 53938  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 56)) -= TPCRE2_SPTR8(number)
 53939  __3154:
 53940  	;
 53941  
 53942  	// Save the earliest consulted character, then skip to next opcode
 53943  
 53944  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 53945  		goto __3161
 53946  	}
 53947  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 53948  __3161:
 53949  	;
 53950  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53951  	goto __13
 53952  
 53953  	// =====================================================================
 53954  	// An alternation is the end of a branch; scan along to find the end of the
 53955  	//     bracketed group.
 53956  
 53957  __137:
 53958  __3162:
 53959  	*(*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)))))
 53960  	goto __3163
 53961  __3163:
 53962  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53963  		goto __3162
 53964  	}
 53965  	goto __3164
 53966  __3164:
 53967  	;
 53968  	goto __13
 53969  
 53970  	// =====================================================================
 53971  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 53972  	//     starting frame was added to the chained frames in order to remember the
 53973  	//     starting subject position for the group.
 53974  
 53975  __138:
 53976  __139:
 53977  __140:
 53978  __141:
 53979  
 53980  	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)))))
 53981  
 53982  	// Point N to the frame at the start of the most recent group.
 53983  	//     Remember the subject pointer at the start of the group.
 53984  
 53985  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_COND) {
 53986  		goto __3165
 53987  	}
 53988  
 53989  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Theapframe)(unsafe.Pointer(F)).Flast_group_offset)
 53990  	P = N - uintptr(frame_size)
 53991  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 53992  
 53993  	// If we are at the end of an assertion that is a condition, return a
 53994  	//       match, discarding any intermediate backtracking points. Copy back the
 53995  	//       mark setting and the captures into the frame before N so that they are
 53996  	//       set on return. Doing this for all assertions, both positive and negative,
 53997  	//       seems to match what Perl does.
 53998  
 53999  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_CONDASSERT) {
 54000  		goto __3167
 54001  	}
 54002  
 54003  	libc.Xmemcpy(tls, P+uintptr(uint32(uintptr(0)+84)), F+84,
 54004  		(*Theapframe)(unsafe.Pointer(F)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54005  	(*Theapframe)(unsafe.Pointer(P)).Foffset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top
 54006  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 54007  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int32(F) - int32(P)) / 1)
 54008  	rrc = DMATCH_MATCH
 54009  	goto RETURN_SWITCH
 54010  
 54011  __3167:
 54012  	;
 54013  	goto __3166
 54014  __3165:
 54015  	P = uintptr(0)
 54016  __3166:
 54017  	; // Indicates starting frame not recorded
 54018  
 54019  	// The group was not a conditional assertion.
 54020  
 54021  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) {
 54022  	case OP_BRA:
 54023  		goto __3169 // No need to do anything for these
 54024  	case OP_COND:
 54025  		goto __3170
 54026  	case OP_SCOND:
 54027  		goto __3171
 54028  
 54029  	// Non-atomic positive assertions are like OP_BRA, except that the
 54030  	//       subject pointer must be put back to where it was at the start of the
 54031  	//       assertion.
 54032  
 54033  	case OP_ASSERT_NA:
 54034  		goto __3172
 54035  	case OP_ASSERTBACK_NA:
 54036  		goto __3173
 54037  
 54038  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54039  	//       the subject pointer must be put back to where it was at the start of the
 54040  	//       assertion.
 54041  
 54042  	case OP_ASSERT:
 54043  		goto __3174
 54044  	case OP_ASSERTBACK:
 54045  		goto __3175
 54046  	// Fall through
 54047  
 54048  	// For an atomic group, discard internal backtracking points. We must
 54049  	//       also ensure that any remaining branches within the top-level of the group
 54050  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54051  	//       frame so that it points to the final branch.
 54052  
 54053  	case OP_ONCE:
 54054  		goto __3176
 54055  
 54056  	// A matching negative assertion returns MATCH, which is turned into
 54057  	//       NOMATCH at the assertion level.
 54058  
 54059  	case OP_ASSERT_NOT:
 54060  		goto __3177
 54061  	case OP_ASSERTBACK_NOT:
 54062  		goto __3178
 54063  
 54064  	// At the end of a script run, apply the script-checking rules. This code
 54065  	//       will never by exercised if Unicode support it not compiled, because in
 54066  	//       that environment script runs cause an error at compile time.
 54067  
 54068  	case OP_SCRIPT_RUN:
 54069  		goto __3179
 54070  
 54071  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54072  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54073  	//       Other recursion is handled here.
 54074  
 54075  	case OP_CBRA:
 54076  		goto __3180
 54077  	case OP_CBRAPOS:
 54078  		goto __3181
 54079  	case OP_SCBRA:
 54080  		goto __3182
 54081  	case OP_SCBRAPOS:
 54082  		goto __3183
 54083  	}
 54084  	goto __3168
 54085  
 54086  __3169: // No need to do anything for these
 54087  __3170:
 54088  __3171:
 54089  	goto __3168
 54090  
 54091  	// Non-atomic positive assertions are like OP_BRA, except that the
 54092  	//       subject pointer must be put back to where it was at the start of the
 54093  	//       assertion.
 54094  
 54095  __3172:
 54096  __3173:
 54097  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54098  		goto __3184
 54099  	}
 54100  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54101  __3184:
 54102  	;
 54103  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54104  	goto __3168
 54105  
 54106  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54107  	//       the subject pointer must be put back to where it was at the start of the
 54108  	//       assertion.
 54109  
 54110  __3174:
 54111  __3175:
 54112  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54113  		goto __3185
 54114  	}
 54115  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54116  __3185:
 54117  	;
 54118  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54119  	// Fall through
 54120  
 54121  	// For an atomic group, discard internal backtracking points. We must
 54122  	//       also ensure that any remaining branches within the top-level of the group
 54123  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54124  	//       frame so that it points to the final branch.
 54125  
 54126  __3176:
 54127  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int32(F) - int32(P)) / 1)
 54128  __3186:
 54129  
 54130  	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))))
 54131  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(y)))) != OP_ALT) {
 54132  		goto __3189
 54133  	}
 54134  	goto __3188
 54135  __3189:
 54136  	;
 54137  	*(*TPCRE2_SPTR8)(unsafe.Pointer(P)) += TPCRE2_SPTR8(y)
 54138  	goto __3187
 54139  __3187:
 54140  	goto __3186
 54141  	goto __3188
 54142  __3188:
 54143  	;
 54144  	goto __3168
 54145  
 54146  	// A matching negative assertion returns MATCH, which is turned into
 54147  	//       NOMATCH at the assertion level.
 54148  
 54149  __3177:
 54150  __3178:
 54151  	rrc = DMATCH_MATCH
 54152  	goto RETURN_SWITCH
 54153  
 54154  	// At the end of a script run, apply the script-checking rules. This code
 54155  	//       will never by exercised if Unicode support it not compiled, because in
 54156  	//       that environment script runs cause an error at compile time.
 54157  
 54158  __3179:
 54159  	if !!(X_pcre2_script_run_8(tls, (*Theapframe)(unsafe.Pointer(P)).Feptr, (*Theapframe)(unsafe.Pointer(F)).Feptr, utf) != 0) {
 54160  		goto __3190
 54161  	}
 54162  	rrc = DMATCH_NOMATCH
 54163  	goto RETURN_SWITCH
 54164  __3190:
 54165  	;
 54166  
 54167  	goto __3168
 54168  
 54169  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54170  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54171  	//       Other recursion is handled here.
 54172  
 54173  __3180:
 54174  __3181:
 54175  __3182:
 54176  __3183:
 54177  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 54178  
 54179  	// Handle a recursively called group. We reinstate the previous set of
 54180  	//       captures and then carry on after the recursion call.
 54181  
 54182  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == number) {
 54183  		goto __3191
 54184  	}
 54185  
 54186  	P = N - uintptr(frame_size)
 54187  	libc.Xmemcpy(tls, F+uintptr(uint32(uintptr(0)+84)), P+84,
 54188  		(*Theapframe)(unsafe.Pointer(P)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54189  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(P)).Foffset_top
 54190  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = (*Theapframe)(unsafe.Pointer(P)).Fcapture_last
 54191  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = (*Theapframe)(unsafe.Pointer(P)).Fcurrent_recurse
 54192  	(*Theapframe)(unsafe.Pointer(F)).Fecode = (*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54193  	goto __11 // With next opcode
 54194  __3191:
 54195  	;
 54196  
 54197  	// Deal with actual capturing.
 54198  
 54199  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 54200  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 54201  	*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset)*4)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(P)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54202  	*(*Tsize_t)(unsafe.Pointer(F + 84 + uintptr(offset+Tsize_t(1))*4)) = Tsize_t((int32((*Theapframe)(unsafe.Pointer(F)).Feptr) - int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54203  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 54204  		goto __3192
 54205  	}
 54206  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + Tsize_t(2)
 54207  __3192:
 54208  	;
 54209  	goto __3168
 54210  __3168:
 54211  	; // End actions relating to the starting opcode
 54212  
 54213  	// OP_KETRPOS is a possessive repeating ket. Remember the current position,
 54214  	//     and return the MATCH_KETRPOS. This makes it possible to do the repeats one
 54215  	//     at a time from the outer level. This must precede the empty string test -
 54216  	//     in this case that test is done at the outer level.
 54217  
 54218  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_KETRPOS) {
 54219  		goto __3193
 54220  	}
 54221  
 54222  	libc.Xmemcpy(tls, P+uintptr(uint32(uintptr(0)+56)),
 54223  		F+uintptr(uint32(uintptr(0)+56)),
 54224  		frame_copy_size)
 54225  	rrc = -998
 54226  	goto RETURN_SWITCH
 54227  
 54228  __3193:
 54229  	;
 54230  
 54231  	// Handle the different kinds of closing brackets. A non-repeating ket
 54232  	//     needs no special action, just continuing at this level. This also happens
 54233  	//     for the repeating kets if the group matched no characters, in order to
 54234  	//     forcibly break infinite loops. Otherwise, the repeating kets try the rest
 54235  	//     of the pattern or restart from the preceding bracket, in the appropriate
 54236  	//     order.
 54237  
 54238  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) != OP_KET && (P == uintptr(0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Theapframe)(unsafe.Pointer(P)).Feptr)) {
 54239  		goto __3194
 54240  	}
 54241  
 54242  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_KETRMIN) {
 54243  		goto __3195
 54244  	}
 54245  
 54246  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54247  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM6
 54248  	goto MATCH_RECURSE
 54249  L_RM6:
 54250  	;
 54251  
 54252  	if !(rrc != DMATCH_NOMATCH) {
 54253  		goto __3196
 54254  	}
 54255  	rrc = rrc
 54256  	goto RETURN_SWITCH
 54257  __3196:
 54258  	;
 54259  
 54260  	*(*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)))))
 54261  	goto __13 // End of ket processing
 54262  __3195:
 54263  	;
 54264  
 54265  	/* Repeat the maximum number of times (KETRMAX) */
 54266  
 54267  	start_ecode = bracode
 54268  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM7
 54269  	goto MATCH_RECURSE
 54270  L_RM7:
 54271  	;
 54272  
 54273  	if !(rrc != DMATCH_NOMATCH) {
 54274  		goto __3197
 54275  	}
 54276  	rrc = rrc
 54277  	goto RETURN_SWITCH
 54278  __3197:
 54279  	;
 54280  
 54281  __3194:
 54282  	;
 54283  
 54284  	// Carry on at this level for a non-repeating ket, or after matching an
 54285  	//     empty string, or after repeating for a maximum number of times.
 54286  
 54287  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 54288  	goto __13
 54289  
 54290  	// =====================================================================
 54291  	// Start and end of line assertions, not multiline mode.
 54292  
 54293  __142: // Start of line, unless PCRE2_NOTBOL is set.
 54294  	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)) {
 54295  		goto __3198
 54296  	}
 54297  	rrc = DMATCH_NOMATCH
 54298  	goto RETURN_SWITCH
 54299  __3198:
 54300  	;
 54301  
 54302  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54303  	goto __13
 54304  
 54305  __143: // Unconditional start of subject
 54306  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) {
 54307  		goto __3199
 54308  	}
 54309  	rrc = DMATCH_NOMATCH
 54310  	goto RETURN_SWITCH
 54311  __3199:
 54312  	;
 54313  
 54314  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54315  	goto __13
 54316  
 54317  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 54318  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 54319  
 54320  __144:
 54321  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54322  		goto __3200
 54323  	}
 54324  	rrc = DMATCH_NOMATCH
 54325  	goto RETURN_SWITCH
 54326  __3200:
 54327  	;
 54328  
 54329  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0)) {
 54330  		goto __3201
 54331  	}
 54332  	goto ASSERT_NL_OR_EOS
 54333  __3201:
 54334  	;
 54335  
 54336  	// Fall through
 54337  	// Unconditional end of subject assertion (\z)
 54338  
 54339  __145:
 54340  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54341  		goto __3202
 54342  	}
 54343  	rrc = DMATCH_NOMATCH
 54344  	goto RETURN_SWITCH
 54345  __3202:
 54346  	;
 54347  
 54348  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54349  		goto __3203
 54350  	}
 54351  
 54352  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54353  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54354  		goto __3204
 54355  	}
 54356  	return -2
 54357  __3204:
 54358  	;
 54359  __3203:
 54360  	;
 54361  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54362  	goto __13
 54363  
 54364  	// End of subject or ending \n assertion (\Z)
 54365  
 54366  __146:
 54367  ASSERT_NL_OR_EOS:
 54368  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (!(func() int32 {
 54369  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54370  			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+156, utf) != 0)
 54371  		}
 54372  		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 + 160))) && ((*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 + 160 + 1)))))
 54373  	}() != 0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen))) {
 54374  		goto __3205
 54375  	}
 54376  
 54377  	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 + 160)))) {
 54378  		goto __3206
 54379  	}
 54380  
 54381  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54382  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54383  		goto __3207
 54384  	}
 54385  	return -2
 54386  __3207:
 54387  	;
 54388  __3206:
 54389  	;
 54390  	rrc = DMATCH_NOMATCH
 54391  	goto RETURN_SWITCH
 54392  
 54393  __3205:
 54394  	;
 54395  
 54396  	// Either at end of string or \n before end.
 54397  
 54398  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54399  		goto __3208
 54400  	}
 54401  
 54402  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54403  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54404  		goto __3209
 54405  	}
 54406  	return -2
 54407  __3209:
 54408  	;
 54409  __3208:
 54410  	;
 54411  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54412  	goto __13
 54413  
 54414  	// =====================================================================
 54415  	// Start and end of line assertions, multiline mode.
 54416  
 54417  	// Start of subject unless notbol, or after any newline except for one at
 54418  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 54419  
 54420  __147:
 54421  	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) {
 54422  		goto __3210
 54423  	}
 54424  	rrc = DMATCH_NOMATCH
 54425  	goto RETURN_SWITCH
 54426  __3210:
 54427  	;
 54428  
 54429  	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 {
 54430  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54431  			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+156, utf) != 0)
 54432  		}
 54433  		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 + 160))) && ((*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 + 160 + 1)))))
 54434  	}() != 0))) {
 54435  		goto __3211
 54436  	}
 54437  	rrc = DMATCH_NOMATCH
 54438  	goto RETURN_SWITCH
 54439  __3211:
 54440  	;
 54441  
 54442  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54443  	goto __13
 54444  
 54445  	// Assert before any newline, or before end of subject unless noteol is
 54446  	//     set.
 54447  
 54448  __148:
 54449  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54450  		goto __3212
 54451  	}
 54452  
 54453  	if !!(func() int32 {
 54454  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54455  			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+156, utf) != 0)
 54456  		}
 54457  		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 + 160))) && ((*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 + 160 + 1)))))
 54458  	}() != 0) {
 54459  		goto __3214
 54460  	}
 54461  
 54462  	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 + 160)))) {
 54463  		goto __3215
 54464  	}
 54465  
 54466  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54467  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54468  		goto __3216
 54469  	}
 54470  	return -2
 54471  __3216:
 54472  	;
 54473  __3215:
 54474  	;
 54475  	rrc = DMATCH_NOMATCH
 54476  	goto RETURN_SWITCH
 54477  
 54478  __3214:
 54479  	;
 54480  	goto __3213
 54481  __3212:
 54482  
 54483  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54484  		goto __3217
 54485  	}
 54486  	rrc = DMATCH_NOMATCH
 54487  	goto RETURN_SWITCH
 54488  __3217:
 54489  	;
 54490  
 54491  	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)) {
 54492  		goto __3218
 54493  	}
 54494  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54495  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54496  		goto __3219
 54497  	}
 54498  	return -2
 54499  __3219:
 54500  	;
 54501  __3218:
 54502  	;
 54503  
 54504  __3213:
 54505  	;
 54506  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54507  	goto __13
 54508  
 54509  	// =====================================================================
 54510  	// Start of match assertion
 54511  
 54512  __149:
 54513  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset)) {
 54514  		goto __3220
 54515  	}
 54516  	rrc = DMATCH_NOMATCH
 54517  	goto RETURN_SWITCH
 54518  __3220:
 54519  	;
 54520  
 54521  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54522  	goto __13
 54523  
 54524  	// =====================================================================
 54525  	// Reset the start of match point
 54526  
 54527  __150:
 54528  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54529  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54530  	goto __13
 54531  
 54532  	// =====================================================================
 54533  	// Word boundary assertions. Find out if the previous and current
 54534  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 54535  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 54536  	//     not set. When it is set, use Unicode properties if available, even when not
 54537  	//     in UTF mode. Remember the earliest and latest consulted characters.
 54538  
 54539  __151:
 54540  __152:
 54541  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 54542  		goto __3221
 54543  	}
 54544  	prev_is_word = DFALSE
 54545  	goto __3222
 54546  __3221:
 54547  
 54548  	lastptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 54549  	if !(utf != 0) {
 54550  		goto __3223
 54551  	}
 54552  
 54553  __3225:
 54554  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))&0xc0 == 0x80) {
 54555  		goto __3226
 54556  	}
 54557  	lastptr--
 54558  	goto __3225
 54559  __3226:
 54560  	;
 54561  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54562  	if !(fc >= 0xc0) {
 54563  		goto __3227
 54564  	}
 54565  	if !(fc&0x20 == Tuint32_t(0)) {
 54566  		goto __3228
 54567  	}
 54568  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f
 54569  	goto __3229
 54570  __3228:
 54571  	if !(fc&0x10 == Tuint32_t(0)) {
 54572  		goto __3230
 54573  	}
 54574  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f
 54575  	goto __3231
 54576  __3230:
 54577  	if !(fc&0x08 == Tuint32_t(0)) {
 54578  		goto __3232
 54579  	}
 54580  	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
 54581  	goto __3233
 54582  __3232:
 54583  	if !(fc&0x04 == Tuint32_t(0)) {
 54584  		goto __3234
 54585  	}
 54586  	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
 54587  	goto __3235
 54588  __3234:
 54589  	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
 54590  __3235:
 54591  	;
 54592  __3233:
 54593  	;
 54594  __3231:
 54595  	;
 54596  __3229:
 54597  	;
 54598  __3227:
 54599  	;
 54600  
 54601  	goto __3224
 54602  __3223:
 54603  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54604  __3224:
 54605  	;
 54606  	if !(lastptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 54607  		goto __3236
 54608  	}
 54609  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = lastptr
 54610  __3236:
 54611  	;
 54612  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54613  		goto __3237
 54614  	}
 54615  
 54616  	if !(fc == Tuint32_t('_')) {
 54617  		goto __3239
 54618  	}
 54619  	prev_is_word = DTRUE
 54620  	goto __3240
 54621  __3239:
 54622  
 54623  	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])
 54624  	prev_is_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 54625  __3240:
 54626  	;
 54627  	goto __3238
 54628  __3237:
 54629  	prev_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54630  __3238:
 54631  	;
 54632  __3222:
 54633  	;
 54634  
 54635  	// Get status of next character
 54636  
 54637  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54638  		goto __3241
 54639  	}
 54640  
 54641  	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)) {
 54642  		goto __3243
 54643  	}
 54644  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54645  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54646  		goto __3244
 54647  	}
 54648  	return -2
 54649  __3244:
 54650  	;
 54651  __3243:
 54652  	;
 54653  
 54654  	cur_is_word = DFALSE
 54655  	goto __3242
 54656  __3241:
 54657  
 54658  	nextptr = (*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)
 54659  	if !(utf != 0) {
 54660  		goto __3245
 54661  	}
 54662  
 54663  __3247:
 54664  	if !(nextptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(nextptr)))&0xc0 == 0x80) {
 54665  		goto __3248
 54666  	}
 54667  	nextptr++
 54668  	goto __3247
 54669  __3248:
 54670  	;
 54671  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54672  	if !(fc >= 0xc0) {
 54673  		goto __3249
 54674  	}
 54675  	if !(fc&0x20 == Tuint32_t(0)) {
 54676  		goto __3250
 54677  	}
 54678  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 54679  	goto __3251
 54680  __3250:
 54681  	if !(fc&0x10 == Tuint32_t(0)) {
 54682  		goto __3252
 54683  	}
 54684  	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
 54685  	goto __3253
 54686  __3252:
 54687  	if !(fc&0x08 == Tuint32_t(0)) {
 54688  		goto __3254
 54689  	}
 54690  	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
 54691  	goto __3255
 54692  __3254:
 54693  	if !(fc&0x04 == Tuint32_t(0)) {
 54694  		goto __3256
 54695  	}
 54696  	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
 54697  	goto __3257
 54698  __3256:
 54699  	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
 54700  __3257:
 54701  	;
 54702  __3255:
 54703  	;
 54704  __3253:
 54705  	;
 54706  __3251:
 54707  	;
 54708  __3249:
 54709  	;
 54710  
 54711  	goto __3246
 54712  __3245:
 54713  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54714  __3246:
 54715  	;
 54716  	if !(nextptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54717  		goto __3258
 54718  	}
 54719  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = nextptr
 54720  __3258:
 54721  	;
 54722  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54723  		goto __3259
 54724  	}
 54725  
 54726  	if !(fc == Tuint32_t('_')) {
 54727  		goto __3261
 54728  	}
 54729  	cur_is_word = DTRUE
 54730  	goto __3262
 54731  __3261:
 54732  
 54733  	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])
 54734  	cur_is_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 54735  __3262:
 54736  	;
 54737  	goto __3260
 54738  __3259:
 54739  	cur_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54740  __3260:
 54741  	;
 54742  __3242:
 54743  	;
 54744  
 54745  	// Now see if the situation is what we want
 54746  
 54747  	if !(func() int32 {
 54748  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) == OP_WORD_BOUNDARY {
 54749  			return libc.Bool32(cur_is_word == prev_is_word)
 54750  		}
 54751  		return libc.Bool32(cur_is_word != prev_is_word)
 54752  	}() != 0) {
 54753  		goto __3263
 54754  	}
 54755  	rrc = DMATCH_NOMATCH
 54756  	goto RETURN_SWITCH
 54757  __3263:
 54758  	;
 54759  
 54760  	goto __13
 54761  
 54762  	// =====================================================================
 54763  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 54764  	//     pattern is successfully matched, we do not come back from RMATCH.
 54765  
 54766  __153:
 54767  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+120, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54768  	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)))
 54769  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM12
 54770  	goto MATCH_RECURSE
 54771  L_RM12:
 54772  	;
 54773  
 54774  	// A return of MATCH_SKIP_ARG means that matching failed at SKIP with an
 54775  	//     argument, and we must check whether that argument matches this MARK's
 54776  	//     argument. It is passed back in mb->verb_skip_ptr. If it does match, we
 54777  	//     return MATCH_SKIP with mb->verb_skip_ptr now pointing to the subject
 54778  	//     position that corresponds to this mark. Otherwise, pass back the return
 54779  	//     code unaltered.
 54780  
 54781  	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) {
 54782  		goto __3264
 54783  	}
 54784  
 54785  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr /* Pass back current position */
 54786  	rrc = -995
 54787  	goto RETURN_SWITCH
 54788  
 54789  __3264:
 54790  	;
 54791  	rrc = rrc
 54792  	goto RETURN_SWITCH
 54793  
 54794  __154:
 54795  	rrc = DMATCH_NOMATCH
 54796  	goto RETURN_SWITCH
 54797  
 54798  	// Record the current recursing group number in mb->verb_current_recurse
 54799  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 54800  	//     recurse processing to catch verbs from within the recursion.
 54801  
 54802  __155:
 54803  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54804  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM13
 54805  	goto MATCH_RECURSE
 54806  L_RM13:
 54807  	;
 54808  
 54809  	if !(rrc != DMATCH_NOMATCH) {
 54810  		goto __3265
 54811  	}
 54812  	rrc = rrc
 54813  	goto RETURN_SWITCH
 54814  __3265:
 54815  	;
 54816  
 54817  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54818  	rrc = -997
 54819  	goto RETURN_SWITCH
 54820  
 54821  __156:
 54822  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+120, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54823  	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)))
 54824  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM36
 54825  	goto MATCH_RECURSE
 54826  L_RM36:
 54827  	;
 54828  
 54829  	if !(rrc != DMATCH_NOMATCH) {
 54830  		goto __3266
 54831  	}
 54832  	rrc = rrc
 54833  	goto RETURN_SWITCH
 54834  __3266:
 54835  	;
 54836  
 54837  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54838  	rrc = -997
 54839  	goto RETURN_SWITCH
 54840  
 54841  __157:
 54842  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54843  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM14
 54844  	goto MATCH_RECURSE
 54845  L_RM14:
 54846  	;
 54847  
 54848  	if !(rrc != DMATCH_NOMATCH) {
 54849  		goto __3267
 54850  	}
 54851  	rrc = rrc
 54852  	goto RETURN_SWITCH
 54853  __3267:
 54854  	;
 54855  
 54856  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54857  	rrc = -996
 54858  	goto RETURN_SWITCH
 54859  
 54860  __158:
 54861  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+120, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54862  	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)))
 54863  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM15
 54864  	goto MATCH_RECURSE
 54865  L_RM15:
 54866  	;
 54867  
 54868  	if !(rrc != DMATCH_NOMATCH) {
 54869  		goto __3268
 54870  	}
 54871  	rrc = rrc
 54872  	goto RETURN_SWITCH
 54873  __3268:
 54874  	;
 54875  
 54876  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54877  	rrc = -996
 54878  	goto RETURN_SWITCH
 54879  
 54880  __159:
 54881  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54882  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM16
 54883  	goto MATCH_RECURSE
 54884  L_RM16:
 54885  	;
 54886  
 54887  	if !(rrc != DMATCH_NOMATCH) {
 54888  		goto __3269
 54889  	}
 54890  	rrc = rrc
 54891  	goto RETURN_SWITCH
 54892  __3269:
 54893  	;
 54894  
 54895  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr // Pass back current position
 54896  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54897  	rrc = -995
 54898  	goto RETURN_SWITCH
 54899  
 54900  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 54901  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 54902  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 54903  	//     that failed and any that precede it (either they also failed, or were not
 54904  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 54905  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 54906  	//     set to the count of the one that failed.
 54907  
 54908  __160:
 54909  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count++
 54910  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg) {
 54911  		goto __3270
 54912  	}
 54913  
 54914  	*(*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))))
 54915  	goto __13
 54916  __3270:
 54917  	;
 54918  	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)))
 54919  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM17
 54920  	goto MATCH_RECURSE
 54921  L_RM17:
 54922  	;
 54923  
 54924  	if !(rrc != DMATCH_NOMATCH) {
 54925  		goto __3271
 54926  	}
 54927  	rrc = rrc
 54928  	goto RETURN_SWITCH
 54929  __3271:
 54930  	;
 54931  
 54932  	// Pass back the current skip name and return the special MATCH_SKIP_ARG
 54933  	//     return code. This will either be caught by a matching MARK, or get to the
 54934  	//     top, where it causes a rematch with mb->ignore_skip_arg set to the value of
 54935  	//     mb->skip_arg_count.
 54936  
 54937  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(2)
 54938  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54939  	rrc = -994
 54940  	goto RETURN_SWITCH
 54941  
 54942  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 54943  	//     the branch in which it occurs can be determined.
 54944  
 54945  __161:
 54946  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54947  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM18
 54948  	goto MATCH_RECURSE
 54949  L_RM18:
 54950  	;
 54951  
 54952  	if !(rrc != DMATCH_NOMATCH) {
 54953  		goto __3272
 54954  	}
 54955  	rrc = rrc
 54956  	goto RETURN_SWITCH
 54957  __3272:
 54958  	;
 54959  
 54960  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 54961  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54962  	rrc = -993
 54963  	goto RETURN_SWITCH
 54964  
 54965  __162:
 54966  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+120, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54967  	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)))
 54968  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM19
 54969  	goto MATCH_RECURSE
 54970  L_RM19:
 54971  	;
 54972  
 54973  	if !(rrc != DMATCH_NOMATCH) {
 54974  		goto __3273
 54975  	}
 54976  	rrc = rrc
 54977  	goto RETURN_SWITCH
 54978  __3273:
 54979  	;
 54980  
 54981  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 54982  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54983  	rrc = -993
 54984  	goto RETURN_SWITCH
 54985  
 54986  	// =====================================================================
 54987  	// There's been some horrible disaster. Arrival here can only mean there is
 54988  	//     something seriously wrong in the code above or the OP_xxx definitions.
 54989  
 54990  __163:
 54991  	return -44
 54992  __13:
 54993  	;
 54994  
 54995  	// Do not insert any code in here without much thought; it is assumed
 54996  	//   that "continue" in the code above comes out to here to repeat the main
 54997  	//   loop.
 54998  
 54999  	goto __11
 55000  __11:
 55001  	goto __10
 55002  	goto __12
 55003  __12:
 55004  	; // End of main loop
 55005  	// Control never reaches here
 55006  
 55007  	// =========================================================================
 55008  	// The RRETURN() macro jumps here. The number that is saved in Freturn_id
 55009  	// indicates which label we actually want to return to. The value in Frdepth is
 55010  	// the index number of the frame in the vector. The return value has been placed
 55011  	// in rrc.
 55012  
 55013  RETURN_SWITCH:
 55014  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 55015  		goto __3274
 55016  	}
 55017  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 55018  __3274:
 55019  	;
 55020  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 55021  		goto __3275
 55022  	}
 55023  	return rrc
 55024  __3275:
 55025  	;                                                                                                         // Exit from the top level
 55026  	F = F - uintptr((*Theapframe)(unsafe.Pointer(F)).Fback_frame)                                             // Backtrack
 55027  	*(*Tuint32_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb + 60)) |= DPCRE2_CALLOUT_BACKTRACK // Note for callouts
 55028  
 55029  	switch int32((*Theapframe)(unsafe.Pointer(F)).Freturn_id) {
 55030  	case 1:
 55031  		goto __3277
 55032  	case 2:
 55033  		goto __3278
 55034  	case 3:
 55035  		goto __3279
 55036  	case 4:
 55037  		goto __3280
 55038  	case 5:
 55039  		goto __3281
 55040  	case 6:
 55041  		goto __3282
 55042  	case 7:
 55043  		goto __3283
 55044  	case 8:
 55045  		goto __3284
 55046  	case 9:
 55047  		goto __3285
 55048  	case 10:
 55049  		goto __3286
 55050  	case 11:
 55051  		goto __3287
 55052  	case 12:
 55053  		goto __3288
 55054  	case 13:
 55055  		goto __3289
 55056  	case 14:
 55057  		goto __3290
 55058  	case 15:
 55059  		goto __3291
 55060  	case 16:
 55061  		goto __3292
 55062  	case 17:
 55063  		goto __3293
 55064  	case 18:
 55065  		goto __3294
 55066  	case 19:
 55067  		goto __3295
 55068  	case 20:
 55069  		goto __3296
 55070  	case 21:
 55071  		goto __3297
 55072  	case 22:
 55073  		goto __3298
 55074  	case 23:
 55075  		goto __3299
 55076  	case 24:
 55077  		goto __3300
 55078  	case 25:
 55079  		goto __3301
 55080  	case 26:
 55081  		goto __3302
 55082  	case 27:
 55083  		goto __3303
 55084  	case 28:
 55085  		goto __3304
 55086  	case 29:
 55087  		goto __3305
 55088  	case 30:
 55089  		goto __3306
 55090  	case 31:
 55091  		goto __3307
 55092  	case 32:
 55093  		goto __3308
 55094  	case 33:
 55095  		goto __3309
 55096  	case 34:
 55097  		goto __3310
 55098  	case 35:
 55099  		goto __3311
 55100  	case 36:
 55101  		goto __3312
 55102  
 55103  	case 100:
 55104  		goto __3313
 55105  	case 101:
 55106  		goto __3314
 55107  
 55108  	case 200:
 55109  		goto __3315
 55110  	case 201:
 55111  		goto __3316
 55112  	case 202:
 55113  		goto __3317
 55114  	case 203:
 55115  		goto __3318
 55116  	case 204:
 55117  		goto __3319
 55118  	case 205:
 55119  		goto __3320
 55120  	case 206:
 55121  		goto __3321
 55122  	case 207:
 55123  		goto __3322
 55124  	case 208:
 55125  		goto __3323
 55126  	case 209:
 55127  		goto __3324
 55128  	case 210:
 55129  		goto __3325
 55130  	case 211:
 55131  		goto __3326
 55132  	case 212:
 55133  		goto __3327
 55134  	case 213:
 55135  		goto __3328
 55136  	case 214:
 55137  		goto __3329
 55138  	case 215:
 55139  		goto __3330
 55140  	case 216:
 55141  		goto __3331
 55142  	case 217:
 55143  		goto __3332
 55144  	case 218:
 55145  		goto __3333
 55146  	case 219:
 55147  		goto __3334
 55148  	case 220:
 55149  		goto __3335
 55150  	case 221:
 55151  		goto __3336
 55152  	case 222:
 55153  		goto __3337
 55154  	case 223:
 55155  		goto __3338
 55156  	case 224:
 55157  		goto __3339
 55158  	case 225:
 55159  		goto __3340
 55160  
 55161  	default:
 55162  		goto __3341
 55163  	}
 55164  	goto __3276
 55165  
 55166  __3277:
 55167  	goto L_RM1
 55168  __3278:
 55169  	goto L_RM2
 55170  __3279:
 55171  	goto L_RM3
 55172  __3280:
 55173  	goto L_RM4
 55174  __3281:
 55175  	goto L_RM5
 55176  __3282:
 55177  	goto L_RM6
 55178  __3283:
 55179  	goto L_RM7
 55180  __3284:
 55181  	goto L_RM8
 55182  __3285:
 55183  	goto L_RM9
 55184  __3286:
 55185  	goto L_RM10
 55186  __3287:
 55187  	goto L_RM11
 55188  __3288:
 55189  	goto L_RM12
 55190  __3289:
 55191  	goto L_RM13
 55192  __3290:
 55193  	goto L_RM14
 55194  __3291:
 55195  	goto L_RM15
 55196  __3292:
 55197  	goto L_RM16
 55198  __3293:
 55199  	goto L_RM17
 55200  __3294:
 55201  	goto L_RM18
 55202  __3295:
 55203  	goto L_RM19
 55204  __3296:
 55205  	goto L_RM20
 55206  __3297:
 55207  	goto L_RM21
 55208  __3298:
 55209  	goto L_RM22
 55210  __3299:
 55211  	goto L_RM23
 55212  __3300:
 55213  	goto L_RM24
 55214  __3301:
 55215  	goto L_RM25
 55216  __3302:
 55217  	goto L_RM26
 55218  __3303:
 55219  	goto L_RM27
 55220  __3304:
 55221  	goto L_RM28
 55222  __3305:
 55223  	goto L_RM29
 55224  __3306:
 55225  	goto L_RM30
 55226  __3307:
 55227  	goto L_RM31
 55228  __3308:
 55229  	goto L_RM32
 55230  __3309:
 55231  	goto L_RM33
 55232  __3310:
 55233  	goto L_RM34
 55234  __3311:
 55235  	goto L_RM35
 55236  __3312:
 55237  	goto L_RM36
 55238  
 55239  __3313:
 55240  	goto L_RM100
 55241  __3314:
 55242  	goto L_RM101
 55243  
 55244  __3315:
 55245  	goto L_RM200
 55246  __3316:
 55247  	goto L_RM201
 55248  __3317:
 55249  	goto L_RM202
 55250  __3318:
 55251  	goto L_RM203
 55252  __3319:
 55253  	goto L_RM204
 55254  __3320:
 55255  	goto L_RM205
 55256  __3321:
 55257  	goto L_RM206
 55258  __3322:
 55259  	goto L_RM207
 55260  __3323:
 55261  	goto L_RM208
 55262  __3324:
 55263  	goto L_RM209
 55264  __3325:
 55265  	goto L_RM210
 55266  __3326:
 55267  	goto L_RM211
 55268  __3327:
 55269  	goto L_RM212
 55270  __3328:
 55271  	goto L_RM213
 55272  __3329:
 55273  	goto L_RM214
 55274  __3330:
 55275  	goto L_RM215
 55276  __3331:
 55277  	goto L_RM216
 55278  __3332:
 55279  	goto L_RM217
 55280  __3333:
 55281  	goto L_RM218
 55282  __3334:
 55283  	goto L_RM219
 55284  __3335:
 55285  	goto L_RM220
 55286  __3336:
 55287  	goto L_RM221
 55288  __3337:
 55289  	goto L_RM222
 55290  __3338:
 55291  	goto L_RM223
 55292  __3339:
 55293  	goto L_RM224
 55294  __3340:
 55295  	goto L_RM225
 55296  
 55297  __3341:
 55298  	return -44
 55299  __3276:
 55300  	;
 55301  	return int32(0)
 55302  }
 55303  
 55304  // ************************************************
 55305  //
 55306  //           Match a Regular Expression           *
 55307  //
 55308  
 55309  // This function applies a compiled pattern to a subject string and picks out
 55310  // portions of the string if it matches. Two elements in the vector are set for
 55311  // each substring: the offsets to the start and end of the substring.
 55312  //
 55313  // Arguments:
 55314  //   code            points to the compiled expression
 55315  //   subject         points to the subject string
 55316  //   length          length of subject string (may contain binary zeros)
 55317  //   start_offset    where to start in the subject string
 55318  //   options         option bits
 55319  //   match_data      points to a match_data block
 55320  //   mcontext        points a PCRE2 context
 55321  //
 55322  // Returns:          > 0 => success; value is the number of ovector pairs filled
 55323  //                   = 0 => success, but ovector is not big enough
 55324  //                   = -1 => failed to match (PCRE2_ERROR_NOMATCH)
 55325  //                   = -2 => partial match (PCRE2_ERROR_PARTIAL)
 55326  //                   < -2 => some kind of unexpected problem
 55327  
 55328  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: */
 55329  	bp := tls.Alloc(20720)
 55330  	defer tls.Free(20720)
 55331  
 55332  	var rc int32
 55333  	var was_zero_terminated int32
 55334  	var start_bits uintptr
 55335  	var re uintptr
 55336  	var anchored TBOOL
 55337  	var firstline TBOOL
 55338  	var has_first_cu TBOOL
 55339  	var has_req_cu TBOOL
 55340  	var startline TBOOL
 55341  	var memchr_found_first_cu TPCRE2_SPTR8
 55342  	var memchr_found_first_cu2 TPCRE2_SPTR8
 55343  	var first_cu TPCRE2_UCHAR8
 55344  	var first_cu2 TPCRE2_UCHAR8
 55345  	var req_cu TPCRE2_UCHAR8
 55346  	var req_cu2 TPCRE2_UCHAR8
 55347  	var bumpalong_limit TPCRE2_SPTR8
 55348  	var end_subject TPCRE2_SPTR8
 55349  	var true_end_subject TPCRE2_SPTR8
 55350  	var start_match TPCRE2_SPTR8
 55351  	var req_cu_ptr TPCRE2_SPTR8
 55352  	var start_partial TPCRE2_SPTR8
 55353  	var match_partial TPCRE2_SPTR8
 55354  
 55355  	// This flag is needed even when Unicode is not supported for convenience
 55356  	// (it is used by the IS_NEWLINE macro).
 55357  
 55358  	var utf TBOOL
 55359  	var ucp TBOOL
 55360  	var allow_invalid TBOOL
 55361  	var fragment_options Tuint32_t
 55362  	var frame_size Tsize_t
 55363  
 55364  	// We need to have mb as a pointer to a match block, because the IS_NEWLINE
 55365  	// macro is used below, and it expects NLBLOCK to be defined as a pointer.
 55366  
 55367  	// var cb Tpcre2_callout_block_8 at bp+20656, 64
 55368  
 55369  	// var actual_match_block Tmatch_block_8 at bp, 176
 55370  
 55371  	var mb uintptr
 55372  
 55373  	// Allocate an initial vector of backtracking frames on the stack. If this
 55374  	// proves to be too small, it is replaced by a larger one on the heap. To get a
 55375  	// vector of the size required that is aligned for pointers, allocate it as a
 55376  	// vector of pointers.
 55377  
 55378  	// var stack_frames_vector [5120]TPCRE2_SPTR8 at bp+176, 20480
 55379  
 55380  	var i uint32
 55381  	var skipped_bad_start TBOOL
 55382  	var t TPCRE2_SPTR8
 55383  	var c TPCRE2_UCHAR8
 55384  	var ok TBOOL
 55385  	// In 16-bit and 32_bit modes we have to do our own search, so can
 55386  	//           look for both cases at once.
 55387  
 55388  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 55389  	//           though we have to call it twice in order to find the earliest
 55390  	//           occurrence of the code unit in either of its cases. Caching is used
 55391  	//           to remember the positions of previously found code units. This can
 55392  	//           make a huge difference when the strings are very long and only one
 55393  	//           case is actually present.
 55394  
 55395  	var pp1 TPCRE2_SPTR8
 55396  	var pp2 TPCRE2_SPTR8
 55397  	var searchlength Tsize_t
 55398  	var c1 Tuint32_t
 55399  	var pp TPCRE2_SPTR8
 55400  	var check_length Tsize_t
 55401  	var p TPCRE2_SPTR8
 55402  	var new_start_match TPCRE2_SPTR8
 55403  	was_zero_terminated = 0
 55404  	start_bits = uintptr(0)
 55405  	re = code
 55406  	has_first_cu = DFALSE
 55407  	has_req_cu = DFALSE
 55408  	first_cu = TPCRE2_UCHAR8(0)
 55409  	first_cu2 = TPCRE2_UCHAR8(0)
 55410  	req_cu = TPCRE2_UCHAR8(0)
 55411  	req_cu2 = TPCRE2_UCHAR8(0)
 55412  	utf = DFALSE
 55413  	ucp = DFALSE
 55414  	fragment_options = Tuint32_t(0)
 55415  	mb = bp                                                        /* &actual_match_block */
 55416  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames = bp + 176 /* stack_frames_vector */
 55417  
 55418  	// Recognize NULL, length 0 as an empty string.
 55419  
 55420  	if !(subject == uintptr(0) && length == Tsize_t(0)) {
 55421  		goto __1
 55422  	}
 55423  	subject = ts + 797 /* "" */
 55424  __1:
 55425  	;
 55426  
 55427  	// Plausibility checks
 55428  
 55429  	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)) {
 55430  		goto __2
 55431  	}
 55432  	return -34
 55433  __2:
 55434  	;
 55435  	if !(code == uintptr(0) || subject == uintptr(0) || match_data == uintptr(0)) {
 55436  		goto __3
 55437  	}
 55438  	return -51
 55439  __3:
 55440  	;
 55441  
 55442  	start_match = subject + uintptr(start_offset)
 55443  	req_cu_ptr = start_match - uintptr(1)
 55444  	if !(length == libc.CplUint32(Tsize_t(0))) {
 55445  		goto __4
 55446  	}
 55447  
 55448  	length = X_pcre2_strlen_8(tls, subject)
 55449  	was_zero_terminated = 1
 55450  __4:
 55451  	;
 55452  	true_end_subject = libc.AssignUintptr(&end_subject, subject+uintptr(length))
 55453  
 55454  	if !(start_offset > length) {
 55455  		goto __5
 55456  	}
 55457  	return -33
 55458  __5:
 55459  	;
 55460  
 55461  	// Check that the first field in the block is the magic number.
 55462  
 55463  	if !(uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 55464  		goto __6
 55465  	}
 55466  	return -31
 55467  __6:
 55468  	;
 55469  
 55470  	// Check the code unit width.
 55471  
 55472  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 55473  		goto __7
 55474  	}
 55475  	return -32
 55476  __7:
 55477  	;
 55478  
 55479  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 55480  	// options variable for this function. Users of PCRE2 who are not calling the
 55481  	// function directly would like to have a way of setting these flags, in the same
 55482  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 55483  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 55484  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which we now
 55485  	// transfer to the options for this function. The bits are guaranteed to be
 55486  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 55487  	// that the match-time bits are not more significant than the flag bits. If by
 55488  	// accident this is not the case, a compile-time division by zero error will
 55489  	// occur.
 55490  
 55491  	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))))
 55492  
 55493  	// If the pattern was successfully studied with JIT support, we will run the
 55494  	// JIT executable instead of the rest of this function. Most options must be set
 55495  	// at compile time for the JIT code to be usable.
 55496  
 55497  	// Initialize UTF/UCP parameters.
 55498  
 55499  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 55500  	allow_invalid = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0))
 55501  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 55502  
 55503  	// Convert the partial matching flags into an integer.
 55504  
 55505  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial = func() uint16 {
 55506  		if options&DPCRE2_PARTIAL_HARD != Tuint32_t(0) {
 55507  			return uint16(2)
 55508  		}
 55509  		return func() uint16 {
 55510  			if options&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) {
 55511  				return uint16(1)
 55512  			}
 55513  			return uint16(0)
 55514  		}()
 55515  	}()
 55516  
 55517  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 55518  	// time.
 55519  
 55520  	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)) {
 55521  		goto __8
 55522  	}
 55523  	return -34
 55524  __8:
 55525  	;
 55526  
 55527  	// It is an error to set an offset limit without setting the flag at compile
 55528  	// time.
 55529  
 55530  	if !(mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint32(Tsize_t(0)) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 55531  		goto __9
 55532  	}
 55533  	return -56
 55534  __9:
 55535  	;
 55536  
 55537  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 55538  	// free the memory that was obtained. Set the field to NULL for no match cases.
 55539  
 55540  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 55541  		goto __10
 55542  	}
 55543  
 55544  	(*struct {
 55545  		f func(*libc.TLS, uintptr, uintptr)
 55546  	})(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,
 55547  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 55548  	*(*Tuint8_t)(unsafe.Pointer(match_data + 37)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 55549  __10:
 55550  	;
 55551  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0)
 55552  
 55553  	// Zero the error offset in case the first code unit is invalid UTF.
 55554  
 55555  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t(0)
 55556  
 55557  	// ============================= JIT matching ==============================
 55558  
 55559  	// Prepare for JIT matching. Check a UTF string for validity unless no check is
 55560  	// requested or invalid UTF can be handled. We check only the portion of the
 55561  	// subject that might be be inspected during matching - from the offset minus the
 55562  	// maximum lookbehind to the given length. This saves time when a small part of a
 55563  	// large subject is being matched by the use of a starting offset. Note that the
 55564  	// maximum lookbehind is a number of characters, not code units.
 55565  
 55566  	// ========================= End of JIT matching ==========================
 55567  
 55568  	// Proceed with non-JIT matching. The default is to allow lookbehinds to the
 55569  	// start of the subject. A UTF check when there is a non-zero offset may change
 55570  	// this.
 55571  
 55572  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = subject
 55573  
 55574  	// If a UTF subject string was not checked for validity in the JIT code above,
 55575  	// check it here, and handle support for invalid UTF strings. The check above
 55576  	// happens only when invalid UTF is not supported and PCRE2_NO_CHECK_UTF is unset.
 55577  	// If we get here in those circumstances, it means the subject string is valid,
 55578  	// but for some reason JIT matching was not successful. There is no need to check
 55579  	// the subject again.
 55580  	//
 55581  	// We check only the portion of the subject that might be be inspected during
 55582  	// matching - from the offset minus the maximum lookbehind to the given length.
 55583  	// This saves time when a small part of a large subject is being matched by the
 55584  	// use of a starting offset. Note that the maximum lookbehind is a number of
 55585  	// characters, not code units.
 55586  	//
 55587  	// Note also that support for invalid UTF forces a check, overriding the setting
 55588  	// of PCRE2_NO_CHECK_UTF.
 55589  
 55590  	if !(utf != 0 && (options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) || allow_invalid != 0)) {
 55591  		goto __11
 55592  	}
 55593  
 55594  	skipped_bad_start = DFALSE
 55595  
 55596  	// For 8-bit and 16-bit UTF, check that the first code unit is a valid
 55597  	//   character start. If we are handling invalid UTF, just skip over such code
 55598  	//   units. Otherwise, give an appropriate error.
 55599  
 55600  	if !(allow_invalid != 0) {
 55601  		goto __12
 55602  	}
 55603  
 55604  __14:
 55605  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55606  		goto __15
 55607  	}
 55608  
 55609  	start_match++
 55610  	skipped_bad_start = DTRUE
 55611  	goto __14
 55612  __15:
 55613  	;
 55614  	goto __13
 55615  __12:
 55616  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55617  		goto __16
 55618  	}
 55619  
 55620  	if !(start_offset > Tsize_t(0)) {
 55621  		goto __17
 55622  	}
 55623  	return -36
 55624  __17:
 55625  	;
 55626  	return -22 // Isolated 0x80 byte
 55627  __16:
 55628  	;
 55629  __13:
 55630  	;
 55631  
 55632  	// The mb->check_subject field points to the start of UTF checking;
 55633  	//   lookbehinds can go back no further than this.
 55634  
 55635  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 55636  
 55637  	// Move back by the maximum lookbehind, just in case it happens at the very
 55638  	//   start of matching, but don't do this if we skipped bad 8-bit or 16-bit code
 55639  	//   units above.
 55640  
 55641  	if !!(skipped_bad_start != 0) {
 55642  		goto __18
 55643  	}
 55644  
 55645  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 55646  __19:
 55647  	if !(i > uint32(0) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject) {
 55648  		goto __21
 55649  	}
 55650  
 55651  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55652  __22:
 55653  	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) {
 55654  		goto __23
 55655  	}
 55656  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55657  	goto __22
 55658  __23:
 55659  	;
 55660  	goto __20
 55661  __20:
 55662  	i--
 55663  	goto __19
 55664  	goto __21
 55665  __21:
 55666  	;
 55667  __18:
 55668  	;
 55669  
 55670  	// Validate the relevant portion of the subject. There's a loop in case we
 55671  	//   encounter bad UTF in the characters preceding start_match which we are
 55672  	//   scanning because of a lookbehind.
 55673  
 55674  __24:
 55675  
 55676  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject,
 55677  		length-Tsize_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)-int32(subject))/1), match_data+32)
 55678  
 55679  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc == 0) {
 55680  		goto __27
 55681  	}
 55682  	goto __26
 55683  __27:
 55684  	; // Valid UTF string
 55685  
 55686  	// Invalid UTF string. Adjust the offset to be an absolute offset in the
 55687  	//     whole string. If we are handling invalid UTF strings, set end_subject to
 55688  	//     stop before the bad code unit, and set the options to "not end of line".
 55689  	//     Otherwise return the error.
 55690  
 55691  	*(*Tsize_t)(unsafe.Pointer(match_data + 32)) += Tsize_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) - int32(subject)) / 1)
 55692  	if !(!(allow_invalid != 0) || (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc > 0) {
 55693  		goto __28
 55694  	}
 55695  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 55696  __28:
 55697  	;
 55698  	end_subject = subject + uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar)
 55699  
 55700  	// If the end precedes start_match, it means there is invalid UTF in the
 55701  	//     extra code units we reversed over because of a lookbehind. Advance past the
 55702  	//     first bad code unit, and then skip invalid character starting code units in
 55703  	//     8-bit and 16-bit modes, and try again with the original end point.
 55704  
 55705  	if !(end_subject < start_match) {
 55706  		goto __29
 55707  	}
 55708  
 55709  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = end_subject + uintptr(1)
 55710  __31:
 55711  	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) {
 55712  		goto __32
 55713  	}
 55714  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject++
 55715  	goto __31
 55716  __32:
 55717  	;
 55718  	end_subject = true_end_subject
 55719  	goto __30
 55720  __29:
 55721  
 55722  	fragment_options = DPCRE2_NOTEOL
 55723  	goto __26
 55724  __30:
 55725  	;
 55726  	goto __25
 55727  __25:
 55728  	goto __24
 55729  	goto __26
 55730  __26:
 55731  	;
 55732  __11:
 55733  	;
 55734  
 55735  	// A NULL match context means "use a default context", but we take the memory
 55736  	// control functions from the pattern.
 55737  
 55738  	if !(mcontext == uintptr(0)) {
 55739  		goto __33
 55740  	}
 55741  
 55742  	mcontext = uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8))
 55743  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 55744  	goto __34
 55745  __33:
 55746  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 55747  __34:
 55748  	;
 55749  
 55750  	anchored = libc.Bool32(((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ANCHORED != Tuint32_t(0))
 55751  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 55752  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 55753  	if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit == libc.CplUint32(Tsize_t(0)) {
 55754  		bumpalong_limit = true_end_subject
 55755  	} else {
 55756  		bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 55757  	}
 55758  
 55759  	// Initialize and set up the fixed fields in the callout block, with a pointer
 55760  	// in the match block.
 55761  
 55762  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb = bp + 20656 /* &cb */
 55763  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20656 /* &cb */)).Fversion = Tuint32_t(2)
 55764  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20656 /* &cb */)).Fsubject = subject
 55765  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20656 /* &cb */)).Fsubject_length = Tsize_t((int32(end_subject) - int32(subject)) / 1)
 55766  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20656 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 55767  
 55768  	// Fill in the remaining fields in the match block, except for moptions, which
 55769  	// gets set later.
 55770  
 55771  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 55772  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 55773  
 55774  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 55775  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 55776  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 55777  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASTHEN) != Tuint32_t(0))
 55778  	(*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))
 55779  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options // Pattern options
 55780  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 55781  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = libc.AssignPtrUintptr(mb+120, uintptr(0)) // In case never set
 55782  
 55783  	// The name table is needed for finding all the numbers associated with a
 55784  	// given name, for condition testing. The code follows the name table.
 55785  
 55786  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table = re + uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{})))
 55787  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_count = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count
 55788  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size
 55789  	(*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))
 55790  
 55791  	// Process the \R and newline settings.
 55792  
 55793  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 55794  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 55795  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 55796  	case DPCRE2_NEWLINE_CR:
 55797  		goto __36
 55798  
 55799  	case DPCRE2_NEWLINE_LF:
 55800  		goto __37
 55801  
 55802  	case DPCRE2_NEWLINE_NUL:
 55803  		goto __38
 55804  
 55805  	case DPCRE2_NEWLINE_CRLF:
 55806  		goto __39
 55807  
 55808  	case DPCRE2_NEWLINE_ANY:
 55809  		goto __40
 55810  
 55811  	case DPCRE2_NEWLINE_ANYCRLF:
 55812  		goto __41
 55813  
 55814  	default:
 55815  		goto __42
 55816  	}
 55817  	goto __35
 55818  
 55819  __36:
 55820  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55821  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160)) = TPCRE2_UCHAR8('\015')
 55822  	goto __35
 55823  
 55824  __37:
 55825  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55826  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160)) = TPCRE2_UCHAR8('\012')
 55827  	goto __35
 55828  
 55829  __38:
 55830  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55831  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160)) = TPCRE2_UCHAR8(0)
 55832  	goto __35
 55833  
 55834  __39:
 55835  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 55836  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160)) = TPCRE2_UCHAR8('\015')
 55837  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160 + 1)) = TPCRE2_UCHAR8('\012')
 55838  	goto __35
 55839  
 55840  __40:
 55841  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 55842  	goto __35
 55843  
 55844  __41:
 55845  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 55846  	goto __35
 55847  
 55848  __42:
 55849  	return -44
 55850  __35:
 55851  	;
 55852  
 55853  	// The backtracking frames have fixed data at the front, and a PCRE2_SIZE
 55854  	// vector at the end, whose size depends on the number of capturing parentheses in
 55855  	// the pattern. It is not used at all if there are no capturing parentheses.
 55856  	//
 55857  	//   frame_size             is the total size of each frame
 55858  	//   mb->frame_vector_size  is the total usable size of the vector (rounded down
 55859  	//                            to a whole number of frames)
 55860  	//
 55861  	// The last of these is changed within the match() function if the frame vector
 55862  	// has to be expanded. We therefore put it into the match block so that it is
 55863  	// correct when calling match() more than once for non-anchored patterns.
 55864  	//
 55865  	// We must also pad frame_size for alignment to ensure subsequent frames are as
 55866  	// aligned as heapframe. Whilst ovector is word-aligned due to being a PCRE2_SIZE
 55867  	// array, that does not guarantee it is suitably aligned for pointers, as some
 55868  	// architectures have pointers that are larger than a size_t.
 55869  
 55870  	frame_size = (uint32(uintptr(0)+84) + uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint32(unsafe.Sizeof(Tsize_t(0))) + uint32(uintptr(0)+4) - uint32(1)) & libc.CplUint32(uint32(uintptr(0)+4)-uint32(1))
 55871  
 55872  	// Limits set in the pattern override the match context only if they are
 55873  	// smaller.
 55874  
 55875  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit = func() uint32 {
 55876  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap {
 55877  			return uint32((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 55878  		}
 55879  		return uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 55880  	}()
 55881  
 55882  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit = func() uint32 {
 55883  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match {
 55884  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 55885  		}
 55886  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 55887  	}()
 55888  
 55889  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = func() uint32 {
 55890  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth {
 55891  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 55892  		}
 55893  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 55894  	}()
 55895  
 55896  	// If a pattern has very many capturing parentheses, the frame size may be very
 55897  	// large. Ensure that there are at least 10 available frames by getting an initial
 55898  	// vector on the heap if necessary, except when the heap limit prevents this. Get
 55899  	// fewer if possible. (The heap limit is in kibibytes.)
 55900  
 55901  	if !(frame_size <= Tsize_t(DSTART_FRAMES_SIZE/10)) {
 55902  		goto __43
 55903  	}
 55904  
 55905  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames // Initial frame vector on the stack
 55906  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = Tsize_t(DSTART_FRAMES_SIZE) / frame_size * frame_size
 55907  	goto __44
 55908  __43:
 55909  
 55910  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = frame_size * Tsize_t(10)
 55911  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size/Tsize_t(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 55912  		goto __45
 55913  	}
 55914  
 55915  	if !(frame_size > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit*Tsize_t(1024)) {
 55916  		goto __46
 55917  	}
 55918  	return -63
 55919  __46:
 55920  	;
 55921  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * Tsize_t(1024) / frame_size * frame_size
 55922  __45:
 55923  	;
 55924  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*struct {
 55925  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 55926  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size,
 55927  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 55928  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames == uintptr(0)) {
 55929  		goto __47
 55930  	}
 55931  	return -48
 55932  __47:
 55933  	;
 55934  __44:
 55935  	;
 55936  
 55937  	(*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)
 55938  
 55939  	// Write to the ovector within the first frame to mark every capture unset and
 55940  	// to avoid uninitialized memory read errors when it is copied to a new frame.
 55941  
 55942  	libc.Xmemset(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames+uintptr(uint32(uintptr(0)+84)), 0xff,
 55943  		frame_size-Tsize_t(uintptr(0)+84))
 55944  
 55945  	// Pointers to the individual character tables
 55946  
 55947  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dlcc_offset)
 55948  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset)
 55949  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 55950  
 55951  	// Set up the first code unit to match, if available. If there's no first code
 55952  	// unit there may be a bitmap of possible first characters.
 55953  
 55954  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 55955  		goto __48
 55956  	}
 55957  
 55958  	has_first_cu = DTRUE
 55959  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 55960  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 55961  		goto __50
 55962  	}
 55963  
 55964  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(first_cu)))
 55965  	if !(int32(first_cu) > 127 && ucp != 0 && !(utf != 0)) {
 55966  		goto __51
 55967  	}
 55968  	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))
 55969  __51:
 55970  	;
 55971  __50:
 55972  	;
 55973  	goto __49
 55974  __48:
 55975  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 55976  		goto __52
 55977  	}
 55978  	start_bits = re + 20 /* &.start_bitmap */
 55979  __52:
 55980  	;
 55981  __49:
 55982  	;
 55983  
 55984  	// There may also be a "last known required character" set.
 55985  
 55986  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 55987  		goto __53
 55988  	}
 55989  
 55990  	has_req_cu = DTRUE
 55991  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 55992  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 55993  		goto __54
 55994  	}
 55995  
 55996  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(req_cu)))
 55997  	if !(int32(req_cu) > 127 && ucp != 0 && !(utf != 0)) {
 55998  		goto __55
 55999  	}
 56000  	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))
 56001  __55:
 56002  	;
 56003  __54:
 56004  	;
 56005  __53:
 56006  	;
 56007  
 56008  	// ==========================================================================
 56009  
 56010  	// Loop for handling unanchored repeated matching attempts; for anchored regexs
 56011  	// the loop runs just once.
 56012  
 56013  FRAGMENT_RESTART:
 56014  
 56015  	start_partial = libc.AssignUintptr(&match_partial, uintptr(0))
 56016  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DFALSE
 56017  
 56018  	memchr_found_first_cu = uintptr(0)
 56019  	memchr_found_first_cu2 = uintptr(0)
 56020  
 56021  __56:
 56022  
 56023  	// ----------------- Start of match optimizations ----------------
 56024  
 56025  	// There are some optimizations that avoid running the match if a known
 56026  	//   starting point is not found, or if a known later code unit is not present.
 56027  	//   However, there is an option (settable at compile time) that disables these,
 56028  	//   for testing and for ensuring that all callouts do actually occur.
 56029  
 56030  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 56031  		goto __59
 56032  	}
 56033  
 56034  	// If firstline is TRUE, the start of the match is constrained to the first
 56035  	//     line of a multiline string. That is, the match must be before or at the
 56036  	//     first newline following the start of matching. Temporarily adjust
 56037  	//     end_subject so that we stop the scans for a first code unit at a newline.
 56038  	//     If the match fails at the newline, later code breaks the loop.
 56039  
 56040  	if !(firstline != 0) {
 56041  		goto __60
 56042  	}
 56043  
 56044  	t = start_match
 56045  	if !(utf != 0) {
 56046  		goto __61
 56047  	}
 56048  
 56049  __63:
 56050  	if !(t < end_subject && !(func() int32 {
 56051  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56052  			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+156, utf) != 0)
 56053  		}
 56054  		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 + 160))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160 + 1)))))
 56055  	}() != 0)) {
 56056  		goto __64
 56057  	}
 56058  
 56059  	t++
 56060  __65:
 56061  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 56062  		goto __66
 56063  	}
 56064  	t++
 56065  	goto __65
 56066  __66:
 56067  	;
 56068  	goto __63
 56069  __64:
 56070  	;
 56071  	goto __62
 56072  __61:
 56073  __67:
 56074  	if !(t < end_subject && !(func() int32 {
 56075  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56076  			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+156, utf) != 0)
 56077  		}
 56078  		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 + 160))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 160 + 1)))))
 56079  	}() != 0)) {
 56080  		goto __68
 56081  	}
 56082  	t++
 56083  	goto __67
 56084  __68:
 56085  	;
 56086  __62:
 56087  	;
 56088  	end_subject = t
 56089  __60:
 56090  	;
 56091  
 56092  	// Anchored: check the first code unit if one is recorded. This may seem
 56093  	//     pointless but it can help in detecting a no match case without scanning for
 56094  	//     the required code unit.
 56095  
 56096  	if !(anchored != 0) {
 56097  		goto __69
 56098  	}
 56099  
 56100  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 56101  		goto __71
 56102  	}
 56103  
 56104  	ok = libc.Bool32(start_match < end_subject)
 56105  	if !(ok != 0) {
 56106  		goto __72
 56107  	}
 56108  
 56109  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 56110  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 56111  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 56112  		goto __73
 56113  	}
 56114  
 56115  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 56116  __73:
 56117  	;
 56118  __72:
 56119  	;
 56120  	if !!(ok != 0) {
 56121  		goto __74
 56122  	}
 56123  
 56124  	rc = DMATCH_NOMATCH
 56125  	goto __58
 56126  __74:
 56127  	;
 56128  __71:
 56129  	;
 56130  	goto __70
 56131  __69:
 56132  
 56133  	if !(has_first_cu != 0) {
 56134  		goto __75
 56135  	}
 56136  
 56137  	if !(int32(first_cu) != int32(first_cu2)) {
 56138  		goto __77
 56139  	} /* Caseless */
 56140  
 56141  	// In 16-bit and 32_bit modes we have to do our own search, so can
 56142  	//           look for both cases at once.
 56143  
 56144  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 56145  	//           though we have to call it twice in order to find the earliest
 56146  	//           occurrence of the code unit in either of its cases. Caching is used
 56147  	//           to remember the positions of previously found code units. This can
 56148  	//           make a huge difference when the strings are very long and only one
 56149  	//           case is actually present.
 56150  
 56151  	pp1 = uintptr(0)
 56152  	pp2 = uintptr(0)
 56153  	searchlength = Tsize_t((int32(end_subject) - int32(start_match)) / 1)
 56154  
 56155  	// If we haven't got a previously found position for first_cu, or if
 56156  	//           the current starting position is later, we need to do a search. If
 56157  	//           the code unit is not found, set it to the end.
 56158  
 56159  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 56160  		goto __79
 56161  	}
 56162  
 56163  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 56164  	if pp1 == uintptr(0) {
 56165  		memchr_found_first_cu = end_subject
 56166  	} else {
 56167  		memchr_found_first_cu = pp1
 56168  	}
 56169  	goto __80
 56170  __79:
 56171  	if memchr_found_first_cu == end_subject {
 56172  		pp1 = uintptr(0)
 56173  	} else {
 56174  		pp1 = memchr_found_first_cu
 56175  	}
 56176  __80:
 56177  	;
 56178  
 56179  	// Do the same thing for the other case.
 56180  
 56181  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 56182  		goto __81
 56183  	}
 56184  
 56185  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 56186  	if pp2 == uintptr(0) {
 56187  		memchr_found_first_cu2 = end_subject
 56188  	} else {
 56189  		memchr_found_first_cu2 = pp2
 56190  	}
 56191  	goto __82
 56192  __81:
 56193  	if memchr_found_first_cu2 == end_subject {
 56194  		pp2 = uintptr(0)
 56195  	} else {
 56196  		pp2 = memchr_found_first_cu2
 56197  	}
 56198  __82:
 56199  	;
 56200  
 56201  	// Set the start to the end of the subject if neither case was found.
 56202  	//           Otherwise, use the earlier found point.
 56203  
 56204  	if !(pp1 == uintptr(0)) {
 56205  		goto __83
 56206  	}
 56207  	if pp2 == uintptr(0) {
 56208  		start_match = end_subject
 56209  	} else {
 56210  		start_match = pp2
 56211  	}
 56212  	goto __84
 56213  __83:
 56214  	if pp2 == uintptr(0) || pp1 < pp2 {
 56215  		start_match = pp1
 56216  	} else {
 56217  		start_match = pp2
 56218  	}
 56219  __84:
 56220  	;
 56221  
 56222  	goto __78
 56223  __77:
 56224  
 56225  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint32((int32(end_subject)-int32(start_match))/1))
 56226  	if !(start_match == uintptr(0)) {
 56227  		goto __85
 56228  	}
 56229  	start_match = end_subject
 56230  __85:
 56231  	;
 56232  __78:
 56233  	;
 56234  
 56235  	// If we can't find the required first code unit, having reached the
 56236  	//         true end of the subject, break the bumpalong loop, to force a match
 56237  	//         failure, except when doing partial matching, when we let the next cycle
 56238  	//         run at the end of the subject. To see why, consider the pattern
 56239  	//         /(?<=abc)def/, which partially matches "abc", even though the string
 56240  	//         does not contain the starting character "d". If we have not reached the
 56241  	//         true end of the subject (PCRE2_FIRSTLINE caused end_subject to be
 56242  	//         temporarily modified) we also let the cycle run, because the matching
 56243  	//         string is legitimately allowed to start with the first code unit of a
 56244  	//         newline.
 56245  
 56246  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56247  		goto __86
 56248  	}
 56249  
 56250  	rc = DMATCH_NOMATCH
 56251  	goto __58
 56252  __86:
 56253  	;
 56254  	goto __76
 56255  __75:
 56256  	if !(startline != 0) {
 56257  		goto __87
 56258  	}
 56259  
 56260  	if !(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 56261  		goto __89
 56262  	}
 56263  
 56264  	if !(utf != 0) {
 56265  		goto __90
 56266  	}
 56267  
 56268  __92:
 56269  	if !(start_match < end_subject && !(func() int32 {
 56270  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56271  			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+156, utf) != 0)
 56272  		}
 56273  		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 + 160))) && ((*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 + 160 + 1)))))
 56274  	}() != 0)) {
 56275  		goto __93
 56276  	}
 56277  
 56278  	start_match++
 56279  __94:
 56280  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56281  		goto __95
 56282  	}
 56283  	start_match++
 56284  	goto __94
 56285  __95:
 56286  	;
 56287  	goto __92
 56288  __93:
 56289  	;
 56290  	goto __91
 56291  __90:
 56292  __96:
 56293  	if !(start_match < end_subject && !(func() int32 {
 56294  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56295  			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+156, utf) != 0)
 56296  		}
 56297  		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 + 160))) && ((*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 + 160 + 1)))))
 56298  	}() != 0)) {
 56299  		goto __97
 56300  	}
 56301  	start_match++
 56302  	goto __96
 56303  __97:
 56304  	;
 56305  __91:
 56306  	;
 56307  
 56308  	// If we have just passed a CR and the newline option is ANY or
 56309  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 56310  	//           more code unit.
 56311  
 56312  	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') {
 56313  		goto __98
 56314  	}
 56315  	start_match++
 56316  __98:
 56317  	;
 56318  __89:
 56319  	;
 56320  	goto __88
 56321  __87:
 56322  	if !(start_bits != uintptr(0)) {
 56323  		goto __99
 56324  	}
 56325  
 56326  __100:
 56327  	if !(start_match < end_subject) {
 56328  		goto __101
 56329  	}
 56330  
 56331  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 56332  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 56333  		goto __102
 56334  	}
 56335  	goto __101
 56336  __102:
 56337  	;
 56338  	start_match++
 56339  	goto __100
 56340  __101:
 56341  	;
 56342  
 56343  	// See comment above in first_cu checking about the next few lines.
 56344  
 56345  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56346  		goto __103
 56347  	}
 56348  
 56349  	rc = DMATCH_NOMATCH
 56350  	goto __58
 56351  __103:
 56352  	;
 56353  __99:
 56354  	;
 56355  __88:
 56356  	;
 56357  __76:
 56358  	;
 56359  __70:
 56360  	; // End first code unit handling
 56361  
 56362  	// Restore fudged end_subject
 56363  
 56364  	end_subject = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 56365  
 56366  	// The following two optimizations must be disabled for partial matching.
 56367  
 56368  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0) {
 56369  		goto __104
 56370  	}
 56371  
 56372  	// The minimum matching length is a lower bound; no string of that length
 56373  	//       may actually match the pattern. Although the value is, strictly, in
 56374  	//       characters, we treat it as code units to avoid spending too much time in
 56375  	//       this optimization.
 56376  
 56377  	if !((int32(end_subject)-int32(start_match))/1 < int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 56378  		goto __105
 56379  	}
 56380  
 56381  	rc = DMATCH_NOMATCH
 56382  	goto __58
 56383  __105:
 56384  	;
 56385  
 56386  	// If req_cu is set, we know that that code unit must appear in the
 56387  	//       subject for the (non-partial) match to succeed. If the first code unit is
 56388  	//       set, req_cu must be later in the subject; otherwise the test starts at
 56389  	//       the match point. This optimization can save a huge amount of backtracking
 56390  	//       in patterns with nested unlimited repeats that aren't going to match.
 56391  	//       Writing separate code for caseful/caseless versions makes it go faster,
 56392  	//       as does using an autoincrement and backing off on a match. As in the case
 56393  	//       of the first code unit, using memchr() in the 8-bit library gives a big
 56394  	//       speed up. Unlike the first_cu check above, we do not need to call
 56395  	//       memchr() twice in the caseless case because we only need to check for the
 56396  	//       presence of the character in either case, not find the first occurrence.
 56397  	//
 56398  	//       The search can be skipped if the code unit was found later than the
 56399  	//       current starting point in a previous iteration of the bumpalong loop.
 56400  	//
 56401  	//       HOWEVER: when the subject string is very, very long, searching to its end
 56402  	//       can take a long time, and give bad performance on quite ordinary
 56403  	//       anchored patterns. This showed up when somebody was matching something
 56404  	//       like /^\d+C/ on a 32-megabyte string... so we don't do this when the
 56405  	//       string is sufficiently long, but it's worth searching a lot more for
 56406  	//       unanchored patterns.
 56407  
 56408  	p = start_match + uintptr(func() int32 {
 56409  		if has_first_cu != 0 {
 56410  			return 1
 56411  		}
 56412  		return 0
 56413  	}())
 56414  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 56415  		goto __106
 56416  	}
 56417  
 56418  	check_length = Tsize_t((int32(end_subject) - int32(start_match)) / 1)
 56419  
 56420  	if !(check_length < Tsize_t(DREQ_CU_MAX) || !(anchored != 0) && check_length < Tsize_t(DREQ_CU_MAX*1000)) {
 56421  		goto __107
 56422  	}
 56423  
 56424  	if !(int32(req_cu) != int32(req_cu2)) {
 56425  		goto __108
 56426  	} /* Caseless */
 56427  
 56428  	pp = p
 56429  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint32((int32(end_subject)-int32(pp))/1))
 56430  	if !(p == uintptr(0)) {
 56431  		goto __110
 56432  	}
 56433  
 56434  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint32((int32(end_subject)-int32(pp))/1))
 56435  	if !(p == uintptr(0)) {
 56436  		goto __111
 56437  	}
 56438  	p = end_subject
 56439  __111:
 56440  	;
 56441  __110:
 56442  	;
 56443  	goto __109
 56444  __108:
 56445  
 56446  	p = libc.Xmemchr(tls, p, int32(req_cu), uint32((int32(end_subject)-int32(p))/1))
 56447  	if !(p == uintptr(0)) {
 56448  		goto __112
 56449  	}
 56450  	p = end_subject
 56451  __112:
 56452  	;
 56453  __109:
 56454  	;
 56455  
 56456  	// If we can't find the required code unit, break the bumpalong loop,
 56457  	//           forcing a match failure.
 56458  
 56459  	if !(p >= end_subject) {
 56460  		goto __113
 56461  	}
 56462  
 56463  	rc = DMATCH_NOMATCH
 56464  	goto __58
 56465  __113:
 56466  	;
 56467  
 56468  	// If we have found the required code unit, save the point where we
 56469  	//           found it, so that we don't search again next time round the bumpalong
 56470  	//           loop if the start hasn't yet passed this code unit.
 56471  
 56472  	req_cu_ptr = p
 56473  __107:
 56474  	;
 56475  __106:
 56476  	;
 56477  __104:
 56478  	;
 56479  __59:
 56480  	;
 56481  
 56482  	// ------------ End of start of match optimizations ------------
 56483  
 56484  	// Give no match if we have passed the bumpalong limit.
 56485  
 56486  	if !(start_match > bumpalong_limit) {
 56487  		goto __114
 56488  	}
 56489  
 56490  	rc = DMATCH_NOMATCH
 56491  	goto __58
 56492  __114:
 56493  	;
 56494  
 56495  	// OK, we can now run the match. If "hitend" is set afterwards, remember the
 56496  	//   first starting point for which a partial match was found.
 56497  
 56498  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20656 /* &cb */)).Fstart_match = Tsize_t((int32(start_match) - int32(subject)) / 1)
 56499  	*(*Tuint32_t)(unsafe.Pointer(bp + 20656 + 60)) |= DPCRE2_CALLOUT_STARTMATCH
 56500  
 56501  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 56502  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 56503  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions = options | fragment_options
 56504  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 56505  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = Tsize_t(0)
 56506  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count = Tuint32_t(0)
 56507  
 56508  	rc = match(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code, match_data+44,
 56509  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket, frame_size, mb)
 56510  
 56511  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend != 0 && start_partial == uintptr(0)) {
 56512  		goto __115
 56513  	}
 56514  
 56515  	start_partial = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr
 56516  	match_partial = start_match
 56517  __115:
 56518  	;
 56519  
 56520  	switch rc {
 56521  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56522  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56523  	//     entirely. The only way we can do that is to re-do the match at the same
 56524  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56525  	//     treating this case as NOMATCH does not work because it does not check other
 56526  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56527  
 56528  	case -994:
 56529  		goto __117
 56530  
 56531  	// SKIP passes back the next starting point explicitly, but if it is no
 56532  	//     greater than the match we have just done, treat it as NOMATCH.
 56533  
 56534  	case -995:
 56535  		goto __118
 56536  	// Fall through
 56537  
 56538  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56539  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56540  
 56541  	case DMATCH_NOMATCH:
 56542  		goto __119
 56543  	case -996:
 56544  		goto __120
 56545  	case -993:
 56546  		goto __121
 56547  
 56548  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56549  
 56550  	case -997:
 56551  		goto __122
 56552  
 56553  	// Any other return is either a match, or some kind of error.
 56554  
 56555  	default:
 56556  		goto __123
 56557  	}
 56558  	goto __116
 56559  
 56560  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56561  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56562  	//     entirely. The only way we can do that is to re-do the match at the same
 56563  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56564  	//     treating this case as NOMATCH does not work because it does not check other
 56565  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56566  
 56567  __117:
 56568  	new_start_match = start_match
 56569  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count
 56570  	goto __116
 56571  
 56572  	// SKIP passes back the next starting point explicitly, but if it is no
 56573  	//     greater than the match we have just done, treat it as NOMATCH.
 56574  
 56575  __118:
 56576  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr > start_match) {
 56577  		goto __124
 56578  	}
 56579  
 56580  	new_start_match = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr
 56581  	goto __116
 56582  __124:
 56583  	;
 56584  	// Fall through
 56585  
 56586  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56587  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56588  
 56589  __119:
 56590  __120:
 56591  __121:
 56592  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 56593  	new_start_match = start_match + uintptr(1)
 56594  	if !(utf != 0) {
 56595  		goto __125
 56596  	}
 56597  __126:
 56598  	if !(new_start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(new_start_match)))&0xc0 == 0x80) {
 56599  		goto __127
 56600  	}
 56601  	new_start_match++
 56602  	goto __126
 56603  __127:
 56604  	;
 56605  __125:
 56606  	;
 56607  	goto __116
 56608  
 56609  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56610  
 56611  __122:
 56612  	rc = DMATCH_NOMATCH
 56613  	goto ENDLOOP
 56614  
 56615  	// Any other return is either a match, or some kind of error.
 56616  
 56617  __123:
 56618  	goto ENDLOOP
 56619  __116:
 56620  	;
 56621  
 56622  	// Control reaches here for the various types of "no match at this point"
 56623  	//   result. Reset the code to MATCH_NOMATCH for subsequent checking.
 56624  
 56625  	rc = DMATCH_NOMATCH
 56626  
 56627  	// If PCRE2_FIRSTLINE is set, the match must happen before or at the first
 56628  	//   newline in the subject (though it may continue over the newline). Therefore,
 56629  	//   if we have just failed to match, starting at a newline, do not continue.
 56630  
 56631  	if !(firstline != 0 && func() int32 {
 56632  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56633  			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+156, utf) != 0)
 56634  		}
 56635  		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 + 160))) && ((*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 + 160 + 1)))))
 56636  	}() != 0) {
 56637  		goto __128
 56638  	}
 56639  	goto __58
 56640  __128:
 56641  	;
 56642  
 56643  	// Advance to new matching position
 56644  
 56645  	start_match = new_start_match
 56646  
 56647  	// Break the loop if the pattern is anchored or if we have passed the end of
 56648  	//   the subject.
 56649  
 56650  	if !(anchored != 0 || start_match > end_subject) {
 56651  		goto __129
 56652  	}
 56653  	goto __58
 56654  __129:
 56655  	;
 56656  
 56657  	// If we have just passed a CR and we are now at a LF, and the pattern does
 56658  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 56659  	//   or ANY or ANYCRLF, advance the match position by one more code unit. In
 56660  	//   normal matching start_match will aways be greater than the first position at
 56661  	//   this stage, but a failed *SKIP can cause a return at the same point, which is
 56662  	//   why the first test exists.
 56663  
 56664  	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))) {
 56665  		goto __130
 56666  	}
 56667  	start_match++
 56668  __130:
 56669  	;
 56670  
 56671  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = uintptr(0) // Reset for start of next match attempt
 56672  	goto __57
 56673  __57:
 56674  	goto __56
 56675  	goto __58
 56676  __58:
 56677  	; // End of for(;;) "bumpalong" loop
 56678  
 56679  	// ==========================================================================
 56680  
 56681  	// When we reach here, one of the following stopping conditions is true:
 56682  	//
 56683  	// (1) The match succeeded, either completely, or partially;
 56684  	//
 56685  	// (2) The pattern is anchored or the match was failed after (*COMMIT);
 56686  	//
 56687  	// (3) We are past the end of the subject or the bumpalong limit;
 56688  	//
 56689  	// (4) PCRE2_FIRSTLINE is set and we have failed to match at a newline, because
 56690  	//     this option requests that a match occur at or before the first newline in
 56691  	//     the subject.
 56692  	//
 56693  	// (5) Some kind of error occurred.
 56694  	//
 56695  
 56696  ENDLOOP:
 56697  
 56698  	// If end_subject != true_end_subject, it means we are handling invalid UTF,
 56699  	// and have just processed a non-terminal fragment. If this resulted in no match
 56700  	// or a partial match we must carry on to the next fragment (a partial match is
 56701  	// returned to the caller only at the very end of the subject). A loop is used to
 56702  	// avoid trying to match against empty fragments; if the pattern can match an
 56703  	// empty string it would have done so already.
 56704  
 56705  	if !(utf != 0 && end_subject != true_end_subject && (rc == DMATCH_NOMATCH || rc == -2)) {
 56706  		goto __131
 56707  	}
 56708  
 56709  __132:
 56710  
 56711  	// Advance past the first bad code unit, and then skip invalid character
 56712  	//     starting code units in 8-bit and 16-bit modes.
 56713  
 56714  	start_match = end_subject + uintptr(1)
 56715  
 56716  __135:
 56717  	if !(start_match < true_end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56718  		goto __136
 56719  	}
 56720  	start_match++
 56721  	goto __135
 56722  __136:
 56723  	;
 56724  
 56725  	// If we have hit the end of the subject, there isn't another non-empty
 56726  	//     fragment, so give up.
 56727  
 56728  	if !(start_match >= true_end_subject) {
 56729  		goto __137
 56730  	}
 56731  
 56732  	rc = DMATCH_NOMATCH // In case it was partial
 56733  	goto __134
 56734  __137:
 56735  	;
 56736  
 56737  	// Check the rest of the subject
 56738  
 56739  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 56740  	rc = X_pcre2_valid_utf_8(tls, start_match, length-Tsize_t((int32(start_match)-int32(subject))/1),
 56741  		match_data+32)
 56742  
 56743  	// The rest of the subject is valid UTF.
 56744  
 56745  	if !(rc == 0) {
 56746  		goto __138
 56747  	}
 56748  
 56749  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, true_end_subject)
 56750  	fragment_options = DPCRE2_NOTBOL
 56751  	goto FRAGMENT_RESTART
 56752  	goto __139
 56753  __138:
 56754  	if !(rc < 0) {
 56755  		goto __140
 56756  	}
 56757  
 56758  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, start_match+uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar))
 56759  	if !(end_subject > start_match) {
 56760  		goto __141
 56761  	}
 56762  
 56763  	fragment_options = DPCRE2_NOTBOL | DPCRE2_NOTEOL
 56764  	goto FRAGMENT_RESTART
 56765  __141:
 56766  	;
 56767  __140:
 56768  	;
 56769  __139:
 56770  	;
 56771  	goto __133
 56772  __133:
 56773  	goto __132
 56774  	goto __134
 56775  __134:
 56776  	;
 56777  __131:
 56778  	;
 56779  
 56780  	// Release an enlarged frame vector that is on the heap.
 56781  
 56782  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 56783  		goto __142
 56784  	}
 56785  	(*struct {
 56786  		f func(*libc.TLS, uintptr, uintptr)
 56787  	})(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)
 56788  __142:
 56789  	;
 56790  
 56791  	// Fill in fields that are always returned in the match data.
 56792  
 56793  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 56794  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark
 56795  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_INTERPRETER
 56796  
 56797  	// Handle a fully successful match. Set the return code to the number of
 56798  	// captured strings, or 0 if there were too many to fit into the ovector, and then
 56799  	// set the remaining returned values before returning. Make a copy of the subject
 56800  	// string if requested.
 56801  
 56802  	if !(rc == DMATCH_MATCH) {
 56803  		goto __143
 56804  	}
 56805  
 56806  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = func() int32 {
 56807  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top) >= 2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 56808  			return 0
 56809  		}
 56810  		return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top)/2 + 1
 56811  	}()
 56812  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int32(start_match) - int32(subject)) / 1)
 56813  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int32(subject)) / 1)
 56814  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((func() int32 {
 56815  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr {
 56816  			return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr)
 56817  		}
 56818  		return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr)
 56819  	}() - int32(subject)) / 1)
 56820  	if !(options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 56821  		goto __144
 56822  	}
 56823  
 56824  	length = (length + Tsize_t(was_zero_terminated)) * Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)
 56825  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 56826  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 56827  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 56828  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56829  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 56830  		goto __146
 56831  	}
 56832  	return -48
 56833  __146:
 56834  	;
 56835  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 56836  	*(*Tuint8_t)(unsafe.Pointer(match_data + 37)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 56837  	goto __145
 56838  __144:
 56839  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56840  __145:
 56841  	;
 56842  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56843  __143:
 56844  	;
 56845  
 56846  	// Control gets here if there has been a partial match, an error, or if the
 56847  	// overall match attempt has failed at all permitted starting positions. Any mark
 56848  	// data is in the nomatch_mark field.
 56849  
 56850  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 56851  
 56852  	// For anything other than nomatch or partial match, just return the code.
 56853  
 56854  	if !(rc != DMATCH_NOMATCH && rc != -2) {
 56855  		goto __147
 56856  	}
 56857  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 56858  	goto __148
 56859  __147:
 56860  	if !(match_partial != uintptr(0)) {
 56861  		goto __149
 56862  	}
 56863  
 56864  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56865  	*(*Tsize_t)(unsafe.Pointer(match_data + 44)) = Tsize_t((int32(match_partial) - int32(subject)) / 1)
 56866  	*(*Tsize_t)(unsafe.Pointer(match_data + 44 + 1*4)) = Tsize_t((int32(end_subject) - int32(subject)) / 1)
 56867  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int32(match_partial) - int32(subject)) / 1)
 56868  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int32(start_partial) - int32(subject)) / 1)
 56869  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int32(end_subject) - int32(subject)) / 1)
 56870  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -2
 56871  	goto __150
 56872  __149:
 56873  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -1
 56874  __150:
 56875  	;
 56876  __148:
 56877  	;
 56878  
 56879  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56880  }
 56881  
 56882  // End of pcre2_match.c
 56883  
 56884  // This function is needed only when memmove() is not available.
 56885  
 56886  // End of pcre2_internal.h
 56887  
 56888  // ************************************************
 56889  //
 56890  //  Create a match data block given ovector size  *
 56891  //
 56892  
 56893  // A minimum of 1 is imposed on the number of ovector pairs.
 56894  
 56895  func Xpcre2_match_data_create_8(tls *libc.TLS, oveccount Tuint32_t, gcontext uintptr) uintptr { /* pcre2_match_data.c:56:33: */
 56896  	var yield uintptr
 56897  	if oveccount < Tuint32_t(1) {
 56898  		oveccount = Tuint32_t(1)
 56899  	}
 56900  	yield = X_pcre2_memctl_malloc_8(tls,
 56901  		uint32(uintptr(0)+44)+uint32(Tuint32_t(2)*oveccount)*uint32(unsafe.Sizeof(Tsize_t(0))),
 56902  		gcontext)
 56903  	if yield == uintptr(0) {
 56904  		return uintptr(0)
 56905  	}
 56906  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Foveccount = Tuint16_t(oveccount)
 56907  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Fflags = Tuint8_t(0)
 56908  	return yield
 56909  }
 56910  
 56911  // ************************************************
 56912  //
 56913  //  Create a match data block using pattern data  *
 56914  //
 56915  
 56916  // If no context is supplied, use the memory allocator from the code.
 56917  
 56918  func Xpcre2_match_data_create_from_pattern_8(tls *libc.TLS, code uintptr, gcontext uintptr) uintptr { /* pcre2_match_data.c:78:33: */
 56919  	if gcontext == uintptr(0) {
 56920  		gcontext = code
 56921  	}
 56922  	return Xpcre2_match_data_create_8(tls, uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1),
 56923  		gcontext)
 56924  }
 56925  
 56926  // ************************************************
 56927  //
 56928  //            Free a match data block             *
 56929  //
 56930  
 56931  func Xpcre2_match_data_free_8(tls *libc.TLS, match_data uintptr) { /* pcre2_match_data.c:94:1: */
 56932  	if match_data != uintptr(0) {
 56933  		if uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0) {
 56934  			(*struct {
 56935  				f func(*libc.TLS, uintptr, uintptr)
 56936  			})(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,
 56937  				(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56938  		}
 56939  		(*struct {
 56940  			f func(*libc.TLS, uintptr, uintptr)
 56941  		})(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)
 56942  	}
 56943  }
 56944  
 56945  // ************************************************
 56946  //
 56947  //         Get last mark in match                 *
 56948  //
 56949  
 56950  func Xpcre2_get_mark_8(tls *libc.TLS, match_data uintptr) TPCRE2_SPTR8 { /* pcre2_match_data.c:112:1: */
 56951  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark
 56952  }
 56953  
 56954  // ************************************************
 56955  //
 56956  //          Get pointer to ovector                *
 56957  //
 56958  
 56959  func Xpcre2_get_ovector_pointer_8(tls *libc.TLS, match_data uintptr) uintptr { /* pcre2_match_data.c:123:27: */
 56960  	return match_data + 44 /* &.ovector */
 56961  }
 56962  
 56963  // ************************************************
 56964  //
 56965  //          Get number of ovector slots           *
 56966  //
 56967  
 56968  func Xpcre2_get_ovector_count_8(tls *libc.TLS, match_data uintptr) Tuint32_t { /* pcre2_match_data.c:136:1: */
 56969  	return Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 56970  }
 56971  
 56972  // ************************************************
 56973  //
 56974  //         Get starting code unit in match        *
 56975  //
 56976  
 56977  func Xpcre2_get_startchar_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:148:1: */
 56978  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar
 56979  }
 56980  
 56981  // ************************************************
 56982  //
 56983  //         Get size of match data block           *
 56984  //
 56985  
 56986  func Xpcre2_get_match_data_size_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:160:1: */
 56987  	return uint32(uintptr(0)+44) + uint32(2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount))*uint32(unsafe.Sizeof(Tsize_t(0)))
 56988  }
 56989  
 56990  // End of pcre2_match_data.c
 56991  
 56992  // This function is needed only when memmove() is not available.
 56993  
 56994  // End of pcre2_internal.h
 56995  
 56996  // ************************************************
 56997  //
 56998  //      Check for newline at given position       *
 56999  //
 57000  
 57001  // This function is called only via the IS_NEWLINE macro, which does so only
 57002  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57003  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the code unit
 57004  // pointed to by ptr is less than the end of the string.
 57005  //
 57006  // Arguments:
 57007  //   ptr          pointer to possible newline
 57008  //   type         the newline type
 57009  //   endptr       pointer to the end of the string
 57010  //   lenptr       where to return the length
 57011  //   utf          TRUE if in utf mode
 57012  //
 57013  // Returns:       TRUE or FALSE
 57014  
 57015  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: */
 57016  	var c Tuint32_t
 57017  
 57018  	if utf != 0 {
 57019  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57020  		if c >= 0xc0 {
 57021  			if c&0x20 == Tuint32_t(0) {
 57022  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57023  			} else if c&0x10 == Tuint32_t(0) {
 57024  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57025  			} else if c&0x08 == Tuint32_t(0) {
 57026  				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
 57027  			} else if c&0x04 == Tuint32_t(0) {
 57028  				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
 57029  			} else {
 57030  				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
 57031  			}
 57032  		}
 57033  
 57034  	} else {
 57035  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57036  	}
 57037  
 57038  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57039  		switch c {
 57040  		case Tuint32_t('\012'):
 57041  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57042  			return DTRUE
 57043  			fallthrough
 57044  
 57045  		case Tuint32_t('\015'):
 57046  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57047  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57048  					return uint32(2)
 57049  				}
 57050  				return uint32(1)
 57051  			}()
 57052  			return DTRUE
 57053  			fallthrough
 57054  
 57055  		default:
 57056  			return DFALSE
 57057  		}
 57058  	} else {
 57059  		switch c {
 57060  		case Tuint32_t('\012'):
 57061  			fallthrough
 57062  		case Tuint32_t('\013'):
 57063  			fallthrough
 57064  		case Tuint32_t('\014'):
 57065  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57066  			return DTRUE
 57067  			fallthrough
 57068  
 57069  		case Tuint32_t('\015'):
 57070  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57071  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57072  					return uint32(2)
 57073  				}
 57074  				return uint32(1)
 57075  			}()
 57076  			return DTRUE
 57077  			fallthrough
 57078  
 57079  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 57080  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57081  				if utf != 0 {
 57082  					return uint32(2)
 57083  				}
 57084  				return uint32(1)
 57085  			}()
 57086  			return DTRUE
 57087  			fallthrough
 57088  
 57089  		case Tuint32_t(0x2028):
 57090  			fallthrough // LS
 57091  		case Tuint32_t(0x2029): // PS
 57092  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57093  			return DTRUE
 57094  			fallthrough
 57095  
 57096  		default:
 57097  			return DFALSE
 57098  		}
 57099  	}
 57100  	return TBOOL(0)
 57101  }
 57102  
 57103  // ************************************************
 57104  //
 57105  //     Check for newline at previous position     *
 57106  //
 57107  
 57108  // This function is called only via the WAS_NEWLINE macro, which does so only
 57109  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57110  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the initial
 57111  // value of ptr is greater than the start of the string that is being processed.
 57112  //
 57113  // Arguments:
 57114  //   ptr          pointer to possible newline
 57115  //   type         the newline type
 57116  //   startptr     pointer to the start of the string
 57117  //   lenptr       where to return the length
 57118  //   utf          TRUE if in utf mode
 57119  //
 57120  // Returns:       TRUE or FALSE
 57121  
 57122  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: */
 57123  	var c Tuint32_t
 57124  	ptr--
 57125  
 57126  	if utf != 0 {
 57127  		for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80 {
 57128  			ptr--
 57129  		}
 57130  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57131  		if c >= 0xc0 {
 57132  			if c&0x20 == Tuint32_t(0) {
 57133  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57134  			} else if c&0x10 == Tuint32_t(0) {
 57135  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57136  			} else if c&0x08 == Tuint32_t(0) {
 57137  				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
 57138  			} else if c&0x04 == Tuint32_t(0) {
 57139  				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
 57140  			} else {
 57141  				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
 57142  			}
 57143  		}
 57144  
 57145  	} else {
 57146  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57147  	}
 57148  
 57149  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57150  		switch c {
 57151  		case Tuint32_t('\012'):
 57152  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57153  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57154  					return uint32(2)
 57155  				}
 57156  				return uint32(1)
 57157  			}()
 57158  			return DTRUE
 57159  			fallthrough
 57160  
 57161  		case Tuint32_t('\015'):
 57162  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57163  			return DTRUE
 57164  			fallthrough
 57165  
 57166  		default:
 57167  			return DFALSE
 57168  		}
 57169  	} else {
 57170  		switch c {
 57171  		case Tuint32_t('\012'):
 57172  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57173  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57174  					return uint32(2)
 57175  				}
 57176  				return uint32(1)
 57177  			}()
 57178  			return DTRUE
 57179  			fallthrough
 57180  
 57181  		case Tuint32_t('\013'):
 57182  			fallthrough
 57183  		case Tuint32_t('\014'):
 57184  			fallthrough
 57185  		case Tuint32_t('\015'):
 57186  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57187  			return DTRUE
 57188  			fallthrough
 57189  
 57190  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 57191  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57192  				if utf != 0 {
 57193  					return uint32(2)
 57194  				}
 57195  				return uint32(1)
 57196  			}()
 57197  			return DTRUE
 57198  			fallthrough
 57199  
 57200  		case Tuint32_t(0x2028):
 57201  			fallthrough // LS
 57202  		case Tuint32_t(0x2029): // PS
 57203  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57204  			return DTRUE
 57205  			fallthrough
 57206  
 57207  		default:
 57208  			return DFALSE
 57209  		}
 57210  	}
 57211  	return TBOOL(0)
 57212  }
 57213  
 57214  // End of pcre2_newline.c
 57215  
 57216  // This function is needed only when memmove() is not available.
 57217  
 57218  // End of pcre2_internal.h
 57219  
 57220  // If SUPPORT_UNICODE is not defined, this function will never be called.
 57221  // Supply a dummy function because some compilers do not like empty source
 57222  // modules.
 57223  
 57224  // ************************************************
 57225  //
 57226  //          Convert code point to UTF             *
 57227  //
 57228  
 57229  //
 57230  // Arguments:
 57231  //   cvalue     the character value
 57232  //   buffer     pointer to buffer for result
 57233  //
 57234  // Returns:     number of code units placed in the buffer
 57235  
 57236  func X_pcre2_ord2utf_8(tls *libc.TLS, cvalue Tuint32_t, buffer uintptr) uint32 { /* pcre2_ord2utf.c:81:1: */
 57237  	// Convert to UTF-8
 57238  
 57239  	var i int32
 57240  	var j int32
 57241  	for i = 0; i < X_pcre2_utf8_table1_size; i++ {
 57242  		if int32(cvalue) <= X_pcre2_utf8_table1[i] {
 57243  			break
 57244  		}
 57245  	}
 57246  	buffer += uintptr(i)
 57247  	for j = i; j > 0; j-- {
 57248  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&buffer, 1))) = TPCRE2_UCHAR8(Tuint32_t(0x80) | cvalue&Tuint32_t(0x3f))
 57249  		cvalue >>= 6
 57250  	}
 57251  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer)) = TPCRE2_UCHAR8(Tuint32_t(X_pcre2_utf8_table2[i]) | cvalue)
 57252  	return uint32(i + 1)
 57253  
 57254  	// Convert to UTF-16
 57255  
 57256  }
 57257  
 57258  // End of pcre_ord2utf.c
 57259  
 57260  // This function is needed only when memmove() is not available.
 57261  
 57262  // End of pcre2_internal.h
 57263  
 57264  // ************************************************
 57265  //
 57266  //        Return info about compiled pattern      *
 57267  //
 57268  
 57269  //
 57270  // Arguments:
 57271  //   code          points to compiled code
 57272  //   what          what information is required
 57273  //   where         where to put the information; if NULL, return length
 57274  //
 57275  // Returns:        0 when data returned
 57276  //                 > 0 when length requested
 57277  //                 < 0 on error or unset value
 57278  
 57279  func Xpcre2_pattern_info_8(tls *libc.TLS, code uintptr, what Tuint32_t, where uintptr) int32 { /* pcre2_pattern_info.c:65:1: */
 57280  	var re uintptr = code
 57281  
 57282  	if where == uintptr(0) {
 57283  		switch what {
 57284  		case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57285  			fallthrough
 57286  		case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57287  			fallthrough
 57288  		case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57289  			fallthrough
 57290  		case Tuint32_t(DPCRE2_INFO_BSR):
 57291  			fallthrough
 57292  		case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57293  			fallthrough
 57294  		case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57295  			fallthrough
 57296  		case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57297  			fallthrough
 57298  		case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57299  			fallthrough
 57300  		case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57301  			fallthrough
 57302  		case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57303  			fallthrough
 57304  		case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57305  			fallthrough
 57306  		case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57307  			fallthrough
 57308  		case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57309  			fallthrough
 57310  		case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57311  			fallthrough
 57312  		case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57313  			fallthrough
 57314  		case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57315  			fallthrough
 57316  		case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57317  			fallthrough
 57318  		case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57319  			fallthrough
 57320  		case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57321  			fallthrough
 57322  		case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57323  			fallthrough
 57324  		case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57325  			fallthrough
 57326  		case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57327  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 57328  			fallthrough
 57329  
 57330  		case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57331  			return int32(unsafe.Sizeof(uintptr(0)))
 57332  			fallthrough
 57333  
 57334  		case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57335  			fallthrough
 57336  		case Tuint32_t(DPCRE2_INFO_SIZE):
 57337  			fallthrough
 57338  		case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57339  			return int32(unsafe.Sizeof(Tsize_t(0)))
 57340  			fallthrough
 57341  
 57342  		case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57343  			return int32(unsafe.Sizeof(TPCRE2_SPTR8(0)))
 57344  		}
 57345  	}
 57346  
 57347  	if re == uintptr(0) {
 57348  		return -51
 57349  	}
 57350  
 57351  	// Check that the first field in the block is the magic number. If it is not,
 57352  	// return with PCRE2_ERROR_BADMAGIC.
 57353  
 57354  	if uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57355  		return -31
 57356  	}
 57357  
 57358  	// Check that this pattern was compiled in the correct bit mode
 57359  
 57360  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57361  		return -32
 57362  	}
 57363  
 57364  	switch what {
 57365  	case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57366  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 57367  		break
 57368  
 57369  	case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57370  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options
 57371  		break
 57372  
 57373  	case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57374  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref)
 57375  		break
 57376  
 57377  	case Tuint32_t(DPCRE2_INFO_BSR):
 57378  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention)
 57379  		break
 57380  
 57381  	case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57382  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)
 57383  		break
 57384  
 57385  	case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57386  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 57387  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth == 4294967295 {
 57388  			return -55
 57389  		}
 57390  		break
 57391  
 57392  	case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57393  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options
 57394  		break
 57395  
 57396  	case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57397  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57398  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57399  				return uint32(1)
 57400  			}
 57401  			return func() uint32 {
 57402  				if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0) {
 57403  					return uint32(2)
 57404  				}
 57405  				return uint32(0)
 57406  			}()
 57407  		}()
 57408  		break
 57409  
 57410  	case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57411  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57412  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57413  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit
 57414  			}
 57415  			return uint32(0)
 57416  		}()
 57417  		break
 57418  
 57419  	case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57420  		*(*uintptr)(unsafe.Pointer(where)) = func() uintptr {
 57421  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) {
 57422  				return re + 20
 57423  			}
 57424  			return uintptr(0)
 57425  		}()
 57426  		break
 57427  
 57428  	case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57429  		*(*Tsize_t)(unsafe.Pointer(where)) = uint32(uintptr(0)+84) + uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint32(unsafe.Sizeof(Tsize_t(0)))
 57430  		break
 57431  
 57432  	case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57433  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASBKC) != Tuint32_t(0)))
 57434  		break
 57435  
 57436  	case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57437  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) != Tuint32_t(0)))
 57438  		break
 57439  
 57440  	case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57441  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap
 57442  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap == 4294967295 {
 57443  			return -55
 57444  		}
 57445  		break
 57446  
 57447  	case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57448  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_JCHANGED) != Tuint32_t(0)))
 57449  		break
 57450  
 57451  	case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57452  		*(*Tsize_t)(unsafe.Pointer(where)) = Tsize_t(0)
 57453  		break
 57454  
 57455  	case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57456  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57457  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57458  				return uint32(1)
 57459  			}
 57460  			return uint32(0)
 57461  		}()
 57462  		break
 57463  
 57464  	case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57465  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57466  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57467  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit
 57468  			}
 57469  			return uint32(0)
 57470  		}()
 57471  		break
 57472  
 57473  	case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57474  		*(*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)))
 57475  		break
 57476  
 57477  	case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57478  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 57479  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match == 4294967295 {
 57480  			return -55
 57481  		}
 57482  		break
 57483  
 57484  	case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57485  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 57486  		break
 57487  
 57488  	case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57489  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)
 57490  		break
 57491  
 57492  	case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57493  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 57494  		break
 57495  
 57496  	case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57497  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)
 57498  		break
 57499  
 57500  	case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57501  		*(*TPCRE2_SPTR8)(unsafe.Pointer(where)) = re + uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{})))
 57502  		break
 57503  
 57504  	case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57505  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention)
 57506  		break
 57507  
 57508  	case Tuint32_t(DPCRE2_INFO_SIZE):
 57509  		*(*Tsize_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 57510  		break
 57511  
 57512  	default:
 57513  		return -34
 57514  	}
 57515  
 57516  	return 0
 57517  }
 57518  
 57519  // ************************************************
 57520  //
 57521  //              Callout enumerator                *
 57522  //
 57523  
 57524  //
 57525  // Arguments:
 57526  //   code          points to compiled code
 57527  //   callback      function called for each callout block
 57528  //   callout_data  user data passed to the callback
 57529  //
 57530  // Returns:        0 when successfully completed
 57531  //                 < 0 on local error
 57532  //                != 0 for callback error
 57533  
 57534  func Xpcre2_callout_enumerate_8(tls *libc.TLS, code uintptr, callback uintptr, callout_data uintptr) int32 { /* pcre2_pattern_info.c:268:1: */
 57535  	bp := tls.Alloc(28)
 57536  	defer tls.Free(28)
 57537  
 57538  	var re uintptr = code
 57539  	// var cb Tpcre2_callout_enumerate_block_8 at bp, 28
 57540  
 57541  	var cc TPCRE2_SPTR8
 57542  	var utf TBOOL
 57543  
 57544  	if re == uintptr(0) {
 57545  		return -51
 57546  	}
 57547  
 57548  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 57549  
 57550  	// Check that the first field in the block is the magic number. If it is not,
 57551  	// return with PCRE2_ERROR_BADMAGIC.
 57552  
 57553  	if uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57554  		return -31
 57555  	}
 57556  
 57557  	// Check that this pattern was compiled in the correct bit mode
 57558  
 57559  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57560  		return -32
 57561  	}
 57562  
 57563  	(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fversion = Tuint32_t(0)
 57564  	cc = re + uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{}))) +
 57565  		uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 57566  
 57567  	for 1 != 0 {
 57568  		var rc int32
 57569  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 57570  		case OP_END:
 57571  			return 0
 57572  
 57573  		case OP_CHAR:
 57574  			fallthrough
 57575  		case OP_CHARI:
 57576  			fallthrough
 57577  		case OP_NOT:
 57578  			fallthrough
 57579  		case OP_NOTI:
 57580  			fallthrough
 57581  		case OP_STAR:
 57582  			fallthrough
 57583  		case OP_MINSTAR:
 57584  			fallthrough
 57585  		case OP_PLUS:
 57586  			fallthrough
 57587  		case OP_MINPLUS:
 57588  			fallthrough
 57589  		case OP_QUERY:
 57590  			fallthrough
 57591  		case OP_MINQUERY:
 57592  			fallthrough
 57593  		case OP_UPTO:
 57594  			fallthrough
 57595  		case OP_MINUPTO:
 57596  			fallthrough
 57597  		case OP_EXACT:
 57598  			fallthrough
 57599  		case OP_POSSTAR:
 57600  			fallthrough
 57601  		case OP_POSPLUS:
 57602  			fallthrough
 57603  		case OP_POSQUERY:
 57604  			fallthrough
 57605  		case OP_POSUPTO:
 57606  			fallthrough
 57607  		case OP_STARI:
 57608  			fallthrough
 57609  		case OP_MINSTARI:
 57610  			fallthrough
 57611  		case OP_PLUSI:
 57612  			fallthrough
 57613  		case OP_MINPLUSI:
 57614  			fallthrough
 57615  		case OP_QUERYI:
 57616  			fallthrough
 57617  		case OP_MINQUERYI:
 57618  			fallthrough
 57619  		case OP_UPTOI:
 57620  			fallthrough
 57621  		case OP_MINUPTOI:
 57622  			fallthrough
 57623  		case OP_EXACTI:
 57624  			fallthrough
 57625  		case OP_POSSTARI:
 57626  			fallthrough
 57627  		case OP_POSPLUSI:
 57628  			fallthrough
 57629  		case OP_POSQUERYI:
 57630  			fallthrough
 57631  		case OP_POSUPTOI:
 57632  			fallthrough
 57633  		case OP_NOTSTAR:
 57634  			fallthrough
 57635  		case OP_NOTMINSTAR:
 57636  			fallthrough
 57637  		case OP_NOTPLUS:
 57638  			fallthrough
 57639  		case OP_NOTMINPLUS:
 57640  			fallthrough
 57641  		case OP_NOTQUERY:
 57642  			fallthrough
 57643  		case OP_NOTMINQUERY:
 57644  			fallthrough
 57645  		case OP_NOTUPTO:
 57646  			fallthrough
 57647  		case OP_NOTMINUPTO:
 57648  			fallthrough
 57649  		case OP_NOTEXACT:
 57650  			fallthrough
 57651  		case OP_NOTPOSSTAR:
 57652  			fallthrough
 57653  		case OP_NOTPOSPLUS:
 57654  			fallthrough
 57655  		case OP_NOTPOSQUERY:
 57656  			fallthrough
 57657  		case OP_NOTPOSUPTO:
 57658  			fallthrough
 57659  		case OP_NOTSTARI:
 57660  			fallthrough
 57661  		case OP_NOTMINSTARI:
 57662  			fallthrough
 57663  		case OP_NOTPLUSI:
 57664  			fallthrough
 57665  		case OP_NOTMINPLUSI:
 57666  			fallthrough
 57667  		case OP_NOTQUERYI:
 57668  			fallthrough
 57669  		case OP_NOTMINQUERYI:
 57670  			fallthrough
 57671  		case OP_NOTUPTOI:
 57672  			fallthrough
 57673  		case OP_NOTMINUPTOI:
 57674  			fallthrough
 57675  		case OP_NOTEXACTI:
 57676  			fallthrough
 57677  		case OP_NOTPOSSTARI:
 57678  			fallthrough
 57679  		case OP_NOTPOSPLUSI:
 57680  			fallthrough
 57681  		case OP_NOTPOSQUERYI:
 57682  			fallthrough
 57683  		case OP_NOTPOSUPTOI:
 57684  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57685  			if utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 57686  				cc += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 57687  			}
 57688  			break
 57689  
 57690  		case OP_TYPESTAR:
 57691  			fallthrough
 57692  		case OP_TYPEMINSTAR:
 57693  			fallthrough
 57694  		case OP_TYPEPLUS:
 57695  			fallthrough
 57696  		case OP_TYPEMINPLUS:
 57697  			fallthrough
 57698  		case OP_TYPEQUERY:
 57699  			fallthrough
 57700  		case OP_TYPEMINQUERY:
 57701  			fallthrough
 57702  		case OP_TYPEUPTO:
 57703  			fallthrough
 57704  		case OP_TYPEMINUPTO:
 57705  			fallthrough
 57706  		case OP_TYPEEXACT:
 57707  			fallthrough
 57708  		case OP_TYPEPOSSTAR:
 57709  			fallthrough
 57710  		case OP_TYPEPOSPLUS:
 57711  			fallthrough
 57712  		case OP_TYPEPOSQUERY:
 57713  			fallthrough
 57714  		case OP_TYPEPOSUPTO:
 57715  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57716  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_NOTPROP {
 57717  				cc += uintptr(2)
 57718  			}
 57719  			break
 57720  
 57721  		case OP_XCLASS:
 57722  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57723  			break
 57724  
 57725  		case OP_MARK:
 57726  			fallthrough
 57727  		case OP_COMMIT_ARG:
 57728  			fallthrough
 57729  		case OP_PRUNE_ARG:
 57730  			fallthrough
 57731  		case OP_SKIP_ARG:
 57732  			fallthrough
 57733  		case OP_THEN_ARG:
 57734  			cc += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 57735  			break
 57736  
 57737  		case OP_CALLOUT:
 57738  			(*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)))))
 57739  			(*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)))))
 57740  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))
 57741  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = Tsize_t(0)
 57742  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = Tsize_t(0)
 57743  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = uintptr(0)
 57744  			rc = (*struct {
 57745  				f func(*libc.TLS, uintptr, uintptr) int32
 57746  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57747  			if rc != 0 {
 57748  				return rc
 57749  			}
 57750  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57751  			break
 57752  
 57753  		case OP_CALLOUT_STR:
 57754  			(*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)))))
 57755  			(*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)))))
 57756  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(0)
 57757  			(*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)))))
 57758  			(*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))
 57759  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = cc + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 57760  			rc = (*struct {
 57761  				f func(*libc.TLS, uintptr, uintptr) int32
 57762  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57763  			if rc != 0 {
 57764  				return rc
 57765  			}
 57766  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 57767  			break
 57768  
 57769  		default:
 57770  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57771  			break
 57772  		}
 57773  	}
 57774  	return int32(0)
 57775  }
 57776  
 57777  // End of pcre2_pattern_info.c
 57778  
 57779  func X_pcre2_script_run_8(tls *libc.TLS, ptr TPCRE2_SPTR8, endptr TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_script_run.c:85:1: */
 57780  	bp := tls.Alloc(48)
 57781  	defer tls.Free(48)
 57782  
 57783  	var require_state Tuint32_t = SCRIPT_UNSET
 57784  	// var require_map [6]Tuint32_t at bp, 24
 57785  
 57786  	// var map1 [6]Tuint32_t at bp+24, 24
 57787  
 57788  	var require_digitset Tuint32_t = Tuint32_t(0)
 57789  	var c Tuint32_t
 57790  
 57791  	// Any string containing fewer than 2 characters is a valid script run.
 57792  
 57793  	if ptr >= endptr {
 57794  		return DTRUE
 57795  	}
 57796  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 57797  	if utf != 0 && c >= 0xc0 {
 57798  		if c&0x20 == Tuint32_t(0) {
 57799  			c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 57800  		} else if c&0x10 == Tuint32_t(0) {
 57801  			c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57802  			ptr += uintptr(2)
 57803  		} else if c&0x08 == Tuint32_t(0) {
 57804  			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
 57805  			ptr += uintptr(3)
 57806  		} else if c&0x04 == Tuint32_t(0) {
 57807  			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
 57808  			ptr += uintptr(4)
 57809  		} else {
 57810  			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
 57811  			ptr += uintptr(5)
 57812  		}
 57813  	}
 57814  
 57815  	if ptr >= endptr {
 57816  		return DTRUE
 57817  	}
 57818  
 57819  	// Initialize the require map. This is a full-size bitmap that has a bit for
 57820  	// every script, as opposed to the maps in ucd_script_sets, which only have bits
 57821  	// for scripts less than ucp_Unknown - those that appear in script extension
 57822  	// lists.
 57823  
 57824  	{
 57825  		var i int32 = 0
 57826  	__1:
 57827  		if !(i < ucp_Script_Count/32+1) {
 57828  			goto __3
 57829  		}
 57830  		*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) = Tuint32_t(0)
 57831  		goto __2
 57832  	__2:
 57833  		i++
 57834  		goto __1
 57835  		goto __3
 57836  	__3:
 57837  	}
 57838  
 57839  	// Scan strings of two or more characters, checking the Unicode characteristics
 57840  	// of each code point. There is special code for scripts that can be combined with
 57841  	// characters from the Han Chinese script. This may be used in conjunction with
 57842  	// four other scripts in these combinations:
 57843  	//
 57844  	// . Han with Hiragana and Katakana is allowed (for Japanese).
 57845  	// . Han with Bopomofo is allowed (for Taiwanese Mandarin).
 57846  	// . Han with Hangul is allowed (for Korean).
 57847  	//
 57848  	// If the first significant character's script is one of the four, the required
 57849  	// script type is immediately known. However, if the first significant
 57850  	// character's script is Han, we have to keep checking for a non-Han character.
 57851  	// Hence the SCRIPT_HANPENDING state.
 57852  
 57853  	for {
 57854  		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
 57855  		var script Tuint32_t = Tuint32_t((*Tucd_record)(unsafe.Pointer(ucd)).Fscript)
 57856  
 57857  		// If the script is Unknown, the string is not a valid script run. Such
 57858  		//   characters can only form script runs of length one (see test above).
 57859  
 57860  		if script == ucp_Unknown {
 57861  			return DFALSE
 57862  		}
 57863  
 57864  		// A character without any script extensions whose script is Inherited or
 57865  		//   Common is always accepted with any script. If there are extensions, the
 57866  		//   following processing happens for all scripts.
 57867  
 57868  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK != 0 || script != ucp_Inherited && script != ucp_Common {
 57869  			var OK TBOOL
 57870  
 57871  			// Set up a full-sized map for this character that can include bits for all
 57872  			//     scripts. Copy the scriptx map for this character (which covers those
 57873  			//     scripts that appear in script extension lists), set the remaining values to
 57874  			//     zero, and then, except for Common or Inherited, add this script's bit to
 57875  			//     the map.
 57876  
 57877  			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, uint32(ucp_Unknown/32+1)*uint32(unsafe.Sizeof(Tuint32_t(0))))
 57878  			libc.Xmemset(tls, bp+24+uintptr(ucp_Unknown/32+1)*4, 0, uint32(ucp_Script_Count/32+1-(ucp_Unknown/32+1))*uint32(unsafe.Sizeof(Tuint32_t(0))))
 57879  			if script != ucp_Common && script != ucp_Inherited {
 57880  				*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(script/Tuint32_t(32))*4)) |= uint32(1) << (script % Tuint32_t(32))
 57881  			}
 57882  
 57883  			// Handle the different checking states
 57884  
 57885  			switch require_state {
 57886  			// First significant character - it might follow Common or Inherited
 57887  			//       characters that do not have any script extensions.
 57888  
 57889  			case SCRIPT_UNSET:
 57890  				switch script {
 57891  				case ucp_Han:
 57892  					require_state = SCRIPT_HANPENDING
 57893  					break
 57894  					fallthrough
 57895  
 57896  				case ucp_Hiragana:
 57897  					fallthrough
 57898  				case ucp_Katakana:
 57899  					require_state = SCRIPT_HANHIRAKATA
 57900  					break
 57901  					fallthrough
 57902  
 57903  				case ucp_Bopomofo:
 57904  					require_state = SCRIPT_HANBOPOMOFO
 57905  					break
 57906  					fallthrough
 57907  
 57908  				case ucp_Hangul:
 57909  					require_state = SCRIPT_HANHANGUL
 57910  					break
 57911  					fallthrough
 57912  
 57913  				default:
 57914  					libc.Xmemcpy(tls, bp, bp+24, uint32(ucp_Script_Count/32+1)*uint32(unsafe.Sizeof(Tuint32_t(0))))
 57915  					require_state = SCRIPT_MAP
 57916  					break
 57917  				}
 57918  				break
 57919  				fallthrough
 57920  
 57921  			// The first significant character was Han. An inspection of the Unicode
 57922  			//       11.0.0 files shows that there are the following types of Script Extension
 57923  			//       list that involve the Han, Bopomofo, Hiragana, Katakana, and Hangul
 57924  			//       scripts:
 57925  			//
 57926  			//       . Bopomofo + Han
 57927  			//       . Han + Hiragana + Katakana
 57928  			//       . Hiragana + Katakana
 57929  			//       . Bopopmofo + Hangul + Han + Hiragana + Katakana
 57930  			//
 57931  			//       The following code tries to make sense of this.
 57932  
 57933  			case SCRIPT_HANPENDING:
 57934  				if script != ucp_Han {
 57935  					var chspecial Tuint32_t = Tuint32_t(0)
 57936  
 57937  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) != Tuint32_t(0) {
 57938  						chspecial = chspecial | Tuint32_t(DFOUND_BOPOMOFO)
 57939  					}
 57940  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32)) != Tuint32_t(0) {
 57941  						chspecial = chspecial | Tuint32_t(DFOUND_HIRAGANA)
 57942  					}
 57943  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) != Tuint32_t(0) {
 57944  						chspecial = chspecial | Tuint32_t(DFOUND_KATAKANA)
 57945  					}
 57946  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) != Tuint32_t(0) {
 57947  						chspecial = chspecial | Tuint32_t(DFOUND_HANGUL)
 57948  					}
 57949  
 57950  					if chspecial == Tuint32_t(0) {
 57951  						return DFALSE
 57952  					} // Not allowed with Han
 57953  
 57954  					if chspecial == Tuint32_t(DFOUND_BOPOMOFO) {
 57955  						require_state = SCRIPT_HANBOPOMOFO
 57956  					} else if chspecial == Tuint32_t(DFOUND_HIRAGANA|DFOUND_KATAKANA) {
 57957  						require_state = SCRIPT_HANHIRAKATA
 57958  					}
 57959  
 57960  					// Otherwise this character must be allowed with all of them, so remain
 57961  					//         in the pending state.
 57962  				}
 57963  				break
 57964  				fallthrough
 57965  
 57966  			// Previously encountered one of the "with Han" scripts. Check that
 57967  			//       this character is appropriate.
 57968  
 57969  			case SCRIPT_HANHIRAKATA:
 57970  				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) {
 57971  					return DFALSE
 57972  				}
 57973  				break
 57974  				fallthrough
 57975  
 57976  			case SCRIPT_HANBOPOMOFO:
 57977  				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) {
 57978  					return DFALSE
 57979  				}
 57980  				break
 57981  				fallthrough
 57982  
 57983  			case SCRIPT_HANHANGUL:
 57984  				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) {
 57985  					return DFALSE
 57986  				}
 57987  				break
 57988  				fallthrough
 57989  
 57990  			// Previously encountered one or more characters that are allowed with a
 57991  			//       list of scripts.
 57992  
 57993  			case SCRIPT_MAP:
 57994  				OK = DFALSE
 57995  
 57996  				{
 57997  					var i int32 = 0
 57998  				__4:
 57999  					if !(i < ucp_Script_Count/32+1) {
 58000  						goto __6
 58001  					}
 58002  					{
 58003  						if *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4))&*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4)) != Tuint32_t(0) {
 58004  							OK = DTRUE
 58005  							goto __6
 58006  						}
 58007  
 58008  					}
 58009  					goto __5
 58010  				__5:
 58011  					i++
 58012  					goto __4
 58013  					goto __6
 58014  				__6:
 58015  				}
 58016  
 58017  				if !(OK != 0) {
 58018  					return DFALSE
 58019  				}
 58020  
 58021  				// The rest of the string must be in this script, but we have to
 58022  				//       allow for the Han complications.
 58023  
 58024  				switch script {
 58025  				case ucp_Han:
 58026  					require_state = SCRIPT_HANPENDING
 58027  					break
 58028  					fallthrough
 58029  
 58030  				case ucp_Hiragana:
 58031  					fallthrough
 58032  				case ucp_Katakana:
 58033  					require_state = SCRIPT_HANHIRAKATA
 58034  					break
 58035  					fallthrough
 58036  
 58037  				case ucp_Bopomofo:
 58038  					require_state = SCRIPT_HANBOPOMOFO
 58039  					break
 58040  					fallthrough
 58041  
 58042  				case ucp_Hangul:
 58043  					require_state = SCRIPT_HANHANGUL
 58044  					break
 58045  					fallthrough
 58046  
 58047  				// Compute the intersection of the required list of scripts and the
 58048  				//         allowed scripts for this character.
 58049  
 58050  				default:
 58051  					{
 58052  						var i int32 = 0
 58053  					__7:
 58054  						if !(i < ucp_Script_Count/32+1) {
 58055  							goto __9
 58056  						}
 58057  						*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) &= *(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4))
 58058  						goto __8
 58059  					__8:
 58060  						i++
 58061  						goto __7
 58062  						goto __9
 58063  					__9:
 58064  					}
 58065  					break
 58066  				}
 58067  
 58068  				break
 58069  			}
 58070  		} // End checking character's script and extensions.
 58071  
 58072  		// The character is in an acceptable script. We must now ensure that all
 58073  		//   decimal digits in the string come from the same set. Some scripts (e.g.
 58074  		//   Common, Arabic) have more than one set of decimal digits. This code does
 58075  		//   not allow mixing sets, even within the same script. The vector called
 58076  		//   PRIV(ucd_digit_sets)[] contains, in its first element, the number of
 58077  		//   following elements, and then, in ascending order, the code points of the
 58078  		//   '9' characters in every set of 10 digits. Each set is identified by the
 58079  		//   offset in the vector of its '9' character. An initial check of the first
 58080  		//   value picks up ASCII digits quickly. Otherwise, a binary chop is used.
 58081  
 58082  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fchartype) == ucp_Nd {
 58083  			var digitset Tuint32_t
 58084  
 58085  			if c <= X_pcre2_ucd_digit_sets_8[1] {
 58086  				digitset = Tuint32_t(1)
 58087  			} else {
 58088  				var mid int32
 58089  				var bot int32 = 1
 58090  				var top int32 = int32(X_pcre2_ucd_digit_sets_8[0])
 58091  				for {
 58092  					if top <= bot+1 {
 58093  						digitset = Tuint32_t(top)
 58094  						break
 58095  					}
 58096  					mid = (top + bot) / 2
 58097  					if c <= X_pcre2_ucd_digit_sets_8[mid] {
 58098  						top = mid
 58099  					} else {
 58100  						bot = mid
 58101  					}
 58102  				}
 58103  			}
 58104  
 58105  			// A required value of 0 means "unset".
 58106  
 58107  			if require_digitset == Tuint32_t(0) {
 58108  				require_digitset = digitset
 58109  			} else if digitset != require_digitset {
 58110  				return DFALSE
 58111  			}
 58112  		} // End digit handling
 58113  
 58114  		// If we haven't yet got to the end, pick up the next character.
 58115  
 58116  		if ptr >= endptr {
 58117  			return DTRUE
 58118  		}
 58119  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 58120  		if utf != 0 && c >= 0xc0 {
 58121  			if c&0x20 == Tuint32_t(0) {
 58122  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 58123  			} else if c&0x10 == Tuint32_t(0) {
 58124  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 58125  				ptr += uintptr(2)
 58126  			} else if c&0x08 == Tuint32_t(0) {
 58127  				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
 58128  				ptr += uintptr(3)
 58129  			} else if c&0x04 == Tuint32_t(0) {
 58130  				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
 58131  				ptr += uintptr(4)
 58132  			} else {
 58133  				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
 58134  				ptr += uintptr(5)
 58135  			}
 58136  		}
 58137  
 58138  	}
 58139  	return TBOOL(0) // End checking loop
 58140  
 58141  }
 58142  
 58143  // End of pcre2_script_run.c
 58144  
 58145  // This function is needed only when memmove() is not available.
 58146  
 58147  // End of pcre2_internal.h
 58148  
 58149  // Magic number to provide a small check against being handed junk.
 58150  
 58151  // Deserialization is limited to the current PCRE version and
 58152  // character width.
 58153  
 58154  // ************************************************
 58155  //
 58156  //           Serialize compiled patterns          *
 58157  //
 58158  
 58159  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: */
 58160  	var bytes uintptr
 58161  	var dst_bytes uintptr
 58162  	var i Tint32_t
 58163  	var total_size Tsize_t
 58164  	var re uintptr
 58165  	var tables uintptr
 58166  	var data uintptr
 58167  
 58168  	var memctl uintptr
 58169  	if gcontext != uintptr(0) {
 58170  		memctl = gcontext
 58171  	} else {
 58172  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58173  	}
 58174  
 58175  	if codes == uintptr(0) || serialized_bytes == uintptr(0) || serialized_size == uintptr(0) {
 58176  		return -51
 58177  	}
 58178  
 58179  	if number_of_codes <= 0 {
 58180  		return -29
 58181  	}
 58182  
 58183  	// Compute total size.
 58184  	total_size = uint32(unsafe.Sizeof(Tpcre2_serialized_data{})) + uint32(Dcbits_offset+Dcbit_length+256)
 58185  	tables = uintptr(0)
 58186  
 58187  	for i = 0; i < number_of_codes; i++ {
 58188  		if *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*4)) == uintptr(0) {
 58189  			return -51
 58190  		}
 58191  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*4))
 58192  		if uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 58193  			return -31
 58194  		}
 58195  		if tables == uintptr(0) {
 58196  			tables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 58197  		} else if tables != (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables {
 58198  			return -30
 58199  		}
 58200  		total_size = total_size + (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 58201  	}
 58202  
 58203  	// Initialize the byte stream.
 58204  	bytes = (*struct {
 58205  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58206  	})(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)
 58207  	if bytes == uintptr(0) {
 58208  		return -48
 58209  	}
 58210  
 58211  	// The controller is stored as a hidden parameter.
 58212  	libc.Xmemcpy(tls, bytes, memctl, uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 58213  	bytes += uintptr(unsafe.Sizeof(Tpcre2_memctl{}))
 58214  
 58215  	data = bytes
 58216  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic = DSERIALIZED_DATA_MAGIC
 58217  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion = Tuint32_t(DPCRE2_MAJOR | int32(DPCRE2_MINOR)<<16)
 58218  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig = uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))) | uint32(uint32(unsafe.Sizeof(uintptr(0))))<<8 | uint32(uint32(unsafe.Sizeof(Tsize_t(0))))<<16
 58219  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes = number_of_codes
 58220  
 58221  	// Copy all compiled code data.
 58222  	dst_bytes = bytes + uintptr(uint32(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58223  	libc.Xmemcpy(tls, dst_bytes, tables, uint32(Dcbits_offset+Dcbit_length+256))
 58224  	dst_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58225  
 58226  	for i = 0; i < number_of_codes; i++ {
 58227  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*4))
 58228  		libc.Xmemcpy(tls, dst_bytes, re, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58229  
 58230  		// Certain fields in the compiled code block are re-set during
 58231  		//   deserialization. In order to ensure that the serialized data stream is always
 58232  		//   the same for the same pattern, set them to zero here. We can't assume the
 58233  		//   copy of the pattern is correctly aligned for accessing the fields as part of
 58234  		//   a structure. Note the use of sizeof(void *) in the second of these, to
 58235  		//   specify the size of a pointer. If sizeof(uint8_t *) is used (tables is a
 58236  		//   pointer to uint8_t), gcc gives a warning because the first argument is also a
 58237  		//   pointer to uint8_t. Casting the first argument to (void *) can stop this, but
 58238  		//   it didn't stop Coverity giving the same complaint.
 58239  
 58240  		libc.Xmemset(tls, dst_bytes+uintptr(uint32(uintptr(0))), 0,
 58241  			uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 58242  		libc.Xmemset(tls, dst_bytes+uintptr(uint32(uintptr(0)+12)), 0,
 58243  			uint32(unsafe.Sizeof(uintptr(0))))
 58244  		libc.Xmemset(tls, dst_bytes+uintptr(uint32(uintptr(0)+16)), 0,
 58245  			uint32(unsafe.Sizeof(uintptr(0))))
 58246  
 58247  		dst_bytes += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58248  	}
 58249  
 58250  	*(*uintptr)(unsafe.Pointer(serialized_bytes)) = bytes
 58251  	*(*Tsize_t)(unsafe.Pointer(serialized_size)) = total_size
 58252  	return number_of_codes
 58253  }
 58254  
 58255  // ************************************************
 58256  //
 58257  //          Deserialize compiled patterns         *
 58258  //
 58259  
 58260  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: */
 58261  	bp := tls.Alloc(4)
 58262  	defer tls.Free(4)
 58263  
 58264  	var data uintptr = bytes
 58265  	var memctl uintptr
 58266  	if gcontext != uintptr(0) {
 58267  		memctl = gcontext
 58268  	} else {
 58269  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58270  	}
 58271  	var src_bytes uintptr
 58272  	var dst_re uintptr
 58273  	var tables uintptr
 58274  	var i Tint32_t
 58275  	var j Tint32_t
 58276  
 58277  	// Sanity checks.
 58278  
 58279  	if data == uintptr(0) || codes == uintptr(0) {
 58280  		return -51
 58281  	}
 58282  	if number_of_codes <= 0 {
 58283  		return -29
 58284  	}
 58285  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes <= 0 {
 58286  		return -62
 58287  	}
 58288  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58289  		return -31
 58290  	}
 58291  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58292  		return -32
 58293  	}
 58294  	if uint32((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint32(uint32(unsafe.Sizeof(uintptr(0))))<<8|uint32(uint32(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58295  		return -32
 58296  	}
 58297  
 58298  	if number_of_codes > (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes {
 58299  		number_of_codes = (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58300  	}
 58301  
 58302  	src_bytes = bytes + uintptr(uint32(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58303  
 58304  	// Decode tables. The reference count for the tables is stored immediately
 58305  	// following them.
 58306  
 58307  	tables = (*struct {
 58308  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58309  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, uint32(Dcbits_offset+Dcbit_length+256)+uint32(unsafe.Sizeof(Tsize_t(0))), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58310  	if tables == uintptr(0) {
 58311  		return -48
 58312  	}
 58313  
 58314  	libc.Xmemcpy(tls, tables, src_bytes, uint32(Dcbits_offset+Dcbit_length+256))
 58315  	*(*Tsize_t)(unsafe.Pointer(tables + uintptr(Dcbits_offset+Dcbit_length+256))) = Tsize_t(number_of_codes)
 58316  	src_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58317  
 58318  	// Decode the byte stream. We must not try to read the size from the compiled
 58319  	// code block in the stream, because it might be unaligned, which causes errors on
 58320  	// hardware such as Sparc-64 that doesn't like unaligned memory accesses. The type
 58321  	// of the blocksize field is given its own name to ensure that it is the same here
 58322  	// as in the block.
 58323  
 58324  	for i = 0; i < number_of_codes; i++ {
 58325  		// var blocksize Tsize_t at bp, 4
 58326  
 58327  		libc.Xmemcpy(tls, bp, src_bytes+uintptr(uint32(uintptr(0)+52)),
 58328  			uint32(unsafe.Sizeof(Tsize_t(0))))
 58329  		if *(*Tsize_t)(unsafe.Pointer(bp)) <= Tsize_t(unsafe.Sizeof(Tpcre2_real_code_8{})) {
 58330  			return -62
 58331  		}
 58332  
 58333  		// The allocator provided by gcontext replaces the original one.
 58334  
 58335  		dst_re = X_pcre2_memctl_malloc_8(tls, *(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)),
 58336  			gcontext)
 58337  		if dst_re == uintptr(0) {
 58338  			(*struct {
 58339  				f func(*libc.TLS, uintptr, uintptr)
 58340  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, tables, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58341  			for j = 0; j < i; j++ {
 58342  				(*struct {
 58343  					f func(*libc.TLS, uintptr, uintptr)
 58344  				})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, *(*uintptr)(unsafe.Pointer(codes + uintptr(j)*4)), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58345  				*(*uintptr)(unsafe.Pointer(codes + uintptr(j)*4)) = uintptr(0)
 58346  			}
 58347  			return -48
 58348  		}
 58349  
 58350  		// The new allocator must be preserved.
 58351  
 58352  		libc.Xmemcpy(tls, dst_re+uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{}))),
 58353  			src_bytes+uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{}))), *(*Tsize_t)(unsafe.Pointer(bp))-Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})))
 58354  		if uint32((*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 {
 58355  			(*struct {
 58356  				f func(*libc.TLS, uintptr, uintptr)
 58357  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, dst_re, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58358  			return -62
 58359  		}
 58360  
 58361  		// At the moment only one table is supported.
 58362  
 58363  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Ftables = tables
 58364  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fexecutable_jit = uintptr(0)
 58365  		*(*Tuint32_t)(unsafe.Pointer(dst_re + 72)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
 58366  
 58367  		*(*uintptr)(unsafe.Pointer(codes + uintptr(i)*4)) = dst_re
 58368  		src_bytes += uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)))
 58369  	}
 58370  
 58371  	return number_of_codes
 58372  }
 58373  
 58374  // ************************************************
 58375  //
 58376  //    Get the number of serialized patterns       *
 58377  //
 58378  
 58379  func Xpcre2_serialize_get_number_of_codes_8(tls *libc.TLS, bytes uintptr) Tint32_t { /* pcre2_serialize.c:259:1: */
 58380  	var data uintptr = bytes
 58381  
 58382  	if data == uintptr(0) {
 58383  		return -51
 58384  	}
 58385  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58386  		return -31
 58387  	}
 58388  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58389  		return -32
 58390  	}
 58391  	if uint32((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint32(uint32(unsafe.Sizeof(uintptr(0))))<<8|uint32(uint32(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58392  		return -32
 58393  	}
 58394  
 58395  	return (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58396  }
 58397  
 58398  // ************************************************
 58399  //
 58400  //            Free the allocated stream           *
 58401  //
 58402  
 58403  func Xpcre2_serialize_free_8(tls *libc.TLS, bytes uintptr) { /* pcre2_serialize.c:277:1: */
 58404  	if bytes != uintptr(0) {
 58405  		var memctl uintptr = bytes - uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 58406  		(*struct {
 58407  			f func(*libc.TLS, uintptr, uintptr)
 58408  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58409  	}
 58410  }
 58411  
 58412  // End of pcre2_serialize.c
 58413  
 58414  // This function is needed only when memmove() is not available.
 58415  
 58416  // End of pcre2_internal.h
 58417  
 58418  // ************************************************
 58419  //
 58420  //    Emulated memmove() for systems without it   *
 58421  //
 58422  
 58423  // This function can make use of bcopy() if it is available. Otherwise do it by
 58424  // steam, as there some non-Unix environments that lack both memmove() and
 58425  // bcopy().
 58426  
 58427  // ************************************************
 58428  //
 58429  //    Compare two zero-terminated PCRE2 strings   *
 58430  //
 58431  
 58432  //
 58433  // Arguments:
 58434  //   str1        first string
 58435  //   str2        second string
 58436  //
 58437  // Returns:      0, 1, or -1
 58438  
 58439  func X_pcre2_strcmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8) int32 { /* pcre2_string_utils.c:102:1: */
 58440  	var c1 TPCRE2_UCHAR8
 58441  	var c2 TPCRE2_UCHAR8
 58442  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str2))) != 0 {
 58443  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58444  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58445  		if int32(c1) != int32(c2) {
 58446  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58447  		}
 58448  	}
 58449  	return 0
 58450  }
 58451  
 58452  // ************************************************
 58453  //
 58454  //  Compare zero-terminated PCRE2 & 8-bit strings *
 58455  //
 58456  
 58457  // As the 8-bit string is almost always a literal, its type is specified as
 58458  // const char *.
 58459  //
 58460  // Arguments:
 58461  //   str1        first string
 58462  //   str2        second string
 58463  //
 58464  // Returns:      0, 1, or -1
 58465  
 58466  func X_pcre2_strcmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr) int32 { /* pcre2_string_utils.c:130:1: */
 58467  	var c1 TPCRE2_UCHAR8
 58468  	var c2 TPCRE2_UCHAR8
 58469  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*int8)(unsafe.Pointer(str2))) != 0 {
 58470  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58471  		c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58472  		if int32(c1) != int32(c2) {
 58473  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58474  		}
 58475  	}
 58476  	return 0
 58477  }
 58478  
 58479  // ************************************************
 58480  //
 58481  //    Compare two PCRE2 strings, given a length   *
 58482  //
 58483  
 58484  //
 58485  // Arguments:
 58486  //   str1        first string
 58487  //   str2        second string
 58488  //   len         the length
 58489  //
 58490  // Returns:      0, 1, or -1
 58491  
 58492  func X_pcre2_strncmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8, len Tsize_t) int32 { /* pcre2_string_utils.c:157:1: */
 58493  	var c1 TPCRE2_UCHAR8
 58494  	var c2 TPCRE2_UCHAR8
 58495  	for ; len > Tsize_t(0); len-- {
 58496  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58497  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58498  		if int32(c1) != int32(c2) {
 58499  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58500  		}
 58501  	}
 58502  	return 0
 58503  }
 58504  
 58505  // ************************************************
 58506  //
 58507  // Compare PCRE2 string to 8-bit string by length *
 58508  //
 58509  
 58510  // As the 8-bit string is almost always a literal, its type is specified as
 58511  // const char *.
 58512  //
 58513  // Arguments:
 58514  //   str1        first string
 58515  //   str2        second string
 58516  //   len         the length
 58517  //
 58518  // Returns:      0, 1, or -1
 58519  
 58520  func X_pcre2_strncmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr, len Tsize_t) int32 { /* pcre2_string_utils.c:186:1: */
 58521  	var c1 TPCRE2_UCHAR8
 58522  	var c2 TPCRE2_UCHAR8
 58523  	for ; len > Tsize_t(0); len-- {
 58524  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58525  		c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58526  		if int32(c1) != int32(c2) {
 58527  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58528  		}
 58529  	}
 58530  	return 0
 58531  }
 58532  
 58533  // ************************************************
 58534  //
 58535  //        Find the length of a PCRE2 string       *
 58536  //
 58537  
 58538  //
 58539  // Argument:    the string
 58540  // Returns:     the length
 58541  
 58542  func X_pcre2_strlen_8(tls *libc.TLS, str TPCRE2_SPTR8) Tsize_t { /* pcre2_string_utils.c:209:1: */
 58543  	var c Tsize_t = Tsize_t(0)
 58544  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str, 1)))) != 0 {
 58545  		c++
 58546  	}
 58547  	return c
 58548  }
 58549  
 58550  // ************************************************
 58551  //
 58552  // Copy 8-bit 0-terminated string to PCRE2 string *
 58553  //
 58554  
 58555  // Arguments:
 58556  //   str1     buffer to receive the string
 58557  //   str2     8-bit string to be copied
 58558  //
 58559  // Returns:   the number of code units used (excluding trailing zero)
 58560  
 58561  func X_pcre2_strcpy_c8_8(tls *libc.TLS, str1 uintptr, str2 uintptr) Tsize_t { /* pcre2_string_utils.c:229:1: */
 58562  	var t uintptr = str1
 58563  	for int32(*(*int8)(unsafe.Pointer(str2))) != 0 {
 58564  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&t, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58565  	}
 58566  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)) = TPCRE2_UCHAR8(0)
 58567  	return Tsize_t((int32(t) - int32(str1)) / 1)
 58568  }
 58569  
 58570  // End of pcre2_string_utils.c
 58571  
 58572  // ************************************************
 58573  //
 58574  //   Find the minimum subject length for a group  *
 58575  //
 58576  
 58577  // Scan a parenthesized group and compute the minimum length of subject that
 58578  // is needed to match it. This is a lower bound; it does not mean there is a
 58579  // string of that length that matches. In UTF mode, the result is in characters
 58580  // rather than code units. The field in a compiled pattern for storing the minimum
 58581  // length is 16-bits long (on the grounds that anything longer than that is
 58582  // pathological), so we give up when we reach that amount. This also means that
 58583  // integer overflow for really crazy patterns cannot happen.
 58584  //
 58585  // Backreference minimum lengths are cached to speed up multiple references. This
 58586  // function is called only when the highest back reference in the pattern is less
 58587  // than or equal to MAX_CACHE_BACKREF, which is one less than the size of the
 58588  // caching vector. The zeroth element contains the number of the highest set
 58589  // value.
 58590  //
 58591  // Arguments:
 58592  //   re              compiled pattern block
 58593  //   code            pointer to start of group (the bracket)
 58594  //   startcode       pointer to start of the whole pattern's code
 58595  //   utf             UTF flag
 58596  //   recurses        chain of recurse_check to catch mutual recursion
 58597  //   countptr        pointer to call count (to catch over complexity)
 58598  //   backref_cache   vector for caching back references.
 58599  //
 58600  // This function is no longer called when the pattern contains (*ACCEPT); however,
 58601  // the old code for returning -1 is retained, just in case.
 58602  //
 58603  // Returns:   the minimum length
 58604  //            -1 \C in UTF-8 mode
 58605  //               or (*ACCEPT)
 58606  //               or pattern too complicated
 58607  //            -2 internal error (missing capturing bracket)
 58608  //            -3 internal error (opcode not listed)
 58609  
 58610  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: */
 58611  	bp := tls.Alloc(8)
 58612  	defer tls.Free(8)
 58613  
 58614  	var length int32
 58615  	var branchlength int32
 58616  	var prev_cap_recno int32
 58617  	var prev_cap_d int32
 58618  	var prev_recurse_recno int32
 58619  	var prev_recurse_d int32
 58620  	var once_fudge Tuint32_t
 58621  	var had_recurse TBOOL
 58622  	var dupcapused TBOOL
 58623  	var nextbranch TPCRE2_SPTR8
 58624  	var cc uintptr
 58625  	// var this_recurse Trecurse_check at bp, 8
 58626  
 58627  	var r uintptr
 58628  	var dd int32
 58629  	var i int32
 58630  	var count int32
 58631  	var slot uintptr
 58632  	var r1 uintptr
 58633  	var i1 int32
 58634  	var r2 uintptr
 58635  	var d int32
 58636  	var min int32
 58637  	var recno int32
 58638  	var op TPCRE2_UCHAR8
 58639  	var cs uintptr
 58640  	var ce uintptr
 58641  	length = -1
 58642  	branchlength = 0
 58643  	prev_cap_recno = -1
 58644  	prev_cap_d = 0
 58645  	prev_recurse_recno = -1
 58646  	prev_recurse_d = 0
 58647  	once_fudge = Tuint32_t(0)
 58648  	had_recurse = DFALSE
 58649  	dupcapused = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0))
 58650  	nextbranch = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 58651  	cc = code + uintptr(1) + uintptr(DLINK_SIZE)
 58652  
 58653  	// If this is a "could be empty" group, its minimum length is 0.
 58654  
 58655  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) >= OP_SBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) <= OP_SCOND) {
 58656  		goto __1
 58657  	}
 58658  	return 0
 58659  __1:
 58660  	;
 58661  
 58662  	// Skip over capturing bracket number
 58663  
 58664  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS) {
 58665  		goto __2
 58666  	}
 58667  	cc += uintptr(DIMM2_SIZE)
 58668  __2:
 58669  	;
 58670  
 58671  	// A large and/or complex regex can take too long to process.
 58672  
 58673  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(countptr)), 1) > 1000) {
 58674  		goto __3
 58675  	}
 58676  	return -1
 58677  __3:
 58678  	;
 58679  
 58680  	// Scan along the opcodes for this branch. If we get to the end of the branch,
 58681  	// check the length against that of the other branches. If the accumulated length
 58682  	// passes 16-bits, reset to that value and skip the rest of the branch.
 58683  
 58684  __4:
 58685  
 58686  	if !(branchlength >= 65535) {
 58687  		goto __7
 58688  	}
 58689  
 58690  	branchlength = 65535
 58691  	cc = nextbranch
 58692  __7:
 58693  	;
 58694  
 58695  	op = *(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))
 58696  	switch int32(op) {
 58697  	case OP_COND:
 58698  		goto __9
 58699  	case OP_SCOND:
 58700  		goto __10
 58701  
 58702  	case OP_BRA:
 58703  		goto __11
 58704  	// Fall through
 58705  
 58706  	case OP_ONCE:
 58707  		goto __12
 58708  	case OP_SCRIPT_RUN:
 58709  		goto __13
 58710  	case OP_SBRA:
 58711  		goto __14
 58712  	case OP_BRAPOS:
 58713  		goto __15
 58714  	case OP_SBRAPOS:
 58715  		goto __16
 58716  
 58717  	// To save time for repeated capturing subpatterns, we remember the
 58718  	//     length of the previous one. Unfortunately we can't do the same for
 58719  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 58720  	//     pattern because captures with the same number are not then identical.
 58721  
 58722  	case OP_CBRA:
 58723  		goto __17
 58724  	case OP_SCBRA:
 58725  		goto __18
 58726  	case OP_CBRAPOS:
 58727  		goto __19
 58728  	case OP_SCBRAPOS:
 58729  		goto __20
 58730  
 58731  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 58732  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 58733  	//     used. However, leave the code in place, just in case.
 58734  
 58735  	case OP_ACCEPT:
 58736  		goto __21
 58737  	case OP_ASSERT_ACCEPT:
 58738  		goto __22
 58739  
 58740  	// Reached end of a branch; if it's a ket it is the end of a nested
 58741  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 58742  	//     the end of the outer call. All can be handled by the same code. If the
 58743  	//     length of any branch is zero, there is no need to scan any subsequent
 58744  	//     branches.
 58745  
 58746  	case OP_ALT:
 58747  		goto __23
 58748  	case OP_KET:
 58749  		goto __24
 58750  	case OP_KETRMAX:
 58751  		goto __25
 58752  	case OP_KETRMIN:
 58753  		goto __26
 58754  	case OP_KETRPOS:
 58755  		goto __27
 58756  	case OP_END:
 58757  		goto __28
 58758  
 58759  	// Skip over assertive subpatterns
 58760  
 58761  	case OP_ASSERT:
 58762  		goto __29
 58763  	case OP_ASSERT_NOT:
 58764  		goto __30
 58765  	case OP_ASSERTBACK:
 58766  		goto __31
 58767  	case OP_ASSERTBACK_NOT:
 58768  		goto __32
 58769  	case OP_ASSERT_NA:
 58770  		goto __33
 58771  	case OP_ASSERTBACK_NA:
 58772  		goto __34
 58773  	// Fall through
 58774  
 58775  	// Skip over things that don't match chars
 58776  
 58777  	case OP_REVERSE:
 58778  		goto __35
 58779  	case OP_CREF:
 58780  		goto __36
 58781  	case OP_DNCREF:
 58782  		goto __37
 58783  	case OP_RREF:
 58784  		goto __38
 58785  	case OP_DNRREF:
 58786  		goto __39
 58787  	case OP_FALSE:
 58788  		goto __40
 58789  	case OP_TRUE:
 58790  		goto __41
 58791  	case OP_CALLOUT:
 58792  		goto __42
 58793  	case OP_SOD:
 58794  		goto __43
 58795  	case OP_SOM:
 58796  		goto __44
 58797  	case OP_EOD:
 58798  		goto __45
 58799  	case OP_EODN:
 58800  		goto __46
 58801  	case OP_CIRC:
 58802  		goto __47
 58803  	case OP_CIRCM:
 58804  		goto __48
 58805  	case OP_DOLL:
 58806  		goto __49
 58807  	case OP_DOLLM:
 58808  		goto __50
 58809  	case OP_NOT_WORD_BOUNDARY:
 58810  		goto __51
 58811  	case OP_WORD_BOUNDARY:
 58812  		goto __52
 58813  
 58814  	case OP_CALLOUT_STR:
 58815  		goto __53
 58816  
 58817  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 58818  
 58819  	case OP_BRAZERO:
 58820  		goto __54
 58821  	case OP_BRAMINZERO:
 58822  		goto __55
 58823  	case OP_BRAPOSZERO:
 58824  		goto __56
 58825  	case OP_SKIPZERO:
 58826  		goto __57
 58827  
 58828  	// Handle literal characters and + repetitions
 58829  
 58830  	case OP_CHAR:
 58831  		goto __58
 58832  	case OP_CHARI:
 58833  		goto __59
 58834  	case OP_NOT:
 58835  		goto __60
 58836  	case OP_NOTI:
 58837  		goto __61
 58838  	case OP_PLUS:
 58839  		goto __62
 58840  	case OP_PLUSI:
 58841  		goto __63
 58842  	case OP_MINPLUS:
 58843  		goto __64
 58844  	case OP_MINPLUSI:
 58845  		goto __65
 58846  	case OP_POSPLUS:
 58847  		goto __66
 58848  	case OP_POSPLUSI:
 58849  		goto __67
 58850  	case OP_NOTPLUS:
 58851  		goto __68
 58852  	case OP_NOTPLUSI:
 58853  		goto __69
 58854  	case OP_NOTMINPLUS:
 58855  		goto __70
 58856  	case OP_NOTMINPLUSI:
 58857  		goto __71
 58858  	case OP_NOTPOSPLUS:
 58859  		goto __72
 58860  	case OP_NOTPOSPLUSI:
 58861  		goto __73
 58862  
 58863  	case OP_TYPEPLUS:
 58864  		goto __74
 58865  	case OP_TYPEMINPLUS:
 58866  		goto __75
 58867  	case OP_TYPEPOSPLUS:
 58868  		goto __76
 58869  
 58870  	// Handle exact repetitions. The count is already in characters, but we
 58871  	//     may need to skip over a multibyte character in UTF mode.
 58872  
 58873  	case OP_EXACT:
 58874  		goto __77
 58875  	case OP_EXACTI:
 58876  		goto __78
 58877  	case OP_NOTEXACT:
 58878  		goto __79
 58879  	case OP_NOTEXACTI:
 58880  		goto __80
 58881  
 58882  	case OP_TYPEEXACT:
 58883  		goto __81
 58884  
 58885  	// Handle single-char non-literal matchers
 58886  
 58887  	case OP_PROP:
 58888  		goto __82
 58889  	case OP_NOTPROP:
 58890  		goto __83
 58891  	// Fall through
 58892  
 58893  	case OP_NOT_DIGIT:
 58894  		goto __84
 58895  	case OP_DIGIT:
 58896  		goto __85
 58897  	case OP_NOT_WHITESPACE:
 58898  		goto __86
 58899  	case OP_WHITESPACE:
 58900  		goto __87
 58901  	case OP_NOT_WORDCHAR:
 58902  		goto __88
 58903  	case OP_WORDCHAR:
 58904  		goto __89
 58905  	case OP_ANY:
 58906  		goto __90
 58907  	case OP_ALLANY:
 58908  		goto __91
 58909  	case OP_EXTUNI:
 58910  		goto __92
 58911  	case OP_HSPACE:
 58912  		goto __93
 58913  	case OP_NOT_HSPACE:
 58914  		goto __94
 58915  	case OP_VSPACE:
 58916  		goto __95
 58917  	case OP_NOT_VSPACE:
 58918  		goto __96
 58919  
 58920  	// "Any newline" might match two characters, but it also might match just
 58921  	//     one.
 58922  
 58923  	case OP_ANYNL:
 58924  		goto __97
 58925  
 58926  	// The single-byte matcher means we can't proceed in UTF mode. (In
 58927  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 58928  	//     appear, but leave the code, just in case.)
 58929  
 58930  	case OP_ANYBYTE:
 58931  		goto __98
 58932  
 58933  	// For repeated character types, we have to test for \p and \P, which have
 58934  	//     an extra two bytes of parameters.
 58935  
 58936  	case OP_TYPESTAR:
 58937  		goto __99
 58938  	case OP_TYPEMINSTAR:
 58939  		goto __100
 58940  	case OP_TYPEQUERY:
 58941  		goto __101
 58942  	case OP_TYPEMINQUERY:
 58943  		goto __102
 58944  	case OP_TYPEPOSSTAR:
 58945  		goto __103
 58946  	case OP_TYPEPOSQUERY:
 58947  		goto __104
 58948  
 58949  	case OP_TYPEUPTO:
 58950  		goto __105
 58951  	case OP_TYPEMINUPTO:
 58952  		goto __106
 58953  	case OP_TYPEPOSUPTO:
 58954  		goto __107
 58955  
 58956  	// Check a class for variable quantification
 58957  
 58958  	case OP_CLASS:
 58959  		goto __108
 58960  	case OP_NCLASS:
 58961  		goto __109
 58962  	case OP_XCLASS:
 58963  		goto __110
 58964  
 58965  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 58966  	//     way: we find the minimum length for the subpattern. A recursion
 58967  	//     (backreference or subroutine) causes an a flag to be set that causes the
 58968  	//     length of this branch to be ignored. The logic is that a recursion can only
 58969  	//     make sense if there is another alternative that stops the recursing. That
 58970  	//     will provide the minimum length (when no recursion happens).
 58971  	//
 58972  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 58973  	//     matches an empty string (by default it causes a matching failure), so in
 58974  	//     that case we must set the minimum length to zero.
 58975  	//
 58976  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 58977  	//     for a reference to a duplicate. If it is, we don't know which version will
 58978  	//     be referenced, so we have to set the minimum length to zero.
 58979  
 58980  	// Duplicate named pattern back reference.
 58981  
 58982  	case OP_DNREF:
 58983  		goto __111
 58984  	case OP_DNREFI:
 58985  		goto __112
 58986  
 58987  	// Single back reference by number. References by name are converted to by
 58988  	//     number when there is no duplication.
 58989  
 58990  	case OP_REF:
 58991  		goto __113
 58992  	case OP_REFI:
 58993  		goto __114
 58994  
 58995  	// Recursion always refers to the first occurrence of a subpattern with a
 58996  	//     given number. Therefore, we can always make use of caching, even when the
 58997  	//     pattern contains multiple subpatterns with the same number.
 58998  
 58999  	case OP_RECURSE:
 59000  		goto __115
 59001  
 59002  	// Anything else does not or need not match a character. We can get the
 59003  	//     item's length from the table, but for those that can match zero occurrences
 59004  	//     of a character, we must take special action for UTF-8 characters. As it
 59005  	//     happens, the "NOT" versions of these opcodes are used at present only for
 59006  	//     ASCII characters, so they could be omitted from this list. However, in
 59007  	//     future that may change, so we include them here so as not to leave a
 59008  	//     gotcha for a future maintainer.
 59009  
 59010  	case OP_UPTO:
 59011  		goto __116
 59012  	case OP_UPTOI:
 59013  		goto __117
 59014  	case OP_NOTUPTO:
 59015  		goto __118
 59016  	case OP_NOTUPTOI:
 59017  		goto __119
 59018  	case OP_MINUPTO:
 59019  		goto __120
 59020  	case OP_MINUPTOI:
 59021  		goto __121
 59022  	case OP_NOTMINUPTO:
 59023  		goto __122
 59024  	case OP_NOTMINUPTOI:
 59025  		goto __123
 59026  	case OP_POSUPTO:
 59027  		goto __124
 59028  	case OP_POSUPTOI:
 59029  		goto __125
 59030  	case OP_NOTPOSUPTO:
 59031  		goto __126
 59032  	case OP_NOTPOSUPTOI:
 59033  		goto __127
 59034  
 59035  	case OP_STAR:
 59036  		goto __128
 59037  	case OP_STARI:
 59038  		goto __129
 59039  	case OP_NOTSTAR:
 59040  		goto __130
 59041  	case OP_NOTSTARI:
 59042  		goto __131
 59043  	case OP_MINSTAR:
 59044  		goto __132
 59045  	case OP_MINSTARI:
 59046  		goto __133
 59047  	case OP_NOTMINSTAR:
 59048  		goto __134
 59049  	case OP_NOTMINSTARI:
 59050  		goto __135
 59051  	case OP_POSSTAR:
 59052  		goto __136
 59053  	case OP_POSSTARI:
 59054  		goto __137
 59055  	case OP_NOTPOSSTAR:
 59056  		goto __138
 59057  	case OP_NOTPOSSTARI:
 59058  		goto __139
 59059  
 59060  	case OP_QUERY:
 59061  		goto __140
 59062  	case OP_QUERYI:
 59063  		goto __141
 59064  	case OP_NOTQUERY:
 59065  		goto __142
 59066  	case OP_NOTQUERYI:
 59067  		goto __143
 59068  	case OP_MINQUERY:
 59069  		goto __144
 59070  	case OP_MINQUERYI:
 59071  		goto __145
 59072  	case OP_NOTMINQUERY:
 59073  		goto __146
 59074  	case OP_NOTMINQUERYI:
 59075  		goto __147
 59076  	case OP_POSQUERY:
 59077  		goto __148
 59078  	case OP_POSQUERYI:
 59079  		goto __149
 59080  	case OP_NOTPOSQUERY:
 59081  		goto __150
 59082  	case OP_NOTPOSQUERYI:
 59083  		goto __151
 59084  
 59085  	// Skip these, but we need to add in the name length.
 59086  
 59087  	case OP_MARK:
 59088  		goto __152
 59089  	case OP_COMMIT_ARG:
 59090  		goto __153
 59091  	case OP_PRUNE_ARG:
 59092  		goto __154
 59093  	case OP_SKIP_ARG:
 59094  		goto __155
 59095  	case OP_THEN_ARG:
 59096  		goto __156
 59097  
 59098  	// The remaining opcodes are just skipped over.
 59099  
 59100  	case OP_CLOSE:
 59101  		goto __157
 59102  	case OP_COMMIT:
 59103  		goto __158
 59104  	case OP_FAIL:
 59105  		goto __159
 59106  	case OP_PRUNE:
 59107  		goto __160
 59108  	case OP_SET_SOM:
 59109  		goto __161
 59110  	case OP_SKIP:
 59111  		goto __162
 59112  	case OP_THEN:
 59113  		goto __163
 59114  
 59115  	// This should not occur: we list all opcodes explicitly so that when
 59116  	//     new ones get added they are properly considered.
 59117  
 59118  	default:
 59119  		goto __164
 59120  	}
 59121  	goto __8
 59122  
 59123  __9:
 59124  __10:
 59125  
 59126  	// If there is only one branch in a condition, the implied branch has zero
 59127  	//     length, so we don't add anything. This covers the DEFINE "condition"
 59128  	//     automatically. If there are two branches we can treat it the same as any
 59129  	//     other non-capturing subpattern.
 59130  
 59131  	cs = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59132  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs))) != OP_ALT) {
 59133  		goto __165
 59134  	}
 59135  
 59136  	cc = cs + uintptr(1) + uintptr(DLINK_SIZE)
 59137  	goto __8
 59138  __165:
 59139  	;
 59140  	goto PROCESS_NON_CAPTURE
 59141  
 59142  __11:
 59143  	// There's a special case of OP_BRA, when it is wrapped round a repeated
 59144  	//     OP_RECURSE. We'd like to process the latter at this level so that
 59145  	//     remembering the value works for repeated cases. So we do nothing, but
 59146  	//     set a fudge value to skip over the OP_KET after the recurse.
 59147  
 59148  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_RECURSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))) == OP_KET) {
 59149  		goto __166
 59150  	}
 59151  
 59152  	once_fudge = Tuint32_t(1 + DLINK_SIZE)
 59153  	cc += uintptr(1 + DLINK_SIZE)
 59154  	goto __8
 59155  __166:
 59156  	;
 59157  	// Fall through
 59158  
 59159  __12:
 59160  __13:
 59161  __14:
 59162  __15:
 59163  __16:
 59164  PROCESS_NON_CAPTURE:
 59165  	d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59166  		backref_cache)
 59167  	if !(d < 0) {
 59168  		goto __167
 59169  	}
 59170  	return d
 59171  __167:
 59172  	;
 59173  	branchlength = branchlength + d
 59174  __168:
 59175  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59176  	goto __169
 59177  __169:
 59178  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59179  		goto __168
 59180  	}
 59181  	goto __170
 59182  __170:
 59183  	;
 59184  	cc += uintptr(1 + DLINK_SIZE)
 59185  	goto __8
 59186  
 59187  	// To save time for repeated capturing subpatterns, we remember the
 59188  	//     length of the previous one. Unfortunately we can't do the same for
 59189  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 59190  	//     pattern because captures with the same number are not then identical.
 59191  
 59192  __17:
 59193  __18:
 59194  __19:
 59195  __20:
 59196  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59197  	if !(dupcapused != 0 || recno != prev_cap_recno) {
 59198  		goto __171
 59199  	}
 59200  
 59201  	prev_cap_recno = recno
 59202  	prev_cap_d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59203  		backref_cache)
 59204  	if !(prev_cap_d < 0) {
 59205  		goto __172
 59206  	}
 59207  	return prev_cap_d
 59208  __172:
 59209  	;
 59210  __171:
 59211  	;
 59212  	branchlength = branchlength + prev_cap_d
 59213  __173:
 59214  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59215  	goto __174
 59216  __174:
 59217  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59218  		goto __173
 59219  	}
 59220  	goto __175
 59221  __175:
 59222  	;
 59223  	cc += uintptr(1 + DLINK_SIZE)
 59224  	goto __8
 59225  
 59226  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 59227  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 59228  	//     used. However, leave the code in place, just in case.
 59229  
 59230  __21:
 59231  __22:
 59232  	return -1
 59233  
 59234  	// Reached end of a branch; if it's a ket it is the end of a nested
 59235  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 59236  	//     the end of the outer call. All can be handled by the same code. If the
 59237  	//     length of any branch is zero, there is no need to scan any subsequent
 59238  	//     branches.
 59239  
 59240  __23:
 59241  __24:
 59242  __25:
 59243  __26:
 59244  __27:
 59245  __28:
 59246  	if !(length < 0 || !(had_recurse != 0) && branchlength < length) {
 59247  		goto __176
 59248  	}
 59249  	length = branchlength
 59250  __176:
 59251  	;
 59252  	if !(int32(op) != OP_ALT || length == 0) {
 59253  		goto __177
 59254  	}
 59255  	return length
 59256  __177:
 59257  	;
 59258  	nextbranch = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59259  	cc += uintptr(1 + DLINK_SIZE)
 59260  	branchlength = 0
 59261  	had_recurse = DFALSE
 59262  	goto __8
 59263  
 59264  	// Skip over assertive subpatterns
 59265  
 59266  __29:
 59267  __30:
 59268  __31:
 59269  __32:
 59270  __33:
 59271  __34:
 59272  __178:
 59273  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59274  	goto __179
 59275  __179:
 59276  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59277  		goto __178
 59278  	}
 59279  	goto __180
 59280  __180:
 59281  	;
 59282  	// Fall through
 59283  
 59284  	// Skip over things that don't match chars
 59285  
 59286  __35:
 59287  __36:
 59288  __37:
 59289  __38:
 59290  __39:
 59291  __40:
 59292  __41:
 59293  __42:
 59294  __43:
 59295  __44:
 59296  __45:
 59297  __46:
 59298  __47:
 59299  __48:
 59300  __49:
 59301  __50:
 59302  __51:
 59303  __52:
 59304  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59305  	goto __8
 59306  
 59307  __53:
 59308  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 59309  	goto __8
 59310  
 59311  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 59312  
 59313  __54:
 59314  __55:
 59315  __56:
 59316  __57:
 59317  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59318  __181:
 59319  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59320  	goto __182
 59321  __182:
 59322  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59323  		goto __181
 59324  	}
 59325  	goto __183
 59326  __183:
 59327  	;
 59328  	cc += uintptr(1 + DLINK_SIZE)
 59329  	goto __8
 59330  
 59331  	// Handle literal characters and + repetitions
 59332  
 59333  __58:
 59334  __59:
 59335  __60:
 59336  __61:
 59337  __62:
 59338  __63:
 59339  __64:
 59340  __65:
 59341  __66:
 59342  __67:
 59343  __68:
 59344  __69:
 59345  __70:
 59346  __71:
 59347  __72:
 59348  __73:
 59349  	branchlength++
 59350  	cc += uintptr(2)
 59351  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59352  		goto __184
 59353  	}
 59354  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59355  __184:
 59356  	;
 59357  	goto __8
 59358  
 59359  __74:
 59360  __75:
 59361  __76:
 59362  	branchlength++
 59363  	cc += func() uintptr {
 59364  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP {
 59365  			return uintptr(4)
 59366  		}
 59367  		return uintptr(2)
 59368  	}()
 59369  	goto __8
 59370  
 59371  	// Handle exact repetitions. The count is already in characters, but we
 59372  	//     may need to skip over a multibyte character in UTF mode.
 59373  
 59374  __77:
 59375  __78:
 59376  __79:
 59377  __80:
 59378  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59379  	cc += uintptr(2 + DIMM2_SIZE)
 59380  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59381  		goto __185
 59382  	}
 59383  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59384  __185:
 59385  	;
 59386  	goto __8
 59387  
 59388  __81:
 59389  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59390  	cc += uintptr(2 + DIMM2_SIZE + func() int32 {
 59391  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59392  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP {
 59393  			return 2
 59394  		}
 59395  		return 0
 59396  	}())
 59397  	goto __8
 59398  
 59399  	// Handle single-char non-literal matchers
 59400  
 59401  __82:
 59402  __83:
 59403  	cc += uintptr(2)
 59404  	// Fall through
 59405  
 59406  __84:
 59407  __85:
 59408  __86:
 59409  __87:
 59410  __88:
 59411  __89:
 59412  __90:
 59413  __91:
 59414  __92:
 59415  __93:
 59416  __94:
 59417  __95:
 59418  __96:
 59419  	branchlength++
 59420  	cc++
 59421  	goto __8
 59422  
 59423  	// "Any newline" might match two characters, but it also might match just
 59424  	//     one.
 59425  
 59426  __97:
 59427  	branchlength = branchlength + 1
 59428  	cc++
 59429  	goto __8
 59430  
 59431  	// The single-byte matcher means we can't proceed in UTF mode. (In
 59432  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 59433  	//     appear, but leave the code, just in case.)
 59434  
 59435  __98:
 59436  	if !(utf != 0) {
 59437  		goto __186
 59438  	}
 59439  	return -1
 59440  __186:
 59441  	;
 59442  	branchlength++
 59443  	cc++
 59444  	goto __8
 59445  
 59446  	// For repeated character types, we have to test for \p and \P, which have
 59447  	//     an extra two bytes of parameters.
 59448  
 59449  __99:
 59450  __100:
 59451  __101:
 59452  __102:
 59453  __103:
 59454  __104:
 59455  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP) {
 59456  		goto __187
 59457  	}
 59458  	cc += uintptr(2)
 59459  __187:
 59460  	;
 59461  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59462  	goto __8
 59463  
 59464  __105:
 59465  __106:
 59466  __107:
 59467  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59468  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP) {
 59469  		goto __188
 59470  	}
 59471  	cc += uintptr(2)
 59472  __188:
 59473  	;
 59474  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59475  	goto __8
 59476  
 59477  	// Check a class for variable quantification
 59478  
 59479  __108:
 59480  __109:
 59481  __110:
 59482  	// The original code caused an unsigned overflow in 64 bit systems,
 59483  	//     so now we use a conditional statement.
 59484  	if !(int32(op) == OP_XCLASS) {
 59485  		goto __189
 59486  	}
 59487  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59488  	goto __190
 59489  __189:
 59490  	cc += uintptr(X_pcre2_OP_lengths_8[OP_CLASS])
 59491  __190:
 59492  	;
 59493  
 59494  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59495  	case OP_CRPLUS:
 59496  		goto __192
 59497  	case OP_CRMINPLUS:
 59498  		goto __193
 59499  	case OP_CRPOSPLUS:
 59500  		goto __194
 59501  	// Fall through
 59502  
 59503  	case OP_CRSTAR:
 59504  		goto __195
 59505  	case OP_CRMINSTAR:
 59506  		goto __196
 59507  	case OP_CRQUERY:
 59508  		goto __197
 59509  	case OP_CRMINQUERY:
 59510  		goto __198
 59511  	case OP_CRPOSSTAR:
 59512  		goto __199
 59513  	case OP_CRPOSQUERY:
 59514  		goto __200
 59515  
 59516  	case OP_CRRANGE:
 59517  		goto __201
 59518  	case OP_CRMINRANGE:
 59519  		goto __202
 59520  	case OP_CRPOSRANGE:
 59521  		goto __203
 59522  
 59523  	default:
 59524  		goto __204
 59525  	}
 59526  	goto __191
 59527  
 59528  __192:
 59529  __193:
 59530  __194:
 59531  	branchlength++
 59532  	// Fall through
 59533  
 59534  __195:
 59535  __196:
 59536  __197:
 59537  __198:
 59538  __199:
 59539  __200:
 59540  	cc++
 59541  	goto __191
 59542  
 59543  __201:
 59544  __202:
 59545  __203:
 59546  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59547  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59548  	goto __191
 59549  
 59550  __204:
 59551  	branchlength++
 59552  	goto __191
 59553  __191:
 59554  	;
 59555  	goto __8
 59556  
 59557  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 59558  	//     way: we find the minimum length for the subpattern. A recursion
 59559  	//     (backreference or subroutine) causes an a flag to be set that causes the
 59560  	//     length of this branch to be ignored. The logic is that a recursion can only
 59561  	//     make sense if there is another alternative that stops the recursing. That
 59562  	//     will provide the minimum length (when no recursion happens).
 59563  	//
 59564  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 59565  	//     matches an empty string (by default it causes a matching failure), so in
 59566  	//     that case we must set the minimum length to zero.
 59567  	//
 59568  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 59569  	//     for a reference to a duplicate. If it is, we don't know which version will
 59570  	//     be referenced, so we have to set the minimum length to zero.
 59571  
 59572  	// Duplicate named pattern back reference.
 59573  
 59574  __111:
 59575  __112:
 59576  	if !(!(dupcapused != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59577  		goto __205
 59578  	}
 59579  
 59580  	count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59581  	slot =
 59582  		re + uintptr(uint32(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))
 59583  
 59584  	d = 0x7fffffff
 59585  
 59586  	// Scan all groups with the same name; find the shortest.
 59587  
 59588  __207:
 59589  	if !(libc.PostDecInt32(&count, 1) > 0) {
 59590  		goto __208
 59591  	}
 59592  
 59593  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)))))
 59594  
 59595  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59596  		goto __209
 59597  	}
 59598  	dd = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59599  	goto __210
 59600  __209:
 59601  
 59602  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59603  	if !(cs == uintptr(0)) {
 59604  		goto __211
 59605  	}
 59606  	return -2
 59607  __211:
 59608  	;
 59609  __212:
 59610  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59611  	goto __213
 59612  __213:
 59613  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59614  		goto __212
 59615  	}
 59616  	goto __214
 59617  __214:
 59618  	;
 59619  
 59620  	dd = 0
 59621  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59622  		goto __215
 59623  	}
 59624  
 59625  	if !(cc > cs && cc < ce) {
 59626  		goto __216
 59627  	} /* Simple recursion */
 59628  
 59629  	had_recurse = DTRUE
 59630  	goto __217
 59631  __216:
 59632  
 59633  	r = recurses
 59634  	r = recurses
 59635  __218:
 59636  	if !(r != uintptr(0)) {
 59637  		goto __220
 59638  	}
 59639  	if !((*Trecurse_check)(unsafe.Pointer(r)).Fgroup == cs) {
 59640  		goto __221
 59641  	}
 59642  	goto __220
 59643  __221:
 59644  	;
 59645  	goto __219
 59646  __219:
 59647  	r = (*Trecurse_check)(unsafe.Pointer(r)).Fprev
 59648  	goto __218
 59649  	goto __220
 59650  __220:
 59651  	;
 59652  	if !(r != uintptr(0)) {
 59653  		goto __222
 59654  	} /* Mutual recursion */
 59655  
 59656  	had_recurse = DTRUE
 59657  	goto __223
 59658  __222:
 59659  
 59660  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses // No recursion
 59661  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59662  	dd = find_minlength(tls, re, cs, startcode, utf, bp,
 59663  		countptr, backref_cache)
 59664  	if !(dd < 0) {
 59665  		goto __224
 59666  	}
 59667  	return dd
 59668  __224:
 59669  	;
 59670  __223:
 59671  	;
 59672  __217:
 59673  	;
 59674  __215:
 59675  	;
 59676  
 59677  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = dd
 59678  	i = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59679  __225:
 59680  	if !(i < recno) {
 59681  		goto __227
 59682  	}
 59683  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i)*4)) = -1
 59684  	goto __226
 59685  __226:
 59686  	i++
 59687  	goto __225
 59688  	goto __227
 59689  __227:
 59690  	;
 59691  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59692  __210:
 59693  	;
 59694  
 59695  	if !(dd < d) {
 59696  		goto __228
 59697  	}
 59698  	d = dd
 59699  __228:
 59700  	;
 59701  	if !(d <= 0) {
 59702  		goto __229
 59703  	}
 59704  	goto __208
 59705  __229:
 59706  	; // No point looking at any more
 59707  	slot += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 59708  	goto __207
 59709  __208:
 59710  	;
 59711  	goto __206
 59712  __205:
 59713  	d = 0
 59714  __206:
 59715  	;
 59716  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59717  	goto REPEAT_BACK_REFERENCE
 59718  
 59719  	// Single back reference by number. References by name are converted to by
 59720  	//     number when there is no duplication.
 59721  
 59722  __113:
 59723  __114:
 59724  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59725  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59726  		goto __230
 59727  	}
 59728  	d = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59729  	goto __231
 59730  __230:
 59731  
 59732  	d = 0
 59733  
 59734  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59735  		goto __232
 59736  	}
 59737  
 59738  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59739  	if !(cs == uintptr(0)) {
 59740  		goto __233
 59741  	}
 59742  	return -2
 59743  __233:
 59744  	;
 59745  __234:
 59746  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59747  	goto __235
 59748  __235:
 59749  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59750  		goto __234
 59751  	}
 59752  	goto __236
 59753  __236:
 59754  	;
 59755  
 59756  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59757  		goto __237
 59758  	}
 59759  
 59760  	if !(cc > cs && cc < ce) {
 59761  		goto __238
 59762  	} /* Simple recursion */
 59763  
 59764  	had_recurse = DTRUE
 59765  	goto __239
 59766  __238:
 59767  
 59768  	r1 = recurses
 59769  	r1 = recurses
 59770  __240:
 59771  	if !(r1 != uintptr(0)) {
 59772  		goto __242
 59773  	}
 59774  	if !((*Trecurse_check)(unsafe.Pointer(r1)).Fgroup == cs) {
 59775  		goto __243
 59776  	}
 59777  	goto __242
 59778  __243:
 59779  	;
 59780  	goto __241
 59781  __241:
 59782  	r1 = (*Trecurse_check)(unsafe.Pointer(r1)).Fprev
 59783  	goto __240
 59784  	goto __242
 59785  __242:
 59786  	;
 59787  	if !(r1 != uintptr(0)) {
 59788  		goto __244
 59789  	} /* Mutual recursion */
 59790  
 59791  	had_recurse = DTRUE
 59792  	goto __245
 59793  __244: /* No recursion */
 59794  
 59795  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59796  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59797  	d = find_minlength(tls, re, cs, startcode, utf, bp, countptr,
 59798  		backref_cache)
 59799  	if !(d < 0) {
 59800  		goto __246
 59801  	}
 59802  	return d
 59803  __246:
 59804  	;
 59805  __245:
 59806  	;
 59807  __239:
 59808  	;
 59809  __237:
 59810  	;
 59811  __232:
 59812  	;
 59813  
 59814  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = d
 59815  	i1 = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59816  __247:
 59817  	if !(i1 < recno) {
 59818  		goto __249
 59819  	}
 59820  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i1)*4)) = -1
 59821  	goto __248
 59822  __248:
 59823  	i1++
 59824  	goto __247
 59825  	goto __249
 59826  __249:
 59827  	;
 59828  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59829  __231:
 59830  	;
 59831  
 59832  	cc += uintptr(1 + DIMM2_SIZE)
 59833  
 59834  	// Handle repeated back references
 59835  
 59836  REPEAT_BACK_REFERENCE:
 59837  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59838  	case OP_CRSTAR:
 59839  		goto __251
 59840  	case OP_CRMINSTAR:
 59841  		goto __252
 59842  	case OP_CRQUERY:
 59843  		goto __253
 59844  	case OP_CRMINQUERY:
 59845  		goto __254
 59846  	case OP_CRPOSSTAR:
 59847  		goto __255
 59848  	case OP_CRPOSQUERY:
 59849  		goto __256
 59850  
 59851  	case OP_CRPLUS:
 59852  		goto __257
 59853  	case OP_CRMINPLUS:
 59854  		goto __258
 59855  	case OP_CRPOSPLUS:
 59856  		goto __259
 59857  
 59858  	case OP_CRRANGE:
 59859  		goto __260
 59860  	case OP_CRMINRANGE:
 59861  		goto __261
 59862  	case OP_CRPOSRANGE:
 59863  		goto __262
 59864  
 59865  	default:
 59866  		goto __263
 59867  	}
 59868  	goto __250
 59869  
 59870  __251:
 59871  __252:
 59872  __253:
 59873  __254:
 59874  __255:
 59875  __256:
 59876  	min = 0
 59877  	cc++
 59878  	goto __250
 59879  
 59880  __257:
 59881  __258:
 59882  __259:
 59883  	min = 1
 59884  	cc++
 59885  	goto __250
 59886  
 59887  __260:
 59888  __261:
 59889  __262:
 59890  	min = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59891  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59892  	goto __250
 59893  
 59894  __263:
 59895  	min = 1
 59896  	goto __250
 59897  __250:
 59898  	;
 59899  
 59900  	// Take care not to overflow: (1) min and d are ints, so check that their
 59901  	//      product is not greater than INT_MAX. (2) branchlength is limited to
 59902  	//      UINT16_MAX (checked at the top of the loop).
 59903  
 59904  	if !(d > 0 && 0x7fffffff/d < min || 65535-branchlength < min*d) {
 59905  		goto __264
 59906  	}
 59907  	branchlength = 65535
 59908  	goto __265
 59909  __264:
 59910  	branchlength = branchlength + min*d
 59911  __265:
 59912  	;
 59913  	goto __8
 59914  
 59915  	// Recursion always refers to the first occurrence of a subpattern with a
 59916  	//     given number. Therefore, we can always make use of caching, even when the
 59917  	//     pattern contains multiple subpatterns with the same number.
 59918  
 59919  __115:
 59920  	cs = libc.AssignUintptr(&ce, startcode+uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))))
 59921  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 4)))))
 59922  	if !(recno == prev_recurse_recno) {
 59923  		goto __266
 59924  	}
 59925  
 59926  	branchlength = branchlength + prev_recurse_d
 59927  	goto __267
 59928  __266:
 59929  
 59930  __268:
 59931  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59932  	goto __269
 59933  __269:
 59934  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59935  		goto __268
 59936  	}
 59937  	goto __270
 59938  __270:
 59939  	;
 59940  	if !(cc > cs && cc < ce) {
 59941  		goto __271
 59942  	} // Simple recursion
 59943  	had_recurse = DTRUE
 59944  	goto __272
 59945  __271:
 59946  
 59947  	r2 = recurses
 59948  	r2 = recurses
 59949  __273:
 59950  	if !(r2 != uintptr(0)) {
 59951  		goto __275
 59952  	}
 59953  	if !((*Trecurse_check)(unsafe.Pointer(r2)).Fgroup == cs) {
 59954  		goto __276
 59955  	}
 59956  	goto __275
 59957  __276:
 59958  	;
 59959  	goto __274
 59960  __274:
 59961  	r2 = (*Trecurse_check)(unsafe.Pointer(r2)).Fprev
 59962  	goto __273
 59963  	goto __275
 59964  __275:
 59965  	;
 59966  	if !(r2 != uintptr(0)) {
 59967  		goto __277
 59968  	} // Mutual recursion
 59969  	had_recurse = DTRUE
 59970  	goto __278
 59971  __277:
 59972  
 59973  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59974  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59975  	prev_recurse_d = find_minlength(tls, re, cs, startcode, utf, bp,
 59976  		countptr, backref_cache)
 59977  	if !(prev_recurse_d < 0) {
 59978  		goto __279
 59979  	}
 59980  	return prev_recurse_d
 59981  __279:
 59982  	;
 59983  	prev_recurse_recno = recno
 59984  	branchlength = branchlength + prev_recurse_d
 59985  __278:
 59986  	;
 59987  __272:
 59988  	;
 59989  __267:
 59990  	;
 59991  	cc += uintptr(Tuint32_t(1+DLINK_SIZE) + once_fudge)
 59992  	once_fudge = Tuint32_t(0)
 59993  	goto __8
 59994  
 59995  	// Anything else does not or need not match a character. We can get the
 59996  	//     item's length from the table, but for those that can match zero occurrences
 59997  	//     of a character, we must take special action for UTF-8 characters. As it
 59998  	//     happens, the "NOT" versions of these opcodes are used at present only for
 59999  	//     ASCII characters, so they could be omitted from this list. However, in
 60000  	//     future that may change, so we include them here so as not to leave a
 60001  	//     gotcha for a future maintainer.
 60002  
 60003  __116:
 60004  __117:
 60005  __118:
 60006  __119:
 60007  __120:
 60008  __121:
 60009  __122:
 60010  __123:
 60011  __124:
 60012  __125:
 60013  __126:
 60014  __127:
 60015  
 60016  __128:
 60017  __129:
 60018  __130:
 60019  __131:
 60020  __132:
 60021  __133:
 60022  __134:
 60023  __135:
 60024  __136:
 60025  __137:
 60026  __138:
 60027  __139:
 60028  
 60029  __140:
 60030  __141:
 60031  __142:
 60032  __143:
 60033  __144:
 60034  __145:
 60035  __146:
 60036  __147:
 60037  __148:
 60038  __149:
 60039  __150:
 60040  __151:
 60041  
 60042  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60043  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 60044  		goto __280
 60045  	}
 60046  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 60047  __280:
 60048  	;
 60049  	goto __8
 60050  
 60051  	// Skip these, but we need to add in the name length.
 60052  
 60053  __152:
 60054  __153:
 60055  __154:
 60056  __155:
 60057  __156:
 60058  	cc += uintptr(int32(X_pcre2_OP_lengths_8[op]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 60059  	goto __8
 60060  
 60061  	// The remaining opcodes are just skipped over.
 60062  
 60063  __157:
 60064  __158:
 60065  __159:
 60066  __160:
 60067  __161:
 60068  __162:
 60069  __163:
 60070  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60071  	goto __8
 60072  
 60073  	// This should not occur: we list all opcodes explicitly so that when
 60074  	//     new ones get added they are properly considered.
 60075  
 60076  __164:
 60077  	return -3
 60078  __8:
 60079  	;
 60080  	goto __5
 60081  __5:
 60082  	goto __4
 60083  	goto __6
 60084  __6:
 60085  	;
 60086  	return int32(0)
 60087  	// Control never gets here
 60088  }
 60089  
 60090  // ************************************************
 60091  //
 60092  //      Set a bit and maybe its alternate case    *
 60093  //
 60094  
 60095  // Given a character, set its first code unit's bit in the table, and also the
 60096  // corresponding bit for the other version of a letter if we are caseless.
 60097  //
 60098  // Arguments:
 60099  //   re            points to the regex block
 60100  //   p             points to the first code unit of the character
 60101  //   caseless      TRUE if caseless
 60102  //   utf           TRUE for UTF mode
 60103  //   ucp           TRUE for UCP mode
 60104  //
 60105  // Returns:        pointer after the character
 60106  
 60107  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: */
 60108  	bp := tls.Alloc(6)
 60109  	defer tls.Free(6)
 60110  
 60111  	var c Tuint32_t = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) // First code unit
 60112  
 60113  	_ = utf // Stop compiler warnings when UTF not supported
 60114  	_ = ucp
 60115  
 60116  	// In 16-bit and 32-bit modes, code units greater than 0xff set the bit for
 60117  	// 0xff.
 60118  
 60119  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60120  
 60121  	// In UTF-8 or UTF-16 mode, pick up the remaining code units in order to find
 60122  	// the end of the character, even when caseless.
 60123  
 60124  	if utf != 0 {
 60125  		if c >= Tuint32_t(0xc0) {
 60126  			if c&0x20 == Tuint32_t(0) {
 60127  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 60128  			} else if c&0x10 == Tuint32_t(0) {
 60129  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 60130  				p += uintptr(2)
 60131  			} else if c&0x08 == Tuint32_t(0) {
 60132  				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
 60133  				p += uintptr(3)
 60134  			} else if c&0x04 == Tuint32_t(0) {
 60135  				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
 60136  				p += uintptr(4)
 60137  			} else {
 60138  				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
 60139  				p += uintptr(5)
 60140  			}
 60141  		}
 60142  
 60143  	}
 60144  
 60145  	// If caseless, handle the other case of the character.
 60146  
 60147  	if caseless != 0 {
 60148  		if utf != 0 || ucp != 0 {
 60149  			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)
 60150  			if utf != 0 {
 60151  				// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60152  
 60153  				X_pcre2_ord2utf_8(tls, c, bp)
 60154  				*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60155  			} else if c < Tuint32_t(256) {
 60156  				*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60157  			}
 60158  		} else
 60159  
 60160  		// Not UTF or UCP
 60161  
 60162  		if 1 != 0 {
 60163  			*(*Tuint8_t)(unsafe.Pointer(re + 20 + 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))
 60164  		}
 60165  	}
 60166  
 60167  	return p
 60168  }
 60169  
 60170  // ************************************************
 60171  //
 60172  //     Set bits for a positive character type     *
 60173  //
 60174  
 60175  // This function sets starting bits for a character type. In UTF-8 mode, we can
 60176  // only do a direct setting for bytes less than 128, as otherwise there can be
 60177  // confusion with bytes in the middle of UTF-8 characters. In a "traditional"
 60178  // environment, the tables will only recognize ASCII characters anyway, but in at
 60179  // least one Windows environment, some higher bytes bits were set in the tables.
 60180  // So we deal with that case by considering the UTF-8 encoding.
 60181  //
 60182  // Arguments:
 60183  //   re             the regex block
 60184  //   cbit type      the type of character wanted
 60185  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60186  //
 60187  // Returns:         nothing
 60188  
 60189  func set_type_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:866:1: */
 60190  	bp := tls.Alloc(6)
 60191  	defer tls.Free(6)
 60192  
 60193  	var c Tuint32_t
 60194  	for c = Tuint32_t(0); c < table_limit; c++ {
 60195  		*(*Tuint8_t)(unsafe.Pointer(re + 20 + 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))))))
 60196  	}
 60197  	if table_limit == uint32(32) {
 60198  		return
 60199  	}
 60200  	for c = Tuint32_t(128); c < Tuint32_t(256); c++ {
 60201  		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) {
 60202  			// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60203  
 60204  			X_pcre2_ord2utf_8(tls, c, bp)
 60205  			*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60206  		}
 60207  	}
 60208  }
 60209  
 60210  // ************************************************
 60211  //
 60212  //     Set bits for a negative character type     *
 60213  //
 60214  
 60215  // This function sets starting bits for a negative character type such as \D.
 60216  // In UTF-8 mode, we can only do a direct setting for bytes less than 128, as
 60217  // otherwise there can be confusion with bytes in the middle of UTF-8 characters.
 60218  // Unlike in the positive case, where we can set appropriate starting bits for
 60219  // specific high-valued UTF-8 characters, in this case we have to set the bits for
 60220  // all high-valued characters. The lowest is 0xc2, but we overkill by starting at
 60221  // 0xc0 (192) for simplicity.
 60222  //
 60223  // Arguments:
 60224  //   re             the regex block
 60225  //   cbit type      the type of character wanted
 60226  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60227  //
 60228  // Returns:         nothing
 60229  
 60230  func set_nottype_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:907:1: */
 60231  	var c Tuint32_t
 60232  	for c = Tuint32_t(0); c < table_limit; c++ {
 60233  		*(*Tuint8_t)(unsafe.Pointer(re + 20 + 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))))))))
 60234  	}
 60235  	if table_limit != uint32(32) {
 60236  		for c = Tuint32_t(24); c < Tuint32_t(32); c++ {
 60237  			*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c))) = Tuint8_t(0xff)
 60238  		}
 60239  	}
 60240  }
 60241  
 60242  // ************************************************
 60243  //
 60244  //      Create bitmap of starting code units      *
 60245  //
 60246  
 60247  // This function scans a compiled unanchored expression recursively and
 60248  // attempts to build a bitmap of the set of possible starting code units whose
 60249  // values are less than 256. In 16-bit and 32-bit mode, values above 255 all cause
 60250  // the 255 bit to be set. When calling set[_not]_type_bits() in UTF-8 (sic) mode
 60251  // we pass a value of 16 rather than 32 as the final argument. (See comments in
 60252  // those functions for the reason.)
 60253  //
 60254  // The SSB_CONTINUE return is useful for parenthesized groups in patterns such as
 60255  // (a*)b where the group provides some optional starting code units but scanning
 60256  // must continue at the outer level to find at least one mandatory code unit. At
 60257  // the outermost level, this function fails unless the result is SSB_DONE.
 60258  //
 60259  // We restrict recursion (for nested groups) to 1000 to avoid stack overflow
 60260  // issues.
 60261  //
 60262  // Arguments:
 60263  //   re           points to the compiled regex block
 60264  //   code         points to an expression
 60265  //   utf          TRUE if in UTF mode
 60266  //   ucp          TRUE if in UCP mode
 60267  //   depthptr     pointer to recurse depth
 60268  //
 60269  // Returns:       SSB_FAIL     => Failed to find any starting code units
 60270  //                SSB_DONE     => Found mandatory starting code units
 60271  //                SSB_CONTINUE => Found optional starting code units
 60272  //                SSB_UNKNOWN  => Hit an unrecognized opcode
 60273  //                SSB_TOODEEP  => Recursion is too deep
 60274  
 60275  func set_start_bits(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, depthptr uintptr) int32 { /* pcre2_study.c:953:1: */
 60276  	bp := tls.Alloc(6)
 60277  	defer tls.Free(6)
 60278  
 60279  	var c Tuint32_t
 60280  	var yield int32
 60281  	var table_limit int32
 60282  	// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60283  
 60284  	var p uintptr
 60285  	var b TPCRE2_UCHAR8
 60286  	var e TPCRE2_UCHAR8
 60287  	var p1 TPCRE2_SPTR8
 60288  	var d int32
 60289  	var rc int32
 60290  	var classmap uintptr
 60291  	var xclassflags TPCRE2_UCHAR8
 60292  	var try_next TBOOL
 60293  	var tcode TPCRE2_SPTR8
 60294  	yield = SSB_DONE
 60295  	if utf != 0 {
 60296  		table_limit = 16
 60297  	} else {
 60298  		table_limit = 32
 60299  	}
 60300  
 60301  	*(*int32)(unsafe.Pointer(depthptr)) += 1
 60302  	if !(*(*int32)(unsafe.Pointer(depthptr)) > 1000) {
 60303  		goto __1
 60304  	}
 60305  	return SSB_TOODEEP
 60306  __1:
 60307  	;
 60308  
 60309  __2:
 60310  	try_next = DTRUE
 60311  	tcode = code + uintptr(1) + uintptr(DLINK_SIZE)
 60312  
 60313  	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) {
 60314  		goto __5
 60315  	}
 60316  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 60317  __5:
 60318  	;
 60319  
 60320  __6:
 60321  	if !(try_next != 0) {
 60322  		goto __7
 60323  	} /* Loop for items in this branch */
 60324  	classmap = uintptr(0)
 60325  
 60326  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 60327  	// If we reach something we don't understand, it means a new opcode has
 60328  	//       been created that hasn't been added to this function. Hopefully this
 60329  	//       problem will be discovered during testing.
 60330  
 60331  	default:
 60332  		goto __9
 60333  
 60334  	// Fail for a valid opcode that implies no starting bits.
 60335  
 60336  	case OP_ACCEPT:
 60337  		goto __10
 60338  	case OP_ASSERT_ACCEPT:
 60339  		goto __11
 60340  	case OP_ALLANY:
 60341  		goto __12
 60342  	case OP_ANY:
 60343  		goto __13
 60344  	case OP_ANYBYTE:
 60345  		goto __14
 60346  	case OP_CIRCM:
 60347  		goto __15
 60348  	case OP_CLOSE:
 60349  		goto __16
 60350  	case OP_COMMIT:
 60351  		goto __17
 60352  	case OP_COMMIT_ARG:
 60353  		goto __18
 60354  	case OP_COND:
 60355  		goto __19
 60356  	case OP_CREF:
 60357  		goto __20
 60358  	case OP_FALSE:
 60359  		goto __21
 60360  	case OP_TRUE:
 60361  		goto __22
 60362  	case OP_DNCREF:
 60363  		goto __23
 60364  	case OP_DNREF:
 60365  		goto __24
 60366  	case OP_DNREFI:
 60367  		goto __25
 60368  	case OP_DNRREF:
 60369  		goto __26
 60370  	case OP_DOLL:
 60371  		goto __27
 60372  	case OP_DOLLM:
 60373  		goto __28
 60374  	case OP_END:
 60375  		goto __29
 60376  	case OP_EOD:
 60377  		goto __30
 60378  	case OP_EODN:
 60379  		goto __31
 60380  	case OP_EXTUNI:
 60381  		goto __32
 60382  	case OP_FAIL:
 60383  		goto __33
 60384  	case OP_MARK:
 60385  		goto __34
 60386  	case OP_NOT:
 60387  		goto __35
 60388  	case OP_NOTEXACT:
 60389  		goto __36
 60390  	case OP_NOTEXACTI:
 60391  		goto __37
 60392  	case OP_NOTI:
 60393  		goto __38
 60394  	case OP_NOTMINPLUS:
 60395  		goto __39
 60396  	case OP_NOTMINPLUSI:
 60397  		goto __40
 60398  	case OP_NOTMINQUERY:
 60399  		goto __41
 60400  	case OP_NOTMINQUERYI:
 60401  		goto __42
 60402  	case OP_NOTMINSTAR:
 60403  		goto __43
 60404  	case OP_NOTMINSTARI:
 60405  		goto __44
 60406  	case OP_NOTMINUPTO:
 60407  		goto __45
 60408  	case OP_NOTMINUPTOI:
 60409  		goto __46
 60410  	case OP_NOTPLUS:
 60411  		goto __47
 60412  	case OP_NOTPLUSI:
 60413  		goto __48
 60414  	case OP_NOTPOSPLUS:
 60415  		goto __49
 60416  	case OP_NOTPOSPLUSI:
 60417  		goto __50
 60418  	case OP_NOTPOSQUERY:
 60419  		goto __51
 60420  	case OP_NOTPOSQUERYI:
 60421  		goto __52
 60422  	case OP_NOTPOSSTAR:
 60423  		goto __53
 60424  	case OP_NOTPOSSTARI:
 60425  		goto __54
 60426  	case OP_NOTPOSUPTO:
 60427  		goto __55
 60428  	case OP_NOTPOSUPTOI:
 60429  		goto __56
 60430  	case OP_NOTPROP:
 60431  		goto __57
 60432  	case OP_NOTQUERY:
 60433  		goto __58
 60434  	case OP_NOTQUERYI:
 60435  		goto __59
 60436  	case OP_NOTSTAR:
 60437  		goto __60
 60438  	case OP_NOTSTARI:
 60439  		goto __61
 60440  	case OP_NOTUPTO:
 60441  		goto __62
 60442  	case OP_NOTUPTOI:
 60443  		goto __63
 60444  	case OP_NOT_HSPACE:
 60445  		goto __64
 60446  	case OP_NOT_VSPACE:
 60447  		goto __65
 60448  	case OP_PRUNE:
 60449  		goto __66
 60450  	case OP_PRUNE_ARG:
 60451  		goto __67
 60452  	case OP_RECURSE:
 60453  		goto __68
 60454  	case OP_REF:
 60455  		goto __69
 60456  	case OP_REFI:
 60457  		goto __70
 60458  	case OP_REVERSE:
 60459  		goto __71
 60460  	case OP_RREF:
 60461  		goto __72
 60462  	case OP_SCOND:
 60463  		goto __73
 60464  	case OP_SET_SOM:
 60465  		goto __74
 60466  	case OP_SKIP:
 60467  		goto __75
 60468  	case OP_SKIP_ARG:
 60469  		goto __76
 60470  	case OP_SOD:
 60471  		goto __77
 60472  	case OP_SOM:
 60473  		goto __78
 60474  	case OP_THEN:
 60475  		goto __79
 60476  	case OP_THEN_ARG:
 60477  		goto __80
 60478  
 60479  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60480  	//       uses OP_CIRCM). Skip over it.
 60481  
 60482  	case OP_CIRC:
 60483  		goto __81
 60484  
 60485  	// A "real" property test implies no starting bits, but the fake property
 60486  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60487  	//       are used for characters with more than one "other case", so there is no
 60488  	//       point in recognizing them for OP_NOTPROP.
 60489  
 60490  	case OP_PROP:
 60491  		goto __82
 60492  
 60493  	// We can ignore word boundary tests.
 60494  
 60495  	case OP_WORD_BOUNDARY:
 60496  		goto __83
 60497  	case OP_NOT_WORD_BOUNDARY:
 60498  		goto __84
 60499  
 60500  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60501  	//       bits from within the subpattern. If it can't find anything, we have to
 60502  	//       give up. If it finds some mandatory character(s), we are done for this
 60503  	//       branch. Otherwise, carry on scanning after the subpattern.
 60504  
 60505  	case OP_BRA:
 60506  		goto __85
 60507  	case OP_SBRA:
 60508  		goto __86
 60509  	case OP_CBRA:
 60510  		goto __87
 60511  	case OP_SCBRA:
 60512  		goto __88
 60513  	case OP_BRAPOS:
 60514  		goto __89
 60515  	case OP_SBRAPOS:
 60516  		goto __90
 60517  	case OP_CBRAPOS:
 60518  		goto __91
 60519  	case OP_SCBRAPOS:
 60520  		goto __92
 60521  	case OP_ONCE:
 60522  		goto __93
 60523  	case OP_SCRIPT_RUN:
 60524  		goto __94
 60525  	case OP_ASSERT:
 60526  		goto __95
 60527  	case OP_ASSERT_NA:
 60528  		goto __96
 60529  
 60530  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60531  	//       this branch, though we might have found something optional. For ALT, we
 60532  	//       continue with the next alternative, but we have to arrange that the final
 60533  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60534  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60535  	//       but after a nested subpattern, it causes scanning to continue.
 60536  
 60537  	case OP_ALT:
 60538  		goto __97
 60539  
 60540  	case OP_KET:
 60541  		goto __98
 60542  	case OP_KETRMAX:
 60543  		goto __99
 60544  	case OP_KETRMIN:
 60545  		goto __100
 60546  	case OP_KETRPOS:
 60547  		goto __101
 60548  
 60549  	// Skip over callout
 60550  
 60551  	case OP_CALLOUT:
 60552  		goto __102
 60553  
 60554  	case OP_CALLOUT_STR:
 60555  		goto __103
 60556  
 60557  	// Skip over lookbehind and negative lookahead assertions
 60558  
 60559  	case OP_ASSERT_NOT:
 60560  		goto __104
 60561  	case OP_ASSERTBACK:
 60562  		goto __105
 60563  	case OP_ASSERTBACK_NOT:
 60564  		goto __106
 60565  	case OP_ASSERTBACK_NA:
 60566  		goto __107
 60567  
 60568  	// BRAZERO does the bracket, but carries on.
 60569  
 60570  	case OP_BRAZERO:
 60571  		goto __108
 60572  	case OP_BRAMINZERO:
 60573  		goto __109
 60574  	case OP_BRAPOSZERO:
 60575  		goto __110
 60576  
 60577  	// SKIPZERO skips the bracket.
 60578  
 60579  	case OP_SKIPZERO:
 60580  		goto __111
 60581  
 60582  	// Single-char * or ? sets the bit and tries the next item
 60583  
 60584  	case OP_STAR:
 60585  		goto __112
 60586  	case OP_MINSTAR:
 60587  		goto __113
 60588  	case OP_POSSTAR:
 60589  		goto __114
 60590  	case OP_QUERY:
 60591  		goto __115
 60592  	case OP_MINQUERY:
 60593  		goto __116
 60594  	case OP_POSQUERY:
 60595  		goto __117
 60596  
 60597  	case OP_STARI:
 60598  		goto __118
 60599  	case OP_MINSTARI:
 60600  		goto __119
 60601  	case OP_POSSTARI:
 60602  		goto __120
 60603  	case OP_QUERYI:
 60604  		goto __121
 60605  	case OP_MINQUERYI:
 60606  		goto __122
 60607  	case OP_POSQUERYI:
 60608  		goto __123
 60609  
 60610  	// Single-char upto sets the bit and tries the next
 60611  
 60612  	case OP_UPTO:
 60613  		goto __124
 60614  	case OP_MINUPTO:
 60615  		goto __125
 60616  	case OP_POSUPTO:
 60617  		goto __126
 60618  
 60619  	case OP_UPTOI:
 60620  		goto __127
 60621  	case OP_MINUPTOI:
 60622  		goto __128
 60623  	case OP_POSUPTOI:
 60624  		goto __129
 60625  
 60626  	// At least one single char sets the bit and stops
 60627  
 60628  	case OP_EXACT:
 60629  		goto __130
 60630  	// Fall through
 60631  	case OP_CHAR:
 60632  		goto __131
 60633  	case OP_PLUS:
 60634  		goto __132
 60635  	case OP_MINPLUS:
 60636  		goto __133
 60637  	case OP_POSPLUS:
 60638  		goto __134
 60639  
 60640  	case OP_EXACTI:
 60641  		goto __135
 60642  	// Fall through
 60643  	case OP_CHARI:
 60644  		goto __136
 60645  	case OP_PLUSI:
 60646  		goto __137
 60647  	case OP_MINPLUSI:
 60648  		goto __138
 60649  	case OP_POSPLUSI:
 60650  		goto __139
 60651  
 60652  	// Special spacing and line-terminating items. These recognize specific
 60653  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 60654  	//       latter can match the two-character CRLF sequence, but that is not
 60655  	//       relevant for finding the first character, so their code here is
 60656  	//       identical.
 60657  
 60658  	case OP_HSPACE:
 60659  		goto __140
 60660  
 60661  	case OP_ANYNL:
 60662  		goto __141
 60663  	case OP_VSPACE:
 60664  		goto __142
 60665  
 60666  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 60667  	//       is set, we do not see these opcodes because \d etc are converted to
 60668  	//       properties. Therefore, these apply in the case when only characters less
 60669  	//       than 256 are recognized to match the types.
 60670  
 60671  	case OP_NOT_DIGIT:
 60672  		goto __143
 60673  
 60674  	case OP_DIGIT:
 60675  		goto __144
 60676  
 60677  	case OP_NOT_WHITESPACE:
 60678  		goto __145
 60679  
 60680  	case OP_WHITESPACE:
 60681  		goto __146
 60682  
 60683  	case OP_NOT_WORDCHAR:
 60684  		goto __147
 60685  
 60686  	case OP_WORDCHAR:
 60687  		goto __148
 60688  
 60689  	// One or more character type fudges the pointer and restarts, knowing
 60690  	//       it will hit a single character type and stop there.
 60691  
 60692  	case OP_TYPEPLUS:
 60693  		goto __149
 60694  	case OP_TYPEMINPLUS:
 60695  		goto __150
 60696  	case OP_TYPEPOSPLUS:
 60697  		goto __151
 60698  
 60699  	case OP_TYPEEXACT:
 60700  		goto __152
 60701  
 60702  	// Zero or more repeats of character types set the bits and then
 60703  	//       try again.
 60704  
 60705  	case OP_TYPEUPTO:
 60706  		goto __153
 60707  	case OP_TYPEMINUPTO:
 60708  		goto __154
 60709  	case OP_TYPEPOSUPTO:
 60710  		goto __155 // Fall through
 60711  
 60712  	case OP_TYPESTAR:
 60713  		goto __156
 60714  	case OP_TYPEMINSTAR:
 60715  		goto __157
 60716  	case OP_TYPEPOSSTAR:
 60717  		goto __158
 60718  	case OP_TYPEQUERY:
 60719  		goto __159
 60720  	case OP_TYPEMINQUERY:
 60721  		goto __160
 60722  	case OP_TYPEPOSQUERY:
 60723  		goto __161
 60724  
 60725  	// Extended class: if there are any property checks, or if this is a
 60726  	//       negative XCLASS without a map, give up. If there are no property checks,
 60727  	//       there must be wide characters on the XCLASS list, because otherwise an
 60728  	//       XCLASS would not have been created. This means that code points >= 255
 60729  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 60730  	//       for the relevant leading bytes.
 60731  
 60732  	case OP_XCLASS:
 60733  		goto __162
 60734  
 60735  	// It seems that the fall through comment must be outside the #ifdef if
 60736  	//       it is to avoid the gcc compiler warning.
 60737  
 60738  	// Fall through
 60739  
 60740  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 60741  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 60742  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 60743  	//       there is no difference between CLASS and NCLASS. In all other wide
 60744  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 60745  
 60746  	case OP_NCLASS:
 60747  		goto __163
 60748  	// Fall through
 60749  
 60750  	// Enter here for a positive non-XCLASS. If we have fallen through from
 60751  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 60752  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 60753  
 60754  	case OP_CLASS:
 60755  		goto __164
 60756  	}
 60757  	goto __8
 60758  
 60759  	// If we reach something we don't understand, it means a new opcode has
 60760  	//       been created that hasn't been added to this function. Hopefully this
 60761  	//       problem will be discovered during testing.
 60762  
 60763  __9:
 60764  	return SSB_UNKNOWN
 60765  
 60766  	// Fail for a valid opcode that implies no starting bits.
 60767  
 60768  __10:
 60769  __11:
 60770  __12:
 60771  __13:
 60772  __14:
 60773  __15:
 60774  __16:
 60775  __17:
 60776  __18:
 60777  __19:
 60778  __20:
 60779  __21:
 60780  __22:
 60781  __23:
 60782  __24:
 60783  __25:
 60784  __26:
 60785  __27:
 60786  __28:
 60787  __29:
 60788  __30:
 60789  __31:
 60790  __32:
 60791  __33:
 60792  __34:
 60793  __35:
 60794  __36:
 60795  __37:
 60796  __38:
 60797  __39:
 60798  __40:
 60799  __41:
 60800  __42:
 60801  __43:
 60802  __44:
 60803  __45:
 60804  __46:
 60805  __47:
 60806  __48:
 60807  __49:
 60808  __50:
 60809  __51:
 60810  __52:
 60811  __53:
 60812  __54:
 60813  __55:
 60814  __56:
 60815  __57:
 60816  __58:
 60817  __59:
 60818  __60:
 60819  __61:
 60820  __62:
 60821  __63:
 60822  __64:
 60823  __65:
 60824  __66:
 60825  __67:
 60826  __68:
 60827  __69:
 60828  __70:
 60829  __71:
 60830  __72:
 60831  __73:
 60832  __74:
 60833  __75:
 60834  __76:
 60835  __77:
 60836  __78:
 60837  __79:
 60838  __80:
 60839  	return SSB_FAIL
 60840  
 60841  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60842  	//       uses OP_CIRCM). Skip over it.
 60843  
 60844  __81:
 60845  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CIRC])
 60846  	goto __8
 60847  
 60848  	// A "real" property test implies no starting bits, but the fake property
 60849  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60850  	//       are used for characters with more than one "other case", so there is no
 60851  	//       point in recognizing them for OP_NOTPROP.
 60852  
 60853  __82:
 60854  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) != DPT_CLIST) {
 60855  		goto __165
 60856  	}
 60857  	return SSB_FAIL
 60858  __165:
 60859  	;
 60860  
 60861  	p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))*4
 60862  __166:
 60863  	if !(libc.AssignUint32(&c, *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4)))) < DNOTACHAR) {
 60864  		goto __167
 60865  	}
 60866  
 60867  	if !(utf != 0) {
 60868  		goto __168
 60869  	}
 60870  
 60871  	X_pcre2_ord2utf_8(tls, c, bp)
 60872  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))
 60873  __168:
 60874  	;
 60875  	if !(c > Tuint32_t(0xff)) {
 60876  		goto __169
 60877  	}
 60878  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 31)) |= uint8(uint32(1) << (0xff & 7))
 60879  	goto __170
 60880  __169:
 60881  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60882  __170:
 60883  	;
 60884  	goto __166
 60885  __167:
 60886  	;
 60887  
 60888  	try_next = DFALSE
 60889  	goto __8
 60890  
 60891  	// We can ignore word boundary tests.
 60892  
 60893  __83:
 60894  __84:
 60895  	tcode++
 60896  	goto __8
 60897  
 60898  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60899  	//       bits from within the subpattern. If it can't find anything, we have to
 60900  	//       give up. If it finds some mandatory character(s), we are done for this
 60901  	//       branch. Otherwise, carry on scanning after the subpattern.
 60902  
 60903  __85:
 60904  __86:
 60905  __87:
 60906  __88:
 60907  __89:
 60908  __90:
 60909  __91:
 60910  __92:
 60911  __93:
 60912  __94:
 60913  __95:
 60914  __96:
 60915  	rc = set_start_bits(tls, re, tcode, utf, ucp, depthptr)
 60916  	if !(rc == SSB_DONE) {
 60917  		goto __171
 60918  	}
 60919  
 60920  	try_next = DFALSE
 60921  	goto __172
 60922  __171:
 60923  	if !(rc == SSB_CONTINUE) {
 60924  		goto __173
 60925  	}
 60926  
 60927  __175:
 60928  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 60929  	goto __176
 60930  __176:
 60931  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 60932  		goto __175
 60933  	}
 60934  	goto __177
 60935  __177:
 60936  	;
 60937  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 60938  	goto __174
 60939  __173:
 60940  	return rc
 60941  __174:
 60942  	;
 60943  __172:
 60944  	; // FAIL, UNKNOWN, or TOODEEP
 60945  	goto __8
 60946  
 60947  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60948  	//       this branch, though we might have found something optional. For ALT, we
 60949  	//       continue with the next alternative, but we have to arrange that the final
 60950  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60951  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60952  	//       but after a nested subpattern, it causes scanning to continue.
 60953  
 60954  __97:
 60955  	yield = SSB_CONTINUE
 60956  	try_next = DFALSE
 60957  	goto __8
 60958  
 60959  __98:
 60960  __99:
 60961  __100:
 60962  __101:
 60963  	return SSB_CONTINUE
 60964  
 60965  	// Skip over callout
 60966  
 60967  __102:
 60968  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 60969  	goto __8
 60970  
 60971  __103:
 60972  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 6)))))
 60973  	goto __8
 60974  
 60975  	// Skip over lookbehind and negative lookahead assertions
 60976  
 60977  __104:
 60978  __105:
 60979  __106:
 60980  __107:
 60981  __178:
 60982  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 60983  	goto __179
 60984  __179:
 60985  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 60986  		goto __178
 60987  	}
 60988  	goto __180
 60989  __180:
 60990  	;
 60991  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 60992  	goto __8
 60993  
 60994  	// BRAZERO does the bracket, but carries on.
 60995  
 60996  __108:
 60997  __109:
 60998  __110:
 60999  	rc = set_start_bits(tls, re, libc.PreIncUintptr(&tcode, 1), utf, ucp, depthptr)
 61000  	if !(rc == SSB_FAIL || rc == SSB_UNKNOWN || rc == SSB_TOODEEP) {
 61001  		goto __181
 61002  	}
 61003  	return rc
 61004  __181:
 61005  	;
 61006  __182:
 61007  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61008  	goto __183
 61009  __183:
 61010  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61011  		goto __182
 61012  	}
 61013  	goto __184
 61014  __184:
 61015  	;
 61016  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61017  	goto __8
 61018  
 61019  	// SKIPZERO skips the bracket.
 61020  
 61021  __111:
 61022  	tcode++
 61023  __185:
 61024  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61025  	goto __186
 61026  __186:
 61027  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61028  		goto __185
 61029  	}
 61030  	goto __187
 61031  __187:
 61032  	;
 61033  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61034  	goto __8
 61035  
 61036  	// Single-char * or ? sets the bit and tries the next item
 61037  
 61038  __112:
 61039  __113:
 61040  __114:
 61041  __115:
 61042  __116:
 61043  __117:
 61044  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61045  	goto __8
 61046  
 61047  __118:
 61048  __119:
 61049  __120:
 61050  __121:
 61051  __122:
 61052  __123:
 61053  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61054  	goto __8
 61055  
 61056  	// Single-char upto sets the bit and tries the next
 61057  
 61058  __124:
 61059  __125:
 61060  __126:
 61061  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DFALSE, utf, ucp)
 61062  	goto __8
 61063  
 61064  __127:
 61065  __128:
 61066  __129:
 61067  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DTRUE, utf, ucp)
 61068  	goto __8
 61069  
 61070  	// At least one single char sets the bit and stops
 61071  
 61072  __130:
 61073  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61074  	// Fall through
 61075  __131:
 61076  __132:
 61077  __133:
 61078  __134:
 61079  	set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61080  	try_next = DFALSE
 61081  	goto __8
 61082  
 61083  __135:
 61084  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61085  	// Fall through
 61086  __136:
 61087  __137:
 61088  __138:
 61089  __139:
 61090  	set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61091  	try_next = DFALSE
 61092  	goto __8
 61093  
 61094  	// Special spacing and line-terminating items. These recognize specific
 61095  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 61096  	//       latter can match the two-character CRLF sequence, but that is not
 61097  	//       relevant for finding the first character, so their code here is
 61098  	//       identical.
 61099  
 61100  __140:
 61101  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61102  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61103  
 61104  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61105  	//       the bits for 0xA0 and for code units >= 255, independently of UTF.
 61106  
 61107  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61108  	//       units of horizontal space characters.
 61109  
 61110  	if !(utf != 0) {
 61111  		goto __188
 61112  	}
 61113  
 61114  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61115  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61116  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61117  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61118  	goto __189
 61119  __188:
 61120  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61121  	   the code is EBCDIC. */
 61122  
 61123  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61124  __189:
 61125  	;
 61126  
 61127  	try_next = DFALSE
 61128  	goto __8
 61129  
 61130  __141:
 61131  __142:
 61132  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61133  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61134  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61135  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61136  
 61137  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61138  	//       the bits for NEL and for code units >= 255, independently of UTF.
 61139  
 61140  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61141  	//       units of vertical space characters.
 61142  
 61143  	if !(utf != 0) {
 61144  		goto __190
 61145  	}
 61146  
 61147  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61148  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61149  	goto __191
 61150  __190:
 61151  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61152  
 61153  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7))
 61154  __191:
 61155  	;
 61156  
 61157  	try_next = DFALSE
 61158  	goto __8
 61159  
 61160  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 61161  	//       is set, we do not see these opcodes because \d etc are converted to
 61162  	//       properties. Therefore, these apply in the case when only characters less
 61163  	//       than 256 are recognized to match the types.
 61164  
 61165  __143:
 61166  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61167  	try_next = DFALSE
 61168  	goto __8
 61169  
 61170  __144:
 61171  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61172  	try_next = DFALSE
 61173  	goto __8
 61174  
 61175  __145:
 61176  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61177  	try_next = DFALSE
 61178  	goto __8
 61179  
 61180  __146:
 61181  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61182  	try_next = DFALSE
 61183  	goto __8
 61184  
 61185  __147:
 61186  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61187  	try_next = DFALSE
 61188  	goto __8
 61189  
 61190  __148:
 61191  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61192  	try_next = DFALSE
 61193  	goto __8
 61194  
 61195  	// One or more character type fudges the pointer and restarts, knowing
 61196  	//       it will hit a single character type and stop there.
 61197  
 61198  __149:
 61199  __150:
 61200  __151:
 61201  	tcode++
 61202  	goto __8
 61203  
 61204  __152:
 61205  	tcode += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 61206  	goto __8
 61207  
 61208  	// Zero or more repeats of character types set the bits and then
 61209  	//       try again.
 61210  
 61211  __153:
 61212  __154:
 61213  __155:
 61214  	tcode += TPCRE2_SPTR8(DIMM2_SIZE) // Fall through
 61215  
 61216  __156:
 61217  __157:
 61218  __158:
 61219  __159:
 61220  __160:
 61221  __161:
 61222  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) {
 61223  	default:
 61224  		goto __193
 61225  	case OP_ANY:
 61226  		goto __194
 61227  	case OP_ALLANY:
 61228  		goto __195
 61229  
 61230  	case OP_HSPACE:
 61231  		goto __196
 61232  
 61233  	case OP_ANYNL:
 61234  		goto __197
 61235  	case OP_VSPACE:
 61236  		goto __198
 61237  
 61238  	case OP_NOT_DIGIT:
 61239  		goto __199
 61240  
 61241  	case OP_DIGIT:
 61242  		goto __200
 61243  
 61244  	case OP_NOT_WHITESPACE:
 61245  		goto __201
 61246  
 61247  	case OP_WHITESPACE:
 61248  		goto __202
 61249  
 61250  	case OP_NOT_WORDCHAR:
 61251  		goto __203
 61252  
 61253  	case OP_WORDCHAR:
 61254  		goto __204
 61255  	}
 61256  	goto __192
 61257  
 61258  __193:
 61259  __194:
 61260  __195:
 61261  	return SSB_FAIL
 61262  
 61263  __196:
 61264  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61265  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61266  
 61267  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61268  	//         the bits for 0xA0 and for code units >= 255, independently of UTF.
 61269  
 61270  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61271  	//         units of horizontal space characters.
 61272  
 61273  	if !(utf != 0) {
 61274  		goto __205
 61275  	}
 61276  
 61277  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61278  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61279  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61280  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61281  	goto __206
 61282  __205:
 61283  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61284  	   the code is EBCDIC. */
 61285  
 61286  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61287  __206:
 61288  	;
 61289  	goto __192
 61290  
 61291  __197:
 61292  __198:
 61293  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61294  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61295  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61296  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61297  
 61298  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61299  	//         the bits for NEL and for code units >= 255, independently of UTF.
 61300  
 61301  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61302  	//         units of vertical space characters.
 61303  
 61304  	if !(utf != 0) {
 61305  		goto __207
 61306  	}
 61307  
 61308  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61309  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61310  	goto __208
 61311  __207:
 61312  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61313  
 61314  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7))
 61315  __208:
 61316  	;
 61317  	goto __192
 61318  
 61319  __199:
 61320  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61321  	goto __192
 61322  
 61323  __200:
 61324  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61325  	goto __192
 61326  
 61327  __201:
 61328  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61329  	goto __192
 61330  
 61331  __202:
 61332  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61333  	goto __192
 61334  
 61335  __203:
 61336  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61337  	goto __192
 61338  
 61339  __204:
 61340  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61341  	goto __192
 61342  __192:
 61343  	;
 61344  
 61345  	tcode += uintptr(2)
 61346  	goto __8
 61347  
 61348  	// Extended class: if there are any property checks, or if this is a
 61349  	//       negative XCLASS without a map, give up. If there are no property checks,
 61350  	//       there must be wide characters on the XCLASS list, because otherwise an
 61351  	//       XCLASS would not have been created. This means that code points >= 255
 61352  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 61353  	//       for the relevant leading bytes.
 61354  
 61355  __162:
 61356  	xclassflags = *(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 3))
 61357  	if !(int32(xclassflags)&DXCL_HASPROP != 0 || int32(xclassflags)&(DXCL_MAP|DXCL_NOT) == DXCL_NOT) {
 61358  		goto __209
 61359  	}
 61360  	return SSB_FAIL
 61361  __209:
 61362  	;
 61363  
 61364  	// We have a positive XCLASS or a negative one without a map. Set up the
 61365  	//       map pointer if there is one, and fall through.
 61366  
 61367  	if int32(xclassflags)&DXCL_MAP == 0 {
 61368  		classmap = uintptr(0)
 61369  	} else {
 61370  		classmap = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1)
 61371  	}
 61372  
 61373  	// In UTF-8 mode, scan the character list and set bits for leading bytes,
 61374  	//       then jump to handle the map.
 61375  
 61376  	if !(utf != 0 && int32(xclassflags)&DXCL_NOT == 0) {
 61377  		goto __210
 61378  	}
 61379  
 61380  	p1 = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1) + uintptr(func() int32 {
 61381  		if classmap == uintptr(0) {
 61382  			return 0
 61383  		}
 61384  		return 32
 61385  	}())
 61386  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61387  
 61388  __211:
 61389  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))) {
 61390  	case DXCL_SINGLE:
 61391  		goto __215
 61392  
 61393  	case DXCL_RANGE:
 61394  		goto __216
 61395  
 61396  	case DXCL_END:
 61397  		goto __217
 61398  
 61399  	default:
 61400  		goto __218
 61401  	}
 61402  	goto __214
 61403  
 61404  __215:
 61405  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61406  __219:
 61407  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61408  		goto __220
 61409  	}
 61410  	p1++
 61411  	goto __219
 61412  __220:
 61413  	;
 61414  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61415  	goto __214
 61416  
 61417  __216:
 61418  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61419  __221:
 61420  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61421  		goto __222
 61422  	}
 61423  	p1++
 61424  	goto __221
 61425  __222:
 61426  	;
 61427  	e = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61428  __223:
 61429  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61430  		goto __224
 61431  	}
 61432  	p1++
 61433  	goto __223
 61434  __224:
 61435  	;
 61436  __225:
 61437  	if !(int32(b) <= int32(e)) {
 61438  		goto __227
 61439  	}
 61440  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61441  	goto __226
 61442  __226:
 61443  	b++
 61444  	goto __225
 61445  	goto __227
 61446  __227:
 61447  	;
 61448  	goto __214
 61449  
 61450  __217:
 61451  	goto HANDLE_CLASSMAP
 61452  
 61453  __218:
 61454  	return SSB_UNKNOWN // Internal error, should not occur
 61455  __214:
 61456  	;
 61457  	goto __212
 61458  __212:
 61459  	goto __211
 61460  	goto __213
 61461  __213:
 61462  	;
 61463  __210:
 61464  	;
 61465  
 61466  	// It seems that the fall through comment must be outside the #ifdef if
 61467  	//       it is to avoid the gcc compiler warning.
 61468  
 61469  	// Fall through
 61470  
 61471  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 61472  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 61473  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 61474  	//       there is no difference between CLASS and NCLASS. In all other wide
 61475  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 61476  
 61477  __163:
 61478  	if !(utf != 0) {
 61479  		goto __228
 61480  	}
 61481  
 61482  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + 24)) |= Tuint8_t(0xf0) // Bits for 0xc4 - 0xc8
 61483  	libc.Xmemset(tls, re+20+uintptr(25), 0xff, uint32(7))        // Bits for 0xc9 - 0xff
 61484  __228:
 61485  	;
 61486  	// Fall through
 61487  
 61488  	// Enter here for a positive non-XCLASS. If we have fallen through from
 61489  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 61490  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 61491  
 61492  __164:
 61493  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_XCLASS) {
 61494  		goto __229
 61495  	}
 61496  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61497  	goto __230
 61498  __229:
 61499  
 61500  	classmap = libc.PreIncUintptr(&tcode, 1)
 61501  	tcode += TPCRE2_SPTR8(uint32(32) / uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 61502  __230:
 61503  	;
 61504  
 61505  	// When wide characters are supported, classmap may be NULL. In UTF-8
 61506  	//       (sic) mode, the bits in a class bit map correspond to character values,
 61507  	//       not to byte values. However, the bit map we are constructing is for byte
 61508  	//       values. So we have to do a conversion for characters whose code point is
 61509  	//       greater than 127. In fact, there are only two possible starting bytes for
 61510  	//       characters in the range 128 - 255.
 61511  
 61512  HANDLE_CLASSMAP:
 61513  	if !(classmap != uintptr(0)) {
 61514  		goto __231
 61515  	}
 61516  
 61517  	if !(utf != 0) {
 61518  		goto __232
 61519  	}
 61520  
 61521  	c = Tuint32_t(0)
 61522  __234:
 61523  	if !(c < Tuint32_t(16)) {
 61524  		goto __236
 61525  	}
 61526  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61527  	goto __235
 61528  __235:
 61529  	c++
 61530  	goto __234
 61531  	goto __236
 61532  __236:
 61533  	;
 61534  	c = Tuint32_t(128)
 61535  __237:
 61536  	if !(c < Tuint32_t(256)) {
 61537  		goto __239
 61538  	}
 61539  
 61540  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) {
 61541  		goto __240
 61542  	}
 61543  
 61544  	d = int32(c>>6 | Tuint32_t(0xc0))                                                      // Set bit for this starter
 61545  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(d/8))) |= Tuint8_t(uint32(1) << (d & 7)) // and then skip on to the
 61546  	c = c&Tuint32_t(0xc0) + Tuint32_t(0x40) - Tuint32_t(1)                                 // next relevant character.
 61547  __240:
 61548  	;
 61549  	goto __238
 61550  __238:
 61551  	c++
 61552  	goto __237
 61553  	goto __239
 61554  __239:
 61555  	;
 61556  	goto __233
 61557  __232:
 61558  	/* In all modes except UTF-8, the two bit maps are compatible. */
 61559  
 61560  	c = Tuint32_t(0)
 61561  __241:
 61562  	if !(c < Tuint32_t(32)) {
 61563  		goto __243
 61564  	}
 61565  	*(*Tuint8_t)(unsafe.Pointer(re + 20 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61566  	goto __242
 61567  __242:
 61568  	c++
 61569  	goto __241
 61570  	goto __243
 61571  __243:
 61572  	;
 61573  __233:
 61574  	;
 61575  __231:
 61576  	;
 61577  
 61578  	// Act on what follows the class. For a zero minimum repeat, continue;
 61579  	//       otherwise stop processing.
 61580  
 61581  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 61582  	case OP_CRSTAR:
 61583  		goto __245
 61584  	case OP_CRMINSTAR:
 61585  		goto __246
 61586  	case OP_CRQUERY:
 61587  		goto __247
 61588  	case OP_CRMINQUERY:
 61589  		goto __248
 61590  	case OP_CRPOSSTAR:
 61591  		goto __249
 61592  	case OP_CRPOSQUERY:
 61593  		goto __250
 61594  
 61595  	case OP_CRRANGE:
 61596  		goto __251
 61597  	case OP_CRMINRANGE:
 61598  		goto __252
 61599  	case OP_CRPOSRANGE:
 61600  		goto __253
 61601  
 61602  	default:
 61603  		goto __254
 61604  	}
 61605  	goto __244
 61606  
 61607  __245:
 61608  __246:
 61609  __247:
 61610  __248:
 61611  __249:
 61612  __250:
 61613  	tcode++
 61614  	goto __244
 61615  
 61616  __251:
 61617  __252:
 61618  __253:
 61619  	if !(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))) == uint32(0)) {
 61620  		goto __255
 61621  	}
 61622  	tcode += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 61623  	goto __256
 61624  __255:
 61625  	try_next = DFALSE
 61626  __256:
 61627  	;
 61628  	goto __244
 61629  
 61630  __254:
 61631  	try_next = DFALSE
 61632  	goto __244
 61633  __244:
 61634  	;
 61635  	goto __8 // End of class handling case
 61636  __8:
 61637  	; // End of switch for opcodes
 61638  	goto __6
 61639  __7:
 61640  	; // End of try_next loop
 61641  
 61642  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) // Advance to next branch
 61643  	goto __3
 61644  __3:
 61645  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 61646  		goto __2
 61647  	}
 61648  	goto __4
 61649  __4:
 61650  	;
 61651  
 61652  	return yield
 61653  }
 61654  
 61655  // ************************************************
 61656  //
 61657  //          Study a compiled expression           *
 61658  //
 61659  
 61660  // This function is handed a compiled expression that it must study to produce
 61661  // information that will speed up the matching.
 61662  //
 61663  // Argument:
 61664  //   re       points to the compiled expression
 61665  //
 61666  // Returns:   0 normally; non-zero should never normally occur
 61667  //            1 unknown opcode in set_start_bits
 61668  //            2 missing capturing bracket
 61669  //            3 unknown opcode in find_minlength
 61670  
 61671  func X_pcre2_study_8(tls *libc.TLS, re uintptr) int32 { /* pcre2_study.c:1672:1: */
 61672  	bp := tls.Alloc(524)
 61673  	defer tls.Free(524)
 61674  
 61675  	// var count int32 at bp+520, 4
 61676  
 61677  	var code uintptr
 61678  	var utf TBOOL
 61679  	var ucp TBOOL
 61680  	var d int32
 61681  	var c int32
 61682  	var y Tuint8_t
 61683  	var x Tuint8_t
 61684  	var i int32
 61685  	var a int32
 61686  	var b int32
 61687  	var p uintptr
 61688  	var flags Tuint32_t
 61689  	// var depth int32 at bp, 4
 61690  
 61691  	var rc int32
 61692  	var min int32
 61693  	// var backref_cache [129]int32 at bp+4, 516
 61694  	*(*int32)(unsafe.Pointer(bp + 520 /* count */)) = 0
 61695  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 61696  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 61697  
 61698  	// Find start of compiled code
 61699  
 61700  	code = re + uintptr(uint32(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))
 61701  
 61702  	// For a pattern that has a first code unit, or a multiline pattern that
 61703  	// matches only at "line start", there is no point in seeking a list of starting
 61704  	// code units.
 61705  
 61706  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET|DPCRE2_STARTLINE) == Tuint32_t(0)) {
 61707  		goto __1
 61708  	}
 61709  	*(*int32)(unsafe.Pointer(bp /* depth */)) = 0
 61710  	rc = set_start_bits(tls, re, code, utf, ucp, bp)
 61711  	if !(rc == SSB_UNKNOWN) {
 61712  		goto __2
 61713  	}
 61714  	return 1
 61715  __2:
 61716  	;
 61717  
 61718  	// If a list of starting code units was set up, scan the list to see if only
 61719  	//   one or two were listed. Having only one listed is rare because usually a
 61720  	//   single starting code unit will have been recognized and PCRE2_FIRSTSET set.
 61721  	//   If two are listed, see if they are caseless versions of the same character;
 61722  	//   if so we can replace the list with a caseless first code unit. This gives
 61723  	//   better performance and is plausibly worth doing for patterns such as [Ww]ord
 61724  	//   or (word|WORD).
 61725  
 61726  	if !(rc == SSB_DONE) {
 61727  		goto __3
 61728  	}
 61729  	a = -1
 61730  	b = -1
 61731  	p = re + 20 /* &.start_bitmap */
 61732  	flags = Tuint32_t(DPCRE2_FIRSTMAPSET)
 61733  
 61734  	i = 0
 61735  __4:
 61736  	if !(i < 256) {
 61737  		goto __6
 61738  	}
 61739  
 61740  	x = *(*Tuint8_t)(unsafe.Pointer(p))
 61741  	if !(int32(x) != 0) {
 61742  		goto __7
 61743  	}
 61744  
 61745  	y = Tuint8_t(int32(x) & (^int32(x) + 1)) // Least significant bit
 61746  	if !(int32(y) != int32(x)) {
 61747  		goto __8
 61748  	}
 61749  	goto DONE
 61750  __8:
 61751  	; // More than one bit set
 61752  
 61753  	// In the 16-bit and 32-bit libraries, the bit for 0xff means "0xff and
 61754  	//         all wide characters", so we cannot use it here.
 61755  
 61756  	// Compute the character value
 61757  
 61758  	c = i
 61759  	switch int32(x) {
 61760  	case 1:
 61761  		goto __10
 61762  	case 2:
 61763  		goto __11
 61764  	case 4:
 61765  		goto __12
 61766  	case 8:
 61767  		goto __13
 61768  	case 16:
 61769  		goto __14
 61770  	case 32:
 61771  		goto __15
 61772  	case 64:
 61773  		goto __16
 61774  	case 128:
 61775  		goto __17
 61776  	}
 61777  	goto __9
 61778  
 61779  __10:
 61780  	goto __9
 61781  __11:
 61782  	c = c + 1
 61783  	goto __9
 61784  __12:
 61785  	c = c + 2
 61786  	goto __9
 61787  __13:
 61788  	c = c + 3
 61789  	goto __9
 61790  __14:
 61791  	c = c + 4
 61792  	goto __9
 61793  __15:
 61794  	c = c + 5
 61795  	goto __9
 61796  __16:
 61797  	c = c + 6
 61798  	goto __9
 61799  __17:
 61800  	c = c + 7
 61801  	goto __9
 61802  __9:
 61803  	;
 61804  
 61805  	// c contains the code unit value, in the range 0-255. In 8-bit UTF
 61806  	//         mode, only values < 128 can be used. In all the other cases, c is a
 61807  	//         character value.
 61808  
 61809  	if !(utf != 0 && c > 127) {
 61810  		goto __18
 61811  	}
 61812  	goto DONE
 61813  __18:
 61814  	;
 61815  	if !(a < 0) {
 61816  		goto __19
 61817  	}
 61818  	a = c
 61819  	goto __20
 61820  __19:
 61821  	if !(b < 0) {
 61822  		goto __21
 61823  	} /* Second one found */
 61824  
 61825  	d = int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset) + uintptr(uint32(c)))))
 61826  
 61827  	if !(utf != 0 || ucp != 0) {
 61828  		goto __23
 61829  	}
 61830  
 61831  	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) {
 61832  		goto __24
 61833  	}
 61834  	goto DONE
 61835  __24:
 61836  	; // Multiple case set
 61837  	if !(c > 127) {
 61838  		goto __25
 61839  	}
 61840  	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))
 61841  __25:
 61842  	;
 61843  __23:
 61844  	;
 61845  
 61846  	if !(d != a) {
 61847  		goto __26
 61848  	}
 61849  	goto DONE
 61850  __26:
 61851  	;     // Not the other case of a
 61852  	b = c // Save second in b
 61853  	goto __22
 61854  __21:
 61855  	goto DONE
 61856  __22:
 61857  	;
 61858  __20:
 61859  	; // More than two characters found
 61860  __7:
 61861  	;
 61862  	goto __5
 61863  __5:
 61864  	p++
 61865  	i = i + 8
 61866  	goto __4
 61867  	goto __6
 61868  __6:
 61869  	;
 61870  
 61871  	// Replace the start code unit bits with a first code unit, but only if it
 61872  	//     is not the same as a required later code unit. This is because a search for
 61873  	//     a required code unit starts after an explicit first code unit, but at a
 61874  	//     code unit found from the bitmap. Patterns such as /a*a/ don't work
 61875  	//     if both the start unit and required unit are the same.
 61876  
 61877  	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)))) {
 61878  		goto __27
 61879  	}
 61880  
 61881  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(a)
 61882  	flags = Tuint32_t(DPCRE2_FIRSTSET)
 61883  	if !(b >= 0) {
 61884  		goto __28
 61885  	}
 61886  	flags = flags | Tuint32_t(DPCRE2_FIRSTCASELESS)
 61887  __28:
 61888  	;
 61889  __27:
 61890  	;
 61891  
 61892  DONE:
 61893  	*(*Tuint32_t)(unsafe.Pointer(re + 72)) |= flags
 61894  __3:
 61895  	;
 61896  __1:
 61897  	;
 61898  
 61899  	// Find the minimum length of subject string. If the pattern can match an empty
 61900  	// string, the minimum length is already known. If the pattern contains (*ACCEPT)
 61901  	// all bets are off, and we don't even try to find a minimum length. If there are
 61902  	// more back references than the size of the vector we are going to cache them in,
 61903  	// do nothing. A pattern that complicated will probably take a long time to
 61904  	// analyze and may in any case turn out to be too complicated. Note that back
 61905  	// reference minima are held as 16-bit numbers.
 61906  
 61907  	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) {
 61908  		goto __29
 61909  	}
 61910  
 61911  	*(*int32)(unsafe.Pointer(bp + 4)) = 0 // Highest one that is set
 61912  	min = find_minlength(tls, re, code, code, utf, uintptr(0), bp+520, bp+4)
 61913  	switch min {
 61914  	case -1:
 61915  		goto __31 // Leave minlength unchanged (will be zero)
 61916  
 61917  	case -2:
 61918  		goto __32 // missing capturing bracket
 61919  
 61920  	case -3:
 61921  		goto __33 // unrecognized opcode
 61922  
 61923  	default:
 61924  		goto __34
 61925  	}
 61926  	goto __30
 61927  
 61928  __31: // \C in UTF mode or over-complex regex
 61929  	goto __30 // Leave minlength unchanged (will be zero)
 61930  
 61931  __32:
 61932  	return 2 // missing capturing bracket
 61933  
 61934  __33:
 61935  	return 3 // unrecognized opcode
 61936  
 61937  __34:
 61938  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = func() uint16 {
 61939  		if min > 65535 {
 61940  			return uint16(65535)
 61941  		}
 61942  		return uint16(min)
 61943  	}()
 61944  	goto __30
 61945  __30:
 61946  	;
 61947  __29:
 61948  	;
 61949  
 61950  	return 0
 61951  }
 61952  
 61953  // End of pcre2_study.c
 61954  
 61955  // This function is needed only when memmove() is not available.
 61956  
 61957  // End of pcre2_internal.h
 61958  
 61959  // ************************************************
 61960  //
 61961  //           Find end of substitute text          *
 61962  //
 61963  
 61964  // In extended mode, we recognize ${name:+set text:unset text} and similar
 61965  // constructions. This requires the identification of unescaped : and }
 61966  // characters. This function scans for such. It must deal with nested ${
 61967  // constructions. The pointer to the text is updated, either to the required end
 61968  // character, or to where an error was detected.
 61969  //
 61970  // Arguments:
 61971  //   code      points to the compiled expression (for options)
 61972  //   ptrptr    points to the pointer to the start of the text (updated)
 61973  //   ptrend    end of the whole string
 61974  //   last      TRUE if the last expected string (only } recognized)
 61975  //
 61976  // Returns:    0 on success
 61977  //             negative error code on failure
 61978  
 61979  func find_text_end(tls *libc.TLS, code uintptr, ptrptr uintptr, ptrend TPCRE2_SPTR8, last TBOOL) int32 { /* pcre2_substitute.c:79:1: */
 61980  	bp := tls.Alloc(12)
 61981  	defer tls.Free(12)
 61982  
 61983  	var rc int32
 61984  	var nestlevel Tuint32_t
 61985  	var literal TBOOL
 61986  	// var ptr TPCRE2_SPTR8 at bp, 4
 61987  
 61988  	var erc int32
 61989  	// var errorcode int32 at bp+8, 4
 61990  
 61991  	// var ch Tuint32_t at bp+4, 4
 61992  	rc = 0
 61993  	nestlevel = Tuint32_t(0)
 61994  	literal = DFALSE
 61995  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 61996  
 61997  __1:
 61998  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend) {
 61999  		goto __3
 62000  	}
 62001  
 62002  	if !(literal != 0) {
 62003  		goto __4
 62004  	}
 62005  
 62006  	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') {
 62007  		goto __6
 62008  	}
 62009  
 62010  	literal = DFALSE
 62011  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62012  __6:
 62013  	;
 62014  	goto __5
 62015  __4:
 62016  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
 62017  		goto __7
 62018  	}
 62019  
 62020  	if !(nestlevel == Tuint32_t(0)) {
 62021  		goto __9
 62022  	}
 62023  	goto EXIT
 62024  __9:
 62025  	;
 62026  	nestlevel--
 62027  	goto __8
 62028  __7:
 62029  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\072' && !(last != 0) && nestlevel == Tuint32_t(0)) {
 62030  		goto __10
 62031  	}
 62032  	goto EXIT
 62033  	goto __11
 62034  __10:
 62035  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\044') {
 62036  		goto __12
 62037  	}
 62038  
 62039  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\173') {
 62040  		goto __14
 62041  	}
 62042  
 62043  	nestlevel++
 62044  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62045  __14:
 62046  	;
 62047  	goto __13
 62048  __12:
 62049  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134') {
 62050  		goto __15
 62051  	}
 62052  
 62053  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1)) {
 62054  		goto __16
 62055  	}
 62056  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) + 1))) {
 62057  	case '\114':
 62058  		goto __18
 62059  	case '\154':
 62060  		goto __19
 62061  	case '\125':
 62062  		goto __20
 62063  	case '\165':
 62064  		goto __21
 62065  	}
 62066  	goto __17
 62067  
 62068  __18:
 62069  __19:
 62070  __20:
 62071  __21:
 62072  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62073  	goto __2
 62074  __17:
 62075  	;
 62076  __16:
 62077  	;
 62078  
 62079  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) // Must point after \
 62080  	erc = X_pcre2_check_escape_8(tls, bp, ptrend, bp+4, bp+8,
 62081  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 62082  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) -= uintptr(1) // Back to last code unit of escape
 62083  	if !(*(*int32)(unsafe.Pointer(bp + 8)) != 0) {
 62084  		goto __22
 62085  	}
 62086  
 62087  	rc = *(*int32)(unsafe.Pointer(bp + 8 /* errorcode */))
 62088  	goto EXIT
 62089  __22:
 62090  	;
 62091  
 62092  	switch erc {
 62093  	case 0:
 62094  		goto __24 // Data character
 62095  	case ESC_E:
 62096  		goto __25
 62097  
 62098  	case ESC_Q:
 62099  		goto __26
 62100  
 62101  	default:
 62102  		goto __27
 62103  	}
 62104  	goto __23
 62105  
 62106  __24: // Data character
 62107  __25: // Isolated \E is ignored
 62108  	goto __23
 62109  
 62110  __26:
 62111  	literal = DTRUE
 62112  	goto __23
 62113  
 62114  __27:
 62115  	rc = -57
 62116  	goto EXIT
 62117  __23:
 62118  	;
 62119  __15:
 62120  	;
 62121  __13:
 62122  	;
 62123  __11:
 62124  	;
 62125  __8:
 62126  	;
 62127  __5:
 62128  	;
 62129  	goto __2
 62130  __2:
 62131  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))++
 62132  	goto __1
 62133  	goto __3
 62134  __3:
 62135  	;
 62136  
 62137  	rc = -58 // Terminator not found
 62138  
 62139  EXIT:
 62140  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))
 62141  	return rc
 62142  }
 62143  
 62144  // ************************************************
 62145  //
 62146  //              Match and substitute              *
 62147  //
 62148  
 62149  // This function applies a compiled re to a subject string and creates a new
 62150  // string with substitutions. The first 7 arguments are the same as for
 62151  // pcre2_match(). Either string length may be PCRE2_ZERO_TERMINATED.
 62152  //
 62153  // Arguments:
 62154  //   code            points to the compiled expression
 62155  //   subject         points to the subject string
 62156  //   length          length of subject string (may contain binary zeros)
 62157  //   start_offset    where to start in the subject string
 62158  //   options         option bits
 62159  //   match_data      points to a match_data block, or is NULL
 62160  //   context         points a PCRE2 context
 62161  //   replacement     points to the replacement string
 62162  //   rlength         length of replacement string
 62163  //   buffer          where to put the substituted string
 62164  //   blength         points to length of buffer; updated to length of string
 62165  //
 62166  // Returns:          >= 0 number of substitutions made
 62167  //                   < 0 an error code
 62168  //                   PCRE2_ERROR_BADREPLACEMENT means invalid use of $
 62169  
 62170  // This macro checks for space in the buffer before copying into it. On
 62171  // overflow, either give an error immediately, or keep on, accumulating the
 62172  // length.
 62173  
 62174  // Here's the function
 62175  
 62176  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: */
 62177  	bp := tls.Alloc(192)
 62178  	defer tls.Free(192)
 62179  
 62180  	var rc int32
 62181  	var subs int32
 62182  	var forcecase int32
 62183  	var forcecasereset int32
 62184  	var ovector_count Tuint32_t
 62185  	var goptions Tuint32_t
 62186  	var suboptions Tuint32_t
 62187  	var internal_match_data uintptr
 62188  	var escaped_literal TBOOL
 62189  	var overflowed TBOOL
 62190  	var use_existing_match TBOOL
 62191  	var replacement_only TBOOL
 62192  	var utf TBOOL
 62193  	var ucp TBOOL
 62194  	// var temp [6]TPCRE2_UCHAR8 at bp+176, 6
 62195  
 62196  	// var ptr TPCRE2_SPTR8 at bp+160, 4
 62197  
 62198  	var repend TPCRE2_SPTR8
 62199  	var extra_needed Tsize_t
 62200  	var buff_offset Tsize_t
 62201  	var buff_length Tsize_t
 62202  	var lengthleft Tsize_t
 62203  	var fraglength Tsize_t
 62204  	var ovector uintptr
 62205  	// var ovecsave [3]Tsize_t at bp, 12
 62206  
 62207  	// var scb Tpcre2_substitute_callout_block_8 at bp+12, 32
 62208  
 62209  	var gcontext uintptr
 62210  	var gcontext1 uintptr
 62211  	var pairs int32
 62212  	var save_start Tsize_t
 62213  	var ctypes uintptr
 62214  	var mark_start TPCRE2_SPTR8
 62215  	var mark TPCRE2_SPTR8
 62216  	var ng Tuint32_t
 62217  	// var first TPCRE2_SPTR8 at bp+164, 4
 62218  
 62219  	// var last TPCRE2_SPTR8 at bp+168, 4
 62220  
 62221  	var entry TPCRE2_SPTR8
 62222  	var type1 Tuint32_t
 62223  	var subptr TPCRE2_SPTR8
 62224  	var subptrend TPCRE2_SPTR8
 62225  	var group int32
 62226  	var n int32
 62227  	var special Tuint32_t
 62228  	var inparens TBOOL
 62229  	var star TBOOL
 62230  	// var sublength Tsize_t at bp+172, 4
 62231  
 62232  	var text1_start TPCRE2_SPTR8
 62233  	var text1_end TPCRE2_SPTR8
 62234  	var text2_start TPCRE2_SPTR8
 62235  	var text2_end TPCRE2_SPTR8
 62236  	var next TPCRE2_UCHAR8
 62237  	// var name [33]TPCRE2_UCHAR8 at bp+124, 33
 62238  
 62239  	// var errorcode int32 at bp+188, 4
 62240  
 62241  	var type2 Tuint32_t
 62242  	// var ch Tuint32_t at bp+184, 4
 62243  
 62244  	var chlen uint32
 62245  	var newlength Tsize_t
 62246  	var oldlength Tsize_t
 62247  	// var ptrstack [20]TPCRE2_SPTR8 at bp+44, 80
 62248  
 62249  	var ptrstackptr Tuint32_t
 62250  	forcecase = 0
 62251  	forcecasereset = 0
 62252  	goptions = Tuint32_t(0)
 62253  	internal_match_data = uintptr(0)
 62254  	escaped_literal = DFALSE
 62255  	overflowed = DFALSE
 62256  	utf = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 62257  	ucp = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 62258  	extra_needed = Tsize_t(0)
 62259  
 62260  	// General initialization
 62261  
 62262  	buff_offset = Tsize_t(0)
 62263  	lengthleft = libc.AssignUint32(&buff_length, *(*Tsize_t)(unsafe.Pointer(blength)))
 62264  	*(*Tsize_t)(unsafe.Pointer(blength)) = libc.CplUint32(Tsize_t(0))
 62265  	*(*Tsize_t)(unsafe.Pointer(bp)) = libc.AssignPtrUint32(bp+1*4, libc.AssignPtrUint32(bp+2*4, libc.CplUint32(Tsize_t(0))))
 62266  
 62267  	// Partial matching is not valid. This must come after setting *blength to
 62268  	// PCRE2_UNSET, so as not to imply an offset in the replacement.
 62269  
 62270  	if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0)) {
 62271  		goto __1
 62272  	}
 62273  	return -34
 62274  __1:
 62275  	;
 62276  
 62277  	// Validate length and find the end of the replacement. A NULL replacement of
 62278  	// zero length is interpreted as an empty string.
 62279  
 62280  	if !(replacement == uintptr(0)) {
 62281  		goto __2
 62282  	}
 62283  
 62284  	if !(rlength != Tsize_t(0)) {
 62285  		goto __3
 62286  	}
 62287  	return -51
 62288  __3:
 62289  	;
 62290  	replacement = ts + 797 /* "" */
 62291  __2:
 62292  	;
 62293  
 62294  	if !(rlength == libc.CplUint32(Tsize_t(0))) {
 62295  		goto __4
 62296  	}
 62297  	rlength = X_pcre2_strlen_8(tls, replacement)
 62298  __4:
 62299  	;
 62300  	repend = replacement + uintptr(rlength)
 62301  
 62302  	// Check for using a match that has already happened. Note that the subject
 62303  	// pointer in the match data may be NULL after a no-match.
 62304  
 62305  	use_existing_match = libc.Bool32(options&DPCRE2_SUBSTITUTE_MATCHED != Tuint32_t(0))
 62306  	replacement_only = libc.Bool32(options&DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY != Tuint32_t(0))
 62307  
 62308  	// If starting from an existing match, there must be an externally provided
 62309  	// match data block. We create an internal match_data block in two cases: (a) an
 62310  	// external one is not supplied (and we are not starting from an existing match);
 62311  	// (b) an existing match is to be used for the first substitution. In the latter
 62312  	// case, we copy the existing match into the internal block. This ensures that no
 62313  	// changes are made to the existing match data block.
 62314  
 62315  	if !(match_data == uintptr(0)) {
 62316  		goto __5
 62317  	}
 62318  
 62319  	if !(use_existing_match != 0) {
 62320  		goto __7
 62321  	}
 62322  	return -51
 62323  __7:
 62324  	;
 62325  	if mcontext == uintptr(0) {
 62326  		gcontext = code
 62327  	} else {
 62328  		gcontext = mcontext
 62329  	}
 62330  	match_data = libc.AssignUintptr(&internal_match_data, Xpcre2_match_data_create_from_pattern_8(tls, code, gcontext))
 62331  	if !(internal_match_data == uintptr(0)) {
 62332  		goto __8
 62333  	}
 62334  	return -48
 62335  __8:
 62336  	;
 62337  	goto __6
 62338  __5:
 62339  	if !(use_existing_match != 0) {
 62340  		goto __9
 62341  	}
 62342  
 62343  	if mcontext == uintptr(0) {
 62344  		gcontext1 = code
 62345  	} else {
 62346  		gcontext1 = mcontext
 62347  	}
 62348  	if int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1 < int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 62349  		pairs = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 62350  	} else {
 62351  		pairs = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 62352  	}
 62353  	internal_match_data = Xpcre2_match_data_create_8(tls, uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount),
 62354  		gcontext1)
 62355  	if !(internal_match_data == uintptr(0)) {
 62356  		goto __10
 62357  	}
 62358  	return -48
 62359  __10:
 62360  	;
 62361  	libc.Xmemcpy(tls, internal_match_data, match_data, uint32(uintptr(0)+44)+
 62362  		uint32(2*pairs)*uint32(unsafe.Sizeof(Tsize_t(0))))
 62363  	match_data = internal_match_data
 62364  __9:
 62365  	;
 62366  __6:
 62367  	;
 62368  
 62369  	// Remember ovector details
 62370  
 62371  	ovector = Xpcre2_get_ovector_pointer_8(tls, match_data)
 62372  	ovector_count = Xpcre2_get_ovector_count_8(tls, match_data)
 62373  
 62374  	// Fixed things in the callout block
 62375  
 62376  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Fversion = Tuint32_t(0)
 62377  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Finput = subject
 62378  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Foutput = buffer
 62379  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Fovector = ovector
 62380  
 62381  	// A NULL subject of zero length is treated as an empty string.
 62382  
 62383  	if !(subject == uintptr(0)) {
 62384  		goto __11
 62385  	}
 62386  
 62387  	if !(length != Tsize_t(0)) {
 62388  		goto __12
 62389  	}
 62390  	return -51
 62391  __12:
 62392  	;
 62393  	subject = ts + 797 /* "" */
 62394  __11:
 62395  	;
 62396  
 62397  	// Find length of zero-terminated subject
 62398  
 62399  	if !(length == libc.CplUint32(Tsize_t(0))) {
 62400  		goto __13
 62401  	}
 62402  	if subject != 0 {
 62403  		length = X_pcre2_strlen_8(tls, subject)
 62404  	} else {
 62405  		length = uint32(0)
 62406  	}
 62407  __13:
 62408  	;
 62409  
 62410  	// Check UTF replacement string if necessary.
 62411  
 62412  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 62413  		goto __14
 62414  	}
 62415  
 62416  	rc = X_pcre2_valid_utf_8(tls, replacement, rlength, match_data+32)
 62417  	if !(rc != 0) {
 62418  		goto __15
 62419  	}
 62420  
 62421  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t(0)
 62422  	goto EXIT
 62423  __15:
 62424  	;
 62425  __14:
 62426  	;
 62427  
 62428  	// Save the substitute options and remove them from the match options.
 62429  
 62430  	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)
 62431  	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)
 62432  
 62433  	// Error if the start match offset is greater than the length of the subject.
 62434  
 62435  	if !(start_offset > length) {
 62436  		goto __16
 62437  	}
 62438  
 62439  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t(0)
 62440  	rc = -33
 62441  	goto EXIT
 62442  __16:
 62443  	;
 62444  
 62445  	// Copy up to the start offset, unless only the replacement is required.
 62446  
 62447  	if !!(replacement_only != 0) {
 62448  		goto __17
 62449  	}
 62450  	if !(!(overflowed != 0) && lengthleft < start_offset) {
 62451  		goto __18
 62452  	}
 62453  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62454  		goto __20
 62455  	}
 62456  	goto NOROOM
 62457  __20:
 62458  	;
 62459  	overflowed = DTRUE
 62460  	extra_needed = start_offset - lengthleft
 62461  	goto __19
 62462  __18:
 62463  	if !(overflowed != 0) {
 62464  		goto __21
 62465  	}
 62466  	extra_needed = extra_needed + start_offset
 62467  	goto __22
 62468  __21:
 62469  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject, start_offset*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 62470  	buff_offset = buff_offset + start_offset
 62471  	lengthleft = lengthleft - start_offset
 62472  __22:
 62473  	;
 62474  __19:
 62475  	;
 62476  __17:
 62477  	;
 62478  
 62479  	// Loop for global substituting. If PCRE2_SUBSTITUTE_MATCHED is set, the first
 62480  	// match is taken from the match_data that was passed in.
 62481  
 62482  	subs = 0
 62483  __23:
 62484  	ptrstackptr = Tuint32_t(0)
 62485  
 62486  	if !(use_existing_match != 0) {
 62487  		goto __26
 62488  	}
 62489  
 62490  	rc = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 62491  	use_existing_match = DFALSE
 62492  	goto __27
 62493  __26:
 62494  	rc = Xpcre2_match_8(tls, code, subject, length, start_offset, options|goptions,
 62495  		match_data, mcontext)
 62496  __27:
 62497  	;
 62498  
 62499  	if !(utf != 0) {
 62500  		goto __28
 62501  	}
 62502  	options = options | DPCRE2_NO_UTF_CHECK
 62503  __28:
 62504  	; // Only need to check once
 62505  
 62506  	// Any error other than no match returns the error code. No match when not
 62507  	//   doing the special after-empty-match global rematch, or when at the end of the
 62508  	//   subject, breaks the global loop. Otherwise, advance the starting point by one
 62509  	//   character, copying it to the output, and try again.
 62510  
 62511  	if !(rc < 0) {
 62512  		goto __29
 62513  	}
 62514  
 62515  	if !(rc != -1) {
 62516  		goto __30
 62517  	}
 62518  	goto EXIT
 62519  __30:
 62520  	;
 62521  	if !(goptions == Tuint32_t(0) || start_offset >= length) {
 62522  		goto __31
 62523  	}
 62524  	goto __25
 62525  __31:
 62526  	;
 62527  
 62528  	// Advance by one code point. Then, if CRLF is a valid newline sequence and
 62529  	//     we have advanced into the middle of it, advance one more code point. In
 62530  	//     other words, do not start in the middle of CRLF, even if CR and LF on their
 62531  	//     own are valid newlines.
 62532  
 62533  	save_start = libc.PostIncUint32(&start_offset, 1)
 62534  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset-Tsize_t(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') {
 62535  		goto __32
 62536  	}
 62537  	start_offset++
 62538  	goto __33
 62539  __32:
 62540  	if !((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) {
 62541  		goto __34
 62542  	}
 62543  
 62544  __35:
 62545  	if !(start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset))))&0xc0 == 0x80) {
 62546  		goto __36
 62547  	}
 62548  	start_offset++
 62549  	goto __35
 62550  __36:
 62551  	;
 62552  __34:
 62553  	;
 62554  __33:
 62555  	;
 62556  
 62557  	// Copy what we have advanced past (unless not required), reset the special
 62558  	//     global options, and continue to the next match.
 62559  
 62560  	fraglength = start_offset - save_start
 62561  	if !!(replacement_only != 0) {
 62562  		goto __37
 62563  	}
 62564  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62565  		goto __38
 62566  	}
 62567  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62568  		goto __40
 62569  	}
 62570  	goto NOROOM
 62571  __40:
 62572  	;
 62573  	overflowed = DTRUE
 62574  	extra_needed = fraglength - lengthleft
 62575  	goto __39
 62576  __38:
 62577  	if !(overflowed != 0) {
 62578  		goto __41
 62579  	}
 62580  	extra_needed = extra_needed + fraglength
 62581  	goto __42
 62582  __41:
 62583  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(save_start), fraglength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 62584  	buff_offset = buff_offset + fraglength
 62585  	lengthleft = lengthleft - fraglength
 62586  __42:
 62587  	;
 62588  __39:
 62589  	;
 62590  __37:
 62591  	;
 62592  
 62593  	goptions = Tuint32_t(0)
 62594  	goto __24
 62595  __29:
 62596  	;
 62597  
 62598  	// Handle a successful match. Matches that use \K to end before they start
 62599  	//   or start before the current point in the subject are not supported.
 62600  
 62601  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + 1*4)) < *(*Tsize_t)(unsafe.Pointer(ovector)) || *(*Tsize_t)(unsafe.Pointer(ovector)) < start_offset) {
 62602  		goto __43
 62603  	}
 62604  
 62605  	rc = -60
 62606  	goto EXIT
 62607  __43:
 62608  	;
 62609  
 62610  	// Check for the same match as previous. This is legitimate after matching an
 62611  	//   empty string that starts after the initial match offset. We have tried again
 62612  	//   at the match point in case the pattern is one like /(?<=\G.)/ which can never
 62613  	//   match at its starting point, so running the match achieves the bumpalong. If
 62614  	//   we do get the same (null) match at the original match point, it isn't such a
 62615  	//   pattern, so we now do the empty string magic. In all other cases, a repeat
 62616  	//   match should never occur.
 62617  
 62618  	if !(*(*Tsize_t)(unsafe.Pointer(bp)) == *(*Tsize_t)(unsafe.Pointer(ovector)) && *(*Tsize_t)(unsafe.Pointer(bp + 1*4)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*4))) {
 62619  		goto __44
 62620  	}
 62621  
 62622  	if !(*(*Tsize_t)(unsafe.Pointer(ovector)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*4)) && *(*Tsize_t)(unsafe.Pointer(bp + 2*4)) != start_offset) {
 62623  		goto __45
 62624  	}
 62625  
 62626  	goptions = DPCRE2_NOTEMPTY_ATSTART | DPCRE2_ANCHORED
 62627  	*(*Tsize_t)(unsafe.Pointer(bp + 2*4)) = start_offset
 62628  	goto __24 // Back to the top of the loop
 62629  __45:
 62630  	;
 62631  	rc = -65
 62632  	goto EXIT
 62633  __44:
 62634  	;
 62635  
 62636  	// Count substitutions with a paranoid check for integer overflow; surely no
 62637  	//   real call to this function would ever hit this!
 62638  
 62639  	if !(subs == 0x7fffffff) {
 62640  		goto __46
 62641  	}
 62642  
 62643  	rc = -61
 62644  	goto EXIT
 62645  __46:
 62646  	;
 62647  	subs++
 62648  
 62649  	// Copy the text leading up to the match (unless not required), and remember
 62650  	//   where the insert begins and how many ovector pairs are set.
 62651  
 62652  	if !(rc == 0) {
 62653  		goto __47
 62654  	}
 62655  	rc = int32(ovector_count)
 62656  __47:
 62657  	;
 62658  	fraglength = *(*Tsize_t)(unsafe.Pointer(ovector)) - start_offset
 62659  	if !!(replacement_only != 0) {
 62660  		goto __48
 62661  	}
 62662  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62663  		goto __49
 62664  	}
 62665  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62666  		goto __51
 62667  	}
 62668  	goto NOROOM
 62669  __51:
 62670  	;
 62671  	overflowed = DTRUE
 62672  	extra_needed = fraglength - lengthleft
 62673  	goto __50
 62674  __49:
 62675  	if !(overflowed != 0) {
 62676  		goto __52
 62677  	}
 62678  	extra_needed = extra_needed + fraglength
 62679  	goto __53
 62680  __52:
 62681  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 62682  	buff_offset = buff_offset + fraglength
 62683  	lengthleft = lengthleft - fraglength
 62684  __53:
 62685  	;
 62686  __50:
 62687  	;
 62688  __48:
 62689  	;
 62690  
 62691  	*(*Tsize_t)(unsafe.Pointer(bp + 12 + 12)) = buff_offset
 62692  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Foveccount = Tuint32_t(rc)
 62693  
 62694  	// Process the replacement string. If the entire replacement is literal, just
 62695  	//   copy it with length check.
 62696  
 62697  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) = replacement
 62698  	if !(suboptions&DPCRE2_SUBSTITUTE_LITERAL != Tuint32_t(0)) {
 62699  		goto __54
 62700  	}
 62701  
 62702  	if !(!(overflowed != 0) && lengthleft < rlength) {
 62703  		goto __56
 62704  	}
 62705  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62706  		goto __58
 62707  	}
 62708  	goto NOROOM
 62709  __58:
 62710  	;
 62711  	overflowed = DTRUE
 62712  	extra_needed = rlength - lengthleft
 62713  	goto __57
 62714  __56:
 62715  	if !(overflowed != 0) {
 62716  		goto __59
 62717  	}
 62718  	extra_needed = extra_needed + rlength
 62719  	goto __60
 62720  __59:
 62721  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)), rlength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 62722  	buff_offset = buff_offset + rlength
 62723  	lengthleft = lengthleft - rlength
 62724  __60:
 62725  	;
 62726  __57:
 62727  	;
 62728  
 62729  	goto __55
 62730  __54:
 62731  __61:
 62732  
 62733  	// If at the end of a nested substring, pop the stack.
 62734  
 62735  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) >= repend) {
 62736  		goto __64
 62737  	}
 62738  
 62739  	if !(ptrstackptr == Tuint32_t(0)) {
 62740  		goto __65
 62741  	}
 62742  	goto __63
 62743  __65:
 62744  	; // End of replacement string
 62745  	repend = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 44 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*4))
 62746  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 44 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*4))
 62747  	goto __62
 62748  __64:
 62749  	;
 62750  
 62751  	// Handle the next character
 62752  
 62753  	if !(escaped_literal != 0) {
 62754  		goto __66
 62755  	}
 62756  
 62757  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) < repend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 1))) == '\105') {
 62758  		goto __67
 62759  	}
 62760  
 62761  	escaped_literal = DFALSE
 62762  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 62763  	goto __62
 62764  __67:
 62765  	;
 62766  	goto LOADLITERAL
 62767  __66:
 62768  	;
 62769  
 62770  	// Not in literal mode.
 62771  
 62772  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) == '\044') {
 62773  		goto __68
 62774  	}
 62775  	special = Tuint32_t(0)
 62776  	text1_start = uintptr(0)
 62777  	text1_end = uintptr(0)
 62778  	text2_start = uintptr(0)
 62779  	text2_end = uintptr(0)
 62780  
 62781  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) >= repend) {
 62782  		goto __70
 62783  	}
 62784  	goto BAD
 62785  __70:
 62786  	;
 62787  	if !(int32(libc.AssignUint8(&next, *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)))))) == '\044') {
 62788  		goto __71
 62789  	}
 62790  	goto LOADLITERAL
 62791  __71:
 62792  	;
 62793  
 62794  	group = -1
 62795  	n = 0
 62796  	inparens = DFALSE
 62797  	star = DFALSE
 62798  
 62799  	if !(int32(next) == '\173') {
 62800  		goto __72
 62801  	}
 62802  
 62803  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) >= repend) {
 62804  		goto __73
 62805  	}
 62806  	goto BAD
 62807  __73:
 62808  	;
 62809  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))))
 62810  	inparens = DTRUE
 62811  __72:
 62812  	;
 62813  
 62814  	if !(int32(next) == '\052') {
 62815  		goto __74
 62816  	}
 62817  
 62818  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) >= repend) {
 62819  		goto __75
 62820  	}
 62821  	goto BAD
 62822  __75:
 62823  	;
 62824  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))))
 62825  	star = DTRUE
 62826  __74:
 62827  	;
 62828  
 62829  	if !(!(star != 0) && int32(next) >= '\060' && int32(next) <= '\071') {
 62830  		goto __76
 62831  	}
 62832  
 62833  	group = int32(next) - '\060'
 62834  __78:
 62835  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) < repend) {
 62836  		goto __79
 62837  	}
 62838  
 62839  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))))
 62840  	if !(int32(next) < '\060' || int32(next) > '\071') {
 62841  		goto __80
 62842  	}
 62843  	goto __79
 62844  __80:
 62845  	;
 62846  	group = group*10 + int32(next) - '\060'
 62847  
 62848  	// A check for a number greater than the hightest captured group
 62849  	//           is sufficient here; no need for a separate overflow check. If unknown
 62850  	//           groups are to be treated as unset, just skip over any remaining
 62851  	//           digits and carry on.
 62852  
 62853  	if !(group > int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)) {
 62854  		goto __81
 62855  	}
 62856  
 62857  	if !(suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 62858  		goto __82
 62859  	}
 62860  
 62861  __84:
 62862  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) < repend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) <= '\071') {
 62863  		goto __85
 62864  	}
 62865  	goto __84
 62866  __85:
 62867  	;
 62868  	goto __79
 62869  	goto __83
 62870  __82:
 62871  
 62872  	rc = -49
 62873  	goto PTREXIT
 62874  __83:
 62875  	;
 62876  __81:
 62877  	;
 62878  	goto __78
 62879  __79:
 62880  	;
 62881  	goto __77
 62882  __76:
 62883  
 62884  	ctypes = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 62885  __86:
 62886  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(next))))&Dctype_word != 0) {
 62887  		goto __87
 62888  	}
 62889  
 62890  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 124 + uintptr(libc.PostIncInt32(&n, 1)))) = next
 62891  	if !(n > 32) {
 62892  		goto __88
 62893  	}
 62894  	goto BAD
 62895  __88:
 62896  	;
 62897  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1) >= repend) {
 62898  		goto __89
 62899  	}
 62900  	goto __87
 62901  __89:
 62902  	;
 62903  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))))
 62904  	goto __86
 62905  __87:
 62906  	;
 62907  	if !(n == 0) {
 62908  		goto __90
 62909  	}
 62910  	goto BAD
 62911  __90:
 62912  	;
 62913  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 124 + uintptr(n))) = TPCRE2_UCHAR8(0)
 62914  __77:
 62915  	;
 62916  
 62917  	// In extended mode we recognize ${name:+set text:unset text} and
 62918  	//       ${name:-default text}.
 62919  
 62920  	if !(inparens != 0) {
 62921  		goto __91
 62922  	}
 62923  
 62924  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && !(star != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) < repend-uintptr(2) && int32(next) == '\072') {
 62925  		goto __92
 62926  	}
 62927  
 62928  	special = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1))))
 62929  	if !(special != Tuint32_t('\053') && special != Tuint32_t('\055')) {
 62930  		goto __94
 62931  	}
 62932  
 62933  	rc = -59
 62934  	goto PTREXIT
 62935  __94:
 62936  	;
 62937  
 62938  	text1_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)), 1)
 62939  	rc = find_text_end(tls, code, bp+160, repend, libc.Bool32(special == Tuint32_t('\055')))
 62940  	if !(rc != 0) {
 62941  		goto __95
 62942  	}
 62943  	goto PTREXIT
 62944  __95:
 62945  	;
 62946  	text1_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))
 62947  
 62948  	if !(special == Tuint32_t('\053') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) == '\072') {
 62949  		goto __96
 62950  	}
 62951  
 62952  	text2_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)), 1)
 62953  	rc = find_text_end(tls, code, bp+160, repend, DTRUE)
 62954  	if !(rc != 0) {
 62955  		goto __97
 62956  	}
 62957  	goto PTREXIT
 62958  __97:
 62959  	;
 62960  	text2_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))
 62961  __96:
 62962  	;
 62963  	goto __93
 62964  __92:
 62965  
 62966  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) >= repend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) != '\175') {
 62967  		goto __98
 62968  	}
 62969  
 62970  	rc = -58
 62971  	goto PTREXIT
 62972  __98:
 62973  	;
 62974  __93:
 62975  	;
 62976  
 62977  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))++
 62978  __91:
 62979  	;
 62980  
 62981  	// Have found a syntactically correct group number or name, or *name.
 62982  	//       Only *MARK is currently recognized.
 62983  
 62984  	if !(star != 0) {
 62985  		goto __99
 62986  	}
 62987  
 62988  	if !(X_pcre2_strcmp_c8_8(tls, bp+124, ts+7678) == 0) {
 62989  		goto __101
 62990  	}
 62991  
 62992  	mark = Xpcre2_get_mark_8(tls, match_data)
 62993  	if !(mark != uintptr(0)) {
 62994  		goto __103
 62995  	}
 62996  
 62997  	mark_start = mark
 62998  __104:
 62999  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mark))) != 0) {
 63000  		goto __105
 63001  	}
 63002  	mark++
 63003  	goto __104
 63004  __105:
 63005  	;
 63006  	fraglength = Tsize_t((int32(mark) - int32(mark_start)) / 1)
 63007  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63008  		goto __106
 63009  	}
 63010  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63011  		goto __108
 63012  	}
 63013  	goto NOROOM
 63014  __108:
 63015  	;
 63016  	overflowed = DTRUE
 63017  	extra_needed = fraglength - lengthleft
 63018  	goto __107
 63019  __106:
 63020  	if !(overflowed != 0) {
 63021  		goto __109
 63022  	}
 63023  	extra_needed = extra_needed + fraglength
 63024  	goto __110
 63025  __109:
 63026  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), mark_start, fraglength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 63027  	buff_offset = buff_offset + fraglength
 63028  	lengthleft = lengthleft - fraglength
 63029  __110:
 63030  	;
 63031  __107:
 63032  	;
 63033  
 63034  __103:
 63035  	;
 63036  	goto __102
 63037  __101:
 63038  	goto BAD
 63039  __102:
 63040  	;
 63041  	goto __100
 63042  __99:
 63043  
 63044  	// Find a number for a named group. In case there are duplicate names,
 63045  	//         search for the first one that is set. If the name is not found when
 63046  	//         PCRE2_SUBSTITUTE_UNKNOWN_EMPTY is set, set the group number to a
 63047  	//         non-existent group.
 63048  
 63049  	if !(group < 0) {
 63050  		goto __111
 63051  	}
 63052  
 63053  	rc = Xpcre2_substring_nametable_scan_8(tls, code, bp+124, bp+164, bp+168)
 63054  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63055  		goto __112
 63056  	}
 63057  
 63058  	group = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 63059  	goto __113
 63060  __112:
 63061  
 63062  	if !(rc < 0) {
 63063  		goto __114
 63064  	}
 63065  	goto PTREXIT
 63066  __114:
 63067  	;
 63068  	entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 164 /* first */))
 63069  __115:
 63070  	if !(entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 168))) {
 63071  		goto __117
 63072  	}
 63073  
 63074  	ng = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63075  	if !(ng < ovector_count) {
 63076  		goto __118
 63077  	}
 63078  
 63079  	if !(group < 0) {
 63080  		goto __119
 63081  	}
 63082  	group = int32(ng)
 63083  __119:
 63084  	; // First in ovector
 63085  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(ng*Tuint32_t(2))*4)) != libc.CplUint32(Tsize_t(0))) {
 63086  		goto __120
 63087  	}
 63088  
 63089  	group = int32(ng) // First that is set
 63090  	goto __117
 63091  __120:
 63092  	;
 63093  __118:
 63094  	;
 63095  	goto __116
 63096  __116:
 63097  	entry += TPCRE2_SPTR8(rc)
 63098  	goto __115
 63099  	goto __117
 63100  __117:
 63101  	;
 63102  
 63103  	// If group is still negative, it means we did not find a group
 63104  	//             that is in the ovector. Just set the first group.
 63105  
 63106  	if !(group < 0) {
 63107  		goto __121
 63108  	}
 63109  	group = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 164)))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 164)) + 1)))))
 63110  __121:
 63111  	;
 63112  __113:
 63113  	;
 63114  __111:
 63115  	;
 63116  
 63117  	// We now have a group that is identified by number. Find the length of
 63118  	//         the captured string. If a group in a non-special substitution is unset
 63119  	//         when PCRE2_SUBSTITUTE_UNSET_EMPTY is set, substitute nothing.
 63120  
 63121  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, uint32(group), bp+172)
 63122  	if !(rc < 0) {
 63123  		goto __122
 63124  	}
 63125  
 63126  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63127  		goto __123
 63128  	}
 63129  
 63130  	rc = -55
 63131  __123:
 63132  	;
 63133  	if !(rc != -55) {
 63134  		goto __124
 63135  	}
 63136  	goto PTREXIT
 63137  __124:
 63138  	; // Non-unset errors
 63139  	if !(special == Tuint32_t(0)) {
 63140  		goto __125
 63141  	} /* Plain substitution */
 63142  
 63143  	if !(suboptions&DPCRE2_SUBSTITUTE_UNSET_EMPTY != Tuint32_t(0)) {
 63144  		goto __126
 63145  	}
 63146  	goto __62
 63147  __126:
 63148  	;
 63149  	goto PTREXIT // Else error
 63150  __125:
 63151  	;
 63152  __122:
 63153  	;
 63154  
 63155  	// If special is '+' we have a 'set' and possibly an 'unset' text,
 63156  	//         both of which are reprocessed when used. If special is '-' we have a
 63157  	//         default text for when the group is unset; it must be reprocessed.
 63158  
 63159  	if !(special != Tuint32_t(0)) {
 63160  		goto __127
 63161  	}
 63162  
 63163  	if !(special == Tuint32_t('\055')) {
 63164  		goto __128
 63165  	}
 63166  
 63167  	if !(rc == 0) {
 63168  		goto __129
 63169  	}
 63170  	goto LITERAL_SUBSTITUTE
 63171  __129:
 63172  	;
 63173  	text2_start = text1_start
 63174  	text2_end = text1_end
 63175  __128:
 63176  	;
 63177  
 63178  	if !(ptrstackptr >= Tuint32_t(DPTR_STACK_SIZE)) {
 63179  		goto __130
 63180  	}
 63181  	goto BAD
 63182  __130:
 63183  	;
 63184  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 44 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*4)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))
 63185  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 44 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*4)) = repend
 63186  
 63187  	if !(rc == 0) {
 63188  		goto __131
 63189  	}
 63190  
 63191  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) = text1_start
 63192  	repend = text1_end
 63193  	goto __132
 63194  __131:
 63195  
 63196  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) = text2_start
 63197  	repend = text2_end
 63198  __132:
 63199  	;
 63200  	goto __62
 63201  __127:
 63202  	;
 63203  
 63204  	// Otherwise we have a literal substitution of a group's contents.
 63205  
 63206  LITERAL_SUBSTITUTE:
 63207  	subptr = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2)*4)))
 63208  	subptrend = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2+1)*4)))
 63209  
 63210  	// Substitute a literal string, possibly forcing alphabetic case.
 63211  
 63212  __133:
 63213  	if !(subptr < subptrend) {
 63214  		goto __134
 63215  	}
 63216  
 63217  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))
 63218  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 184)) >= 0xc0) {
 63219  		goto __135
 63220  	}
 63221  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x20 == Tuint32_t(0)) {
 63222  		goto __136
 63223  	}
 63224  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))&0x3f
 63225  	goto __137
 63226  __136:
 63227  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x10 == Tuint32_t(0)) {
 63228  		goto __138
 63229  	}
 63230  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f
 63231  	subptr += uintptr(2)
 63232  	goto __139
 63233  __138:
 63234  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x08 == Tuint32_t(0)) {
 63235  		goto __140
 63236  	}
 63237  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&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
 63238  	subptr += uintptr(3)
 63239  	goto __141
 63240  __140:
 63241  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x04 == Tuint32_t(0)) {
 63242  		goto __142
 63243  	}
 63244  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&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
 63245  	subptr += uintptr(4)
 63246  	goto __143
 63247  __142:
 63248  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&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
 63249  	subptr += uintptr(5)
 63250  __143:
 63251  	;
 63252  __141:
 63253  	;
 63254  __139:
 63255  	;
 63256  __137:
 63257  	;
 63258  __135:
 63259  	;
 63260  
 63261  	if !(forcecase != 0) {
 63262  		goto __144
 63263  	}
 63264  
 63265  	if !(utf != 0 || ucp != 0) {
 63266  		goto __145
 63267  	}
 63268  
 63269  	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 + 184)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63270  	if !(X_pcre2_ucp_gentype_8[type1] == ucp_L && type1 != func() uint32 {
 63271  		if forcecase > 0 {
 63272  			return ucp_Lu
 63273  		}
 63274  		return ucp_Ll
 63275  	}()) {
 63276  		goto __147
 63277  	}
 63278  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184))) + (*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 + 184)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63279  __147:
 63280  	;
 63281  	goto __146
 63282  __145:
 63283  
 63284  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63285  		if forcecase > 0 {
 63286  			return Dcbit_upper
 63287  		}
 63288  		return Dcbit_lower
 63289  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 184))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 184))%Tuint32_t(8))) == uint32(0)) {
 63290  		goto __148
 63291  	}
 63292  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */))))))
 63293  __148:
 63294  	;
 63295  __146:
 63296  	;
 63297  	forcecase = forcecasereset
 63298  __144:
 63299  	;
 63300  
 63301  	if !(utf != 0) {
 63302  		goto __149
 63303  	}
 63304  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)), bp+176)
 63305  	goto __150
 63306  __149:
 63307  
 63308  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 176)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)))
 63309  	chlen = uint32(1)
 63310  __150:
 63311  	;
 63312  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63313  		goto __151
 63314  	}
 63315  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63316  		goto __153
 63317  	}
 63318  	goto NOROOM
 63319  __153:
 63320  	;
 63321  	overflowed = DTRUE
 63322  	extra_needed = Tsize_t(chlen) - lengthleft
 63323  	goto __152
 63324  __151:
 63325  	if !(overflowed != 0) {
 63326  		goto __154
 63327  	}
 63328  	extra_needed = extra_needed + Tsize_t(chlen)
 63329  	goto __155
 63330  __154:
 63331  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+176, uint32(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63332  	buff_offset = buff_offset + Tsize_t(chlen)
 63333  	lengthleft = lengthleft - Tsize_t(chlen)
 63334  __155:
 63335  	;
 63336  __152:
 63337  	;
 63338  
 63339  	goto __133
 63340  __134:
 63341  	;
 63342  __100:
 63343  	;
 63344  	goto __69
 63345  __68:
 63346  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))))) == '\134') {
 63347  		goto __156
 63348  	}
 63349  
 63350  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) < repend-uintptr(1)) {
 63351  		goto __158
 63352  	}
 63353  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) + 1))) {
 63354  	case '\114':
 63355  		goto __160
 63356  
 63357  	case '\154':
 63358  		goto __161
 63359  
 63360  	case '\125':
 63361  		goto __162
 63362  
 63363  	case '\165':
 63364  		goto __163
 63365  
 63366  	default:
 63367  		goto __164
 63368  	}
 63369  	goto __159
 63370  
 63371  __160:
 63372  	forcecase = libc.AssignInt32(&forcecasereset, -1)
 63373  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 63374  	goto __62
 63375  
 63376  __161:
 63377  	forcecase = -1
 63378  	forcecasereset = 0
 63379  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 63380  	goto __62
 63381  
 63382  __162:
 63383  	forcecase = libc.AssignInt32(&forcecasereset, 1)
 63384  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 63385  	goto __62
 63386  
 63387  __163:
 63388  	forcecase = 1
 63389  	forcecasereset = 0
 63390  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 63391  	goto __62
 63392  
 63393  __164:
 63394  	goto __159
 63395  __159:
 63396  	;
 63397  __158:
 63398  	;
 63399  
 63400  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */))++ // Point after \
 63401  	rc = X_pcre2_check_escape_8(tls, bp+160, repend, bp+184, bp+188,
 63402  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 63403  	if !(*(*int32)(unsafe.Pointer(bp + 188)) != 0) {
 63404  		goto __165
 63405  	}
 63406  	goto BADESCAPE
 63407  __165:
 63408  	;
 63409  
 63410  	switch rc {
 63411  	case ESC_E:
 63412  		goto __167
 63413  
 63414  	case ESC_Q:
 63415  		goto __168
 63416  
 63417  	case 0:
 63418  		goto __169
 63419  
 63420  	default:
 63421  		goto __170
 63422  	}
 63423  	goto __166
 63424  
 63425  __167:
 63426  	forcecase = libc.AssignInt32(&forcecasereset, 0)
 63427  	goto __62
 63428  
 63429  __168:
 63430  	escaped_literal = DTRUE
 63431  	goto __62
 63432  
 63433  __169: // Data character
 63434  	goto LITERAL
 63435  
 63436  __170:
 63437  	goto BADESCAPE
 63438  __166:
 63439  	;
 63440  	goto __157
 63441  __156:
 63442  
 63443  LOADLITERAL:
 63444  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)), 1))))
 63445  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 184)) >= 0xc0) {
 63446  		goto __171
 63447  	}
 63448  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x20 == Tuint32_t(0)) {
 63449  		goto __172
 63450  	}
 63451  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)), 1))))&0x3f
 63452  	goto __173
 63453  __172:
 63454  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x10 == Tuint32_t(0)) {
 63455  		goto __174
 63456  	}
 63457  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 1)))&0x3f
 63458  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(2)
 63459  	goto __175
 63460  __174:
 63461  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x08 == Tuint32_t(0)) {
 63462  		goto __176
 63463  	}
 63464  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 2)))&0x3f
 63465  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(3)
 63466  	goto __177
 63467  __176:
 63468  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x04 == Tuint32_t(0)) {
 63469  		goto __178
 63470  	}
 63471  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 3)))&0x3f
 63472  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(4)
 63473  	goto __179
 63474  __178:
 63475  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 184))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160)) + 4)))&0x3f
 63476  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160 /* ptr */)) += uintptr(5)
 63477  __179:
 63478  	;
 63479  __177:
 63480  	;
 63481  __175:
 63482  	;
 63483  __173:
 63484  	;
 63485  __171:
 63486  	;
 63487  
 63488  	// Get character value, increment pointer
 63489  
 63490  LITERAL:
 63491  	if !(forcecase != 0) {
 63492  		goto __180
 63493  	}
 63494  
 63495  	if !(utf != 0 || ucp != 0) {
 63496  		goto __181
 63497  	}
 63498  
 63499  	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 + 184)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63500  	if !(X_pcre2_ucp_gentype_8[type2] == ucp_L && type2 != func() uint32 {
 63501  		if forcecase > 0 {
 63502  			return ucp_Lu
 63503  		}
 63504  		return ucp_Ll
 63505  	}()) {
 63506  		goto __183
 63507  	}
 63508  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184))) + (*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 + 184)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 184)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63509  __183:
 63510  	;
 63511  	goto __182
 63512  __181:
 63513  
 63514  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63515  		if forcecase > 0 {
 63516  			return Dcbit_upper
 63517  		}
 63518  		return Dcbit_lower
 63519  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 184))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 184))%Tuint32_t(8))) == uint32(0)) {
 63520  		goto __184
 63521  	}
 63522  	*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */))))))
 63523  __184:
 63524  	;
 63525  __182:
 63526  	;
 63527  	forcecase = forcecasereset
 63528  __180:
 63529  	;
 63530  
 63531  	if !(utf != 0) {
 63532  		goto __185
 63533  	}
 63534  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)), bp+176)
 63535  	goto __186
 63536  __185:
 63537  
 63538  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 176)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 184 /* ch */)))
 63539  	chlen = uint32(1)
 63540  __186:
 63541  	;
 63542  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63543  		goto __187
 63544  	}
 63545  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63546  		goto __189
 63547  	}
 63548  	goto NOROOM
 63549  __189:
 63550  	;
 63551  	overflowed = DTRUE
 63552  	extra_needed = Tsize_t(chlen) - lengthleft
 63553  	goto __188
 63554  __187:
 63555  	if !(overflowed != 0) {
 63556  		goto __190
 63557  	}
 63558  	extra_needed = extra_needed + Tsize_t(chlen)
 63559  	goto __191
 63560  __190:
 63561  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+176, uint32(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63562  	buff_offset = buff_offset + Tsize_t(chlen)
 63563  	lengthleft = lengthleft - Tsize_t(chlen)
 63564  __191:
 63565  	;
 63566  __188:
 63567  	;
 63568  
 63569  __157:
 63570  	;
 63571  __69:
 63572  	; // End handling a literal code unit
 63573  	goto __62
 63574  __62:
 63575  	goto __61
 63576  	goto __63
 63577  __63:
 63578  	;
 63579  __55:
 63580  	; // End of loop for scanning the replacement.
 63581  
 63582  	// The replacement has been copied to the output, or its size has been
 63583  	//   remembered. Do the callout if there is one and we have done an actual
 63584  	//   replacement.
 63585  
 63586  	if !(!(overflowed != 0) && mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout != uintptr(0)) {
 63587  		goto __192
 63588  	}
 63589  
 63590  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 12 /* &scb */)).Fsubscount = Tuint32_t(subs)
 63591  	*(*Tsize_t)(unsafe.Pointer(bp + 12 + 12 + 1*4)) = buff_offset
 63592  	rc = (*struct {
 63593  		f func(*libc.TLS, uintptr, uintptr) int32
 63594  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout})).f(tls, bp+12 /* &scb */, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data)
 63595  
 63596  	// A non-zero return means cancel this substitution. Instead, copy the
 63597  	//     matched string fragment.
 63598  
 63599  	if !(rc != 0) {
 63600  		goto __193
 63601  	}
 63602  
 63603  	newlength = *(*Tsize_t)(unsafe.Pointer(bp + 12 + 12 + 1*4)) - *(*Tsize_t)(unsafe.Pointer(bp + 12 + 12))
 63604  	oldlength = *(*Tsize_t)(unsafe.Pointer(ovector + 1*4)) - *(*Tsize_t)(unsafe.Pointer(ovector))
 63605  
 63606  	buff_offset = buff_offset - newlength
 63607  	lengthleft = lengthleft + newlength
 63608  	if !!(replacement_only != 0) {
 63609  		goto __194
 63610  	}
 63611  	if !(!(overflowed != 0) && lengthleft < oldlength) {
 63612  		goto __195
 63613  	}
 63614  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63615  		goto __197
 63616  	}
 63617  	goto NOROOM
 63618  __197:
 63619  	;
 63620  	overflowed = DTRUE
 63621  	extra_needed = oldlength - lengthleft
 63622  	goto __196
 63623  __195:
 63624  	if !(overflowed != 0) {
 63625  		goto __198
 63626  	}
 63627  	extra_needed = extra_needed + oldlength
 63628  	goto __199
 63629  __198:
 63630  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector))), oldlength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 63631  	buff_offset = buff_offset + oldlength
 63632  	lengthleft = lengthleft - oldlength
 63633  __199:
 63634  	;
 63635  __196:
 63636  	;
 63637  __194:
 63638  	;
 63639  
 63640  	// A negative return means do not do any more.
 63641  
 63642  	if !(rc < 0) {
 63643  		goto __200
 63644  	}
 63645  	suboptions = suboptions & libc.CplUint32(DPCRE2_SUBSTITUTE_GLOBAL)
 63646  __200:
 63647  	;
 63648  __193:
 63649  	;
 63650  __192:
 63651  	;
 63652  
 63653  	// Save the details of this match. See above for how this data is used. If we
 63654  	//   matched an empty string, do the magic for global matches. Update the start
 63655  	//   offset to point to the rest of the subject string. If we re-used an existing
 63656  	//   match for the first match, switch to the internal match data block.
 63657  
 63658  	*(*Tsize_t)(unsafe.Pointer(bp)) = *(*Tsize_t)(unsafe.Pointer(ovector))
 63659  	*(*Tsize_t)(unsafe.Pointer(bp + 1*4)) = *(*Tsize_t)(unsafe.Pointer(ovector + 1*4))
 63660  	*(*Tsize_t)(unsafe.Pointer(bp + 2*4)) = start_offset
 63661  
 63662  	if *(*Tsize_t)(unsafe.Pointer(ovector)) != *(*Tsize_t)(unsafe.Pointer(ovector + 1*4)) || *(*Tsize_t)(unsafe.Pointer(ovector)) > start_offset {
 63663  		goptions = uint32(0)
 63664  	} else {
 63665  		goptions = DPCRE2_ANCHORED | DPCRE2_NOTEMPTY_ATSTART
 63666  	}
 63667  	start_offset = *(*Tsize_t)(unsafe.Pointer(ovector + 1*4))
 63668  	goto __24
 63669  __24:
 63670  	if suboptions&DPCRE2_SUBSTITUTE_GLOBAL != Tuint32_t(0) {
 63671  		goto __23
 63672  	}
 63673  	goto __25
 63674  __25:
 63675  	; // Repeat "do" loop
 63676  
 63677  	// Copy the rest of the subject unless not required, and terminate the output
 63678  	// with a binary zero.
 63679  
 63680  	if !!(replacement_only != 0) {
 63681  		goto __201
 63682  	}
 63683  
 63684  	fraglength = length - start_offset
 63685  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63686  		goto __202
 63687  	}
 63688  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63689  		goto __204
 63690  	}
 63691  	goto NOROOM
 63692  __204:
 63693  	;
 63694  	overflowed = DTRUE
 63695  	extra_needed = fraglength - lengthleft
 63696  	goto __203
 63697  __202:
 63698  	if !(overflowed != 0) {
 63699  		goto __205
 63700  	}
 63701  	extra_needed = extra_needed + fraglength
 63702  	goto __206
 63703  __205:
 63704  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 63705  	buff_offset = buff_offset + fraglength
 63706  	lengthleft = lengthleft - fraglength
 63707  __206:
 63708  	;
 63709  __203:
 63710  	;
 63711  
 63712  __201:
 63713  	;
 63714  
 63715  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 176)) = TPCRE2_UCHAR8(0)
 63716  	if !(!(overflowed != 0) && lengthleft < Tsize_t(1)) {
 63717  		goto __207
 63718  	}
 63719  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63720  		goto __209
 63721  	}
 63722  	goto NOROOM
 63723  __209:
 63724  	;
 63725  	overflowed = DTRUE
 63726  	extra_needed = Tsize_t(1) - lengthleft
 63727  	goto __208
 63728  __207:
 63729  	if !(overflowed != 0) {
 63730  		goto __210
 63731  	}
 63732  	extra_needed = extra_needed + Tsize_t(1)
 63733  	goto __211
 63734  __210:
 63735  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+176, uint32(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 63736  	buff_offset = buff_offset + Tsize_t(1)
 63737  	lengthleft = lengthleft - Tsize_t(1)
 63738  __211:
 63739  	;
 63740  __208:
 63741  	;
 63742  
 63743  	// If overflowed is set it means the PCRE2_SUBSTITUTE_OVERFLOW_LENGTH is set,
 63744  	// and matching has carried on after a full buffer, in order to compute the length
 63745  	// needed. Otherwise, an overflow generates an immediate error return.
 63746  
 63747  	if !(overflowed != 0) {
 63748  		goto __212
 63749  	}
 63750  
 63751  	rc = -48
 63752  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_length + extra_needed
 63753  	goto __213
 63754  __212:
 63755  
 63756  	rc = subs
 63757  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_offset - Tsize_t(1)
 63758  __213:
 63759  	;
 63760  
 63761  EXIT:
 63762  	if !(internal_match_data != uintptr(0)) {
 63763  		goto __214
 63764  	}
 63765  	Xpcre2_match_data_free_8(tls, internal_match_data)
 63766  	goto __215
 63767  __214:
 63768  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 63769  __215:
 63770  	;
 63771  	return rc
 63772  
 63773  NOROOM:
 63774  	rc = -48
 63775  	goto EXIT
 63776  
 63777  BAD:
 63778  	rc = -35
 63779  	goto PTREXIT
 63780  
 63781  BADESCAPE:
 63782  	rc = -57
 63783  
 63784  PTREXIT:
 63785  	*(*Tsize_t)(unsafe.Pointer(blength)) = Tsize_t((int32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 160))) - int32(replacement)) / 1)
 63786  	goto EXIT
 63787  	return int32(0)
 63788  }
 63789  
 63790  // End of pcre2_substitute.c
 63791  
 63792  // This function is needed only when memmove() is not available.
 63793  
 63794  // End of pcre2_internal.h
 63795  
 63796  // ************************************************
 63797  //
 63798  //   Copy named captured string to given buffer   *
 63799  //
 63800  
 63801  // This function copies a single captured substring into a given buffer,
 63802  // identifying it by name. If the regex permits duplicate names, the first
 63803  // substring that is set is chosen.
 63804  //
 63805  // Arguments:
 63806  //   match_data     points to the match data
 63807  //   stringname     the name of the required substring
 63808  //   buffer         where to put the substring
 63809  //   sizeptr        the size of the buffer, updated to the size of the substring
 63810  //
 63811  // Returns:         if successful: zero
 63812  //                  if not successful, a negative error code:
 63813  //                    (1) an error from nametable_scan()
 63814  //                    (2) an error from copy_bynumber()
 63815  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63816  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63817  
 63818  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: */
 63819  	bp := tls.Alloc(8)
 63820  	defer tls.Free(8)
 63821  
 63822  	// var first TPCRE2_SPTR8 at bp, 4
 63823  
 63824  	// var last TPCRE2_SPTR8 at bp+4, 4
 63825  
 63826  	var entry TPCRE2_SPTR8
 63827  	var failrc int32
 63828  	var entrysize int32
 63829  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63830  		return -41
 63831  	}
 63832  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63833  		bp, bp+4)
 63834  	if entrysize < 0 {
 63835  		return entrysize
 63836  	}
 63837  	failrc = -54
 63838  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63839  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63840  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63841  			if *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(n*Tuint32_t(2))*4)) != libc.CplUint32(Tsize_t(0)) {
 63842  				return Xpcre2_substring_copy_bynumber_8(tls, match_data, n, buffer, sizeptr)
 63843  			}
 63844  			failrc = -55
 63845  		}
 63846  	}
 63847  	return failrc
 63848  }
 63849  
 63850  // ************************************************
 63851  //
 63852  //  Copy numbered captured string to given buffer *
 63853  //
 63854  
 63855  // This function copies a single captured substring into a given buffer,
 63856  // identifying it by number.
 63857  //
 63858  // Arguments:
 63859  //   match_data     points to the match data
 63860  //   stringnumber   the number of the required substring
 63861  //   buffer         where to put the substring
 63862  //   sizeptr        the size of the buffer, updated to the size of the substring
 63863  //
 63864  // Returns:         if successful: 0
 63865  //                  if not successful, a negative error code:
 63866  //                    PCRE2_ERROR_NOMEMORY: buffer too small
 63867  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63868  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63869  //                    PCRE2_ERROR_UNSET: substring is not set
 63870  
 63871  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: */
 63872  	bp := tls.Alloc(4)
 63873  	defer tls.Free(4)
 63874  
 63875  	var rc int32
 63876  	// var size Tsize_t at bp, 4
 63877  
 63878  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63879  	if rc < 0 {
 63880  		return rc
 63881  	}
 63882  	if *(*Tsize_t)(unsafe.Pointer(bp))+Tsize_t(1) > *(*Tsize_t)(unsafe.Pointer(sizeptr)) {
 63883  		return -48
 63884  	}
 63885  	libc.Xmemcpy(tls, buffer, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(stringnumber*Tuint32_t(2))*4))),
 63886  		*(*Tsize_t)(unsafe.Pointer(bp))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 63887  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 63888  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 63889  	return 0
 63890  }
 63891  
 63892  // ************************************************
 63893  //
 63894  //          Extract named captured string         *
 63895  //
 63896  
 63897  // This function copies a single captured substring, identified by name, into
 63898  // new memory. If the regex permits duplicate names, the first substring that is
 63899  // set is chosen.
 63900  //
 63901  // Arguments:
 63902  //   match_data     pointer to match_data
 63903  //   stringname     the name of the required substring
 63904  //   stringptr      where to put the pointer to the new memory
 63905  //   sizeptr        where to put the length of the substring
 63906  //
 63907  // Returns:         if successful: zero
 63908  //                  if not successful, a negative value:
 63909  //                    (1) an error from nametable_scan()
 63910  //                    (2) an error from get_bynumber()
 63911  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63912  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63913  
 63914  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: */
 63915  	bp := tls.Alloc(8)
 63916  	defer tls.Free(8)
 63917  
 63918  	// var first TPCRE2_SPTR8 at bp, 4
 63919  
 63920  	// var last TPCRE2_SPTR8 at bp+4, 4
 63921  
 63922  	var entry TPCRE2_SPTR8
 63923  	var failrc int32
 63924  	var entrysize int32
 63925  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63926  		return -41
 63927  	}
 63928  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63929  		bp, bp+4)
 63930  	if entrysize < 0 {
 63931  		return entrysize
 63932  	}
 63933  	failrc = -54
 63934  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63935  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63936  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63937  			if *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(n*Tuint32_t(2))*4)) != libc.CplUint32(Tsize_t(0)) {
 63938  				return Xpcre2_substring_get_bynumber_8(tls, match_data, n, stringptr, sizeptr)
 63939  			}
 63940  			failrc = -55
 63941  		}
 63942  	}
 63943  	return failrc
 63944  }
 63945  
 63946  // ************************************************
 63947  //
 63948  //      Extract captured string to new memory     *
 63949  //
 63950  
 63951  // This function copies a single captured substring into a piece of new
 63952  // memory.
 63953  //
 63954  // Arguments:
 63955  //   match_data     points to match data
 63956  //   stringnumber   the number of the required substring
 63957  //   stringptr      where to put a pointer to the new memory
 63958  //   sizeptr        where to put the size of the substring
 63959  //
 63960  // Returns:         if successful: 0
 63961  //                  if not successful, a negative error code:
 63962  //                    PCRE2_ERROR_NOMEMORY: failed to get memory
 63963  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63964  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63965  //                    PCRE2_ERROR_UNSET: substring is not set
 63966  
 63967  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: */
 63968  	bp := tls.Alloc(4)
 63969  	defer tls.Free(4)
 63970  
 63971  	var rc int32
 63972  	// var size Tsize_t at bp, 4
 63973  
 63974  	var yield uintptr
 63975  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63976  	if rc < 0 {
 63977  		return rc
 63978  	}
 63979  	yield = X_pcre2_memctl_malloc_8(tls, uint32(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bp))+Tsize_t(1))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH), match_data)
 63980  	if yield == uintptr(0) {
 63981  		return -48
 63982  	}
 63983  	yield = yield + uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 63984  	libc.Xmemcpy(tls, yield, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(stringnumber*Tuint32_t(2))*4))),
 63985  		*(*Tsize_t)(unsafe.Pointer(bp))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 63986  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(yield + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 63987  	*(*uintptr)(unsafe.Pointer(stringptr)) = yield
 63988  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 63989  	return 0
 63990  }
 63991  
 63992  // ************************************************
 63993  //
 63994  //       Free memory obtained by get_substring    *
 63995  //
 63996  
 63997  //
 63998  // Argument:     the result of a previous pcre2_substring_get_byxxx()
 63999  // Returns:      nothing
 64000  
 64001  func Xpcre2_substring_free_8(tls *libc.TLS, string uintptr) { /* pcre2_substring.c:241:1: */
 64002  	if string != uintptr(0) {
 64003  		var memctl uintptr = string - uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 64004  		(*struct {
 64005  			f func(*libc.TLS, uintptr, uintptr)
 64006  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64007  	}
 64008  }
 64009  
 64010  // ************************************************
 64011  //
 64012  //         Get length of a named substring        *
 64013  //
 64014  
 64015  // This function returns the length of a named captured substring. If the regex
 64016  // permits duplicate names, the first substring that is set is chosen.
 64017  //
 64018  // Arguments:
 64019  //   match_data      pointer to match data
 64020  //   stringname      the name of the required substring
 64021  //   sizeptr         where to put the length
 64022  //
 64023  // Returns:          0 if successful, else a negative error number
 64024  
 64025  func Xpcre2_substring_length_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, sizeptr uintptr) int32 { /* pcre2_substring.c:268:1: */
 64026  	bp := tls.Alloc(8)
 64027  	defer tls.Free(8)
 64028  
 64029  	// var first TPCRE2_SPTR8 at bp, 4
 64030  
 64031  	// var last TPCRE2_SPTR8 at bp+4, 4
 64032  
 64033  	var entry TPCRE2_SPTR8
 64034  	var failrc int32
 64035  	var entrysize int32
 64036  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64037  		return -41
 64038  	}
 64039  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 64040  		bp, bp+4)
 64041  	if entrysize < 0 {
 64042  		return entrysize
 64043  	}
 64044  	failrc = -54
 64045  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 4 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 64046  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 64047  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64048  			if *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(n*Tuint32_t(2))*4)) != libc.CplUint32(Tsize_t(0)) {
 64049  				return Xpcre2_substring_length_bynumber_8(tls, match_data, n, sizeptr)
 64050  			}
 64051  			failrc = -55
 64052  		}
 64053  	}
 64054  	return failrc
 64055  }
 64056  
 64057  // ************************************************
 64058  //
 64059  //        Get length of a numbered substring      *
 64060  //
 64061  
 64062  // This function returns the length of a captured substring. If the start is
 64063  // beyond the end (which can happen when \K is used in an assertion), it sets the
 64064  // length to zero.
 64065  //
 64066  // Arguments:
 64067  //   match_data      pointer to match data
 64068  //   stringnumber    the number of the required substring
 64069  //   sizeptr         where to put the length, if not NULL
 64070  //
 64071  // Returns:         if successful: 0
 64072  //                  if not successful, a negative error code:
 64073  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 64074  //                    PCRE2_ERROR_UNAVAILABLE: ovector is too small
 64075  //                    PCRE2_ERROR_UNSET: substring is not set
 64076  
 64077  func Xpcre2_substring_length_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, sizeptr uintptr) int32 { /* pcre2_substring.c:315:1: */
 64078  	var left Tsize_t
 64079  	var right Tsize_t
 64080  	var count int32 = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 64081  	if count == -2 {
 64082  		if stringnumber > Tuint32_t(0) {
 64083  			return -2
 64084  		}
 64085  		count = 0
 64086  	} else if count < 0 {
 64087  		return count
 64088  	} // Match failed
 64089  
 64090  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) != PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64091  		if stringnumber > Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode)).Ftop_bracket) {
 64092  			return -49
 64093  		}
 64094  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64095  			return -54
 64096  		}
 64097  		if *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(stringnumber*Tuint32_t(2))*4)) == libc.CplUint32(Tsize_t(0)) {
 64098  			return -55
 64099  		}
 64100  	} else {
 64101  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64102  			return -54
 64103  		}
 64104  		if count != 0 && stringnumber >= Tuint32_t(count) {
 64105  			return -55
 64106  		}
 64107  	}
 64108  
 64109  	left = *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(stringnumber*Tuint32_t(2))*4))
 64110  	right = *(*Tsize_t)(unsafe.Pointer(match_data + 44 + uintptr(stringnumber*Tuint32_t(2)+Tuint32_t(1))*4))
 64111  	if sizeptr != uintptr(0) {
 64112  		*(*Tsize_t)(unsafe.Pointer(sizeptr)) = func() uint32 {
 64113  			if left > right {
 64114  				return uint32(0)
 64115  			}
 64116  			return right - left
 64117  		}()
 64118  	}
 64119  	return 0
 64120  }
 64121  
 64122  // ************************************************
 64123  //
 64124  //    Extract all captured strings to new memory  *
 64125  //
 64126  
 64127  // This function gets one chunk of memory and builds a list of pointers and all
 64128  // the captured substrings in it. A NULL pointer is put on the end of the list.
 64129  // The substrings are zero-terminated, but also, if the final argument is
 64130  // non-NULL, a list of lengths is also returned. This allows binary data to be
 64131  // handled.
 64132  //
 64133  // Arguments:
 64134  //   match_data     points to the match data
 64135  //   listptr        set to point to the list of pointers
 64136  //   lengthsptr     set to point to the list of lengths (may be NULL)
 64137  //
 64138  // Returns:         if successful: 0
 64139  //                  if not successful, a negative error code:
 64140  //                    PCRE2_ERROR_NOMEMORY: failed to get memory,
 64141  //                    or a match failure code
 64142  
 64143  func Xpcre2_substring_list_get_8(tls *libc.TLS, match_data uintptr, listptr uintptr, lengthsptr uintptr) int32 { /* pcre2_substring.c:372:1: */
 64144  	var i int32
 64145  	var count int32
 64146  	var count2 int32
 64147  	var size Tsize_t
 64148  	var lensp uintptr
 64149  	var memp uintptr
 64150  	var listp uintptr
 64151  	var sp uintptr
 64152  	var ovector uintptr
 64153  
 64154  	if libc.AssignInt32(&count, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc) < 0 {
 64155  		return count
 64156  	} // Match failed
 64157  	if count == 0 {
 64158  		count = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 64159  	} // Ovector too small
 64160  
 64161  	count2 = 2 * count
 64162  	ovector = match_data + 44                                                         /* &.ovector */
 64163  	size = uint32(unsafe.Sizeof(Tpcre2_memctl{})) + uint32(unsafe.Sizeof(uintptr(0))) // For final NULL
 64164  	if lengthsptr != uintptr(0) {
 64165  		size = size + uint32(unsafe.Sizeof(Tsize_t(0)))*uint32(count)
 64166  	} // For lengths
 64167  
 64168  	for i = 0; i < count2; i = i + 2 {
 64169  		size = size + (uint32(unsafe.Sizeof(uintptr(0))) + uint32(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 64170  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*4)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4)) {
 64171  			size = size + (*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*4))-*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4)))*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8)
 64172  		}
 64173  	}
 64174  
 64175  	memp = X_pcre2_memctl_malloc_8(tls, size, match_data)
 64176  	if memp == uintptr(0) {
 64177  		return -48
 64178  	}
 64179  
 64180  	*(*uintptr)(unsafe.Pointer(listptr)) = libc.AssignUintptr(&listp, memp+uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{}))))
 64181  	lensp = listp + uintptr(uint32(unsafe.Sizeof(uintptr(0)))*uint32(count+1))
 64182  
 64183  	if lengthsptr == uintptr(0) {
 64184  		sp = lensp
 64185  		lensp = uintptr(0)
 64186  	} else {
 64187  		*(*uintptr)(unsafe.Pointer(lengthsptr)) = lensp
 64188  		sp = lensp + uintptr(uint32(unsafe.Sizeof(Tsize_t(0)))*uint32(count))
 64189  	}
 64190  
 64191  	for i = 0; i < count2; i = i + 2 {
 64192  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*4)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4)) {
 64193  			size = *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*4)) - *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4))
 64194  		} else {
 64195  			size = uint32(0)
 64196  		}
 64197  
 64198  		// Size == 0 includes the case when the capture is unset. Avoid adding
 64199  		//   PCRE2_UNSET to match_data->subject because it overflows, even though with
 64200  		//   zero size calling memcpy() is harmless.
 64201  
 64202  		if size != Tsize_t(0) {
 64203  			libc.Xmemcpy(tls, sp, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*4))), size*Tsize_t(DPCRE2_CODE_UNIT_WIDTH/8))
 64204  		}
 64205  		*(*uintptr)(unsafe.Pointer(libc.PostIncUintptr(&listp, 4))) = sp
 64206  		if lensp != uintptr(0) {
 64207  			*(*Tsize_t)(unsafe.Pointer(libc.PostIncUintptr(&lensp, 4))) = size
 64208  		}
 64209  		sp += uintptr(size)
 64210  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&sp, 1))) = TPCRE2_UCHAR8(0)
 64211  	}
 64212  
 64213  	*(*uintptr)(unsafe.Pointer(listp)) = uintptr(0)
 64214  	return 0
 64215  }
 64216  
 64217  // ************************************************
 64218  //
 64219  //   Free memory obtained by substring_list_get   *
 64220  //
 64221  
 64222  //
 64223  // Argument:     the result of a previous pcre2_substring_list_get()
 64224  // Returns:      nothing
 64225  
 64226  func Xpcre2_substring_list_free_8(tls *libc.TLS, list uintptr) { /* pcre2_substring.c:445:1: */
 64227  	if list != uintptr(0) {
 64228  		var memctl uintptr = list - uintptr(uint32(unsafe.Sizeof(Tpcre2_memctl{})))
 64229  		(*struct {
 64230  			f func(*libc.TLS, uintptr, uintptr)
 64231  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64232  	}
 64233  }
 64234  
 64235  // ************************************************
 64236  //
 64237  //     Find (multiple) entries for named string   *
 64238  //
 64239  
 64240  // This function scans the nametable for a given name, using binary chop. It
 64241  // returns either two pointers to the entries in the table, or, if no pointers are
 64242  // given, the number of a unique group with the given name. If duplicate names are
 64243  // permitted, and the name is not unique, an error is generated.
 64244  //
 64245  // Arguments:
 64246  //   code        the compiled regex
 64247  //   stringname  the name whose entries required
 64248  //   firstptr    where to put the pointer to the first entry
 64249  //   lastptr     where to put the pointer to the last entry
 64250  //
 64251  // Returns:      PCRE2_ERROR_NOSUBSTRING if the name is not found
 64252  //               otherwise, if firstptr and lastptr are NULL:
 64253  //                 a group number for a unique substring
 64254  //                 else PCRE2_ERROR_NOUNIQUESUBSTRING
 64255  //               otherwise:
 64256  //                 the length of each entry, having set firstptr and lastptr
 64257  
 64258  func Xpcre2_substring_nametable_scan_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8, firstptr uintptr, lastptr uintptr) int32 { /* pcre2_substring.c:480:1: */
 64259  	var bot Tuint16_t = Tuint16_t(0)
 64260  	var top Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count
 64261  	var entrysize Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_entry_size
 64262  	var nametable TPCRE2_SPTR8 = code + uintptr(uint32(unsafe.Sizeof(Tpcre2_real_code_8{})))
 64263  
 64264  	for int32(top) > int32(bot) {
 64265  		var mid Tuint16_t = Tuint16_t((int32(top) + int32(bot)) / 2)
 64266  		var entry TPCRE2_SPTR8 = nametable + uintptr(int32(entrysize)*int32(mid))
 64267  		var c int32 = X_pcre2_strcmp_8(tls, stringname, entry+uintptr(DIMM2_SIZE))
 64268  		if c == 0 {
 64269  			var first TPCRE2_SPTR8
 64270  			var last TPCRE2_SPTR8
 64271  			var lastentry TPCRE2_SPTR8
 64272  			lastentry = nametable + uintptr(int32(entrysize)*(int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count)-1))
 64273  			first = libc.AssignUintptr(&last, entry)
 64274  			for first > nametable {
 64275  				if X_pcre2_strcmp_8(tls, stringname, first-uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64276  					break
 64277  				}
 64278  				first -= TPCRE2_SPTR8(entrysize)
 64279  			}
 64280  			for last < lastentry {
 64281  				if X_pcre2_strcmp_8(tls, stringname, last+uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64282  					break
 64283  				}
 64284  				last += TPCRE2_SPTR8(entrysize)
 64285  			}
 64286  			if firstptr == uintptr(0) {
 64287  				if first == last {
 64288  					return int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))))
 64289  				}
 64290  				return -50
 64291  			}
 64292  			*(*TPCRE2_SPTR8)(unsafe.Pointer(firstptr)) = first
 64293  			*(*TPCRE2_SPTR8)(unsafe.Pointer(lastptr)) = last
 64294  			return int32(entrysize)
 64295  		}
 64296  		if c > 0 {
 64297  			bot = Tuint16_t(int32(mid) + 1)
 64298  		} else {
 64299  			top = mid
 64300  		}
 64301  	}
 64302  
 64303  	return -49
 64304  }
 64305  
 64306  // ************************************************
 64307  //
 64308  //           Find number for named string         *
 64309  //
 64310  
 64311  // This function is a convenience wrapper for pcre2_substring_nametable_scan()
 64312  // when it is known that names are unique. If there are duplicate names, it is not
 64313  // defined which number is returned.
 64314  //
 64315  // Arguments:
 64316  //   code        the compiled regex
 64317  //   stringname  the name whose number is required
 64318  //
 64319  // Returns:      the number of the named parenthesis, or a negative number
 64320  //                 PCRE2_ERROR_NOSUBSTRING if not found
 64321  //                 PCRE2_ERROR_NOUNIQUESUBSTRING if not unique
 64322  
 64323  func Xpcre2_substring_number_from_name_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8) int32 { /* pcre2_substring.c:541:1: */
 64324  	return Xpcre2_substring_nametable_scan_8(tls, code, stringname, uintptr(0), uintptr(0))
 64325  }
 64326  
 64327  // End of pcre2_substring.c
 64328  
 64329  // This function is needed only when memmove() is not available.
 64330  
 64331  // End of pcre2_internal.h
 64332  
 64333  // Table of sizes for the fixed-length opcodes. It's defined in a macro so that
 64334  // the definition is next to the definition of the opcodes in pcre2_internal.h.
 64335  // This is mode-dependent, so it is skipped when this file is included by
 64336  // pcre2test.
 64337  
 64338  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(uint32(1) + uint32(32)/uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), uint8(uint32(1) + uint32(32)/uint32(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 */
 64339  
 64340  // Tables of horizontal and vertical whitespace characters, suitable for
 64341  // adding to classes.
 64342  
 64343  var X_pcre2_hspace_list_8 = [20]Tuint32_t{Tuint32_t('\011'), Tuint32_t('\040'), libc.Uint32FromUint8(libc.Uint8FromInt32(160)), 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 */
 64344  var X_pcre2_vspace_list_8 = [8]Tuint32_t{Tuint32_t('\012'), Tuint32_t('\013'), Tuint32_t('\014'), Tuint32_t('\015'), libc.Uint32FromUint8(libc.Uint8FromInt32(133)), Tuint32_t(0x2028), Tuint32_t(0x2029), DNOTACHAR}                                                                                                                                                                                                                                      /* pcre2_tables.c:67:16 */
 64345  
 64346  // These tables are the pairs of delimiters that are valid for callout string
 64347  // arguments. For each starting delimiter there must be a matching ending
 64348  // delimiter, which in fact is different only for bracket-like delimiters.
 64349  
 64350  var X_pcre2_callout_start_delims_8 = [9]Tuint32_t{
 64351  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64352  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64353  	Tuint32_t('\044'), Tuint32_t('\173'), Tuint32_t(0)} /* pcre2_tables.c:73:16 */
 64354  
 64355  var X_pcre2_callout_end_delims_8 = [9]Tuint32_t{
 64356  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64357  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64358  	Tuint32_t('\044'), Tuint32_t('\175'), Tuint32_t(0)} /* pcre2_tables.c:78:16 */
 64359  
 64360  // ************************************************
 64361  //
 64362  //           Tables for UTF-8 support             *
 64363  //
 64364  
 64365  // These tables are required by pcre2test in 16- or 32-bit mode, as well
 64366  // as for the library in 8-bit mode, because pcre2test uses UTF-8 internally for
 64367  // handling wide characters.
 64368  
 64369  // These are the breakpoints for different numbers of bytes in a UTF-8
 64370  // character.
 64371  
 64372  var X_pcre2_utf8_table1 = [6]int32{0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff} /* pcre2_tables.c:100:11 */
 64373  
 64374  var X_pcre2_utf8_table1_size int32 = int32(uint32(unsafe.Sizeof(X_pcre2_utf8_table1)) / uint32(unsafe.Sizeof(int32(0)))) /* pcre2_tables.c:103:11 */
 64375  
 64376  // These are the indicator bits and the mask for the data bits to set in the
 64377  // first byte of a character, indexed by the number of additional bytes.
 64378  
 64379  var X_pcre2_utf8_table2 = [6]int32{0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}    /* pcre2_tables.c:108:11 */
 64380  var X_pcre2_utf8_table3 = [6]int32{0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01} /* pcre2_tables.c:109:11 */
 64381  
 64382  // Table of the number of extra bytes, indexed by the first byte masked with
 64383  // 0x3f. The highest number for a valid UTF-8 first byte is in fact 0x3d.
 64384  
 64385  var X_pcre2_utf8_table4 = [64]Tuint8_t{
 64386  	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),
 64387  	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),
 64388  	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),
 64389  	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 */
 64390  
 64391  // Tables concerned with Unicode properties are relevant only when Unicode
 64392  // support is enabled. See also the pcre2_ucptables.c file, which is generated by
 64393  // a Python script from Unicode data files.
 64394  
 64395  // Table to translate from particular type value to the general value.
 64396  
 64397  var X_pcre2_ucp_gentype_8 = [30]Tuint32_t{
 64398  	ucp_C, ucp_C, ucp_C, ucp_C, ucp_C, // Cc, Cf, Cn, Co, Cs
 64399  	ucp_L, ucp_L, ucp_L, ucp_L, ucp_L, // Ll, Lu, Lm, Lo, Lt
 64400  	ucp_M, ucp_M, ucp_M, // Mc, Me, Mn
 64401  	ucp_N, ucp_N, ucp_N, // Nd, Nl, No
 64402  	ucp_P, ucp_P, ucp_P, ucp_P, ucp_P, // Pc, Pd, Pe, Pf, Pi
 64403  	ucp_P, ucp_P, // Ps, Po
 64404  	ucp_S, ucp_S, ucp_S, ucp_S, // Sc, Sk, Sm, So
 64405  	ucp_Z, ucp_Z, ucp_Z, // Zl, Zp, Zs
 64406  } /* pcre2_tables.c:130:16 */
 64407  
 64408  // This table encodes the rules for finding the end of an extended grapheme
 64409  // cluster. Every code point has a grapheme break property which is one of the
 64410  // ucp_gbXX values defined in pcre2_ucp.h. These changed between Unicode versions
 64411  // 10 and 11. The 2-dimensional table is indexed by the properties of two adjacent
 64412  // code points. The left property selects a word from the table, and the right
 64413  // property selects a bit from that word like this:
 64414  //
 64415  //   PRIV(ucp_gbtable)[left-property] & (1u << right-property)
 64416  //
 64417  // The value is non-zero if a grapheme break is NOT permitted between the relevant
 64418  // two code points. The breaking rules are as follows:
 64419  //
 64420  // 1. Break at the start and end of text (pretty obviously).
 64421  //
 64422  // 2. Do not break between a CR and LF; otherwise, break before and after
 64423  //    controls.
 64424  //
 64425  // 3. Do not break Hangul syllable sequences, the rules for which are:
 64426  //
 64427  //     L may be followed by L, V, LV or LVT
 64428  //     LV or V may be followed by V or T
 64429  //     LVT or T may be followed by T
 64430  //
 64431  // 4. Do not break before extending characters or zero-width-joiner (ZWJ).
 64432  //
 64433  // The following rules are only for extended grapheme clusters (but that's what we
 64434  // are implementing).
 64435  //
 64436  // 5. Do not break before SpacingMarks.
 64437  //
 64438  // 6. Do not break after Prepend characters.
 64439  //
 64440  // 7. Do not break within emoji modifier sequences or emoji zwj sequences. That
 64441  //    is, do not break between characters with the Extended_Pictographic property.
 64442  //    Extend and ZWJ characters are allowed between the characters; this cannot be
 64443  //    represented in this table, the code has to deal with it.
 64444  //
 64445  // 8. Do not break within emoji flag sequences. That is, do not break between
 64446  //    regional indicator (RI) symbols if there are an odd number of RI characters
 64447  //    before the break point. This table encodes "join RI characters"; the code
 64448  //    has to deal with checking for previous adjoining RIs.
 64449  //
 64450  // 9. Otherwise, break everywhere.
 64451  
 64452  var X_pcre2_ucp_gbtable_8 = [15]Tuint32_t{
 64453  	uint32(1) << ucp_gbLF,
 64454  	Tuint32_t(0), //  1 LF
 64455  	Tuint32_t(0), //  2 Control
 64456  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64457  	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,
 64458  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64459  	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,
 64460  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64461  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64462  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64463  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64464  	uint32(1) << ucp_gbRegional_Indicator,
 64465  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64466  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64467  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbExtended_Pictographic,
 64468  } /* pcre2_tables.c:188:16 */
 64469  
 64470  // Finally, include the tables that are auto-generated from the Unicode data
 64471  // files.
 64472  
 64473  // ************************************************
 64474  //
 64475  //      Perl-Compatible Regular Expressions       *
 64476  //
 64477  
 64478  // PCRE is a library of functions to support regular expressions whose syntax
 64479  // and semantics are as close as possible to those of the Perl 5 language.
 64480  //
 64481  //                        Written by Philip Hazel
 64482  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 64483  //           New API code Copyright (c) 2016-2022 University of Cambridge
 64484  //
 64485  // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
 64486  // Instead, modify the maint/GenerateUcpTables.py script and run it to generate
 64487  // a new version of this code.
 64488  //
 64489  // -----------------------------------------------------------------------------
 64490  // Redistribution and use in source and binary forms, with or without
 64491  // modification, are permitted provided that the following conditions are met:
 64492  //
 64493  //     * Redistributions of source code must retain the above copyright notice,
 64494  //       this list of conditions and the following disclaimer.
 64495  //
 64496  //     * Redistributions in binary form must reproduce the above copyright
 64497  //       notice, this list of conditions and the following disclaimer in the
 64498  //       documentation and/or other materials provided with the distribution.
 64499  //
 64500  //     * Neither the name of the University of Cambridge nor the names of its
 64501  //       contributors may be used to endorse or promote products derived from
 64502  //       this software without specific prior written permission.
 64503  //
 64504  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 64505  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 64506  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 64507  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 64508  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 64509  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 64510  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 64511  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 64512  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 64513  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 64514  // POSSIBILITY OF SUCH DAMAGE.
 64515  // -----------------------------------------------------------------------------
 64516  
 64517  // The PRIV(utt)[] table below translates Unicode property names into type and
 64518  // code values. It is searched by binary chop, so must be in collating sequence of
 64519  // name. Originally, the table contained pointers to the name strings in the first
 64520  // field of each entry. However, that leads to a large number of relocations when
 64521  // a shared library is dynamically loaded. A significant reduction is made by
 64522  // putting all the names into a single, large string and using offsets instead.
 64523  // All letters are lower cased, and underscores are removed, in accordance with
 64524  // the "loose matching" rules that Unicode advises and Perl uses.
 64525  
 64526  var X_pcre2_utt_names_8 = *(*[3569]int8)(unsafe.Pointer(ts + 7683)) /* pcre2_ucptables.c:543:12 */
 64527  
 64528  var X_pcre2_utt_8 = [486]Tucp_type_table{
 64529  	{Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64530  	{Fname_offset: Tuint16_t(6), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64531  	{Fname_offset: Tuint16_t(11), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64532  	{Fname_offset: Tuint16_t(16), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64533  	{Fname_offset: Tuint16_t(21), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ahom},
 64534  	{Fname_offset: Tuint16_t(26), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64535  	{Fname_offset: Tuint16_t(32), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64536  	{Fname_offset: Tuint16_t(43), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64537  	{Fname_offset: Tuint16_t(64)},
 64538  	{Fname_offset: Tuint16_t(68), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64539  	{Fname_offset: Tuint16_t(73), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64540  	{Fname_offset: Tuint16_t(80), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64541  	{Fname_offset: Tuint16_t(89), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64542  	{Fname_offset: Tuint16_t(94), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64543  	{Fname_offset: Tuint16_t(99), Ftype: Tuint16_t(DPT_BOOL)},
 64544  	{Fname_offset: Tuint16_t(105), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64545  	{Fname_offset: Tuint16_t(119), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64546  	{Fname_offset: Tuint16_t(127), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64547  	{Fname_offset: Tuint16_t(132), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64548  	{Fname_offset: Tuint16_t(137), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64549  	{Fname_offset: Tuint16_t(146), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64550  	{Fname_offset: Tuint16_t(151), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64551  	{Fname_offset: Tuint16_t(157), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64552  	{Fname_offset: Tuint16_t(162), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64553  	{Fname_offset: Tuint16_t(171), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64554  	{Fname_offset: Tuint16_t(177), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64555  	{Fname_offset: Tuint16_t(182), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64556  	{Fname_offset: Tuint16_t(187), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64557  	{Fname_offset: Tuint16_t(195), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64558  	{Fname_offset: Tuint16_t(205), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64559  	{Fname_offset: Tuint16_t(210), Ftype: Tuint16_t(DPT_BIDICL)},
 64560  	{Fname_offset: Tuint16_t(217), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiAN},
 64561  	{Fname_offset: Tuint16_t(224), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiB},
 64562  	{Fname_offset: Tuint16_t(230), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiBN},
 64563  	{Fname_offset: Tuint16_t(237), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64564  	{Fname_offset: Tuint16_t(243), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64565  	{Fname_offset: Tuint16_t(255), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiCS},
 64566  	{Fname_offset: Tuint16_t(262), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiEN},
 64567  	{Fname_offset: Tuint16_t(269), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiES},
 64568  	{Fname_offset: Tuint16_t(276), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiET},
 64569  	{Fname_offset: Tuint16_t(283), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiFSI},
 64570  	{Fname_offset: Tuint16_t(291), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiL},
 64571  	{Fname_offset: Tuint16_t(297), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRE},
 64572  	{Fname_offset: Tuint16_t(305), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRI},
 64573  	{Fname_offset: Tuint16_t(313), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRO},
 64574  	{Fname_offset: Tuint16_t(321), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64575  	{Fname_offset: Tuint16_t(327), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64576  	{Fname_offset: Tuint16_t(340), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiNSM},
 64577  	{Fname_offset: Tuint16_t(348), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiON},
 64578  	{Fname_offset: Tuint16_t(355), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDF},
 64579  	{Fname_offset: Tuint16_t(363), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDI},
 64580  	{Fname_offset: Tuint16_t(371), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiR},
 64581  	{Fname_offset: Tuint16_t(377), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLE},
 64582  	{Fname_offset: Tuint16_t(385), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLI},
 64583  	{Fname_offset: Tuint16_t(393), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLO},
 64584  	{Fname_offset: Tuint16_t(401), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiS},
 64585  	{Fname_offset: Tuint16_t(407), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiWS},
 64586  	{Fname_offset: Tuint16_t(414), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64587  	{Fname_offset: Tuint16_t(419), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64588  	{Fname_offset: Tuint16_t(428), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64589  	{Fname_offset: Tuint16_t(433), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64590  	{Fname_offset: Tuint16_t(440), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64591  	{Fname_offset: Tuint16_t(445), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64592  	{Fname_offset: Tuint16_t(453), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64593  	{Fname_offset: Tuint16_t(458), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64594  	{Fname_offset: Tuint16_t(467), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64595  	{Fname_offset: Tuint16_t(472), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64596  	{Fname_offset: Tuint16_t(478), Ftype: Tuint16_t(DPT_GC)},
 64597  	{Fname_offset: Tuint16_t(480), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64598  	{Fname_offset: Tuint16_t(485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64599  	{Fname_offset: Tuint16_t(504), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64600  	{Fname_offset: Tuint16_t(509), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64601  	{Fname_offset: Tuint16_t(514), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64602  	{Fname_offset: Tuint16_t(521), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Cased},
 64603  	{Fname_offset: Tuint16_t(527), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64604  	{Fname_offset: Tuint16_t(541), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64605  	{Fname_offset: Tuint16_t(559), Ftype: Tuint16_t(DPT_PC)},
 64606  	{Fname_offset: Tuint16_t(562), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cf},
 64607  	{Fname_offset: Tuint16_t(565), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64608  	{Fname_offset: Tuint16_t(572), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cham},
 64609  	{Fname_offset: Tuint16_t(577), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64610  	{Fname_offset: Tuint16_t(599), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64611  	{Fname_offset: Tuint16_t(621), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64612  	{Fname_offset: Tuint16_t(643), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64613  	{Fname_offset: Tuint16_t(665), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64614  	{Fname_offset: Tuint16_t(687), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64615  	{Fname_offset: Tuint16_t(692), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64616  	{Fname_offset: Tuint16_t(701), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64617  	{Fname_offset: Tuint16_t(712), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64618  	{Fname_offset: Tuint16_t(717), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64619  	{Fname_offset: Tuint16_t(720), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cn},
 64620  	{Fname_offset: Tuint16_t(723), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Co},
 64621  	{Fname_offset: Tuint16_t(726), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 64622  	{Fname_offset: Tuint16_t(733), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64623  	{Fname_offset: Tuint16_t(738), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64624  	{Fname_offset: Tuint16_t(745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64625  	{Fname_offset: Tuint16_t(750), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64626  	{Fname_offset: Tuint16_t(755), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cs},
 64627  	{Fname_offset: Tuint16_t(758), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 64628  	{Fname_offset: Tuint16_t(768), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64629  	{Fname_offset: Tuint16_t(773), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64630  	{Fname_offset: Tuint16_t(778), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64631  	{Fname_offset: Tuint16_t(782), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64632  	{Fname_offset: Tuint16_t(786), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64633  	{Fname_offset: Tuint16_t(790), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64634  	{Fname_offset: Tuint16_t(798), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64635  	{Fname_offset: Tuint16_t(810), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64636  	{Fname_offset: Tuint16_t(819), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64637  	{Fname_offset: Tuint16_t(824), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Dash},
 64638  	{Fname_offset: Tuint16_t(829), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64639  	{Fname_offset: Tuint16_t(855), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64640  	{Fname_offset: Tuint16_t(859), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64641  	{Fname_offset: Tuint16_t(870), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64642  	{Fname_offset: Tuint16_t(878), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64643  	{Fname_offset: Tuint16_t(883), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64644  	{Fname_offset: Tuint16_t(894), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64645  	{Fname_offset: Tuint16_t(897), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64646  	{Fname_offset: Tuint16_t(901), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64647  	{Fname_offset: Tuint16_t(911), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64648  	{Fname_offset: Tuint16_t(916), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64649  	{Fname_offset: Tuint16_t(927), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64650  	{Fname_offset: Tuint16_t(932), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64651  	{Fname_offset: Tuint16_t(938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64652  	{Fname_offset: Tuint16_t(943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64653  	{Fname_offset: Tuint16_t(948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64654  	{Fname_offset: Tuint16_t(957), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64655  	{Fname_offset: Tuint16_t(963), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64656  	{Fname_offset: Tuint16_t(969), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64657  	{Fname_offset: Tuint16_t(974), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64658  	{Fname_offset: Tuint16_t(994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64659  	{Fname_offset: Tuint16_t(999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64660  	{Fname_offset: Tuint16_t(1007), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64661  	{Fname_offset: Tuint16_t(1012), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64662  	{Fname_offset: Tuint16_t(1020), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64663  	{Fname_offset: Tuint16_t(1025), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji},
 64664  	{Fname_offset: Tuint16_t(1031), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64665  	{Fname_offset: Tuint16_t(1046), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64666  	{Fname_offset: Tuint16_t(1060), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64667  	{Fname_offset: Tuint16_t(1078), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64668  	{Fname_offset: Tuint16_t(1096), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64669  	{Fname_offset: Tuint16_t(1102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64670  	{Fname_offset: Tuint16_t(1107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64671  	{Fname_offset: Tuint16_t(1116), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64672  	{Fname_offset: Tuint16_t(1120), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64673  	{Fname_offset: Tuint16_t(1141), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64674  	{Fname_offset: Tuint16_t(1150), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64675  	{Fname_offset: Tuint16_t(1158), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64676  	{Fname_offset: Tuint16_t(1163), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64677  	{Fname_offset: Tuint16_t(1172), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64678  	{Fname_offset: Tuint16_t(1177), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64679  	{Fname_offset: Tuint16_t(1188), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64680  	{Fname_offset: Tuint16_t(1193), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64681  	{Fname_offset: Tuint16_t(1198), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64682  	{Fname_offset: Tuint16_t(1203), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64683  	{Fname_offset: Tuint16_t(1210), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64684  	{Fname_offset: Tuint16_t(1215), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64685  	{Fname_offset: Tuint16_t(1223), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64686  	{Fname_offset: Tuint16_t(1236), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64687  	{Fname_offset: Tuint16_t(1251), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64688  	{Fname_offset: Tuint16_t(1264), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64689  	{Fname_offset: Tuint16_t(1271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64690  	{Fname_offset: Tuint16_t(1277), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64691  	{Fname_offset: Tuint16_t(1282), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64692  	{Fname_offset: Tuint16_t(1288), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64693  	{Fname_offset: Tuint16_t(1295), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64694  	{Fname_offset: Tuint16_t(1304), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64695  	{Fname_offset: Tuint16_t(1309), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64696  	{Fname_offset: Tuint16_t(1322), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64697  	{Fname_offset: Tuint16_t(1331), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64698  	{Fname_offset: Tuint16_t(1336), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64699  	{Fname_offset: Tuint16_t(1340), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64700  	{Fname_offset: Tuint16_t(1345), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64701  	{Fname_offset: Tuint16_t(1352), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64702  	{Fname_offset: Tuint16_t(1357), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64703  	{Fname_offset: Tuint16_t(1372), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64704  	{Fname_offset: Tuint16_t(1377), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64705  	{Fname_offset: Tuint16_t(1385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64706  	{Fname_offset: Tuint16_t(1390), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64707  	{Fname_offset: Tuint16_t(1397), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64708  	{Fname_offset: Tuint16_t(1402), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64709  	{Fname_offset: Tuint16_t(1409), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64710  	{Fname_offset: Tuint16_t(1413), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64711  	{Fname_offset: Tuint16_t(1422), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64712  	{Fname_offset: Tuint16_t(1427), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64713  	{Fname_offset: Tuint16_t(1436), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64714  	{Fname_offset: Tuint16_t(1441), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64715  	{Fname_offset: Tuint16_t(1446), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64716  	{Fname_offset: Tuint16_t(1451), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64717  	{Fname_offset: Tuint16_t(1456), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64718  	{Fname_offset: Tuint16_t(1460), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64719  	{Fname_offset: Tuint16_t(1471), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64720  	{Fname_offset: Tuint16_t(1476), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64721  	{Fname_offset: Tuint16_t(1488), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64722  	{Fname_offset: Tuint16_t(1492), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64723  	{Fname_offset: Tuint16_t(1497), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64724  	{Fname_offset: Tuint16_t(1515), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64725  	{Fname_offset: Tuint16_t(1520), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64726  	{Fname_offset: Tuint16_t(1528), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64727  	{Fname_offset: Tuint16_t(1547), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64728  	{Fname_offset: Tuint16_t(1563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64729  	{Fname_offset: Tuint16_t(1573), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64730  	{Fname_offset: Tuint16_t(1594), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64731  	{Fname_offset: Tuint16_t(1616), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64732  	{Fname_offset: Tuint16_t(1621), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64733  	{Fname_offset: Tuint16_t(1626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64734  	{Fname_offset: Tuint16_t(1635), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64735  	{Fname_offset: Tuint16_t(1641), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64736  	{Fname_offset: Tuint16_t(1653), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64737  	{Fname_offset: Tuint16_t(1660), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64738  	{Fname_offset: Tuint16_t(1665), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64739  	{Fname_offset: Tuint16_t(1670), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64740  	{Fname_offset: Tuint16_t(1678), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64741  	{Fname_offset: Tuint16_t(1687), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64742  	{Fname_offset: Tuint16_t(1695), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64743  	{Fname_offset: Tuint16_t(1700), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64744  	{Fname_offset: Tuint16_t(1711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64745  	{Fname_offset: Tuint16_t(1729), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64746  	{Fname_offset: Tuint16_t(1735), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64747  	{Fname_offset: Tuint16_t(1740), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64748  	{Fname_offset: Tuint16_t(1745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64749  	{Fname_offset: Tuint16_t(1752), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64750  	{Fname_offset: Tuint16_t(1762), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64751  	{Fname_offset: Tuint16_t(1767), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64752  	{Fname_offset: Tuint16_t(1772), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64753  	{Fname_offset: Tuint16_t(1777), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_L},
 64754  	{Fname_offset: Tuint16_t(1779), Ftype: Tuint16_t(DPT_LAMP)},
 64755  	{Fname_offset: Tuint16_t(1782), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64756  	{Fname_offset: Tuint16_t(1787), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64757  	{Fname_offset: Tuint16_t(1791), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64758  	{Fname_offset: Tuint16_t(1796), Ftype: Tuint16_t(DPT_SCX)},
 64759  	{Fname_offset: Tuint16_t(1802), Ftype: Tuint16_t(DPT_SCX)},
 64760  	{Fname_offset: Tuint16_t(1807), Ftype: Tuint16_t(DPT_LAMP)},
 64761  	{Fname_offset: Tuint16_t(1810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64762  	{Fname_offset: Tuint16_t(1815), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64763  	{Fname_offset: Tuint16_t(1822), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64764  	{Fname_offset: Tuint16_t(1827), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64765  	{Fname_offset: Tuint16_t(1833), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64766  	{Fname_offset: Tuint16_t(1838), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64767  	{Fname_offset: Tuint16_t(1843), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64768  	{Fname_offset: Tuint16_t(1851), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64769  	{Fname_offset: Tuint16_t(1859), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lisu},
 64770  	{Fname_offset: Tuint16_t(1864), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ll},
 64771  	{Fname_offset: Tuint16_t(1867), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lm},
 64772  	{Fname_offset: Tuint16_t(1870), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lo},
 64773  	{Fname_offset: Tuint16_t(1873), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64774  	{Fname_offset: Tuint16_t(1877), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64775  	{Fname_offset: Tuint16_t(1899), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64776  	{Fname_offset: Tuint16_t(1905), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64777  	{Fname_offset: Tuint16_t(1915), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lt},
 64778  	{Fname_offset: Tuint16_t(1918), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lu},
 64779  	{Fname_offset: Tuint16_t(1921), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64780  	{Fname_offset: Tuint16_t(1926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64781  	{Fname_offset: Tuint16_t(1933), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64782  	{Fname_offset: Tuint16_t(1938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64783  	{Fname_offset: Tuint16_t(1945), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_M},
 64784  	{Fname_offset: Tuint16_t(1947), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64785  	{Fname_offset: Tuint16_t(1956), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64786  	{Fname_offset: Tuint16_t(1961), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64787  	{Fname_offset: Tuint16_t(1966), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64788  	{Fname_offset: Tuint16_t(1974), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64789  	{Fname_offset: Tuint16_t(1984), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64790  	{Fname_offset: Tuint16_t(1989), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64791  	{Fname_offset: Tuint16_t(1997), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64792  	{Fname_offset: Tuint16_t(2002), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64793  	{Fname_offset: Tuint16_t(2013), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64794  	{Fname_offset: Tuint16_t(2018), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64795  	{Fname_offset: Tuint16_t(2026), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64796  	{Fname_offset: Tuint16_t(2039), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Math},
 64797  	{Fname_offset: Tuint16_t(2044), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mc},
 64798  	{Fname_offset: Tuint16_t(2047), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Me},
 64799  	{Fname_offset: Tuint16_t(2050), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64800  	{Fname_offset: Tuint16_t(2062), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64801  	{Fname_offset: Tuint16_t(2067), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64802  	{Fname_offset: Tuint16_t(2079), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64803  	{Fname_offset: Tuint16_t(2084), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64804  	{Fname_offset: Tuint16_t(2097), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64805  	{Fname_offset: Tuint16_t(2102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64806  	{Fname_offset: Tuint16_t(2107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64807  	{Fname_offset: Tuint16_t(2123), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64808  	{Fname_offset: Tuint16_t(2143), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64809  	{Fname_offset: Tuint16_t(2148), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64810  	{Fname_offset: Tuint16_t(2153), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mn},
 64811  	{Fname_offset: Tuint16_t(2156), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Modi},
 64812  	{Fname_offset: Tuint16_t(2161), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64813  	{Fname_offset: Tuint16_t(2166), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64814  	{Fname_offset: Tuint16_t(2176), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64815  	{Fname_offset: Tuint16_t(2180), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64816  	{Fname_offset: Tuint16_t(2185), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64817  	{Fname_offset: Tuint16_t(2190), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64818  	{Fname_offset: Tuint16_t(2195), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64819  	{Fname_offset: Tuint16_t(2203), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64820  	{Fname_offset: Tuint16_t(2211), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64821  	{Fname_offset: Tuint16_t(2216), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_N},
 64822  	{Fname_offset: Tuint16_t(2218), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64823  	{Fname_offset: Tuint16_t(2228), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64824  	{Fname_offset: Tuint16_t(2233), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64825  	{Fname_offset: Tuint16_t(2245), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64826  	{Fname_offset: Tuint16_t(2250), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64827  	{Fname_offset: Tuint16_t(2255), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64828  	{Fname_offset: Tuint16_t(2261), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nd},
 64829  	{Fname_offset: Tuint16_t(2264), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Newa},
 64830  	{Fname_offset: Tuint16_t(2269), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64831  	{Fname_offset: Tuint16_t(2279), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64832  	{Fname_offset: Tuint16_t(2283), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64833  	{Fname_offset: Tuint16_t(2288), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nl},
 64834  	{Fname_offset: Tuint16_t(2291), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_No},
 64835  	{Fname_offset: Tuint16_t(2294), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64836  	{Fname_offset: Tuint16_t(2316), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64837  	{Fname_offset: Tuint16_t(2321), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64838  	{Fname_offset: Tuint16_t(2327), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64839  	{Fname_offset: Tuint16_t(2348), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64840  	{Fname_offset: Tuint16_t(2353), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64841  	{Fname_offset: Tuint16_t(2359), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64842  	{Fname_offset: Tuint16_t(2367), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64843  	{Fname_offset: Tuint16_t(2372), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64844  	{Fname_offset: Tuint16_t(2385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64845  	{Fname_offset: Tuint16_t(2395), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64846  	{Fname_offset: Tuint16_t(2411), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64847  	{Fname_offset: Tuint16_t(2421), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 64848  	{Fname_offset: Tuint16_t(2432), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64849  	{Fname_offset: Tuint16_t(2443), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64850  	{Fname_offset: Tuint16_t(2459), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64851  	{Fname_offset: Tuint16_t(2469), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64852  	{Fname_offset: Tuint16_t(2479), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64853  	{Fname_offset: Tuint16_t(2485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64854  	{Fname_offset: Tuint16_t(2490), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64855  	{Fname_offset: Tuint16_t(2495), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64856  	{Fname_offset: Tuint16_t(2501), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64857  	{Fname_offset: Tuint16_t(2506), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64858  	{Fname_offset: Tuint16_t(2511), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64859  	{Fname_offset: Tuint16_t(2519), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64860  	{Fname_offset: Tuint16_t(2524), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_P},
 64861  	{Fname_offset: Tuint16_t(2526), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64862  	{Fname_offset: Tuint16_t(2538), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64863  	{Fname_offset: Tuint16_t(2543), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64864  	{Fname_offset: Tuint16_t(2553), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64865  	{Fname_offset: Tuint16_t(2560), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64866  	{Fname_offset: Tuint16_t(2574), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64867  	{Fname_offset: Tuint16_t(2592), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64868  	{Fname_offset: Tuint16_t(2598), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64869  	{Fname_offset: Tuint16_t(2603), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64870  	{Fname_offset: Tuint16_t(2613), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pc},
 64871  	{Fname_offset: Tuint16_t(2616), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64872  	{Fname_offset: Tuint16_t(2620), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pd},
 64873  	{Fname_offset: Tuint16_t(2623), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pe},
 64874  	{Fname_offset: Tuint16_t(2626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64875  	{Fname_offset: Tuint16_t(2631), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pf},
 64876  	{Fname_offset: Tuint16_t(2634), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64877  	{Fname_offset: Tuint16_t(2639), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64878  	{Fname_offset: Tuint16_t(2647), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64879  	{Fname_offset: Tuint16_t(2652), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64880  	{Fname_offset: Tuint16_t(2657), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64881  	{Fname_offset: Tuint16_t(2662), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64882  	{Fname_offset: Tuint16_t(2673), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pi},
 64883  	{Fname_offset: Tuint16_t(2676), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64884  	{Fname_offset: Tuint16_t(2681), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Po},
 64885  	{Fname_offset: Tuint16_t(2684), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64886  	{Fname_offset: Tuint16_t(2711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64887  	{Fname_offset: Tuint16_t(2716), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ps},
 64888  	{Fname_offset: Tuint16_t(2719), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64889  	{Fname_offset: Tuint16_t(2734), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64890  	{Fname_offset: Tuint16_t(2739), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64891  	{Fname_offset: Tuint16_t(2744), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64892  	{Fname_offset: Tuint16_t(2750), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64893  	{Fname_offset: Tuint16_t(2764), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Radical},
 64894  	{Fname_offset: Tuint16_t(2772), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64895  	{Fname_offset: Tuint16_t(2790), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64896  	{Fname_offset: Tuint16_t(2797), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64897  	{Fname_offset: Tuint16_t(2800), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64898  	{Fname_offset: Tuint16_t(2805), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64899  	{Fname_offset: Tuint16_t(2810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64900  	{Fname_offset: Tuint16_t(2816), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64901  	{Fname_offset: Tuint16_t(2821), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_S},
 64902  	{Fname_offset: Tuint16_t(2823), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64903  	{Fname_offset: Tuint16_t(2833), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64904  	{Fname_offset: Tuint16_t(2838), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64905  	{Fname_offset: Tuint16_t(2843), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64906  	{Fname_offset: Tuint16_t(2848), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64907  	{Fname_offset: Tuint16_t(2859), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sc},
 64908  	{Fname_offset: Tuint16_t(2862), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64909  	{Fname_offset: Tuint16_t(2865), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64910  	{Fname_offset: Tuint16_t(2882), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64911  	{Fname_offset: Tuint16_t(2887), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64912  	{Fname_offset: Tuint16_t(2895), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64913  	{Fname_offset: Tuint16_t(2903), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64914  	{Fname_offset: Tuint16_t(2908), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64915  	{Fname_offset: Tuint16_t(2913), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64916  	{Fname_offset: Tuint16_t(2918), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64917  	{Fname_offset: Tuint16_t(2926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64918  	{Fname_offset: Tuint16_t(2938), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64919  	{Fname_offset: Tuint16_t(2943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64920  	{Fname_offset: Tuint16_t(2948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64921  	{Fname_offset: Tuint16_t(2956), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sk},
 64922  	{Fname_offset: Tuint16_t(2959), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sm},
 64923  	{Fname_offset: Tuint16_t(2962), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_So},
 64924  	{Fname_offset: Tuint16_t(2965), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64925  	{Fname_offset: Tuint16_t(2976), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64926  	{Fname_offset: Tuint16_t(2981), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64927  	{Fname_offset: Tuint16_t(2989), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64928  	{Fname_offset: Tuint16_t(2994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64929  	{Fname_offset: Tuint16_t(2999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64930  	{Fname_offset: Tuint16_t(3011), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64931  	{Fname_offset: Tuint16_t(3016), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64932  	{Fname_offset: Tuint16_t(3024), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 64933  	{Fname_offset: Tuint16_t(3030), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64934  	{Fname_offset: Tuint16_t(3036), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64935  	{Fname_offset: Tuint16_t(3041), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64936  	{Fname_offset: Tuint16_t(3051), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64937  	{Fname_offset: Tuint16_t(3056), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64938  	{Fname_offset: Tuint16_t(3068), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64939  	{Fname_offset: Tuint16_t(3073), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64940  	{Fname_offset: Tuint16_t(3080), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64941  	{Fname_offset: Tuint16_t(3088), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64942  	{Fname_offset: Tuint16_t(3093), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64943  	{Fname_offset: Tuint16_t(3102), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64944  	{Fname_offset: Tuint16_t(3108), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64945  	{Fname_offset: Tuint16_t(3116), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64946  	{Fname_offset: Tuint16_t(3124), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64947  	{Fname_offset: Tuint16_t(3129), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64948  	{Fname_offset: Tuint16_t(3135), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64949  	{Fname_offset: Tuint16_t(3140), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64950  	{Fname_offset: Tuint16_t(3145), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64951  	{Fname_offset: Tuint16_t(3151), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64952  	{Fname_offset: Tuint16_t(3156), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64953  	{Fname_offset: Tuint16_t(3161), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64954  	{Fname_offset: Tuint16_t(3168), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64955  	{Fname_offset: Tuint16_t(3175), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64956  	{Fname_offset: Tuint16_t(3180), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64957  	{Fname_offset: Tuint16_t(3185), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64958  	{Fname_offset: Tuint16_t(3192), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64959  	{Fname_offset: Tuint16_t(3197), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64960  	{Fname_offset: Tuint16_t(3217), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64961  	{Fname_offset: Tuint16_t(3222), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64962  	{Fname_offset: Tuint16_t(3227), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64963  	{Fname_offset: Tuint16_t(3232), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64964  	{Fname_offset: Tuint16_t(3239), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Thai},
 64965  	{Fname_offset: Tuint16_t(3244), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64966  	{Fname_offset: Tuint16_t(3252), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64967  	{Fname_offset: Tuint16_t(3257), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64968  	{Fname_offset: Tuint16_t(3266), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64969  	{Fname_offset: Tuint16_t(3271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64970  	{Fname_offset: Tuint16_t(3279), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64971  	{Fname_offset: Tuint16_t(3284), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Toto},
 64972  	{Fname_offset: Tuint16_t(3289), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64973  	{Fname_offset: Tuint16_t(3294), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64974  	{Fname_offset: Tuint16_t(3303), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64975  	{Fname_offset: Tuint16_t(3309), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64976  	{Fname_offset: Tuint16_t(3326), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 64977  	{Fname_offset: Tuint16_t(3334), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64978  	{Fname_offset: Tuint16_t(3340), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64979  	{Fname_offset: Tuint16_t(3350), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64980  	{Fname_offset: Tuint16_t(3354), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64981  	{Fname_offset: Tuint16_t(3359), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 64982  	{Fname_offset: Tuint16_t(3377), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 64983  	{Fname_offset: Tuint16_t(3382), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 64984  	{Fname_offset: Tuint16_t(3391), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 64985  	{Fname_offset: Tuint16_t(3394), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 64986  	{Fname_offset: Tuint16_t(3401), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 64987  	{Fname_offset: Tuint16_t(3406), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 64988  	{Fname_offset: Tuint16_t(3417), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 64989  	{Fname_offset: Tuint16_t(3422), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 64990  	{Fname_offset: Tuint16_t(3433), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 64991  	{Fname_offset: Tuint16_t(3440), Ftype: Tuint16_t(DPT_ALNUM)},
 64992  	{Fname_offset: Tuint16_t(3444), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 64993  	{Fname_offset: Tuint16_t(3449), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 64994  	{Fname_offset: Tuint16_t(3461), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 64995  	{Fname_offset: Tuint16_t(3466), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 64996  	{Fname_offset: Tuint16_t(3475), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 64997  	{Fname_offset: Tuint16_t(3480), Ftype: Tuint16_t(DPT_PXSPACE)},
 64998  	{Fname_offset: Tuint16_t(3484), Ftype: Tuint16_t(DPT_SPACE)},
 64999  	{Fname_offset: Tuint16_t(3488), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 65000  	{Fname_offset: Tuint16_t(3493), Ftype: Tuint16_t(DPT_UCNC)},
 65001  	{Fname_offset: Tuint16_t(3497), Ftype: Tuint16_t(DPT_WORD)},
 65002  	{Fname_offset: Tuint16_t(3501), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65003  	{Fname_offset: Tuint16_t(3506), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65004  	{Fname_offset: Tuint16_t(3513), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65005  	{Fname_offset: Tuint16_t(3516), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65006  	{Fname_offset: Tuint16_t(3521), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_Z},
 65007  	{Fname_offset: Tuint16_t(3523), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65008  	{Fname_offset: Tuint16_t(3539), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65009  	{Fname_offset: Tuint16_t(3544), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 65010  	{Fname_offset: Tuint16_t(3549), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zl},
 65011  	{Fname_offset: Tuint16_t(3552), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zp},
 65012  	{Fname_offset: Tuint16_t(3555), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zs},
 65013  	{Fname_offset: Tuint16_t(3558), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 65014  	{Fname_offset: Tuint16_t(3563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 65015  } /* pcre2_ucptables.c:1031:22 */
 65016  
 65017  var X_pcre2_utt_size_8 Tsize_t = uint32(unsafe.Sizeof(X_pcre2_utt_8)) / uint32(unsafe.Sizeof(Tucp_type_table{})) /* pcre2_ucptables.c:1520:14 */
 65018  
 65019  // End of pcre2_ucptables.c
 65020  
 65021  // End of pcre2_tables.c
 65022  
 65023  // This function is needed only when memmove() is not available.
 65024  
 65025  // End of pcre2_internal.h
 65026  
 65027  // The tables herein are needed only when UCP support is built, and in PCRE2
 65028  // that happens automatically with UTF support. This module should not be
 65029  // referenced otherwise, so it should not matter whether it is compiled or not.
 65030  // However a comment was received about space saving - maybe the guy linked all
 65031  // the modules rather than using a library - so we include a condition to cut out
 65032  // the tables when not needed. But don't leave a totally empty module because some
 65033  // compilers barf at that. Instead, just supply some small dummy tables.
 65034  
 65035  // Total size: 111116 bytes, block size: 128.
 65036  
 65037  var X_pcre2_unicode_version_8 uintptr = ts + 11252 /* "14.0.0" */ /* pcre2_ucd.c:79:12 */
 65038  
 65039  // When recompiling tables with a new Unicode version, please check the types
 65040  // in this structure definition with those in pcre2_internal.h (the actual field
 65041  // names will be different).
 65042  //
 65043  // typedef struct {
 65044  // uint8_t property_0;
 65045  // uint8_t property_1;
 65046  // uint8_t property_2;
 65047  // uint8_t property_3;
 65048  // int32_t property_4;
 65049  // uint16_t property_5;
 65050  // uint16_t property_6;
 65051  // } ucd_record;
 65052  
 65053  // If the 32-bit library is run in non-32-bit mode, character values greater
 65054  // than 0x10ffff may be encountered. For these we set up a special record.
 65055  
 65056  // This table contains lists of characters that are caseless sets of
 65057  // more than one character. Each list is terminated by NOTACHAR.
 65058  
 65059  var X_pcre2_ucd_caseless_sets_8 = [112]Tuint32_t{
 65060  	DNOTACHAR,
 65061  	Tuint32_t(0x0053), Tuint32_t(0x0073), Tuint32_t(0x017f), DNOTACHAR,
 65062  	Tuint32_t(0x01c4), Tuint32_t(0x01c5), Tuint32_t(0x01c6), DNOTACHAR,
 65063  	Tuint32_t(0x01c7), Tuint32_t(0x01c8), Tuint32_t(0x01c9), DNOTACHAR,
 65064  	Tuint32_t(0x01ca), Tuint32_t(0x01cb), Tuint32_t(0x01cc), DNOTACHAR,
 65065  	Tuint32_t(0x01f1), Tuint32_t(0x01f2), Tuint32_t(0x01f3), DNOTACHAR,
 65066  	Tuint32_t(0x0345), Tuint32_t(0x0399), Tuint32_t(0x03b9), Tuint32_t(0x1fbe), DNOTACHAR,
 65067  	Tuint32_t(0x00b5), Tuint32_t(0x039c), Tuint32_t(0x03bc), DNOTACHAR,
 65068  	Tuint32_t(0x03a3), Tuint32_t(0x03c2), Tuint32_t(0x03c3), DNOTACHAR,
 65069  	Tuint32_t(0x0392), Tuint32_t(0x03b2), Tuint32_t(0x03d0), DNOTACHAR,
 65070  	Tuint32_t(0x0398), Tuint32_t(0x03b8), Tuint32_t(0x03d1), Tuint32_t(0x03f4), DNOTACHAR,
 65071  	Tuint32_t(0x03a6), Tuint32_t(0x03c6), Tuint32_t(0x03d5), DNOTACHAR,
 65072  	Tuint32_t(0x03a0), Tuint32_t(0x03c0), Tuint32_t(0x03d6), DNOTACHAR,
 65073  	Tuint32_t(0x039a), Tuint32_t(0x03ba), Tuint32_t(0x03f0), DNOTACHAR,
 65074  	Tuint32_t(0x03a1), Tuint32_t(0x03c1), Tuint32_t(0x03f1), DNOTACHAR,
 65075  	Tuint32_t(0x0395), Tuint32_t(0x03b5), Tuint32_t(0x03f5), DNOTACHAR,
 65076  	Tuint32_t(0x0412), Tuint32_t(0x0432), Tuint32_t(0x1c80), DNOTACHAR,
 65077  	Tuint32_t(0x0414), Tuint32_t(0x0434), Tuint32_t(0x1c81), DNOTACHAR,
 65078  	Tuint32_t(0x041e), Tuint32_t(0x043e), Tuint32_t(0x1c82), DNOTACHAR,
 65079  	Tuint32_t(0x0421), Tuint32_t(0x0441), Tuint32_t(0x1c83), DNOTACHAR,
 65080  	Tuint32_t(0x0422), Tuint32_t(0x0442), Tuint32_t(0x1c84), Tuint32_t(0x1c85), DNOTACHAR,
 65081  	Tuint32_t(0x042a), Tuint32_t(0x044a), Tuint32_t(0x1c86), DNOTACHAR,
 65082  	Tuint32_t(0x0462), Tuint32_t(0x0463), Tuint32_t(0x1c87), DNOTACHAR,
 65083  	Tuint32_t(0x1e60), Tuint32_t(0x1e61), Tuint32_t(0x1e9b), DNOTACHAR,
 65084  	Tuint32_t(0x03a9), Tuint32_t(0x03c9), Tuint32_t(0x2126), DNOTACHAR,
 65085  	Tuint32_t(0x004b), Tuint32_t(0x006b), Tuint32_t(0x212a), DNOTACHAR,
 65086  	Tuint32_t(0x00c5), Tuint32_t(0x00e5), Tuint32_t(0x212b), DNOTACHAR,
 65087  	Tuint32_t(0x1c88), Tuint32_t(0xa64a), Tuint32_t(0xa64b), DNOTACHAR,
 65088  } /* pcre2_ucd.c:114:16 */
 65089  
 65090  // When #included in pcre2test, we don't need the table of digit sets, nor the
 65091  // the large main UCD tables.
 65092  
 65093  // This table lists the code points for the '9' characters in each set of
 65094  // decimal digits. It is used to ensure that all the digits in a script run come
 65095  // from the same set.
 65096  
 65097  var X_pcre2_ucd_digit_sets_8 = [67]Tuint32_t{
 65098  	Tuint32_t(66), // Number of subsequent values
 65099  	Tuint32_t(0x00039), Tuint32_t(0x00669), Tuint32_t(0x006f9), Tuint32_t(0x007c9), Tuint32_t(0x0096f), Tuint32_t(0x009ef), Tuint32_t(0x00a6f), Tuint32_t(0x00aef),
 65100  	Tuint32_t(0x00b6f), Tuint32_t(0x00bef), Tuint32_t(0x00c6f), Tuint32_t(0x00cef), Tuint32_t(0x00d6f), Tuint32_t(0x00def), Tuint32_t(0x00e59), Tuint32_t(0x00ed9),
 65101  	Tuint32_t(0x00f29), Tuint32_t(0x01049), Tuint32_t(0x01099), Tuint32_t(0x017e9), Tuint32_t(0x01819), Tuint32_t(0x0194f), Tuint32_t(0x019d9), Tuint32_t(0x01a89),
 65102  	Tuint32_t(0x01a99), Tuint32_t(0x01b59), Tuint32_t(0x01bb9), Tuint32_t(0x01c49), Tuint32_t(0x01c59), Tuint32_t(0x0a629), Tuint32_t(0x0a8d9), Tuint32_t(0x0a909),
 65103  	Tuint32_t(0x0a9d9), Tuint32_t(0x0a9f9), Tuint32_t(0x0aa59), Tuint32_t(0x0abf9), Tuint32_t(0x0ff19), Tuint32_t(0x104a9), Tuint32_t(0x10d39), Tuint32_t(0x1106f),
 65104  	Tuint32_t(0x110f9), Tuint32_t(0x1113f), Tuint32_t(0x111d9), Tuint32_t(0x112f9), Tuint32_t(0x11459), Tuint32_t(0x114d9), Tuint32_t(0x11659), Tuint32_t(0x116c9),
 65105  	Tuint32_t(0x11739), Tuint32_t(0x118e9), Tuint32_t(0x11959), Tuint32_t(0x11c59), Tuint32_t(0x11d59), Tuint32_t(0x11da9), Tuint32_t(0x16a69), Tuint32_t(0x16ac9),
 65106  	Tuint32_t(0x16b59), Tuint32_t(0x1d7d7), Tuint32_t(0x1d7e1), Tuint32_t(0x1d7eb), Tuint32_t(0x1d7f5), Tuint32_t(0x1d7ff), Tuint32_t(0x1e149), Tuint32_t(0x1e2f9),
 65107  	Tuint32_t(0x1e959), Tuint32_t(0x1fbf9),
 65108  } /* pcre2_ucd.c:154:16 */
 65109  
 65110  // This vector is a list of script bitsets for the Script Extension property.
 65111  // The number of 32-bit words in each bitset is #defined in pcre2_ucp.h as
 65112  // ucd_script_sets_item_size.
 65113  
 65114  var X_pcre2_ucd_script_sets_8 = [189]Tuint32_t{
 65115  	0x00000000, 0x00000000, 0x00000000,
 65116  	0x00000080, 0x00000000, 0x00000000,
 65117  	0x00000040, 0x00000000, 0x00000000,
 65118  	0x00000000, 0x00004000, 0x00000000,
 65119  	0x00000002, 0x00000000, 0x00000000,
 65120  	0x00800000, 0x00000000, 0x00000000,
 65121  	0x00000001, 0x00000000, 0x00000000,
 65122  	0x00000000, 0x00000000, 0x00000001,
 65123  	0x00000010, 0x00000000, 0x00000000,
 65124  	0x00000008, 0x00000004, 0x00000000,
 65125  	0x00000008, 0x40000000, 0x00000000,
 65126  	0x00000008, 0x00000040, 0x00000000,
 65127  	0x00000018, 0x00000000, 0x00000000,
 65128  	0x00000028, 0x00000000, 0x00000000,
 65129  	0x000000c0, 0x00000000, 0x00000000,
 65130  	0x00c00000, 0x00000000, 0x00000000,
 65131  	0x00000000, 0x00000102, 0x00000000,
 65132  	0x80000000, 0x00000001, 0x00000000,
 65133  	0x00000004, 0x00000008, 0x00000000,
 65134  	0x00000005, 0x00000000, 0x00000000,
 65135  	0x00000004, 0x00200000, 0x00000000,
 65136  	0x00000014, 0x00000000, 0x00000000,
 65137  	0x00000040, 0x00008000, 0x00000000,
 65138  	0x00000040, 0x00000000, 0x00000001,
 65139  	0x00000040, 0x00001000, 0x00000000,
 65140  	0x00000840, 0x00000000, 0x00000000,
 65141  	0x00020001, 0x00000000, 0x00000000,
 65142  	0x00000800, 0x00008000, 0x00000000,
 65143  	0x00000200, 0x00010000, 0x00000000,
 65144  	0x00000100, 0x02000000, 0x00000000,
 65145  	0x00800001, 0x00000000, 0x00000000,
 65146  	0x00300000, 0x00000000, 0x00000000,
 65147  	0x00002000, 0x00000000, 0x00000001,
 65148  	0x00080001, 0x00000000, 0x00000000,
 65149  	0x00000000, 0x00080000, 0x00000008,
 65150  	0x00080000, 0x00000020, 0x00000000,
 65151  	0x00000038, 0x00000000, 0x00000000,
 65152  	0x00000028, 0x00000000, 0x00000002,
 65153  	0x00000080, 0x00000810, 0x00000000,
 65154  	0x40010000, 0x00000800, 0x00000000,
 65155  	0x80000000, 0x00000001, 0x00000004,
 65156  	0x80000000, 0x00020001, 0x00000000,
 65157  	0x00002040, 0x00008000, 0x00000000,
 65158  	0x00000041, 0x00008000, 0x00000000,
 65159  	0x00b00000, 0x00000000, 0x00000000,
 65160  	0x00010001, 0x00000080, 0x00000000,
 65161  	0x000020c0, 0x00008000, 0x00000000,
 65162  	0x1e000000, 0x00000000, 0x00000000,
 65163  	0x00000040, 0x10040200, 0x00000000,
 65164  	0x00f40000, 0x00000000, 0x00000000,
 65165  	0x00000038, 0x40000040, 0x00000002,
 65166  	0x01f40000, 0x00000000, 0x00000000,
 65167  	0x00007c40, 0x00000000, 0x00000000,
 65168  	0x00000038, 0x44000040, 0x00000002,
 65169  	0x000034c0, 0x01008000, 0x00000001,
 65170  	0x00000018, 0xc4480400, 0x00000008,
 65171  	0x00000340, 0x11952200, 0x00000000,
 65172  	0x00007fc1, 0x01008000, 0x00000000,
 65173  	0x00007fc1, 0x01009000, 0x00000000,
 65174  	0x00002340, 0x11952200, 0x00000001,
 65175  	0x00006340, 0x11952200, 0x00000001,
 65176  	0x0000ffc0, 0x3984a010, 0x00000001,
 65177  	0x2000ffc0, 0x3984a010, 0x00000001,
 65178  } /* pcre2_ucd.c:171:16 */
 65179  
 65180  // This vector is a list of bitsets for Boolean properties. The number of
 65181  // 32_bit words in each bitset is #defined as ucd_boolprop_sets_item_size in
 65182  // pcre2_ucp.h.
 65183  
 65184  var X_pcre2_ucd_boolprop_sets_8 = [354]Tuint32_t{
 65185  	0x00000000, 0x00000000,
 65186  	0x00000001, 0x00000000,
 65187  	0x00000001, 0x00020040,
 65188  	0x00800001, 0x00020040,
 65189  	0x00800001, 0x00002820,
 65190  	0x00800001, 0x00000120,
 65191  	0x00830001, 0x00000020,
 65192  	0x00800001, 0x00000020,
 65193  	0x00800021, 0x00000120,
 65194  	0x00800011, 0x00000020,
 65195  	0x00800001, 0x00000028,
 65196  	0x00800001, 0x00002020,
 65197  	0x00801001, 0x00000020,
 65198  	0x00800021, 0x00002820,
 65199  	0x24830003, 0x00040000,
 65200  	0x00800021, 0x00002020,
 65201  	0x00800011, 0x00000028,
 65202  	0x648003c7, 0x000c8000,
 65203  	0x608003c5, 0x000c8000,
 65204  	0x00808021, 0x00000028,
 65205  	0x20800001, 0x00040000,
 65206  	0x00808021, 0x00000020,
 65207  	0x64800d47, 0x000c0004,
 65208  	0x60800d45, 0x000c0004,
 65209  	0x60800d45, 0x000c1004,
 65210  	0x00000000, 0x00020040,
 65211  	0x00800000, 0x00020000,
 65212  	0x00800000, 0x00000020,
 65213  	0x00808020, 0x00000000,
 65214  	0x00a10000, 0x00000020,
 65215  	0x60800044, 0x000c0004,
 65216  	0x00800010, 0x00000120,
 65217  	0x00800000, 0x00000028,
 65218  	0x00002020, 0x00000000,
 65219  	0x00800000, 0x00000000,
 65220  	0x60800dc4, 0x000c0004,
 65221  	0x20c08020, 0x00040000,
 65222  	0x608003c4, 0x000c8000,
 65223  	0x60800d44, 0x000c0004,
 65224  	0x60800d44, 0x000c1004,
 65225  	0x60804dc4, 0x000c0004,
 65226  	0x60800004, 0x000c0000,
 65227  	0x608007c4, 0x000c8000,
 65228  	0x60800bc4, 0x000c0000,
 65229  	0x60808064, 0x000c0004,
 65230  	0x60808064, 0x000c1004,
 65231  	0x60808024, 0x000c0000,
 65232  	0x60c08024, 0x000c0000,
 65233  	0x21008020, 0x00040000,
 65234  	0x21008de4, 0x00040004,
 65235  	0x21002020, 0x00040000,
 65236  	0x21000020, 0x00040000,
 65237  	0x60808064, 0x00000004,
 65238  	0x00800000, 0x00002000,
 65239  	0x20800020, 0x00042000,
 65240  	0x60800dc4, 0x000c000c,
 65241  	0x60800044, 0x000c8008,
 65242  	0x60800044, 0x000c8000,
 65243  	0x608003c4, 0x000c8008,
 65244  	0x00800000, 0x00000008,
 65245  	0x01000020, 0x00000000,
 65246  	0x00800020, 0x00000000,
 65247  	0x00800000, 0x00002800,
 65248  	0x00801000, 0x00000000,
 65249  	0x21008024, 0x00040000,
 65250  	0x21000024, 0x00040000,
 65251  	0x00000020, 0x00000080,
 65252  	0x00002028, 0x00000000,
 65253  	0x60c00024, 0x000c0000,
 65254  	0x20800000, 0x00040000,
 65255  	0x60804004, 0x000c0000,
 65256  	0x60800024, 0x000c0000,
 65257  	0x20800004, 0x00040000,
 65258  	0x23008020, 0x00040000,
 65259  	0x21000004, 0x00040000,
 65260  	0x21408020, 0x00040000,
 65261  	0x60800004, 0x00040000,
 65262  	0x23000024, 0x00040000,
 65263  	0x60800004, 0x000c0002,
 65264  	0x00800010, 0x00000000,
 65265  	0x20808000, 0x00040000,
 65266  	0x21004024, 0x00040000,
 65267  	0x20808004, 0x00040000,
 65268  	0x60800944, 0x000c0004,
 65269  	0x60802004, 0x000c0000,
 65270  	0x60800344, 0x000c8000,
 65271  	0x22808000, 0x00040000,
 65272  	0x22800000, 0x00040000,
 65273  	0x00c00000, 0x00000000,
 65274  	0x21002020, 0x00050000,
 65275  	0x61000024, 0x000c0000,
 65276  	0x23000020, 0x00040000,
 65277  	0x01008020, 0x00000000,
 65278  	0x21408024, 0x00040000,
 65279  	0x00808000, 0x00000000,
 65280  	0x60800064, 0x000c0004,
 65281  	0x60800044, 0x000c1004,
 65282  	0x60800064, 0x000c1004,
 65283  	0x01002020, 0x00000001,
 65284  	0x00022020, 0x00000001,
 65285  	0x00002028, 0x00000040,
 65286  	0x00801000, 0x00000020,
 65287  	0x00800020, 0x00000120,
 65288  	0x00800000, 0x00000120,
 65289  	0x00800020, 0x00000020,
 65290  	0x00a10000, 0x00002820,
 65291  	0x00800000, 0x00002820,
 65292  	0x20800000, 0x00040008,
 65293  	0x00800010, 0x00000020,
 65294  	0x00002020, 0x00000008,
 65295  	0x00002000, 0x00000000,
 65296  	0x00006020, 0x00000000,
 65297  	0x00801000, 0x00000008,
 65298  	0x00800010, 0x00000008,
 65299  	0x21000020, 0x00040008,
 65300  	0x01020020, 0x00000000,
 65301  	0x60800044, 0x000c000c,
 65302  	0x60800000, 0x000c0008,
 65303  	0x00a10000, 0x00000000,
 65304  	0x60800000, 0x000c0000,
 65305  	0x60800004, 0x000c0008,
 65306  	0x60a10044, 0x000c0004,
 65307  	0x60800044, 0x000c100c,
 65308  	0x00a10000, 0x00000028,
 65309  	0x00800010, 0x00000028,
 65310  	0x00801000, 0x00000028,
 65311  	0x00b10000, 0x00000020,
 65312  	0x00804010, 0x00000020,
 65313  	0x00a00000, 0x00000020,
 65314  	0x00000000, 0x00000020,
 65315  	0x008003c4, 0x00008000,
 65316  	0x00a103c4, 0x00008000,
 65317  	0x00800d44, 0x00000004,
 65318  	0x00b10000, 0x00000028,
 65319  	0x00a00000, 0x00000028,
 65320  	0x00a90000, 0x00000020,
 65321  	0x00b90000, 0x00000020,
 65322  	0x00808024, 0x00000020,
 65323  	0x00800000, 0x00002020,
 65324  	0x00800000, 0x00000200,
 65325  	0x08800000, 0x00000000,
 65326  	0x10800000, 0x00000000,
 65327  	0xe0800004, 0x000c0000,
 65328  	0x21008000, 0x00040000,
 65329  	0x00a11000, 0x00000020,
 65330  	0x60808020, 0x00000000,
 65331  	0xe0800004, 0x000c4000,
 65332  	0x60808004, 0x000c0000,
 65333  	0x60800004, 0x00000000,
 65334  	0x00000000, 0x00000010,
 65335  	0x21022020, 0x00050000,
 65336  	0x00800000, 0x00000100,
 65337  	0x00800020, 0x00002800,
 65338  	0x00800020, 0x00002000,
 65339  	0x00800020, 0x00000100,
 65340  	0x24800000, 0x00040000,
 65341  	0x648003c4, 0x000c8000,
 65342  	0x00808020, 0x00000008,
 65343  	0x64800d44, 0x000c0004,
 65344  	0x00800010, 0x00000100,
 65345  	0x61008024, 0x00040000,
 65346  	0x00000020, 0x00000000,
 65347  	0x60c00004, 0x000c0000,
 65348  	0x21400020, 0x00040000,
 65349  	0xa1000020, 0x00040000,
 65350  	0x21000000, 0x00040000,
 65351  	0x00a00000, 0x00000000,
 65352  	0x00b10000, 0x00000000,
 65353  	0x00200000, 0x00000000,
 65354  	0x00800044, 0x00008000,
 65355  	0x00a10044, 0x00008000,
 65356  	0x00930000, 0x00000400,
 65357  	0x00b90000, 0x00000000,
 65358  	0x00a90000, 0x00000000,
 65359  	0x00970020, 0x00000000,
 65360  	0x00b30000, 0x00000000,
 65361  	0x01022020, 0x00000000,
 65362  } /* pcre2_ucd.c:241:16 */
 65363  
 65364  // These are the main two-stage UCD tables. The fields in each record are:
 65365  // script (8 bits), character type (8 bits), grapheme break property (8 bits),
 65366  // offset to multichar other cases or zero (8 bits), offset to other case or zero
 65367  // (32 bits, signed), bidi class (5 bits) and script extension (11 bits) packed
 65368  // into a 16-bit field, and offset in binary properties table (16 bits).
 65369  
 65370  var X_pcre2_ucd_records_8 = [1409]Tucd_record{ // 16908 bytes, record size 12
 65371  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(2)},                                                                         //   0
 65372  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(4)},                                                                        //   1
 65373  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(1), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                         //   2
 65374  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(4)},                                                                        //   3
 65375  	{Fscript: Tuint8_t(69), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                                               //   4
 65376  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(2)},                                                                         //   5
 65377  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(2)},                                                                        //   6
 65378  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(6)},                                              //   7
 65379  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(8)},                                              //   8
 65380  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(10)},                                             //   9
 65381  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(12)},                                             //  10
 65382  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  11
 65383  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  12
 65384  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(14)},                                             //  13
 65385  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(16)},                                             //  14
 65386  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  15
 65387  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  16
 65388  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(12)},                                             //  17
 65389  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(20)},                                             //  18
 65390  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(22)},                                              //  19
 65391  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(24)},                                             //  20
 65392  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(26)},                                              //  21
 65393  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(14)},                                              //  22
 65394  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(28)},                                             //  23
 65395  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(30)},                                              //  24
 65396  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(22)},                                             //  25
 65397  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(32)},                                             //  26
 65398  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(20)},                                             //  27
 65399  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(34)},                                                    //  28
 65400  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                                                    //  29
 65401  	{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
 65402  	{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
 65403  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(38)},                                             //  32
 65404  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(40)},                                             //  33
 65405  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(42)},                                             //  34
 65406  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(44)},                                                   //  35
 65407  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                                                   //  36
 65408  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(48)},                                                   //  37
 65409  	{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
 65410  	{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
 65411  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144)},                                                                                                //  40
 65412  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                                                        //  41
 65413  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(52)},                                              //  42
 65414  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  43
 65415  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  44
 65416  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  45
 65417  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             //  46
 65418  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(58)},                                             //  47
 65419  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  48
 65420  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  49
 65421  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             //  50
 65422  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                //  51
 65423  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  52
 65424  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             //  53
 65425  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(68)},                                             //  54
 65426  	{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
 65427  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(72)},                                             //  56
 65428  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  57
 65429  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             //  58
 65430  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  59
 65431  	{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
 65432  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                  //  61
 65433  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  62
 65434  	{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
 65435  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  64
 65436  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                     //  65
 65437  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  66
 65438  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                    //  67
 65439  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                                     //  68
 65440  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                                     //  69
 65441  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  70
 65442  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(80)},                                                                     //  71
 65443  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  //  72
 65444  	{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
 65445  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  74
 65446  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  75
 65447  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  76
 65448  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  77
 65449  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  78
 65450  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  79
 65451  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  80
 65452  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  81
 65453  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  82
 65454  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  83
 65455  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  84
 65456  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  85
 65457  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  86
 65458  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  87
 65459  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  88
 65460  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  89
 65461  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  90
 65462  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  91
 65463  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                     //  92
 65464  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  93
 65465  	{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
 65466  	{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
 65467  	{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
 65468  	{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
 65469  	{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
 65470  	{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
 65471  	{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
 65472  	{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
 65473  	{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
 65474  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 103
 65475  	{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
 65476  	{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
 65477  	{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
 65478  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 107
 65479  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 108
 65480  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 109
 65481  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 110
 65482  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 111
 65483  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 112
 65484  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 113
 65485  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 114
 65486  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 115
 65487  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 116
 65488  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 117
 65489  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 118
 65490  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 119
 65491  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 120
 65492  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 121
 65493  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 122
 65494  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 123
 65495  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 124
 65496  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 125
 65497  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 126
 65498  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 127
 65499  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 128
 65500  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 129
 65501  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                  // 130
 65502  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 131
 65503  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 132
 65504  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 133
 65505  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 134
 65506  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 135
 65507  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 136
 65508  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 137
 65509  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 138
 65510  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 139
 65511  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 140
 65512  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 141
 65513  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 142
 65514  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 143
 65515  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 144
 65516  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                 // 145
 65517  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 146
 65518  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                                                     // 147
 65519  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(90)},                                                                     // 148
 65520  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                              // 149
 65521  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 150
 65522  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                              // 151
 65523  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 152
 65524  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             // 153
 65525  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 154
 65526  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(96)},                                              // 155
 65527  	{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
 65528  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 157
 65529  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 158
 65530  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26642), Fbprops: Tuint16_t(102)},                                             // 159
 65531  	{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
 65532  	{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
 65533  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                              // 162
 65534  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 163
 65535  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(104)},                                              // 164
 65536  	{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
 65537  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 166
 65538  	{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
 65539  	{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
 65540  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(108)},                                            // 169
 65541  	{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
 65542  	{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
 65543  	{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
 65544  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                               // 173
 65545  	{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
 65546  	{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
 65547  	{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
 65548  	{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
 65549  	{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
 65550  	{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
 65551  	{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
 65552  	{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
 65553  	{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
 65554  	{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
 65555  	{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
 65556  	{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
 65557  	{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
 65558  	{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
 65559  	{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
 65560  	{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
 65561  	{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
 65562  	{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
 65563  	{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
 65564  	{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
 65565  	{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
 65566  	{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
 65567  	{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
 65568  	{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
 65569  	{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
 65570  	{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
 65571  	{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
 65572  	{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
 65573  	{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
 65574  	{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
 65575  	{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
 65576  	{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
 65577  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                              // 206
 65578  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(114)},                                              // 207
 65579  	{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
 65580  	{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
 65581  	{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
 65582  	{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
 65583  	{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
 65584  	{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
 65585  	{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
 65586  	{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
 65587  	{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
 65588  	{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
 65589  	{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
 65590  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 219
 65591  	{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
 65592  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 221
 65593  	{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
 65594  	{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
 65595  	{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
 65596  	{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
 65597  	{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
 65598  	{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
 65599  	{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
 65600  	{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
 65601  	{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
 65602  	{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
 65603  	{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
 65604  	{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
 65605  	{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
 65606  	{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
 65607  	{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
 65608  	{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
 65609  	{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
 65610  	{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
 65611  	{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
 65612  	{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
 65613  	{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
 65614  	{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
 65615  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 244
 65616  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26684), Fbprops: Tuint16_t(96)},                                               // 245
 65617  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26678), Fbprops: Tuint16_t(96)},                                               // 246
 65618  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26681), Fbprops: Tuint16_t(96)},                                              // 247
 65619  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                              // 248
 65620  	{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
 65621  	{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
 65622  	{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
 65623  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 252
 65624  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 253
 65625  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(122)},                                            // 254
 65626  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 255
 65627  	{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
 65628  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                              // 257
 65629  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 258
 65630  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 259
 65631  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 260
 65632  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 261
 65633  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816)},                                                                      // 262
 65634  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 263
 65635  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 264
 65636  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 265
 65637  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 266
 65638  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 267
 65639  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 268
 65640  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 269
 65641  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 270
 65642  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(122)},                                            // 271
 65643  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                                // 272
 65644  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                               // 273
 65645  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 274
 65646  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(118)},                                                                                   // 275
 65647  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 276
 65648  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 277
 65649  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8342), Fbprops: Tuint16_t(106)},                                             // 278
 65650  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 279
 65651  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 280
 65652  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 281
 65653  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(150), Fbprops: Tuint16_t(106)},                                              // 282
 65654  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(108), Fbprops: Tuint16_t(134)},                                                 // 283
 65655  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 284
 65656  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(159), Fbprops: Tuint16_t(124)},                                              // 285
 65657  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 286
 65658  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(165), Fbprops: Tuint16_t(136)},                                               // 287
 65659  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(128)},                                             // 288
 65660  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(130)},                                             // 289
 65661  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 290
 65662  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 291
 65663  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2159), Fbprops: Tuint16_t(138)},                                              // 292
 65664  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 293
 65665  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(140)},                                                                                    // 294
 65666  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(30), Fbprops: Tuint16_t(124)},                                                // 295
 65667  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(92)},                                                                                     // 296
 65668  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                             // 297
 65669  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 298
 65670  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 299
 65671  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(106)},                                                                                   // 300
 65672  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 301
 65673  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12)},                                                                                                            // 302
 65674  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fbprops: Tuint16_t(132)},                                                                                     // 303
 65675  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 304
 65676  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 305
 65677  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 306
 65678  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 307
 65679  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 308
 65680  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 309
 65681  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 310
 65682  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 311
 65683  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 312
 65684  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(92)},                                              // 313
 65685  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 314
 65686  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 315
 65687  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 316
 65688  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 317
 65689  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(136)},                                             // 318
 65690  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 319
 65691  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 320
 65692  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 321
 65693  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 322
 65694  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 323
 65695  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                            // 324
 65696  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 325
 65697  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 326
 65698  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                           // 327
 65699  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 328
 65700  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 329
 65701  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 330
 65702  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(122)},                                                                                   // 331
 65703  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 332
 65704  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 333
 65705  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 334
 65706  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 335
 65707  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 336
 65708  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 337
 65709  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26798), Fbprops: Tuint16_t(96)},                                              // 338
 65710  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26795), Fbprops: Tuint16_t(96)},                                              // 339
 65711  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18615), Fbprops: Tuint16_t(124)},                                            // 340
 65712  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18618), Fbprops: Tuint16_t(124)},                                            // 341
 65713  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18576), Fbprops: Tuint16_t(138)},                                             // 342
 65714  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 343
 65715  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                               // 344
 65716  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 345
 65717  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 346
 65718  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 347
 65719  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 348
 65720  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                              // 349
 65721  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 350
 65722  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18546), Fbprops: Tuint16_t(138)},                                             // 351
 65723  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 352
 65724  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 353
 65725  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 354
 65726  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 355
 65727  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 356
 65728  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 357
 65729  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 358
 65730  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 359
 65731  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 360
 65732  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 361
 65733  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18519), Fbprops: Tuint16_t(138)},                                             // 362
 65734  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 363
 65735  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 364
 65736  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 365
 65737  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 366
 65738  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 367
 65739  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 368
 65740  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18516), Fbprops: Tuint16_t(138)},                                             // 369
 65741  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 370
 65742  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 371
 65743  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 372
 65744  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 373
 65745  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 374
 65746  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 375
 65747  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 376
 65748  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 377
 65749  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 378
 65750  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 379
 65751  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 380
 65752  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 381
 65753  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 382
 65754  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 383
 65755  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 384
 65756  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 385
 65757  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 386
 65758  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(138)},                                            // 387
 65759  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(68)},                                             // 388
 65760  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28753), Fbprops: Tuint16_t(68)},                                             // 389
 65761  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 390
 65762  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 391
 65763  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 392
 65764  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 393
 65765  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 394
 65766  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 395
 65767  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 396
 65768  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 397
 65769  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 398
 65770  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 399
 65771  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 400
 65772  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 401
 65773  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 402
 65774  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 403
 65775  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 404
 65776  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 405
 65777  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 406
 65778  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                             // 407
 65779  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 408
 65780  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 409
 65781  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18528), Fbprops: Tuint16_t(138)},                                            // 410
 65782  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 411
 65783  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 412
 65784  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 413
 65785  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 414
 65786  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 415
 65787  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 416
 65788  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 417
 65789  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 418
 65790  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 419
 65791  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 420
 65792  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 421
 65793  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 422
 65794  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 423
 65795  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 424
 65796  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 425
 65797  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 426
 65798  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 427
 65799  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 428
 65800  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 429
 65801  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(154)},                                             // 430
 65802  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 431
 65803  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 432
 65804  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 433
 65805  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 434
 65806  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 435
 65807  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 436
 65808  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 437
 65809  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 438
 65810  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 439
 65811  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 440
 65812  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 441
 65813  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 442
 65814  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 443
 65815  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 444
 65816  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 445
 65817  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 446
 65818  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 447
 65819  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 448
 65820  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 449
 65821  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 450
 65822  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 451
 65823  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 452
 65824  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 453
 65825  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 454
 65826  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 455
 65827  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 456
 65828  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(162)},                                             // 457
 65829  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 458
 65830  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 459
 65831  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 460
 65832  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 461
 65833  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 462
 65834  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 463
 65835  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 464
 65836  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 465
 65837  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 466
 65838  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18549), Fbprops: Tuint16_t(138)},                                            // 467
 65839  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 468
 65840  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 469
 65841  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                            // 470
 65842  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 471
 65843  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 472
 65844  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 473
 65845  	{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
 65846  	{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
 65847  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18510), Fbprops: Tuint16_t(68)},                                             // 476
 65848  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 477
 65849  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 478
 65850  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 479
 65851  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 480
 65852  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 481
 65853  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(8), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 482
 65854  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 483
 65855  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 484
 65856  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 485
 65857  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 486
 65858  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 487
 65859  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 488
 65860  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 489
 65861  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 490
 65862  	{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
 65863  	{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
 65864  	{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
 65865  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 494
 65866  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 495
 65867  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 496
 65868  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 497
 65869  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 498
 65870  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 499
 65871  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 500
 65872  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 501
 65873  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 502
 65874  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 503
 65875  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 504
 65876  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 505
 65877  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 506
 65878  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 507
 65879  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 508
 65880  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 509
 65881  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 510
 65882  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                             // 511
 65883  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18573), Fbprops: Tuint16_t(124)},                                            // 512
 65884  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 513
 65885  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 514
 65886  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 515
 65887  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 516
 65888  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 517
 65889  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(140)},                                             // 518
 65890  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 519
 65891  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 520
 65892  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 521
 65893  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 522
 65894  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 523
 65895  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 524
 65896  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 525
 65897  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 526
 65898  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 527
 65899  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 528
 65900  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 529
 65901  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 530
 65902  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(106)},                                            // 531
 65903  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(124)},                                            // 532
 65904  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 533
 65905  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 534
 65906  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 535
 65907  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(176)},                                            // 536
 65908  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 537
 65909  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                // 538
 65910  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 539
 65911  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 540
 65912  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 541
 65913  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(180)},                                             // 542
 65914  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 543
 65915  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 544
 65916  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 545
 65917  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 546
 65918  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 547
 65919  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 548
 65920  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 549
 65921  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 550
 65922  	{Fscript: Tuint8_t(30), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 551
 65923  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 552
 65924  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 553
 65925  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 554
 65926  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 555
 65927  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 556
 65928  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 557
 65929  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 558
 65930  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 559
 65931  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 560
 65932  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 561
 65933  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 562
 65934  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 563
 65935  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 564
 65936  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 565
 65937  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 566
 65938  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 567
 65939  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 568
 65940  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 569
 65941  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 570
 65942  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 571
 65943  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(184)},                                             // 572
 65944  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 573
 65945  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 574
 65946  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 575
 65947  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 576
 65948  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 577
 65949  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 578
 65950  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 579
 65951  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 580
 65952  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 581
 65953  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 582
 65954  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 583
 65955  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 584
 65956  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 585
 65957  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 586
 65958  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 587
 65959  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 588
 65960  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 589
 65961  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 590
 65962  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 591
 65963  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 592
 65964  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 593
 65965  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 594
 65966  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                            // 595
 65967  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 596
 65968  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 597
 65969  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 598
 65970  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 599
 65971  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(186)},                                             // 600
 65972  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 601
 65973  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 602
 65974  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 603
 65975  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 604
 65976  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 605
 65977  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 606
 65978  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 607
 65979  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 608
 65980  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 609
 65981  	{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
 65982  	{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
 65983  	{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
 65984  	{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
 65985  	{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
 65986  	{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
 65987  	{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
 65988  	{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
 65989  	{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
 65990  	{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
 65991  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 620
 65992  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26762), Fbprops: Tuint16_t(96)},                                              // 621
 65993  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26630), Fbprops: Tuint16_t(96)},                                              // 622
 65994  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(188)},                                            // 623
 65995  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                              // 624
 65996  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26696), Fbprops: Tuint16_t(96)},                                              // 625
 65997  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26780), Fbprops: Tuint16_t(96)},                                              // 626
 65998  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(160)},                                             // 627
 65999  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18501), Fbprops: Tuint16_t(82)},                                              // 628
 66000  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(82)},                                              // 629
 66001  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18438), Fbprops: Tuint16_t(82)},                                              // 630
 66002  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18594), Fbprops: Tuint16_t(82)},                                              // 631
 66003  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(82)},                                              // 632
 66004  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26750), Fbprops: Tuint16_t(96)},                                              // 633
 66005  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18435), Fbprops: Tuint16_t(160)},                                             // 634
 66006  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26690), Fbprops: Tuint16_t(96)},                                              // 635
 66007  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18453), Fbprops: Tuint16_t(82)},                                              // 636
 66008  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 637
 66009  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 638
 66010  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 639
 66011  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 640
 66012  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 641
 66013  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 642
 66014  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(192)},                                                                    // 643
 66015  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                                                    // 644
 66016  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(194)},                                                                    // 645
 66017  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 646
 66018  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(102)},                                             // 647
 66019  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26687), Fbprops: Tuint16_t(96)},                                              // 648
 66020  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26648), Fbprops: Tuint16_t(96)},                                              // 649
 66021  	{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
 66022  	{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
 66023  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                                     // 652
 66024  	{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
 66025  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 654
 66026  	{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
 66027  	{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
 66028  	{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
 66029  	{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
 66030  	{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
 66031  	{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
 66032  	{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
 66033  	{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
 66034  	{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
 66035  	{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
 66036  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                               // 665
 66037  	{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
 66038  	{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
 66039  	{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
 66040  	{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
 66041  	{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
 66042  	{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
 66043  	{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
 66044  	{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
 66045  	{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
 66046  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 675
 66047  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(196)},                                               // 676
 66048  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(13), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(198)},                                              // 677
 66049  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(200)},                                              // 678
 66050  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(200)},                                              // 679
 66051  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 680
 66052  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 681
 66053  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 682
 66054  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 683
 66055  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 684
 66056  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 685
 66057  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 686
 66058  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(208)},                                            // 687
 66059  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(27), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(50)},                                              // 688
 66060  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(28), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                               // 689
 66061  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(20480), Fbprops: Tuint16_t(134)},                                              // 690
 66062  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(36864), Fbprops: Tuint16_t(134)},                                              // 691
 66063  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(30720), Fbprops: Tuint16_t(134)},                                              // 692
 66064  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(24576), Fbprops: Tuint16_t(134)},                                              // 693
 66065  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(40960), Fbprops: Tuint16_t(134)},                                              // 694
 66066  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8291), Fbprops: Tuint16_t(52)},                                              // 695
 66067  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             // 696
 66068  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             // 697
 66069  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(210)},                                            // 698
 66070  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(212)},                                            // 699
 66071  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(138)},                                            // 700
 66072  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(214)},                                            // 701
 66073  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(64)},                                              // 702
 66074  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 703
 66075  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 704
 66076  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 705
 66077  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(218)},                                               // 706
 66078  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(220)},                                               // 707
 66079  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(22528), Fbprops: Tuint16_t(134)},                                              // 708
 66080  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(38912), Fbprops: Tuint16_t(134)},                                              // 709
 66081  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(16384), Fbprops: Tuint16_t(134)},                                              // 710
 66082  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(32768), Fbprops: Tuint16_t(134)},                                              // 711
 66083  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(222)},                                               // 712
 66084  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 713
 66085  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 714
 66086  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 715
 66087  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 716
 66088  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 717
 66089  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336)},                                                                      // 718
 66090  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(228)},                                             // 719
 66091  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                             // 720
 66092  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(230)},                                             // 721
 66093  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26753), Fbprops: Tuint16_t(102)},                                             // 722
 66094  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 723
 66095  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                             // 724
 66096  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(232)},                                             // 725
 66097  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(234)},                                            // 726
 66098  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(236)},                                            // 727
 66099  	{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
 66100  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 729
 66101  	{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
 66102  	{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
 66103  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(238)},                                            // 732
 66104  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 733
 66105  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(240)},                                             // 734
 66106  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(242)},                                             // 735
 66107  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(244)},                                             // 736
 66108  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 737
 66109  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: 16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 738
 66110  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: -16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 739
 66111  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                    // 740
 66112  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 741
 66113  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 742
 66114  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 743
 66115  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 744
 66116  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(250)},                                            // 745
 66117  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 746
 66118  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 747
 66119  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(252)},                                            // 748
 66120  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 749
 66121  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 750
 66122  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 751
 66123  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(256)},                                            // 752
 66124  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(258)},                                             // 753
 66125  	{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
 66126  	{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
 66127  	{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
 66128  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(266)},                                            // 757
 66129  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 758
 66130  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(270)},                                            // 759
 66131  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 760
 66132  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(256)},                                            // 761
 66133  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(272)},                                            // 762
 66134  	{Fscript: Tuint8_t(88), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 763
 66135  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 764
 66136  	{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
 66137  	{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
 66138  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 767
 66139  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 768
 66140  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 769
 66141  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 770
 66142  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 771
 66143  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 772
 66144  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 773
 66145  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 774
 66146  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 775
 66147  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 776
 66148  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 777
 66149  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 778
 66150  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 779
 66151  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 780
 66152  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 781
 66153  	{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
 66154  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 783
 66155  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 784
 66156  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 785
 66157  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 786
 66158  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 787
 66159  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 788
 66160  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 789
 66161  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(274)},                                             // 790
 66162  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(276)},                                            // 791
 66163  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28726), Fbprops: Tuint16_t(54)},                                             // 792
 66164  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(278)},                                            // 793
 66165  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(280)},                                            // 794
 66166  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(282)},                                            // 795
 66167  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(276)},                                            // 796
 66168  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(212)},                                            // 797
 66169  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 798
 66170  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 799
 66171  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(284)},                                             // 800
 66172  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 801
 66173  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 802
 66174  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 803
 66175  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 804
 66176  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 805
 66177  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 806
 66178  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(202)},                                            // 807
 66179  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 808
 66180  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 809
 66181  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26669), Fbprops: Tuint16_t(96)},                                              // 810
 66182  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 811
 66183  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(288)},                                            // 812
 66184  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(136)},                                             // 813
 66185  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(68)},                                             // 814
 66186  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 815
 66187  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18564), Fbprops: Tuint16_t(82)},                                              // 816
 66188  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28804), Fbprops: Tuint16_t(236)},                                            // 817
 66189  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28687), Fbprops: Tuint16_t(68)},                                             // 818
 66190  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 819
 66191  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26717), Fbprops: Tuint16_t(96)},                                              // 820
 66192  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(290)},                                            // 821
 66193  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 822
 66194  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(126)},                                            // 823
 66195  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 824
 66196  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(68)},                                             // 825
 66197  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(94)},                                              // 826
 66198  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 827
 66199  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 828
 66200  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 829
 66201  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                             // 830
 66202  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 831
 66203  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 832
 66204  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 833
 66205  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 834
 66206  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 835
 66207  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(236)},                                            // 836
 66208  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 837
 66209  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(292)},                                             // 838
 66210  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 839
 66211  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 840
 66212  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 841
 66213  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 842
 66214  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 843
 66215  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 844
 66216  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 845
 66217  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 846
 66218  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 847
 66219  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 848
 66220  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 849
 66221  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 850
 66222  	{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
 66223  	{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
 66224  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 853
 66225  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 854
 66226  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 855
 66227  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                               // 856
 66228  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 857
 66229  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 858
 66230  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                            // 859
 66231  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 860
 66232  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 861
 66233  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 862
 66234  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 863
 66235  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28762), Fbprops: Tuint16_t(56)},                                             // 864
 66236  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 865
 66237  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(56)},                                             // 866
 66238  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 867
 66239  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    // 868
 66240  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 869
 66241  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 870
 66242  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 871
 66243  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 872
 66244  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 873
 66245  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 874
 66246  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 875
 66247  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 876
 66248  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 877
 66249  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 878
 66250  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 879
 66251  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                                                    // 880
 66252  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 881
 66253  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 882
 66254  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 883
 66255  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 884
 66256  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 885
 66257  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18612), Fbprops: Tuint16_t(68)},                                             // 886
 66258  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18609), Fbprops: Tuint16_t(68)},                                             // 887
 66259  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18600), Fbprops: Tuint16_t(68)},                                             // 888
 66260  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 889
 66261  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 890
 66262  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 891
 66263  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 892
 66264  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 893
 66265  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 894
 66266  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 895
 66267  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 896
 66268  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 897
 66269  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 898
 66270  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 899
 66271  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                               // 900
 66272  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18507), Fbprops: Tuint16_t(82)},                                               // 901
 66273  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 902
 66274  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 903
 66275  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 904
 66276  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 905
 66277  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18567), Fbprops: Tuint16_t(188)},                                            // 906
 66278  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 907
 66279  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 908
 66280  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 909
 66281  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 910
 66282  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 911
 66283  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 912
 66284  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 913
 66285  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 914
 66286  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 915
 66287  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 916
 66288  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 917
 66289  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 918
 66290  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 919
 66291  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 920
 66292  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18480), Fbprops: Tuint16_t(136)},                                             // 921
 66293  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 922
 66294  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 923
 66295  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 924
 66296  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 925
 66297  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 926
 66298  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 927
 66299  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 928
 66300  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 929
 66301  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 930
 66302  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 931
 66303  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                            // 932
 66304  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 933
 66305  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(294)},                                            // 934
 66306  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 935
 66307  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 936
 66308  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 937
 66309  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 938
 66310  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 939
 66311  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 940
 66312  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 941
 66313  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 942
 66314  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 943
 66315  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 944
 66316  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                                                     // 945
 66317  	{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
 66318  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                            // 947
 66319  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 948
 66320  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(9), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 949
 66321  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(10), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 950
 66322  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(4), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 951
 66323  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(3), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 952
 66324  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                             // 953
 66325  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 954
 66326  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(296)},                                                                                    // 955
 66327  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 956
 66328  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 957
 66329  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(298)},                                              // 958
 66330  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(39), Fbprops: Tuint16_t(82)},                                                  // 959
 66331  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28711), Fbprops: Tuint16_t(68)},                                              // 960
 66332  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 961
 66333  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(300)},                                             // 962
 66334  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 963
 66335  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(122)},                                            // 964
 66336  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 965
 66337  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 966
 66338  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 967
 66339  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 968
 66340  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 969
 66341  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(106)},                                             // 970
 66342  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(304)},                                             // 971
 66343  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(306)},                                             // 972
 66344  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 973
 66345  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 974
 66346  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 975
 66347  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 976
 66348  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 977
 66349  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 978
 66350  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 979
 66351  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 980
 66352  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(308)},                                            // 981
 66353  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(126)},                                            // 982
 66354  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(68)},                                              // 983
 66355  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(310)},                                            // 984
 66356  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(312)},                                                   // 985
 66357  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(314)},                                            // 986
 66358  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(316)},                                                  // 987
 66359  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(124)},                                            // 988
 66360  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 989
 66361  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 990
 66362  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(106)},                                            // 991
 66363  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(320)},                                              // 992
 66364  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(322)},                                              // 993
 66365  	{Fscript: Tuint8_t(31), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 994
 66366  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18552), Fbprops: Tuint16_t(68)},                                             // 995
 66367  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28792), Fbprops: Tuint16_t(68)},                                             // 996
 66368  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 997
 66369  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18555), Fbprops: Tuint16_t(68)},                                             // 998
 66370  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 999
 66371  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(82)},                                              // 1000
 66372  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1001
 66373  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1002
 66374  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 1003
 66375  	{Fscript: Tuint8_t(102), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1004
 66376  	{Fscript: Tuint8_t(103), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1005
 66377  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26651), Fbprops: Tuint16_t(96)},                                              // 1006
 66378  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10267), Fbprops: Tuint16_t(68)},                                             // 1007
 66379  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1008
 66380  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1009
 66381  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1010
 66382  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1011
 66383  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1012
 66384  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1013
 66385  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1014
 66386  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1015
 66387  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1016
 66388  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1017
 66389  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1018
 66390  	{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
 66391  	{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
 66392  	{Fscript: Tuint8_t(86), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1021
 66393  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1022
 66394  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1023
 66395  	{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
 66396  	{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
 66397  	{Fscript: Tuint8_t(127), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1026
 66398  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1027
 66399  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1028
 66400  	{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
 66401  	{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
 66402  	{Fscript: Tuint8_t(49), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1031
 66403  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                                                     // 1032
 66404  	{Fscript: Tuint8_t(32), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1033
 66405  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1034
 66406  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 1035
 66407  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1036
 66408  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1037
 66409  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1038
 66410  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1039
 66411  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1040
 66412  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1041
 66413  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1042
 66414  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1043
 66415  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1044
 66416  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1045
 66417  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 1046
 66418  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1047
 66419  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1048
 66420  	{Fscript: Tuint8_t(122), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1049
 66421  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1050
 66422  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1051
 66423  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1052
 66424  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1053
 66425  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1054
 66426  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 1055
 66427  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1056
 66428  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1057
 66429  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1058
 66430  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1059
 66431  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1060
 66432  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1061
 66433  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1062
 66434  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1063
 66435  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1064
 66436  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1065
 66437  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1066
 66438  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1067
 66439  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1068
 66440  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34918), Fbprops: Tuint16_t(106)},                                            // 1069
 66441  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1070
 66442  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1071
 66443  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1072
 66444  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                           // 1073
 66445  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1074
 66446  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1075
 66447  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1076
 66448  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1077
 66449  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1078
 66450  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1079
 66451  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1080
 66452  	{Fscript: Tuint8_t(118), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1081
 66453  	{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
 66454  	{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
 66455  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1084
 66456  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1085
 66457  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(294)},                                                                                   // 1086
 66458  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 1087
 66459  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(138)},                                             // 1088
 66460  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 1089
 66461  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1090
 66462  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1091
 66463  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 1092
 66464  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1093
 66465  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1094
 66466  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1095
 66467  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1096
 66468  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1097
 66469  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                  // 1098
 66470  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1099
 66471  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1100
 66472  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1101
 66473  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1102
 66474  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1103
 66475  	{Fscript: Tuint8_t(153), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1104
 66476  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1105
 66477  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1106
 66478  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1107
 66479  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1108
 66480  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1109
 66481  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1110
 66482  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1111
 66483  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1112
 66484  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 1113
 66485  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1114
 66486  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1115
 66487  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1116
 66488  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1117
 66489  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1118
 66490  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1119
 66491  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1120
 66492  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(132)},                                              // 1121
 66493  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1122
 66494  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1123
 66495  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1124
 66496  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1125
 66497  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1126
 66498  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1127
 66499  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1128
 66500  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1129
 66501  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1130
 66502  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1131
 66503  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1132
 66504  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1133
 66505  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1134
 66506  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1135
 66507  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1136
 66508  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1137
 66509  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1138
 66510  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1139
 66511  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1140
 66512  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1141
 66513  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1142
 66514  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1143
 66515  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1144
 66516  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1145
 66517  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1146
 66518  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1147
 66519  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1148
 66520  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1149
 66521  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1150
 66522  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1151
 66523  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1152
 66524  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1153
 66525  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1154
 66526  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1155
 66527  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1156
 66528  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1157
 66529  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1158
 66530  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1159
 66531  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1160
 66532  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1161
 66533  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1162
 66534  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(130)},                                             // 1163
 66535  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1164
 66536  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(144)},                                             // 1165
 66537  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1166
 66538  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(102)},                                             // 1167
 66539  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(96)},                                              // 1168
 66540  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1169
 66541  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1170
 66542  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(324)},                                             // 1171
 66543  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1172
 66544  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1173
 66545  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1174
 66546  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1175
 66547  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1176
 66548  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1177
 66549  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1178
 66550  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1179
 66551  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1180
 66552  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1181
 66553  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1182
 66554  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1183
 66555  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1184
 66556  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1185
 66557  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1186
 66558  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1187
 66559  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1188
 66560  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1189
 66561  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1190
 66562  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1191
 66563  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1192
 66564  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1193
 66565  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1194
 66566  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1195
 66567  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1196
 66568  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1197
 66569  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1198
 66570  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1199
 66571  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(176)},                                           // 1200
 66572  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1201
 66573  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1202
 66574  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1203
 66575  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1204
 66576  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1205
 66577  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1206
 66578  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1207
 66579  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1208
 66580  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1209
 66581  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1210
 66582  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1211
 66583  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1212
 66584  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1213
 66585  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1214
 66586  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1215
 66587  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1216
 66588  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 1217
 66589  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1218
 66590  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1219
 66591  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1220
 66592  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1221
 66593  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1222
 66594  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1223
 66595  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1224
 66596  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1225
 66597  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1226
 66598  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1227
 66599  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1228
 66600  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1229
 66601  	{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
 66602  	{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
 66603  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1232
 66604  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1233
 66605  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1234
 66606  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1235
 66607  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1236
 66608  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1237
 66609  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1238
 66610  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 1239
 66611  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1240
 66612  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1241
 66613  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1242
 66614  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1243
 66615  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1244
 66616  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1245
 66617  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1246
 66618  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1247
 66619  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1248
 66620  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1249
 66621  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1250
 66622  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1251
 66623  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1252
 66624  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                            // 1253
 66625  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1254
 66626  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1255
 66627  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1256
 66628  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1257
 66629  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1258
 66630  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1259
 66631  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1260
 66632  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1261
 66633  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1262
 66634  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1263
 66635  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(326)},                                            // 1264
 66636  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1265
 66637  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1266
 66638  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1267
 66639  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1268
 66640  	{Fscript: Tuint8_t(134), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1269
 66641  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1270
 66642  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1271
 66643  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1272
 66644  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(146)},                                            // 1273
 66645  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1274
 66646  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1275
 66647  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1276
 66648  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1277
 66649  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1278
 66650  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1279
 66651  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1280
 66652  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1281
 66653  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1282
 66654  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1283
 66655  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1284
 66656  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1285
 66657  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1286
 66658  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1287
 66659  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1288
 66660  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1289
 66661  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1290
 66662  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1291
 66663  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1292
 66664  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1293
 66665  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1294
 66666  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1295
 66667  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1296
 66668  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1297
 66669  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1298
 66670  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1299
 66671  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1300
 66672  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1301
 66673  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1302
 66674  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1303
 66675  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1304
 66676  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1305
 66677  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1306
 66678  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(322)},                                             // 1307
 66679  	{Fscript: Tuint8_t(138), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1308
 66680  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1309
 66681  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1310
 66682  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1311
 66683  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1312
 66684  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1313
 66685  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1314
 66686  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1315
 66687  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1316
 66688  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1317
 66689  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1318
 66690  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1319
 66691  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1320
 66692  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1321
 66693  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1322
 66694  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1323
 66695  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1324
 66696  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1325
 66697  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1326
 66698  	{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
 66699  	{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
 66700  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1329
 66701  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1330
 66702  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1331
 66703  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1332
 66704  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1333
 66705  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1334
 66706  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1335
 66707  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                            // 1336
 66708  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                             // 1337
 66709  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1338
 66710  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1339
 66711  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 1340
 66712  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(328)},                                            // 1341
 66713  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                             // 1342
 66714  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1343
 66715  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1344
 66716  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 1345
 66717  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1346
 66718  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1347
 66719  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1348
 66720  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1349
 66721  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1350
 66722  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1351
 66723  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6153), Fbprops: Tuint16_t(66)},                                                // 1352
 66724  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(330)},                                             // 1353
 66725  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                             // 1354
 66726  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 1355
 66727  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 1356
 66728  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 1357
 66729  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(118)},                                            // 1358
 66730  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(214)},                                            // 1359
 66731  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1360
 66732  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1361
 66733  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1362
 66734  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1363
 66735  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1364
 66736  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1365
 66737  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1366
 66738  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1367
 66739  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1368
 66740  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1369
 66741  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1370
 66742  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1371
 66743  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1372
 66744  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1373
 66745  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1374
 66746  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1375
 66747  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1376
 66748  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                            // 1377
 66749  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1378
 66750  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1379
 66751  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1380
 66752  	{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
 66753  	{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
 66754  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 1383
 66755  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1384
 66756  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1385
 66757  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                             // 1386
 66758  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 1387
 66759  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1388
 66760  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1389
 66761  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1390
 66762  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1391
 66763  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(240)},                                                                                    // 1392
 66764  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(332)},                                            // 1393
 66765  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(334)},                                            // 1394
 66766  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(336)},                                             // 1395
 66767  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(338)},                                            // 1396
 66768  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(340)},                                            // 1397
 66769  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(334)},                                            // 1398
 66770  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(11), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(342)},                                            // 1399
 66771  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1400
 66772  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(236)},                                            // 1401
 66773  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(334)},                                            // 1402
 66774  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(344)},                                            // 1403
 66775  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(346)},                                            // 1404
 66776  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(348)},                                             // 1405
 66777  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(350)},                                            // 1406
 66778  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                            // 1407
 66779  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(352)},                                               // 1408
 66780  } /* pcre2_ucd.c:427:18 */
 66781  
 66782  var X_pcre2_ucd_stage1_8 = [8704]Tuint16_t{ // 17408 bytes
 66783  	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
 66784  	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
 66785  	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
 66786  	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
 66787  	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
 66788  	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
 66789  	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
 66790  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66791  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66792  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(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
 66793  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66794  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66795  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66796  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66797  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66798  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66799  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66800  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66801  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66802  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66803  	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
 66804  	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
 66805  	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
 66806  	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
 66807  	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
 66808  	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
 66809  	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
 66810  	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
 66811  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 66812  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 66813  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 66814  	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
 66815  	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
 66816  	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
 66817  	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
 66818  	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
 66819  	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
 66820  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(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
 66821  	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
 66822  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66823  	Tuint16_t(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
 66824  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66825  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66826  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66827  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66828  	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
 66829  	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
 66830  	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
 66831  	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
 66832  	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
 66833  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66834  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66835  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66836  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(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
 66837  	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
 66838  	Tuint16_t(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
 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+1C000
 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(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(229), Tuint16_t(230), // U+1C800
 66841  	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
 66842  	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
 66843  	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
 66844  	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
 66845  	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
 66846  	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
 66847  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66848  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66849  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66850  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66851  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66852  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66853  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66854  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66855  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66856  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66857  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66858  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66859  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66860  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66861  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66862  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 66863  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), 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
 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+28800
 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+29000
 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+29800
 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(287), Tuint16_t(101), Tuint16_t(101), // U+2A000
 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+2A800
 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(288), Tuint16_t(101), // U+2B000
 66870  	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
 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+2C000
 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(290), Tuint16_t(101), Tuint16_t(101), // U+2C800
 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+2D000
 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+2D800
 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+2E000
 66876  	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
 66877  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66878  	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
 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+30000
 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+30800
 66881  	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
 66882  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66883  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66884  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66885  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66886  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66887  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66888  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66889  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66890  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66891  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66892  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66893  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 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+37800
 66895  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66896  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66897  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 66898  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 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+3A000
 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+3A800
 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+3B000
 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+3B800
 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+3C000
 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+3C800
 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+3D000
 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+3D800
 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+3E000
 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+3E800
 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+3F000
 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(293), // U+3F800
 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+40000
 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+40800
 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+41000
 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+41800
 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+42000
 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+42800
 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+43000
 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+43800
 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+44000
 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+44800
 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+45000
 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+45800
 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+46000
 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+46800
 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+47000
 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+47800
 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(146), // U+48000
 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+48800
 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+49000
 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+49800
 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+4A000
 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+4A800
 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+4B000
 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+4B800
 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+4C000
 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+4C800
 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+4D000
 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+4D800
 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+4E000
 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+4E800
 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+4F000
 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(293), // U+4F800
 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+50000
 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+50800
 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+51000
 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+51800
 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+52000
 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+52800
 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+53000
 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+53800
 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+54000
 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+54800
 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+55000
 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+55800
 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+56000
 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+56800
 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+57000
 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+57800
 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(146), // U+58000
 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+58800
 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+59000
 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+59800
 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+5A000
 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+5A800
 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+5B000
 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+5B800
 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+5C000
 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+5C800
 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+5D000
 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+5D800
 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+5E000
 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+5E800
 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+5F000
 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(293), // U+5F800
 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+60000
 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+60800
 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+61000
 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+61800
 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+62000
 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+62800
 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+63000
 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+63800
 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+64000
 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+64800
 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+65000
 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+65800
 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+66000
 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+66800
 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+67000
 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+67800
 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(146), // U+68000
 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+68800
 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+69000
 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+69800
 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+6A000
 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+6A800
 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+6B000
 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+6B800
 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+6C000
 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+6C800
 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+6D000
 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+6D800
 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+6E000
 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+6E800
 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+6F000
 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(293), // U+6F800
 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+70000
 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+70800
 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+71000
 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+71800
 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+72000
 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+72800
 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+73000
 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+73800
 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+74000
 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+74800
 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+75000
 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+75800
 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+76000
 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+76800
 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+77000
 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+77800
 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(146), // U+78000
 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+78800
 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+79000
 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+79800
 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+7A000
 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+7A800
 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+7B000
 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+7B800
 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+7C000
 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+7C800
 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+7D000
 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+7D800
 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+7E000
 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+7E800
 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+7F000
 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(293), // U+7F800
 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+80000
 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+80800
 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+81000
 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+81800
 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+82000
 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+82800
 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+83000
 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+83800
 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+84000
 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+84800
 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+85000
 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+85800
 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+86000
 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+86800
 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+87000
 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+87800
 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(146), // U+88000
 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+88800
 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+89000
 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+89800
 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+8A000
 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+8A800
 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+8B000
 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+8B800
 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+8C000
 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+8C800
 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+8D000
 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+8D800
 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+8E000
 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+8E800
 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+8F000
 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(293), // U+8F800
 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+90000
 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+90800
 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+91000
 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+91800
 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+92000
 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+92800
 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+93000
 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+93800
 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+94000
 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+94800
 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+95000
 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+95800
 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+96000
 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+96800
 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+97000
 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+97800
 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(146), // U+98000
 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+98800
 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+99000
 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+99800
 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+9A000
 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+9A800
 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+9B000
 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+9B800
 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+9C000
 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+9C800
 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+9D000
 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+9D800
 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+9E000
 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+9E800
 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+9F000
 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(293), // U+9F800
 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+A0000
 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+A0800
 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+A1000
 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+A1800
 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+A2000
 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+A2800
 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+A3000
 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+A3800
 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+A4000
 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+A4800
 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+A5000
 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+A5800
 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+A6000
 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+A6800
 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+A7000
 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+A7800
 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(146), // U+A8000
 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+A8800
 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+A9000
 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+A9800
 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+AA000
 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+AA800
 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+AB000
 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+AB800
 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+AC000
 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+AC800
 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+AD000
 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+AD800
 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+AE000
 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+AE800
 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+AF000
 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(293), // U+AF800
 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+B0000
 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+B0800
 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+B1000
 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+B1800
 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+B2000
 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+B2800
 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+B3000
 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+B3800
 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+B4000
 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+B4800
 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+B5000
 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+B5800
 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+B6000
 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+B6800
 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+B7000
 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+B7800
 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(146), // U+B8000
 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+B8800
 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+B9000
 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+B9800
 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+BA000
 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+BA800
 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+BB000
 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+BB800
 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+BC000
 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+BC800
 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+BD000
 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+BD800
 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+BE000
 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+BE800
 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+BF000
 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(293), // U+BF800
 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+C0000
 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+C0800
 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+C1000
 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+C1800
 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+C2000
 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+C2800
 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+C3000
 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+C3800
 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+C4000
 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+C4800
 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+C5000
 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+C5800
 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+C6000
 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+C6800
 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+C7000
 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+C7800
 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(146), // U+C8000
 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+C8800
 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+C9000
 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+C9800
 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+CA000
 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+CA800
 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+CB000
 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+CB800
 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+CC000
 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+CC800
 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+CD000
 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+CD800
 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+CE000
 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+CE800
 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+CF000
 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(293), // U+CF800
 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+D0000
 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+D0800
 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+D1000
 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+D1800
 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+D2000
 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+D2800
 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+D3000
 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+D3800
 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+D4000
 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+D4800
 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+D5000
 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+D5800
 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+D6000
 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+D6800
 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+D7000
 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+D7800
 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(146), // U+D8000
 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+D8800
 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+D9000
 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+D9800
 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+DA000
 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+DA800
 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+DB000
 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+DB800
 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+DC000
 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+DC800
 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+DD000
 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+DD800
 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+DE000
 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+DE800
 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+DF000
 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(293), // U+DF800
 67231  	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
 67232  	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
 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+E1000
 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+E1800
 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+E2000
 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+E2800
 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+E3000
 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+E3800
 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+E4000
 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+E4800
 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+E5000
 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+E5800
 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+E6000
 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+E6800
 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+E7000
 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+E7800
 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(146), // U+E8000
 67248  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 67249  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_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
 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+E9800
 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+EA000
 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+EA800
 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+EB000
 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+EB800
 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+EC000
 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+EC800
 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+ED000
 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+ED800
 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+EE000
 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+EE800
 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+EF000
 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(293), // U+EF800
 67263  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67264  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67265  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67266  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67267  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67268  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67269  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67270  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67271  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67272  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67273  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67274  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67275  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67276  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67277  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67278  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 67279  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), 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
 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+F8800
 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+F9000
 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+F9800
 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+FA000
 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+FA800
 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+FB000
 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+FB800
 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+FC000
 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+FC800
 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+FD000
 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+FD800
 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+FE000
 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+FE800
 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+FF000
 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(299), // U+FF800
 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+100000
 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+100800
 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+101000
 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+101800
 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+102000
 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+102800
 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+103000
 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+103800
 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+104000
 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+104800
 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+105000
 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+105800
 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+106000
 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+106800
 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+107000
 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+107800
 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(128), // U+108000
 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+108800
 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+109000
 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+109800
 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+10A000
 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+10A800
 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+10B000
 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+10B800
 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+10C000
 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+10C800
 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+10D000
 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+10D800
 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+10E000
 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+10E800
 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+10F000
 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(299), // U+10F800
 67327  } /* pcre2_ucd.c:1839:16 */
 67328  
 67329  var X_pcre2_ucd_stage2_8 = [38400]Tuint16_t{ // 76800 bytes, block = 128
 67330  
 67331  	// block 0
 67332  	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),
 67333  	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),
 67334  	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),
 67335  	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),
 67336  	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),
 67337  	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),
 67338  	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),
 67339  	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),
 67340  
 67341  	// block 1
 67342  	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),
 67343  	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),
 67344  	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),
 67345  	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),
 67346  	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),
 67347  	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),
 67348  	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),
 67349  	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),
 67350  
 67351  	// block 2
 67352  	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),
 67353  	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),
 67354  	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),
 67355  	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),
 67356  	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),
 67357  	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),
 67358  	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),
 67359  	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),
 67360  
 67361  	// block 3
 67362  	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),
 67363  	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),
 67364  	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),
 67365  	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),
 67366  	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),
 67367  	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),
 67368  	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),
 67369  	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),
 67370  
 67371  	// block 4
 67372  	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),
 67373  	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),
 67374  	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),
 67375  	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),
 67376  	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),
 67377  	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),
 67378  	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),
 67379  	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),
 67380  
 67381  	// block 5
 67382  	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),
 67383  	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),
 67384  	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),
 67385  	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),
 67386  	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),
 67387  	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),
 67388  	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),
 67389  	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),
 67390  
 67391  	// block 6
 67392  	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),
 67393  	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),
 67394  	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),
 67395  	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),
 67396  	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),
 67397  	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),
 67398  	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),
 67399  	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),
 67400  
 67401  	// block 7
 67402  	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),
 67403  	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),
 67404  	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),
 67405  	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),
 67406  	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),
 67407  	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),
 67408  	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),
 67409  	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),
 67410  
 67411  	// block 8
 67412  	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),
 67413  	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),
 67414  	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),
 67415  	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),
 67416  	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),
 67417  	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),
 67418  	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),
 67419  	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),
 67420  
 67421  	// block 9
 67422  	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),
 67423  	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),
 67424  	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),
 67425  	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),
 67426  	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),
 67427  	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),
 67428  	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),
 67429  	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),
 67430  
 67431  	// block 10
 67432  	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),
 67433  	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),
 67434  	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),
 67435  	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),
 67436  	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),
 67437  	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),
 67438  	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),
 67439  	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),
 67440  
 67441  	// block 11
 67442  	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),
 67443  	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),
 67444  	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),
 67445  	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),
 67446  	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),
 67447  	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),
 67448  	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),
 67449  	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),
 67450  
 67451  	// block 12
 67452  	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),
 67453  	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),
 67454  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67455  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67456  	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),
 67457  	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),
 67458  	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),
 67459  	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),
 67460  
 67461  	// block 13
 67462  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67463  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67464  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67465  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67466  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67467  	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),
 67468  	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),
 67469  	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),
 67470  
 67471  	// block 14
 67472  	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),
 67473  	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),
 67474  	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),
 67475  	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),
 67476  	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),
 67477  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67478  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 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  
 67481  	// block 15
 67482  	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),
 67483  	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),
 67484  	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),
 67485  	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),
 67486  	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),
 67487  	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),
 67488  	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),
 67489  	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),
 67490  
 67491  	// block 16
 67492  	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),
 67493  	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),
 67494  	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),
 67495  	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),
 67496  	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),
 67497  	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),
 67498  	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),
 67499  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67500  
 67501  	// block 17
 67502  	Tuint16_t(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),
 67503  	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),
 67504  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67505  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67506  	Tuint16_t(286), Tuint16_t(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),
 67507  	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),
 67508  	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),
 67509  	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),
 67510  
 67511  	// block 18
 67512  	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),
 67513  	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),
 67514  	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),
 67515  	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),
 67516  	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),
 67517  	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),
 67518  	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),
 67519  	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),
 67520  
 67521  	// block 19
 67522  	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),
 67523  	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),
 67524  	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),
 67525  	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),
 67526  	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),
 67527  	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),
 67528  	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),
 67529  	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),
 67530  
 67531  	// block 20
 67532  	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),
 67533  	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),
 67534  	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),
 67535  	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),
 67536  	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),
 67537  	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),
 67538  	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),
 67539  	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),
 67540  
 67541  	// block 21
 67542  	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),
 67543  	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),
 67544  	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),
 67545  	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),
 67546  	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),
 67547  	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),
 67548  	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),
 67549  	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),
 67550  
 67551  	// block 22
 67552  	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),
 67553  	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),
 67554  	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),
 67555  	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),
 67556  	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),
 67557  	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),
 67558  	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),
 67559  	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),
 67560  
 67561  	// block 23
 67562  	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),
 67563  	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),
 67564  	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),
 67565  	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),
 67566  	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),
 67567  	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),
 67568  	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),
 67569  	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),
 67570  
 67571  	// block 24
 67572  	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),
 67573  	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),
 67574  	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),
 67575  	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),
 67576  	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),
 67577  	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),
 67578  	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),
 67579  	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),
 67580  
 67581  	// block 25
 67582  	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),
 67583  	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),
 67584  	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),
 67585  	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),
 67586  	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),
 67587  	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),
 67588  	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),
 67589  	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),
 67590  
 67591  	// block 26
 67592  	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),
 67593  	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),
 67594  	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),
 67595  	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),
 67596  	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),
 67597  	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),
 67598  	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),
 67599  	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),
 67600  
 67601  	// block 27
 67602  	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),
 67603  	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),
 67604  	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),
 67605  	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),
 67606  	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),
 67607  	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),
 67608  	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),
 67609  	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),
 67610  
 67611  	// block 28
 67612  	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),
 67613  	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),
 67614  	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),
 67615  	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),
 67616  	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),
 67617  	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),
 67618  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67619  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67620  
 67621  	// block 29
 67622  	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),
 67623  	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),
 67624  	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),
 67625  	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),
 67626  	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),
 67627  	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),
 67628  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67629  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67630  
 67631  	// block 30
 67632  	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),
 67633  	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),
 67634  	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),
 67635  	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),
 67636  	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),
 67637  	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),
 67638  	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),
 67639  	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),
 67640  
 67641  	// block 31
 67642  	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),
 67643  	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),
 67644  	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),
 67645  	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),
 67646  	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),
 67647  	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),
 67648  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67649  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67650  
 67651  	// block 32
 67652  	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),
 67653  	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),
 67654  	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),
 67655  	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),
 67656  	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),
 67657  	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),
 67658  	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),
 67659  	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),
 67660  
 67661  	// block 33
 67662  	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),
 67663  	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),
 67664  	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),
 67665  	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),
 67666  	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),
 67667  	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),
 67668  	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),
 67669  	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),
 67670  
 67671  	// block 34
 67672  	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),
 67673  	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),
 67674  	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),
 67675  	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),
 67676  	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),
 67677  	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),
 67678  	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),
 67679  	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),
 67680  
 67681  	// block 35
 67682  	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),
 67683  	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),
 67684  	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),
 67685  	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),
 67686  	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),
 67687  	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),
 67688  	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),
 67689  	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),
 67690  
 67691  	// block 36
 67692  	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),
 67693  	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),
 67694  	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),
 67695  	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),
 67696  	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),
 67697  	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),
 67698  	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),
 67699  	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),
 67700  
 67701  	// block 37
 67702  	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),
 67703  	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),
 67704  	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),
 67705  	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),
 67706  	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),
 67707  	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),
 67708  	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),
 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  
 67711  	// block 38
 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(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),
 67714  	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),
 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  	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),
 67718  	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),
 67719  	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),
 67720  
 67721  	// block 39
 67722  	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),
 67723  	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),
 67724  	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),
 67725  	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),
 67726  	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),
 67727  	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),
 67728  	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),
 67729  	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),
 67730  
 67731  	// block 40
 67732  	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),
 67733  	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),
 67734  	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),
 67735  	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),
 67736  	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),
 67737  	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),
 67738  	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),
 67739  	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),
 67740  
 67741  	// block 41
 67742  	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),
 67743  	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),
 67744  	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),
 67745  	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),
 67746  	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),
 67747  	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),
 67748  	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),
 67749  	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),
 67750  
 67751  	// block 42
 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  	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),
 67758  	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),
 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  
 67761  	// block 43
 67762  	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),
 67763  	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),
 67764  	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),
 67765  	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),
 67766  	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),
 67767  	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),
 67768  	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),
 67769  	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),
 67770  
 67771  	// block 44
 67772  	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),
 67773  	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),
 67774  	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),
 67775  	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),
 67776  	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),
 67777  	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),
 67778  	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),
 67779  	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),
 67780  
 67781  	// block 45
 67782  	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),
 67783  	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),
 67784  	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),
 67785  	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),
 67786  	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),
 67787  	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),
 67788  	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),
 67789  	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),
 67790  
 67791  	// block 46
 67792  	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),
 67793  	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),
 67794  	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),
 67795  	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),
 67796  	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),
 67797  	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),
 67798  	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),
 67799  	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),
 67800  
 67801  	// block 47
 67802  	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),
 67803  	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),
 67804  	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),
 67805  	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),
 67806  	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),
 67807  	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),
 67808  	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),
 67809  	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),
 67810  
 67811  	// block 48
 67812  	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),
 67813  	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),
 67814  	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),
 67815  	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),
 67816  	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),
 67817  	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),
 67818  	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),
 67819  	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),
 67820  
 67821  	// block 49
 67822  	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),
 67823  	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),
 67824  	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),
 67825  	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),
 67826  	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),
 67827  	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),
 67828  	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),
 67829  	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),
 67830  
 67831  	// block 50
 67832  	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),
 67833  	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),
 67834  	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),
 67835  	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),
 67836  	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),
 67837  	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),
 67838  	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),
 67839  	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),
 67840  
 67841  	// block 51
 67842  	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),
 67843  	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),
 67844  	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),
 67845  	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),
 67846  	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),
 67847  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67848  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67849  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67850  
 67851  	// block 52
 67852  	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),
 67853  	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),
 67854  	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),
 67855  	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),
 67856  	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),
 67857  	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),
 67858  	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),
 67859  	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),
 67860  
 67861  	// block 53
 67862  	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),
 67863  	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),
 67864  	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),
 67865  	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),
 67866  	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),
 67867  	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),
 67868  	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),
 67869  	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),
 67870  
 67871  	// block 54
 67872  	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),
 67873  	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),
 67874  	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),
 67875  	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),
 67876  	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),
 67877  	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),
 67878  	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),
 67879  	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),
 67880  
 67881  	// block 55
 67882  	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),
 67883  	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),
 67884  	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),
 67885  	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),
 67886  	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),
 67887  	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),
 67888  	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),
 67889  	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),
 67890  
 67891  	// block 56
 67892  	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),
 67893  	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),
 67894  	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),
 67895  	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),
 67896  	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),
 67897  	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),
 67898  	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),
 67899  	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),
 67900  
 67901  	// block 57
 67902  	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),
 67903  	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),
 67904  	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),
 67905  	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),
 67906  	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),
 67907  	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),
 67908  	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),
 67909  	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),
 67910  
 67911  	// block 58
 67912  	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),
 67913  	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),
 67914  	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),
 67915  	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),
 67916  	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),
 67917  	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),
 67918  	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),
 67919  	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),
 67920  
 67921  	// block 59
 67922  	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),
 67923  	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),
 67924  	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),
 67925  	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),
 67926  	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),
 67927  	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),
 67928  	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),
 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  
 67931  	// block 60
 67932  	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),
 67933  	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),
 67934  	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),
 67935  	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),
 67936  	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),
 67937  	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),
 67938  	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),
 67939  	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),
 67940  
 67941  	// block 61
 67942  	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),
 67943  	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),
 67944  	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),
 67945  	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),
 67946  	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),
 67947  	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),
 67948  	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),
 67949  	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),
 67950  
 67951  	// block 62
 67952  	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),
 67953  	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),
 67954  	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),
 67955  	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),
 67956  	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),
 67957  	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),
 67958  	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),
 67959  	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),
 67960  
 67961  	// block 63
 67962  	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),
 67963  	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),
 67964  	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),
 67965  	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),
 67966  	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),
 67967  	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),
 67968  	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),
 67969  	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),
 67970  
 67971  	// block 64
 67972  	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),
 67973  	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),
 67974  	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),
 67975  	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),
 67976  	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),
 67977  	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),
 67978  	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),
 67979  	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),
 67980  
 67981  	// block 65
 67982  	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),
 67983  	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),
 67984  	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),
 67985  	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),
 67986  	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),
 67987  	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),
 67988  	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),
 67989  	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),
 67990  
 67991  	// block 66
 67992  	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),
 67993  	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),
 67994  	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),
 67995  	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),
 67996  	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),
 67997  	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),
 67998  	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),
 67999  	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),
 68000  
 68001  	// block 67
 68002  	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),
 68003  	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),
 68004  	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),
 68005  	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),
 68006  	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),
 68007  	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),
 68008  	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),
 68009  	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),
 68010  
 68011  	// block 68
 68012  	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),
 68013  	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),
 68014  	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),
 68015  	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),
 68016  	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),
 68017  	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),
 68018  	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),
 68019  	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),
 68020  
 68021  	// block 69
 68022  	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),
 68023  	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),
 68024  	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),
 68025  	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),
 68026  	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),
 68027  	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),
 68028  	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),
 68029  	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),
 68030  
 68031  	// block 70
 68032  	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),
 68033  	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),
 68034  	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),
 68035  	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),
 68036  	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),
 68037  	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),
 68038  	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),
 68039  	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),
 68040  
 68041  	// block 71
 68042  	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),
 68043  	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),
 68044  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68045  	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),
 68046  	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),
 68047  	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),
 68048  	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),
 68049  	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),
 68050  
 68051  	// block 72
 68052  	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),
 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(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68054  	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),
 68055  	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),
 68056  	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),
 68057  	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),
 68058  	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),
 68059  	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),
 68060  
 68061  	// block 73
 68062  	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),
 68063  	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),
 68064  	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),
 68065  	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),
 68066  	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),
 68067  	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),
 68068  	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),
 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(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(757), Tuint16_t(757), Tuint16_t(50),
 68070  
 68071  	// block 74
 68072  	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),
 68073  	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),
 68074  	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),
 68075  	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),
 68076  	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),
 68077  	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),
 68078  	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),
 68079  	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),
 68080  
 68081  	// block 75
 68082  	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),
 68083  	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),
 68084  	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),
 68085  	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),
 68086  	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),
 68087  	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),
 68088  	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),
 68089  	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),
 68090  
 68091  	// block 76
 68092  	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),
 68093  	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),
 68094  	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),
 68095  	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),
 68096  	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),
 68097  	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),
 68098  	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),
 68099  	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),
 68100  
 68101  	// block 77
 68102  	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),
 68103  	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),
 68104  	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),
 68105  	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),
 68106  	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),
 68107  	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),
 68108  	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),
 68109  	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),
 68110  
 68111  	// block 78
 68112  	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),
 68113  	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),
 68114  	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),
 68115  	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),
 68116  	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),
 68117  	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),
 68118  	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),
 68119  	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),
 68120  
 68121  	// block 79
 68122  	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),
 68123  	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),
 68124  	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),
 68125  	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),
 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  	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),
 68128  	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),
 68129  	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),
 68130  
 68131  	// block 80
 68132  	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),
 68133  	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),
 68134  	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),
 68135  	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),
 68136  	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),
 68137  	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),
 68138  	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),
 68139  	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),
 68140  
 68141  	// block 81
 68142  	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),
 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(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68145  	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),
 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  	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),
 68148  	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),
 68149  	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),
 68150  
 68151  	// block 82
 68152  	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),
 68153  	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),
 68154  	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),
 68155  	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),
 68156  	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),
 68157  	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),
 68158  	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),
 68159  	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),
 68160  
 68161  	// block 83
 68162  	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),
 68163  	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),
 68164  	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),
 68165  	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),
 68166  	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),
 68167  	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),
 68168  	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),
 68169  	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),
 68170  
 68171  	// block 84
 68172  	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),
 68173  	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),
 68174  	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),
 68175  	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),
 68176  	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),
 68177  	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),
 68178  	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),
 68179  	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),
 68180  
 68181  	// block 85
 68182  	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),
 68183  	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),
 68184  	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),
 68185  	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),
 68186  	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),
 68187  	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),
 68188  	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),
 68189  	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),
 68190  
 68191  	// block 86
 68192  	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),
 68193  	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),
 68194  	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),
 68195  	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),
 68196  	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),
 68197  	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),
 68198  	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),
 68199  	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),
 68200  
 68201  	// block 87
 68202  	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),
 68203  	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),
 68204  	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),
 68205  	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),
 68206  	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),
 68207  	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),
 68208  	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),
 68209  	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),
 68210  
 68211  	// block 88
 68212  	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),
 68213  	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),
 68214  	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),
 68215  	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),
 68216  	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),
 68217  	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),
 68218  	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),
 68219  	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),
 68220  
 68221  	// block 89
 68222  	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),
 68223  	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),
 68224  	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),
 68225  	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),
 68226  	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),
 68227  	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),
 68228  	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),
 68229  	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),
 68230  
 68231  	// block 90
 68232  	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),
 68233  	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),
 68234  	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),
 68235  	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),
 68236  	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),
 68237  	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),
 68238  	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),
 68239  	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),
 68240  
 68241  	// block 91
 68242  	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),
 68243  	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),
 68244  	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),
 68245  	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),
 68246  	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),
 68247  	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),
 68248  	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),
 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  
 68251  	// block 92
 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(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),
 68257  	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),
 68258  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68259  	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),
 68260  
 68261  	// block 93
 68262  	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),
 68263  	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),
 68264  	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),
 68265  	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),
 68266  	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),
 68267  	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),
 68268  	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),
 68269  	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),
 68270  
 68271  	// block 94
 68272  	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),
 68273  	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),
 68274  	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),
 68275  	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),
 68276  	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),
 68277  	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),
 68278  	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),
 68279  	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),
 68280  
 68281  	// block 95
 68282  	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),
 68283  	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),
 68284  	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),
 68285  	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),
 68286  	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),
 68287  	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),
 68288  	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),
 68289  	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),
 68290  
 68291  	// block 96
 68292  	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),
 68293  	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),
 68294  	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),
 68295  	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),
 68296  	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),
 68297  	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),
 68298  	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),
 68299  	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),
 68300  
 68301  	// block 97
 68302  	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),
 68303  	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),
 68304  	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),
 68305  	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),
 68306  	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),
 68307  	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),
 68308  	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),
 68309  	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),
 68310  
 68311  	// block 98
 68312  	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),
 68313  	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),
 68314  	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),
 68315  	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),
 68316  	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),
 68317  	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),
 68318  	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),
 68319  	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),
 68320  
 68321  	// block 99
 68322  	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),
 68323  	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),
 68324  	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),
 68325  	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),
 68326  	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),
 68327  	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),
 68328  	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),
 68329  	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),
 68330  
 68331  	// block 100
 68332  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68333  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68334  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68335  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68336  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68337  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 68338  	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),
 68339  	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),
 68340  
 68341  	// block 101
 68342  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68343  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68344  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68345  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68346  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68347  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68348  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68349  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68350  
 68351  	// block 102
 68352  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68353  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68354  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68355  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68356  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68357  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68358  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68359  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68360  
 68361  	// block 103
 68362  	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),
 68363  	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),
 68364  	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),
 68365  	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),
 68366  	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),
 68367  	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),
 68368  	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),
 68369  	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),
 68370  
 68371  	// block 104
 68372  	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),
 68373  	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),
 68374  	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),
 68375  	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),
 68376  	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),
 68377  	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),
 68378  	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),
 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  
 68381  	// block 105
 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(163), Tuint16_t(163), Tuint16_t(163),
 68383  	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),
 68384  	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),
 68385  	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),
 68386  	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),
 68387  	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),
 68388  	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),
 68389  	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),
 68390  
 68391  	// block 106
 68392  	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),
 68393  	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),
 68394  	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),
 68395  	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),
 68396  	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),
 68397  	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),
 68398  	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),
 68399  	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),
 68400  
 68401  	// block 107
 68402  	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),
 68403  	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),
 68404  	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),
 68405  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68406  	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),
 68407  	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),
 68408  	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),
 68409  	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),
 68410  
 68411  	// block 108
 68412  	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),
 68413  	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),
 68414  	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),
 68415  	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),
 68416  	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),
 68417  	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),
 68418  	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),
 68419  	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),
 68420  
 68421  	// block 109
 68422  	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),
 68423  	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),
 68424  	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),
 68425  	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),
 68426  	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),
 68427  	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),
 68428  	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),
 68429  	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),
 68430  
 68431  	// block 110
 68432  	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),
 68433  	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),
 68434  	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),
 68435  	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),
 68436  	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),
 68437  	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),
 68438  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68439  	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),
 68440  
 68441  	// block 111
 68442  	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),
 68443  	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),
 68444  	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),
 68445  	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),
 68446  	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),
 68447  	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),
 68448  	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),
 68449  	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),
 68450  
 68451  	// block 112
 68452  	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),
 68453  	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),
 68454  	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),
 68455  	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),
 68456  	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),
 68457  	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),
 68458  	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),
 68459  	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),
 68460  
 68461  	// block 113
 68462  	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),
 68463  	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),
 68464  	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),
 68465  	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),
 68466  	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),
 68467  	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),
 68468  	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),
 68469  	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),
 68470  
 68471  	// block 114
 68472  	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),
 68473  	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),
 68474  	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),
 68475  	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),
 68476  	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),
 68477  	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),
 68478  	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),
 68479  	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),
 68480  
 68481  	// block 115
 68482  	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),
 68483  	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),
 68484  	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),
 68485  	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),
 68486  	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),
 68487  	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),
 68488  	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),
 68489  	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),
 68490  
 68491  	// block 116
 68492  	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),
 68493  	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),
 68494  	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),
 68495  	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),
 68496  	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),
 68497  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(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),
 68498  	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),
 68499  	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),
 68500  
 68501  	// block 117
 68502  	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),
 68503  	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),
 68504  	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),
 68505  	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),
 68506  	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),
 68507  	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),
 68508  	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),
 68509  	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),
 68510  
 68511  	// block 118
 68512  	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),
 68513  	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),
 68514  	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),
 68515  	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),
 68516  	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),
 68517  	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),
 68518  	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),
 68519  	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),
 68520  
 68521  	// block 119
 68522  	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),
 68523  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(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),
 68524  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68525  	Tuint16_t(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),
 68526  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68527  	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),
 68528  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68529  	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),
 68530  
 68531  	// block 120
 68532  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(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),
 68533  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68534  	Tuint16_t(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),
 68535  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68536  	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),
 68537  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68538  	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),
 68539  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(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),
 68540  
 68541  	// block 121
 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(950), 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(949), 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(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 68546  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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  	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),
 68548  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(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),
 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(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68550  
 68551  	// block 122
 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(949), 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(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 68555  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 68557  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(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),
 68558  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 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(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68560  
 68561  	// block 123
 68562  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 68564  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 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(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68567  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68568  	Tuint16_t(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),
 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(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68570  
 68571  	// block 124
 68572  	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),
 68573  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 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(949), 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(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68577  	Tuint16_t(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),
 68578  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68579  	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),
 68580  
 68581  	// block 125
 68582  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(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),
 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(949), 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(950), 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(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68587  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68588  	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),
 68589  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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  
 68591  	// block 126
 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(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68595  	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),
 68596  	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),
 68597  	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),
 68598  	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),
 68599  	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),
 68600  
 68601  	// block 127
 68602  	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),
 68603  	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),
 68604  	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),
 68605  	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),
 68606  	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),
 68607  	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),
 68608  	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),
 68609  	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),
 68610  
 68611  	// block 128
 68612  	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),
 68613  	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),
 68614  	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),
 68615  	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),
 68616  	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),
 68617  	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),
 68618  	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),
 68619  	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),
 68620  
 68621  	// block 129
 68622  	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),
 68623  	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),
 68624  	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),
 68625  	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),
 68626  	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),
 68627  	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),
 68628  	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),
 68629  	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),
 68630  
 68631  	// block 130
 68632  	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),
 68633  	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),
 68634  	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),
 68635  	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),
 68636  	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),
 68637  	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),
 68638  	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),
 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  
 68641  	// block 131
 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  	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),
 68648  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68649  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68650  
 68651  	// block 132
 68652  	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),
 68653  	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),
 68654  	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),
 68655  	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),
 68656  	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),
 68657  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68658  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68659  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68660  
 68661  	// block 133
 68662  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68663  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68664  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68665  	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),
 68666  	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),
 68667  	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),
 68668  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68669  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68670  
 68671  	// block 134
 68672  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68673  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 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  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(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),
 68678  	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),
 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  
 68681  	// block 135
 68682  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68683  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68684  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 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  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68688  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 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  
 68691  	// block 136
 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(286), Tuint16_t(286),
 68695  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(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),
 68696  	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),
 68697  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68698  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 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  
 68701  	// block 137
 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(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),
 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(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(280),
 68707  	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),
 68708  	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),
 68709  	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),
 68710  
 68711  	// block 138
 68712  	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),
 68713  	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),
 68714  	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),
 68715  	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),
 68716  	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),
 68717  	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),
 68718  	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),
 68719  	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),
 68720  
 68721  	// block 139
 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(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68724  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68725  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68726  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68727  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68728  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68729  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(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),
 68730  
 68731  	// block 140
 68732  	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),
 68733  	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),
 68734  	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),
 68735  	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),
 68736  	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),
 68737  	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),
 68738  	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),
 68739  	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),
 68740  
 68741  	// block 141
 68742  	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),
 68743  	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),
 68744  	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),
 68745  	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),
 68746  	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),
 68747  	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),
 68748  	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),
 68749  	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),
 68750  
 68751  	// block 142
 68752  	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),
 68753  	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),
 68754  	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),
 68755  	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),
 68756  	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),
 68757  	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),
 68758  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68759  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68760  
 68761  	// block 143
 68762  	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),
 68763  	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),
 68764  	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),
 68765  	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),
 68766  	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),
 68767  	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),
 68768  	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),
 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68770  
 68771  	// block 144
 68772  	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),
 68773  	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),
 68774  	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),
 68775  	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),
 68776  	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),
 68777  	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),
 68778  	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),
 68779  	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),
 68780  
 68781  	// block 145
 68782  	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),
 68783  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(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),
 68784  	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),
 68785  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68786  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68787  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68788  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68789  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 68790  
 68791  	// block 146
 68792  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68793  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68794  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68795  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68796  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68797  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68798  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68799  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68800  
 68801  	// block 147
 68802  	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),
 68803  	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),
 68804  	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),
 68805  	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),
 68806  	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),
 68807  	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),
 68808  	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),
 68809  	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),
 68810  
 68811  	// block 148
 68812  	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),
 68813  	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),
 68814  	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),
 68815  	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),
 68816  	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),
 68817  	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),
 68818  	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),
 68819  	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),
 68820  
 68821  	// block 149
 68822  	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),
 68823  	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),
 68824  	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),
 68825  	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),
 68826  	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),
 68827  	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),
 68828  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68829  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68830  
 68831  	// block 150
 68832  	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),
 68833  	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),
 68834  	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),
 68835  	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),
 68836  	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),
 68837  	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),
 68838  	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),
 68839  	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),
 68840  
 68841  	// block 151
 68842  	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),
 68843  	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),
 68844  	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),
 68845  	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),
 68846  	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),
 68847  	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),
 68848  	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),
 68849  	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),
 68850  
 68851  	// block 152
 68852  	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),
 68853  	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),
 68854  	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),
 68855  	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),
 68856  	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),
 68857  	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),
 68858  	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),
 68859  	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),
 68860  
 68861  	// block 153
 68862  	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),
 68863  	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),
 68864  	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),
 68865  	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),
 68866  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68867  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68868  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68869  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68870  
 68871  	// block 154
 68872  	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),
 68873  	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),
 68874  	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),
 68875  	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),
 68876  	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),
 68877  	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),
 68878  	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),
 68879  	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),
 68880  
 68881  	// block 155
 68882  	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),
 68883  	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),
 68884  	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),
 68885  	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),
 68886  	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),
 68887  	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),
 68888  	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),
 68889  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68890  
 68891  	// block 156
 68892  	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),
 68893  	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),
 68894  	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),
 68895  	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),
 68896  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68897  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68898  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68899  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68900  
 68901  	// block 157
 68902  	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),
 68903  	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),
 68904  	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),
 68905  	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),
 68906  	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),
 68907  	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),
 68908  	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),
 68909  	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),
 68910  
 68911  	// block 158
 68912  	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),
 68913  	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),
 68914  	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),
 68915  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68916  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68917  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68918  	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),
 68919  	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),
 68920  
 68921  	// block 159
 68922  	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),
 68923  	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),
 68924  	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),
 68925  	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),
 68926  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68927  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68928  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68929  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68930  
 68931  	// block 160
 68932  	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),
 68933  	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),
 68934  	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),
 68935  	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),
 68936  	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),
 68937  	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),
 68938  	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),
 68939  	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),
 68940  
 68941  	// block 161
 68942  	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),
 68943  	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),
 68944  	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),
 68945  	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),
 68946  	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),
 68947  	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),
 68948  	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),
 68949  	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),
 68950  
 68951  	// block 162
 68952  	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),
 68953  	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),
 68954  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68955  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68956  	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),
 68957  	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),
 68958  	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),
 68959  	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),
 68960  
 68961  	// block 163
 68962  	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),
 68963  	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),
 68964  	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),
 68965  	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),
 68966  	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),
 68967  	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),
 68968  	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),
 68969  	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),
 68970  
 68971  	// block 164
 68972  	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),
 68973  	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),
 68974  	Tuint16_t(262), Tuint16_t(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),
 68975  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68976  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68978  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68979  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68980  
 68981  	// block 165
 68982  	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),
 68983  	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),
 68984  	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),
 68985  	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),
 68986  	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),
 68987  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68988  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68989  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68990  
 68991  	// block 166
 68992  	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),
 68993  	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),
 68994  	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),
 68995  	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),
 68996  	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),
 68997  	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),
 68998  	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),
 68999  	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),
 69000  
 69001  	// block 167
 69002  	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),
 69003  	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),
 69004  	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),
 69005  	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),
 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69008  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69009  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69010  
 69011  	// block 168
 69012  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 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(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69014  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69015  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69016  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69017  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69018  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69019  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69020  
 69021  	// block 169
 69022  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69028  	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),
 69029  	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),
 69030  
 69031  	// block 170
 69032  	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),
 69033  	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),
 69034  	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),
 69035  	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),
 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69038  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 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  
 69041  	// block 171
 69042  	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),
 69043  	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),
 69044  	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),
 69045  	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),
 69046  	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),
 69047  	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),
 69048  	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),
 69049  	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),
 69050  
 69051  	// block 172
 69052  	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),
 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(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),
 69056  	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),
 69057  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69058  	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),
 69059  	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),
 69060  
 69061  	// block 173
 69062  	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),
 69063  	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),
 69064  	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),
 69065  	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),
 69066  	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),
 69067  	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),
 69068  	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),
 69069  	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),
 69070  
 69071  	// block 174
 69072  	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),
 69073  	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),
 69074  	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),
 69075  	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),
 69076  	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),
 69077  	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),
 69078  	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),
 69079  	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),
 69080  
 69081  	// block 175
 69082  	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),
 69083  	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),
 69084  	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),
 69085  	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),
 69086  	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),
 69087  	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),
 69088  	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),
 69089  	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),
 69090  
 69091  	// block 176
 69092  	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),
 69093  	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),
 69094  	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),
 69095  	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),
 69096  	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),
 69097  	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),
 69098  	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),
 69099  	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),
 69100  
 69101  	// block 177
 69102  	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),
 69103  	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),
 69104  	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),
 69105  	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),
 69106  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69108  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69109  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69110  
 69111  	// block 178
 69112  	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),
 69113  	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),
 69114  	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),
 69115  	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),
 69116  	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),
 69117  	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),
 69118  	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),
 69119  	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),
 69120  
 69121  	// block 179
 69122  	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),
 69123  	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),
 69124  	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),
 69125  	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),
 69126  	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),
 69127  	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),
 69128  	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),
 69129  	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),
 69130  
 69131  	// block 180
 69132  	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),
 69133  	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),
 69134  	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),
 69135  	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),
 69136  	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),
 69137  	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),
 69138  	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),
 69139  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69140  
 69141  	// block 181
 69142  	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),
 69143  	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),
 69144  	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),
 69145  	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),
 69146  	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),
 69147  	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),
 69148  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69149  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69150  
 69151  	// block 182
 69152  	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),
 69153  	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),
 69154  	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),
 69155  	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),
 69156  	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),
 69157  	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),
 69158  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69159  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69160  
 69161  	// block 183
 69162  	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),
 69163  	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),
 69164  	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),
 69165  	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),
 69166  	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),
 69167  	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),
 69168  	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),
 69169  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69170  
 69171  	// block 184
 69172  	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),
 69173  	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),
 69174  	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),
 69175  	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),
 69176  	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),
 69177  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69178  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69179  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69180  
 69181  	// block 185
 69182  	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),
 69183  	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),
 69184  	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),
 69185  	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),
 69186  	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),
 69187  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69188  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69189  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69190  
 69191  	// block 186
 69192  	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),
 69193  	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),
 69194  	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),
 69195  	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),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69198  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69199  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69200  
 69201  	// block 187
 69202  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69203  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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(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),
 69205  	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),
 69206  	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),
 69207  	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),
 69208  	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),
 69209  	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),
 69210  
 69211  	// block 188
 69212  	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),
 69213  	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),
 69214  	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),
 69215  	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),
 69216  	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),
 69217  	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),
 69218  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 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  
 69221  	// block 189
 69222  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69223  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69224  	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),
 69225  	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),
 69226  	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),
 69227  	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),
 69228  	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),
 69229  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69230  
 69231  	// block 190
 69232  	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),
 69233  	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),
 69234  	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),
 69235  	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),
 69236  	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),
 69237  	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),
 69238  	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),
 69239  	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),
 69240  
 69241  	// block 191
 69242  	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),
 69243  	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),
 69244  	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),
 69245  	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),
 69246  	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),
 69247  	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),
 69248  	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),
 69249  	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),
 69250  
 69251  	// block 192
 69252  	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),
 69253  	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),
 69254  	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),
 69255  	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),
 69256  	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),
 69257  	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),
 69258  	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),
 69259  	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),
 69260  
 69261  	// block 193
 69262  	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),
 69263  	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),
 69264  	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),
 69265  	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),
 69266  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69267  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69268  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69269  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69270  
 69271  	// block 194
 69272  	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),
 69273  	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),
 69274  	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),
 69275  	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),
 69276  	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),
 69277  	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),
 69278  	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),
 69279  	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),
 69280  
 69281  	// block 195
 69282  	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),
 69283  	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),
 69284  	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),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69288  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69289  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69290  
 69291  	// block 196
 69292  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69293  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69295  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69296  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69297  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69298  	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),
 69299  	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),
 69300  
 69301  	// block 197
 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(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),
 69306  	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),
 69307  	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),
 69308  	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),
 69309  	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),
 69310  
 69311  	// block 198
 69312  	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),
 69313  	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),
 69314  	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),
 69315  	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),
 69316  	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),
 69317  	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),
 69318  	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),
 69319  	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),
 69320  
 69321  	// block 199
 69322  	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),
 69323  	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),
 69324  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69325  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69326  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69327  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69328  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69329  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69330  
 69331  	// block 200
 69332  	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),
 69333  	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),
 69334  	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),
 69335  	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),
 69336  	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),
 69337  	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),
 69338  	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),
 69339  	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),
 69340  
 69341  	// block 201
 69342  	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),
 69343  	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),
 69344  	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),
 69345  	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),
 69346  	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),
 69347  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69348  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69349  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69350  
 69351  	// block 202
 69352  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69353  	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),
 69354  	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),
 69355  	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),
 69356  	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),
 69357  	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),
 69358  	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),
 69359  	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),
 69360  
 69361  	// block 203
 69362  	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),
 69363  	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),
 69364  	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),
 69365  	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),
 69366  	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),
 69367  	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),
 69368  	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),
 69369  	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),
 69370  
 69371  	// block 204
 69372  	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),
 69373  	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),
 69374  	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),
 69375  	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),
 69376  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69378  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69379  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69380  
 69381  	// block 205
 69382  	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),
 69383  	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),
 69384  	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),
 69385  	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),
 69386  	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),
 69387  	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),
 69388  	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),
 69389  	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),
 69390  
 69391  	// block 206
 69392  	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),
 69393  	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),
 69394  	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),
 69395  	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),
 69396  	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),
 69397  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69398  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69399  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69400  
 69401  	// block 207
 69402  	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),
 69403  	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),
 69404  	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),
 69405  	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),
 69406  	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),
 69407  	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),
 69408  	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),
 69409  	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),
 69410  
 69411  	// block 208
 69412  	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),
 69413  	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),
 69414  	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),
 69415  	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),
 69416  	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),
 69417  	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),
 69418  	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),
 69419  	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),
 69420  
 69421  	// block 209
 69422  	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),
 69423  	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),
 69424  	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),
 69425  	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),
 69426  	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),
 69427  	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),
 69428  	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),
 69429  	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),
 69430  
 69431  	// block 210
 69432  	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),
 69433  	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),
 69434  	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),
 69435  	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),
 69436  	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),
 69437  	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),
 69438  	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),
 69439  	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),
 69440  
 69441  	// block 211
 69442  	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),
 69443  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69444  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69445  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69446  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69448  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69449  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69450  
 69451  	// block 212
 69452  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69453  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69455  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69456  	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),
 69457  	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),
 69458  	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),
 69459  	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),
 69460  
 69461  	// block 213
 69462  	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),
 69463  	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),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69468  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 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  
 69471  	// block 214
 69472  	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),
 69473  	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),
 69474  	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),
 69475  	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),
 69476  	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),
 69477  	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),
 69478  	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),
 69479  	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),
 69480  
 69481  	// block 215
 69482  	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),
 69483  	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),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69488  	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),
 69489  	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),
 69490  
 69491  	// block 216
 69492  	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),
 69493  	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),
 69494  	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),
 69495  	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),
 69496  	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),
 69497  	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),
 69498  	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),
 69499  	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),
 69500  
 69501  	// block 217
 69502  	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),
 69503  	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),
 69504  	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),
 69505  	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),
 69506  	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),
 69507  	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),
 69508  	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),
 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69510  
 69511  	// block 218
 69512  	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),
 69513  	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),
 69514  	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),
 69515  	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),
 69516  	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),
 69517  	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),
 69518  	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),
 69519  	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),
 69520  
 69521  	// block 219
 69522  	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),
 69523  	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),
 69524  	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),
 69525  	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),
 69526  	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),
 69527  	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),
 69528  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69529  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69530  
 69531  	// block 220
 69532  	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),
 69533  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69534  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69535  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69536  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69537  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69538  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69539  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69540  
 69541  	// block 221
 69542  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69543  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69544  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69548  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69549  	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),
 69550  
 69551  	// block 222
 69552  	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),
 69553  	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),
 69554  	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),
 69555  	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),
 69556  	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),
 69557  	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),
 69558  	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),
 69559  	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),
 69560  
 69561  	// block 223
 69562  	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),
 69563  	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),
 69564  	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),
 69565  	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),
 69566  	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),
 69567  	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),
 69568  	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),
 69569  	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),
 69570  
 69571  	// block 224
 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(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),
 69575  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69576  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69577  	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),
 69578  	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),
 69579  	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),
 69580  
 69581  	// block 225
 69582  	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),
 69583  	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),
 69584  	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),
 69585  	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),
 69586  	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),
 69587  	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),
 69588  	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),
 69589  	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),
 69590  
 69591  	// block 226
 69592  	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),
 69593  	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),
 69594  	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),
 69595  	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),
 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  	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),
 69598  	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),
 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69600  
 69601  	// block 227
 69602  	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),
 69603  	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),
 69604  	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),
 69605  	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),
 69606  	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),
 69607  	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),
 69608  	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),
 69609  	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),
 69610  
 69611  	// block 228
 69612  	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),
 69613  	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),
 69614  	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),
 69615  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69616  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69617  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69618  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69619  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69620  
 69621  	// block 229
 69622  	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),
 69623  	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),
 69624  	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),
 69625  	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),
 69626  	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),
 69627  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69628  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69629  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69630  
 69631  	// block 230
 69632  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69633  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69634  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69635  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69636  	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),
 69637  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69638  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69639  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69640  
 69641  	// block 231
 69642  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69643  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 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  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69648  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 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  
 69651  	// block 232
 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(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69654  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69655  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69656  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69657  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69658  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69659  	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),
 69660  
 69661  	// block 233
 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(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),
 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  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69668  	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),
 69669  	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),
 69670  
 69671  	// block 234
 69672  	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),
 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(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 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(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69677  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69678  	Tuint16_t(460), Tuint16_t(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),
 69679  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69680  
 69681  	// block 235
 69682  	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),
 69683  	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),
 69684  	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),
 69685  	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),
 69686  	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),
 69687  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69688  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69689  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69690  
 69691  	// block 236
 69692  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69693  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69694  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69695  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69698  	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),
 69699  	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),
 69700  
 69701  	// block 237
 69702  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69703  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69704  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69705  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69706  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69707  	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),
 69708  	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),
 69709  	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),
 69710  
 69711  	// block 238
 69712  	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),
 69713  	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),
 69714  	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),
 69715  	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),
 69716  	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),
 69717  	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),
 69718  	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),
 69719  	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),
 69720  
 69721  	// block 239
 69722  	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),
 69723  	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),
 69724  	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),
 69725  	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),
 69726  	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),
 69727  	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),
 69728  	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),
 69729  	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),
 69730  
 69731  	// block 240
 69732  	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),
 69733  	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),
 69734  	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),
 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(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163),
 69736  	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),
 69737  	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),
 69738  	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),
 69739  	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),
 69740  
 69741  	// block 241
 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(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69743  	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),
 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  	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),
 69748  	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),
 69749  	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),
 69750  
 69751  	// block 242
 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(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69753  	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),
 69754  	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),
 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  	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),
 69758  	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),
 69759  	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),
 69760  
 69761  	// block 243
 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(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),
 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(724), Tuint16_t(724),
 69766  	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),
 69767  	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),
 69768  	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),
 69769  	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),
 69770  
 69771  	// block 244
 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(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69773  	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),
 69774  	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),
 69775  	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),
 69776  	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),
 69777  	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),
 69778  	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),
 69779  	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),
 69780  
 69781  	// block 245
 69782  	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),
 69783  	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),
 69784  	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),
 69785  	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),
 69786  	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),
 69787  	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),
 69788  	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),
 69789  	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),
 69790  
 69791  	// block 246
 69792  	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),
 69793  	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),
 69794  	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),
 69795  	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),
 69796  	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),
 69797  	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),
 69798  	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),
 69799  	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),
 69800  
 69801  	// block 247
 69802  	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),
 69803  	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),
 69804  	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),
 69805  	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),
 69806  	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),
 69807  	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),
 69808  	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),
 69809  	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),
 69810  
 69811  	// block 248
 69812  	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),
 69813  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(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),
 69814  	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),
 69815  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69816  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69817  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69818  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69819  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69820  
 69821  	// block 249
 69822  	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),
 69823  	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),
 69824  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69825  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69826  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69827  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69828  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69829  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69830  
 69831  	// block 250
 69832  	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),
 69833  	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),
 69834  	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),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69838  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69839  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69840  
 69841  	// block 251
 69842  	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),
 69843  	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),
 69844  	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),
 69845  	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),
 69846  	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),
 69847  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69848  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69849  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69850  
 69851  	// block 252
 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(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),
 69854  	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),
 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(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),
 69857  	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),
 69858  	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),
 69859  	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),
 69860  
 69861  	// block 253
 69862  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69863  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69868  	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),
 69869  	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),
 69870  
 69871  	// block 254
 69872  	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),
 69873  	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),
 69874  	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),
 69875  	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),
 69876  	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),
 69877  	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),
 69878  	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),
 69879  	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),
 69880  
 69881  	// block 255
 69882  	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),
 69883  	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),
 69884  	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),
 69885  	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),
 69886  	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),
 69887  	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),
 69888  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69889  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69890  
 69891  	// block 256
 69892  	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),
 69893  	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),
 69894  	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),
 69895  	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),
 69896  	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),
 69897  	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),
 69898  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69899  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69900  
 69901  	// block 257
 69902  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69903  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69904  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69908  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69909  	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),
 69910  
 69911  	// block 258
 69912  	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),
 69913  	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),
 69914  	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),
 69915  	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),
 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  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69918  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 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  
 69921  	// block 259
 69922  	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),
 69923  	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),
 69924  	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),
 69925  	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),
 69926  	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),
 69927  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69928  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69929  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69930  
 69931  	// block 260
 69932  	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),
 69933  	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),
 69934  	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),
 69935  	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),
 69936  	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),
 69937  	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),
 69938  	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),
 69939  	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),
 69940  
 69941  	// block 261
 69942  	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),
 69943  	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),
 69944  	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),
 69945  	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),
 69946  	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),
 69947  	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),
 69948  	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),
 69949  	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),
 69950  
 69951  	// block 262
 69952  	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),
 69953  	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),
 69954  	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),
 69955  	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),
 69956  	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),
 69957  	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),
 69958  	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),
 69959  	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),
 69960  
 69961  	// block 263
 69962  	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),
 69963  	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),
 69964  	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),
 69965  	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),
 69966  	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),
 69967  	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),
 69968  	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),
 69969  	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),
 69970  
 69971  	// block 264
 69972  	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),
 69973  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69974  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 69975  	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),
 69976  	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),
 69977  	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),
 69978  	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),
 69979  	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),
 69980  
 69981  	// block 265
 69982  	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),
 69983  	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),
 69984  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 69985  	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),
 69986  	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),
 69987  	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),
 69988  	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),
 69989  	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),
 69990  
 69991  	// block 266
 69992  	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),
 69993  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 69994  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(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),
 69995  	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),
 69996  	Tuint16_t(460), Tuint16_t(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),
 69997  	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),
 69998  	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),
 69999  	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),
 70000  
 70001  	// block 267
 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(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),
 70006  	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),
 70007  	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),
 70008  	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),
 70009  	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),
 70010  
 70011  	// block 268
 70012  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70013  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70014  	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),
 70015  	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),
 70016  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70017  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70018  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70019  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 70020  
 70021  	// block 269
 70022  	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),
 70023  	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),
 70024  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70025  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70026  	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),
 70027  	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),
 70028  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70029  	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),
 70030  
 70031  	// block 270
 70032  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 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(727),
 70036  	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),
 70037  	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),
 70038  	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),
 70039  	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),
 70040  
 70041  	// block 271
 70042  	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),
 70043  	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),
 70044  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 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(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70047  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70048  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 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(727), Tuint16_t(1393), Tuint16_t(1394),
 70050  
 70051  	// block 272
 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(1394),
 70053  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70054  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 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(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),
 70056  	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),
 70057  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70058  	Tuint16_t(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),
 70059  	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),
 70060  
 70061  	// block 273
 70062  	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),
 70063  	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),
 70064  	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),
 70065  	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),
 70066  	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),
 70067  	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),
 70068  	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),
 70069  	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),
 70070  
 70071  	// block 274
 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(1394), Tuint16_t(1394),
 70073  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 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(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70076  	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),
 70077  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70078  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70079  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70080  
 70081  	// block 275
 70082  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70083  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70084  	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),
 70085  	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),
 70086  	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),
 70087  	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),
 70088  	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),
 70089  	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),
 70090  
 70091  	// block 276
 70092  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70093  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 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  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70098  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70099  	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),
 70100  
 70101  	// block 277
 70102  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70103  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70104  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70105  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70106  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70107  	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),
 70108  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 70109  	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),
 70110  
 70111  	// block 278
 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(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 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(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),
 70117  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(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),
 70118  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 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  
 70121  	// block 279
 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(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 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(723), Tuint16_t(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),
 70125  	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),
 70126  	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),
 70127  	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),
 70128  	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),
 70129  	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),
 70130  
 70131  	// block 280
 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(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403),
 70133  	Tuint16_t(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),
 70134  	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),
 70135  	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),
 70136  	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),
 70137  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70138  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70139  	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),
 70140  
 70141  	// block 281
 70142  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70143  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70144  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70145  	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),
 70146  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 70147  	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),
 70148  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70149  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70150  
 70151  	// block 282
 70152  	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),
 70153  	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),
 70154  	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),
 70155  	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),
 70156  	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),
 70157  	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),
 70158  	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),
 70159  	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),
 70160  
 70161  	// block 283
 70162  	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),
 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(1394), Tuint16_t(1394), Tuint16_t(1394),
 70164  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 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(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70166  	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),
 70167  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(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),
 70168  	Tuint16_t(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),
 70169  	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),
 70170  
 70171  	// block 284
 70172  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70173  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70174  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70175  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70176  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70177  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70178  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70179  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70180  
 70181  	// block 285
 70182  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70183  	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),
 70184  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70185  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70186  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(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),
 70187  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70188  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70189  	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),
 70190  
 70191  	// block 286
 70192  	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),
 70193  	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),
 70194  	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),
 70195  	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),
 70196  	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),
 70197  	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),
 70198  	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),
 70199  	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),
 70200  
 70201  	// block 287
 70202  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70203  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70204  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70205  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70206  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70207  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70208  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70209  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70210  
 70211  	// block 288
 70212  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70213  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70214  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70215  	Tuint16_t(838), Tuint16_t(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),
 70216  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70217  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70218  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 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  
 70221  	// block 289
 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(163), Tuint16_t(163),
 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(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70226  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70227  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70228  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 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  
 70231  	// block 290
 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(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 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(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 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  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70238  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 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  
 70241  	// block 291
 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  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70248  	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),
 70249  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70250  
 70251  	// block 292
 70252  	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),
 70253  	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),
 70254  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70255  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70256  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70257  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70258  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70259  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70260  
 70261  	// block 293
 70262  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70263  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70264  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70265  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 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  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70268  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70269  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(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),
 70270  
 70271  	// block 294
 70272  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70273  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70274  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70275  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70276  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(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),
 70277  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70278  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 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  
 70281  	// block 295
 70282  	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),
 70283  	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),
 70284  	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),
 70285  	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),
 70286  	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),
 70287  	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),
 70288  	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),
 70289  	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),
 70290  
 70291  	// block 296
 70292  	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),
 70293  	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),
 70294  	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),
 70295  	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),
 70296  	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),
 70297  	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),
 70298  	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),
 70299  	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),
 70300  
 70301  	// block 297
 70302  	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),
 70303  	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),
 70304  	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),
 70305  	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),
 70306  	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),
 70307  	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),
 70308  	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),
 70309  	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),
 70310  
 70311  	// block 298
 70312  	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),
 70313  	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),
 70314  	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),
 70315  	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),
 70316  	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),
 70317  	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),
 70318  	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),
 70319  	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),
 70320  
 70321  	// block 299
 70322  	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),
 70323  	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),
 70324  	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),
 70325  	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),
 70326  	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),
 70327  	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),
 70328  	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),
 70329  	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),
 70330  } /* pcre2_ucd.c:2386:16 */
 70331  
 70332  // End of pcre2_ucd.c
 70333  
 70334  // This function is needed only when memmove() is not available.
 70335  
 70336  // End of pcre2_internal.h
 70337  
 70338  // ************************************************
 70339  //
 70340  //           Validate a UTF string                *
 70341  //
 70342  
 70343  // This function is called (optionally) at the start of compile or match, to
 70344  // check that a supposed UTF string is actually valid. The early check means
 70345  // that subsequent code can assume it is dealing with a valid string. The check
 70346  // can be turned off for maximum performance, but the consequences of supplying an
 70347  // invalid string are then undefined.
 70348  //
 70349  // Arguments:
 70350  //   string       points to the string
 70351  //   length       length of string
 70352  //   errp         pointer to an error position offset variable
 70353  //
 70354  // Returns:       == 0    if the string is a valid UTF string
 70355  //                != 0    otherwise, setting the offset of the bad character
 70356  
 70357  func X_pcre2_valid_utf_8(tls *libc.TLS, string TPCRE2_SPTR8, length Tsize_t, erroroffset uintptr) int32 { /* pcre2_valid_utf.c:94:1: */
 70358  	var p TPCRE2_SPTR8
 70359  	var c Tuint32_t
 70360  
 70361  	// ----------------- Check a UTF-8 string -----------------
 70362  
 70363  	// Originally, this function checked according to RFC 2279, allowing for values
 70364  	// in the range 0 to 0x7fffffff, up to 6 bytes long, but ensuring that they were
 70365  	// in the canonical format. Once somebody had pointed out RFC 3629 to me (it
 70366  	// obsoletes 2279), additional restrictions were applied. The values are now
 70367  	// limited to be between 0 and 0x0010ffff, no more than 4 bytes long, and the
 70368  	// subrange 0xd000 to 0xdfff is excluded. However, the format of 5-byte and 6-byte
 70369  	// characters is still checked. Error returns are as follows:
 70370  	//
 70371  	// PCRE2_ERROR_UTF8_ERR1   Missing 1 byte at the end of the string
 70372  	// PCRE2_ERROR_UTF8_ERR2   Missing 2 bytes at the end of the string
 70373  	// PCRE2_ERROR_UTF8_ERR3   Missing 3 bytes at the end of the string
 70374  	// PCRE2_ERROR_UTF8_ERR4   Missing 4 bytes at the end of the string
 70375  	// PCRE2_ERROR_UTF8_ERR5   Missing 5 bytes at the end of the string
 70376  	// PCRE2_ERROR_UTF8_ERR6   2nd-byte's two top bits are not 0x80
 70377  	// PCRE2_ERROR_UTF8_ERR7   3rd-byte's two top bits are not 0x80
 70378  	// PCRE2_ERROR_UTF8_ERR8   4th-byte's two top bits are not 0x80
 70379  	// PCRE2_ERROR_UTF8_ERR9   5th-byte's two top bits are not 0x80
 70380  	// PCRE2_ERROR_UTF8_ERR10  6th-byte's two top bits are not 0x80
 70381  	// PCRE2_ERROR_UTF8_ERR11  5-byte character is not permitted by RFC 3629
 70382  	// PCRE2_ERROR_UTF8_ERR12  6-byte character is not permitted by RFC 3629
 70383  	// PCRE2_ERROR_UTF8_ERR13  4-byte character with value > 0x10ffff is not permitted
 70384  	// PCRE2_ERROR_UTF8_ERR14  3-byte character with value 0xd800-0xdfff is not permitted
 70385  	// PCRE2_ERROR_UTF8_ERR15  Overlong 2-byte sequence
 70386  	// PCRE2_ERROR_UTF8_ERR16  Overlong 3-byte sequence
 70387  	// PCRE2_ERROR_UTF8_ERR17  Overlong 4-byte sequence
 70388  	// PCRE2_ERROR_UTF8_ERR18  Overlong 5-byte sequence (won't ever occur)
 70389  	// PCRE2_ERROR_UTF8_ERR19  Overlong 6-byte sequence (won't ever occur)
 70390  	// PCRE2_ERROR_UTF8_ERR20  Isolated 0x80 byte (not within UTF-8 character)
 70391  	// PCRE2_ERROR_UTF8_ERR21  Byte with the illegal value 0xfe or 0xff
 70392  
 70393  	for p = string; length > Tsize_t(0); p++ {
 70394  		var ab Tuint32_t
 70395  		var d Tuint32_t
 70396  
 70397  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 70398  		length--
 70399  
 70400  		if c < Tuint32_t(128) {
 70401  			continue
 70402  		} // ASCII character
 70403  
 70404  		if c < Tuint32_t(0xc0) {
 70405  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int32(p) - int32(string)) / 1)
 70406  			return -22
 70407  		}
 70408  
 70409  		if c >= Tuint32_t(0xfe) {
 70410  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int32(p) - int32(string)) / 1)
 70411  			return -23
 70412  		}
 70413  
 70414  		ab = Tuint32_t(X_pcre2_utf8_table4[c&Tuint32_t(0x3f)]) // Number of additional bytes (1-5)
 70415  		if length < Tsize_t(ab) {
 70416  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int32(p) - int32(string)) / 1)
 70417  			switch Tsize_t(ab) - length {
 70418  			case Tsize_t(1):
 70419  				return -3
 70420  				fallthrough
 70421  			case Tsize_t(2):
 70422  				return -4
 70423  				fallthrough
 70424  			case Tsize_t(3):
 70425  				return -5
 70426  				fallthrough
 70427  			case Tsize_t(4):
 70428  				return -6
 70429  				fallthrough
 70430  			case Tsize_t(5):
 70431  				return -7
 70432  			}
 70433  		}
 70434  		length = length - Tsize_t(ab) // Length remaining
 70435  
 70436  		// Check top bits in the second byte
 70437  
 70438  		if libc.AssignUint32(&d, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1)))))&Tuint32_t(0xc0) != Tuint32_t(0x80) {
 70439  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 1)
 70440  			return -8
 70441  		}
 70442  
 70443  		// For each length, check that the remaining bytes start with the 0x80 bit
 70444  		//   set and not the 0x40 bit. Then check for an overlong sequence, and for the
 70445  		//   excluded range 0xd800 to 0xdfff.
 70446  
 70447  		switch ab {
 70448  		// 2-byte character. No further bytes to check for 0x80. Check first byte
 70449  		//     for for xx00 000x (overlong sequence).
 70450  
 70451  		case Tuint32_t(1):
 70452  			if c&Tuint32_t(0x3e) == Tuint32_t(0) {
 70453  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 1)
 70454  				return -17
 70455  			}
 70456  			break
 70457  
 70458  		// 3-byte character. Check third byte for 0x80. Then check first 2 bytes
 70459  		//       for 1110 0000, xx0x xxxx (overlong sequence) or
 70460  		//           1110 1101, 1010 xxxx (0xd800 - 0xdfff)
 70461  
 70462  		case Tuint32_t(2):
 70463  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70464  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70465  				return -9
 70466  			}
 70467  			if c == Tuint32_t(0xe0) && d&Tuint32_t(0x20) == Tuint32_t(0) {
 70468  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70469  				return -18
 70470  			}
 70471  			if c == Tuint32_t(0xed) && d >= Tuint32_t(0xa0) {
 70472  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70473  				return -16
 70474  			}
 70475  			break
 70476  
 70477  		// 4-byte character. Check 3rd and 4th bytes for 0x80. Then check first 2
 70478  		//        bytes for for 1111 0000, xx00 xxxx (overlong sequence), then check for a
 70479  		//        character greater than 0x0010ffff (f4 8f bf bf)
 70480  
 70481  		case Tuint32_t(3):
 70482  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70483  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70484  				return -9
 70485  			}
 70486  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70487  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 3)
 70488  				return -10
 70489  			}
 70490  			if c == Tuint32_t(0xf0) && d&Tuint32_t(0x30) == Tuint32_t(0) {
 70491  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 3)
 70492  				return -19
 70493  			}
 70494  			if c > Tuint32_t(0xf4) || c == Tuint32_t(0xf4) && d > Tuint32_t(0x8f) {
 70495  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 3)
 70496  				return -15
 70497  			}
 70498  			break
 70499  
 70500  		// 5-byte and 6-byte characters are not allowed by RFC 3629, and will be
 70501  		//     rejected by the length test below. However, we do the appropriate tests
 70502  		//     here so that overlong sequences get diagnosed, and also in case there is
 70503  		//     ever an option for handling these larger code points.
 70504  
 70505  		// 5-byte character. Check 3rd, 4th, and 5th bytes for 0x80. Then check for
 70506  		//     1111 1000, xx00 0xxx
 70507  
 70508  		case Tuint32_t(4):
 70509  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70510  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70511  				return -9
 70512  			}
 70513  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70514  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 3)
 70515  				return -10
 70516  			}
 70517  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70518  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 4)
 70519  				return -11
 70520  			}
 70521  			if c == Tuint32_t(0xf8) && d&Tuint32_t(0x38) == Tuint32_t(0) {
 70522  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 4)
 70523  				return -20
 70524  			}
 70525  			break
 70526  
 70527  		// 6-byte character. Check 3rd-6th bytes for 0x80. Then check for
 70528  		//     1111 1100, xx00 00xx.
 70529  
 70530  		case Tuint32_t(5):
 70531  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70532  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 2)
 70533  				return -9
 70534  			}
 70535  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70536  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 3)
 70537  				return -10
 70538  			}
 70539  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70540  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 4)
 70541  				return -11
 70542  			}
 70543  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70544  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 5)
 70545  				return -12
 70546  			}
 70547  			if c == Tuint32_t(0xfc) && d&Tuint32_t(0x3c) == Tuint32_t(0) {
 70548  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int32(p)-int32(string))/1) - 5)
 70549  				return -21
 70550  			}
 70551  			break
 70552  		}
 70553  
 70554  		// Character is valid under RFC 2279, but 4-byte and 5-byte characters are
 70555  		//   excluded by RFC 3629. The pointer p is currently at the last byte of the
 70556  		//   character.
 70557  
 70558  		if ab > Tuint32_t(3) {
 70559  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(Tuint32_t(int32((int32(p)-int32(string))/1)) - ab)
 70560  			if ab == Tuint32_t(4) {
 70561  				return -13
 70562  			}
 70563  			return -14
 70564  		}
 70565  	}
 70566  	return 0
 70567  
 70568  	// ----------------- Check a UTF-16 string -----------------
 70569  
 70570  }
 70571  
 70572  // End of pcre2_valid_utf.c
 70573  
 70574  // This function is needed only when memmove() is not available.
 70575  
 70576  // End of pcre2_internal.h
 70577  
 70578  // ************************************************
 70579  //
 70580  //       Match character against an XCLASS        *
 70581  //
 70582  
 70583  // This function is called to match a character against an extended class that
 70584  // might contain codepoints above 255 and/or Unicode properties.
 70585  //
 70586  // Arguments:
 70587  //   c           the character
 70588  //   data        points to the flag code unit of the XCLASS data
 70589  //   utf         TRUE if in UTF mode
 70590  //
 70591  // Returns:      TRUE if character matches, else FALSE
 70592  
 70593  func X_pcre2_xclass_8(tls *libc.TLS, c Tuint32_t, data TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_xclass.c:69:1: */
 70594  	var t TPCRE2_UCHAR8
 70595  	var negated TBOOL = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_NOT != 0)
 70596  
 70597  	// In 8 bit mode, this must always be TRUE. Help the compiler to know that.
 70598  	utf = DTRUE
 70599  
 70600  	// Code points < 256 are matched against a bitmap, if one is present. If not,
 70601  	// we still carry on, because there may be ranges that start below 256 in the
 70602  	// additional data.
 70603  
 70604  	if c < Tuint32_t(256) {
 70605  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_HASPROP == 0 {
 70606  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP == 0 {
 70607  				return negated
 70608  			}
 70609  			return libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 70610  		}
 70611  		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) {
 70612  			return libc.BoolInt32(!(negated != 0))
 70613  		} // char found
 70614  	}
 70615  
 70616  	// First skip the bit map if present. Then match against the list of Unicode
 70617  	// properties or large chars or ranges that end with a large char. We won't ever
 70618  	// encounter XCL_PROP or XCL_NOTPROP when UTF support is not compiled.
 70619  
 70620  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&DXCL_MAP != 0 {
 70621  		data += TPCRE2_SPTR8(uint32(32) / uint32(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 70622  	}
 70623  
 70624  	for int32(libc.AssignUint8(&t, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))) != DXCL_END {
 70625  		var x Tuint32_t
 70626  		var y Tuint32_t
 70627  		if int32(t) == DXCL_SINGLE {
 70628  			if utf != 0 {
 70629  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70630  				if x >= 0xc0 {
 70631  					if x&0x20 == Tuint32_t(0) {
 70632  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70633  					} else if x&0x10 == Tuint32_t(0) {
 70634  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70635  						data += uintptr(2)
 70636  					} else if x&0x08 == Tuint32_t(0) {
 70637  						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
 70638  						data += uintptr(3)
 70639  					} else if x&0x04 == Tuint32_t(0) {
 70640  						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
 70641  						data += uintptr(4)
 70642  					} else {
 70643  						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
 70644  						data += uintptr(5)
 70645  					}
 70646  				}
 70647  
 70648  				// macro generates multiple statements
 70649  			} else {
 70650  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70651  			}
 70652  			if c == x {
 70653  				return libc.BoolInt32(!(negated != 0))
 70654  			}
 70655  		} else if int32(t) == DXCL_RANGE {
 70656  			if utf != 0 {
 70657  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70658  				if x >= 0xc0 {
 70659  					if x&0x20 == Tuint32_t(0) {
 70660  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70661  					} else if x&0x10 == Tuint32_t(0) {
 70662  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70663  						data += uintptr(2)
 70664  					} else if x&0x08 == Tuint32_t(0) {
 70665  						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
 70666  						data += uintptr(3)
 70667  					} else if x&0x04 == Tuint32_t(0) {
 70668  						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
 70669  						data += uintptr(4)
 70670  					} else {
 70671  						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
 70672  						data += uintptr(5)
 70673  					}
 70674  				}
 70675  
 70676  				// macro generates multiple statements
 70677  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70678  				if y >= 0xc0 {
 70679  					if y&0x20 == Tuint32_t(0) {
 70680  						y = y&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70681  					} else if y&0x10 == Tuint32_t(0) {
 70682  						y = y&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70683  						data += uintptr(2)
 70684  					} else if y&0x08 == Tuint32_t(0) {
 70685  						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
 70686  						data += uintptr(3)
 70687  					} else if y&0x04 == Tuint32_t(0) {
 70688  						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
 70689  						data += uintptr(4)
 70690  					} else {
 70691  						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
 70692  						data += uintptr(5)
 70693  					}
 70694  				}
 70695  
 70696  				// macro generates multiple statements
 70697  			} else {
 70698  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70699  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70700  			}
 70701  			if c >= x && c <= y {
 70702  				return libc.BoolInt32(!(negated != 0))
 70703  			}
 70704  		} else {
 70705  			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
 70706  			var isprop TBOOL = libc.Bool32(int32(t) == DXCL_PROP)
 70707  			var ok TBOOL
 70708  
 70709  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data))) {
 70710  			case DPT_ANY:
 70711  				if isprop != 0 {
 70712  					return libc.BoolInt32(!(negated != 0))
 70713  				}
 70714  				break
 70715  				fallthrough
 70716  
 70717  			case DPT_LAMP:
 70718  				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 {
 70719  					return libc.BoolInt32(!(negated != 0))
 70720  				}
 70721  				break
 70722  				fallthrough
 70723  
 70724  			case DPT_GC:
 70725  				if libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == isprop {
 70726  					return libc.BoolInt32(!(negated != 0))
 70727  				}
 70728  				break
 70729  				fallthrough
 70730  
 70731  			case DPT_PC:
 70732  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == isprop {
 70733  					return libc.BoolInt32(!(negated != 0))
 70734  				}
 70735  				break
 70736  				fallthrough
 70737  
 70738  			case DPT_SC:
 70739  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == isprop {
 70740  					return libc.BoolInt32(!(negated != 0))
 70741  				}
 70742  				break
 70743  				fallthrough
 70744  
 70745  			case DPT_SCX:
 70746  				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))
 70747  				if ok == isprop {
 70748  					return libc.BoolInt32(!(negated != 0))
 70749  				}
 70750  				break
 70751  				fallthrough
 70752  
 70753  			case DPT_ALNUM:
 70754  				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 {
 70755  					return libc.BoolInt32(!(negated != 0))
 70756  				}
 70757  				break
 70758  				fallthrough
 70759  
 70760  			// Perl space used to exclude VT, but from Perl 5.18 it is included,
 70761  			//       which means that Perl space and POSIX space are now identical. PCRE
 70762  			//       was changed at release 8.34.
 70763  
 70764  			case DPT_SPACE:
 70765  				fallthrough // Perl space
 70766  			case DPT_PXSPACE: // POSIX space
 70767  				switch c {
 70768  				case Tuint32_t('\011'):
 70769  					fallthrough
 70770  				case Tuint32_t('\040'):
 70771  					fallthrough
 70772  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 70773  					fallthrough
 70774  				case Tuint32_t(0x1680):
 70775  					fallthrough /* OGHAM SPACE MARK */
 70776  				case Tuint32_t(0x180e):
 70777  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
 70778  				case Tuint32_t(0x2000):
 70779  					fallthrough /* EN QUAD */
 70780  				case Tuint32_t(0x2001):
 70781  					fallthrough /* EM QUAD */
 70782  				case Tuint32_t(0x2002):
 70783  					fallthrough /* EN SPACE */
 70784  				case Tuint32_t(0x2003):
 70785  					fallthrough /* EM SPACE */
 70786  				case Tuint32_t(0x2004):
 70787  					fallthrough /* THREE-PER-EM SPACE */
 70788  				case Tuint32_t(0x2005):
 70789  					fallthrough /* FOUR-PER-EM SPACE */
 70790  				case Tuint32_t(0x2006):
 70791  					fallthrough /* SIX-PER-EM SPACE */
 70792  				case Tuint32_t(0x2007):
 70793  					fallthrough /* FIGURE SPACE */
 70794  				case Tuint32_t(0x2008):
 70795  					fallthrough /* PUNCTUATION SPACE */
 70796  				case Tuint32_t(0x2009):
 70797  					fallthrough /* THIN SPACE */
 70798  				case Tuint32_t(0x200A):
 70799  					fallthrough /* HAIR SPACE */
 70800  				case Tuint32_t(0x202f):
 70801  					fallthrough /* NARROW NO-BREAK SPACE */
 70802  				case Tuint32_t(0x205f):
 70803  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
 70804  				case Tuint32_t(0x3000):
 70805  					fallthrough
 70806  				case Tuint32_t('\012'):
 70807  					fallthrough
 70808  				case Tuint32_t('\013'):
 70809  					fallthrough
 70810  				case Tuint32_t('\014'):
 70811  					fallthrough
 70812  				case Tuint32_t('\015'):
 70813  					fallthrough
 70814  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 70815  					fallthrough
 70816  				case Tuint32_t(0x2028):
 70817  					fallthrough /* LINE SEPARATOR */
 70818  				case Tuint32_t(0x2029):
 70819  					if isprop != 0 {
 70820  						return libc.BoolInt32(!(negated != 0))
 70821  					}
 70822  					break
 70823  					fallthrough
 70824  
 70825  				default:
 70826  					if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == isprop {
 70827  						return libc.BoolInt32(!(negated != 0))
 70828  					}
 70829  					break
 70830  				}
 70831  				break
 70832  				fallthrough
 70833  
 70834  			case DPT_WORD:
 70835  				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')) ==
 70836  					isprop {
 70837  					return libc.BoolInt32(!(negated != 0))
 70838  				}
 70839  				break
 70840  				fallthrough
 70841  
 70842  			case DPT_UCNC:
 70843  				if c < Tuint32_t(0xa0) {
 70844  					if libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140')) == isprop {
 70845  						return libc.BoolInt32(!(negated != 0))
 70846  					}
 70847  				} else {
 70848  					if libc.Bool32(c < Tuint32_t(0xd800) || c > Tuint32_t(0xdfff)) == isprop {
 70849  						return libc.BoolInt32(!(negated != 0))
 70850  					}
 70851  				}
 70852  				break
 70853  				fallthrough
 70854  
 70855  			case DPT_BIDICL:
 70856  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))) == isprop {
 70857  					return libc.BoolInt32(!(negated != 0))
 70858  				}
 70859  				break
 70860  				fallthrough
 70861  
 70862  			case DPT_BOOL:
 70863  				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))
 70864  				if ok == isprop {
 70865  					return libc.BoolInt32(!(negated != 0))
 70866  				}
 70867  				break
 70868  				fallthrough
 70869  
 70870  			// The following three properties can occur only in an XCLASS, as there
 70871  			//       is no \p or \P coding for them.
 70872  
 70873  			// Graphic character. Implement this as not Z (space or separator) and
 70874  			//       not C (other), except for Cf (format) with a few exceptions. This seems
 70875  			//       to be what Perl does. The exceptional characters are:
 70876  			//
 70877  			//       U+061C           Arabic Letter Mark
 70878  			//       U+180E           Mongolian Vowel Separator
 70879  			//       U+2066 - U+2069  Various "isolate"s
 70880  			//
 70881  
 70882  			case DPT_PXGRAPH:
 70883  				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 {
 70884  					return libc.BoolInt32(!(negated != 0))
 70885  				}
 70886  				break
 70887  				fallthrough
 70888  
 70889  			// Printable character: same as graphic, with the addition of Zs, i.e.
 70890  			//       not Zl and not Zp, and U+180E.
 70891  
 70892  			case DPT_PXPRINT:
 70893  				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 {
 70894  					return libc.BoolInt32(!(negated != 0))
 70895  				}
 70896  				break
 70897  				fallthrough
 70898  
 70899  			// Punctuation: all Unicode punctuation, plus ASCII characters that
 70900  			//       Unicode treats as symbols rather than punctuation, for Perl
 70901  			//       compatibility (these are $+<=>^`|~).
 70902  
 70903  			case DPT_PXPUNCT:
 70904  				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 {
 70905  					return libc.BoolInt32(!(negated != 0))
 70906  				}
 70907  				break
 70908  				fallthrough
 70909  
 70910  			// This should never occur, but compilers may mutter if there is no
 70911  			//       default.
 70912  
 70913  			default:
 70914  				return DFALSE
 70915  			}
 70916  
 70917  			data += uintptr(2)
 70918  		}
 70919  	}
 70920  
 70921  	return negated // char did not match
 70922  }
 70923  
 70924  // End of pcre2_xclass.c
 70925  
 70926  func init() {
 70927  	*(*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:
 70928  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 4)) = default_free                            // pcre2_context.c:134:21:
 70929  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 20 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70930  	*(*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:
 70931  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 4)) = default_free                            // pcre2_context.c:134:21:
 70932  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 20 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70933  	*(*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:
 70934  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 4)) = default_free                            // pcre2_context.c:198:21:
 70935  	*(*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:
 70936  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 4)) = default_free                            // pcre2_context.c:198:21:
 70937  	*(*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:
 70938  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 4)) = default_free                              // pcre2_context.c:164:21:
 70939  	*(*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:
 70940  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 4)) = default_free                              // pcre2_context.c:164:21:
 70941  }
 70942  
 70943  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"
 70944  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data