root/ext/mbstring/oniguruma/testu.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. uconv
  2. xx
  3. x2
  4. x3
  5. n
  6. main

   1 /*
   2  * This program was generated by testconv.rb.
   3  */
   4 #include<stdio.h>
   5 
   6 #ifdef POSIX_TEST
   7 #include "onigposix.h"
   8 #else
   9 #include "oniguruma.h"
  10 #endif
  11 
  12 static int nsucc  = 0;
  13 static int nfail  = 0;
  14 static int nerror = 0;
  15 
  16 static FILE* err_file;
  17 
  18 #ifndef POSIX_TEST
  19 static OnigRegion* region;
  20 static OnigEncoding ENC;
  21 #endif
  22 
  23 #define ulen(p) onigenc_str_bytelen_null(ENC, (UChar* )p)
  24 
  25 static void uconv(char* from, char* to, int len)
  26 {
  27   int i;
  28   unsigned char c;
  29   char *q;
  30 
  31   q = to;
  32 
  33   for (i = 0; i < len; i += 2) {
  34     c = (unsigned char )from[i];
  35     if (c == 0) {
  36       c = (unsigned char )from[i+1];
  37       if (c < 0x20 || c >= 0x7f || c == 0x5c || c == 0x22) {
  38         sprintf(q, "\\%03o", c);
  39         q += 4;
  40       }
  41       else {
  42         sprintf(q, "%c", c);
  43         q++;
  44       }
  45     }
  46     else {
  47       sprintf(q, "\\%03o", c);
  48       q += 4;
  49       c = (unsigned char )from[i+1];
  50       sprintf(q, "\\%03o", c);
  51       q += 4;
  52     }
  53   }
  54 
  55   *q = 0;
  56 }
  57 
  58 static void xx(char* pattern, char* str, int from, int to, int mem, int not)
  59 {
  60   int r;
  61   char cpat[4000], cstr[4000];
  62 
  63 #ifdef POSIX_TEST
  64   regex_t reg;
  65   char buf[200];
  66   regmatch_t pmatch[20];
  67 
  68   uconv(pattern, cpat, ulen(pattern));
  69   uconv(str,     cstr, ulen(str));
  70 
  71   r = regcomp(&reg, pattern, REG_EXTENDED | REG_NEWLINE);
  72   if (r) {
  73     regerror(r, &reg, buf, sizeof(buf));
  74     fprintf(err_file, "ERROR: %s\n", buf);
  75     nerror++;
  76     return ;
  77   }
  78 
  79   r = regexec(&reg, str, reg.re_nsub + 1, pmatch, 0);
  80   if (r != 0 && r != REG_NOMATCH) {
  81     regerror(r, &reg, buf, sizeof(buf));
  82     fprintf(err_file, "ERROR: %s\n", buf);
  83     nerror++;
  84     return ;
  85   }
  86 
  87   if (r == REG_NOMATCH) {
  88     if (not) {
  89       fprintf(stdout, "OK(N): /%s/ '%s'\n", cpat, cstr);
  90       nsucc++;
  91     }
  92     else {
  93       fprintf(stdout, "FAIL: /%s/ '%s'\n", cpat, cstr);
  94       nfail++;
  95     }
  96   }
  97   else {
  98     if (not) {
  99       fprintf(stdout, "FAIL(N): /%s/ '%s'\n", cpat, cstr);
 100       nfail++;
 101     }
 102     else {
 103       if (pmatch[mem].rm_so == from && pmatch[mem].rm_eo == to) {
 104         fprintf(stdout, "OK: /%s/ '%s'\n", cpat, cstr);
 105         nsucc++;
 106       }
 107       else {
 108         fprintf(stdout, "FAIL: /%s/ '%s' %d-%d : %d-%d\n", cpat, cstr,
 109                 from, to, pmatch[mem].rm_so, pmatch[mem].rm_eo);
 110         nfail++;
 111       }
 112     }
 113   }
 114   regfree(&reg);
 115 
 116 #else
 117   regex_t* reg;
 118   OnigCompileInfo ci;
 119   OnigErrorInfo einfo;
 120 
 121   uconv(pattern, cpat, ulen(pattern));
 122   uconv(str,     cstr, ulen(str));
 123 
 124 #if 0
 125   r = onig_new(&reg, (UChar* )pattern, (UChar* )(pattern + ulen(pattern)),
 126                ONIG_OPTION_DEFAULT, ENC, ONIG_SYNTAX_DEFAULT, &einfo);
 127 #else
 128   ci.num_of_elements = 5;
 129   ci.pattern_enc = ENC;
 130   ci.target_enc  = ENC;
 131   ci.syntax      = ONIG_SYNTAX_DEFAULT;
 132   ci.option      = ONIG_OPTION_DEFAULT;
 133   ci.case_fold_flag = ONIGENC_CASE_FOLD_DEFAULT;
 134 
 135   r = onig_new_deluxe(&reg, (UChar* )pattern,
 136           (UChar* )(pattern + ulen(pattern)),
 137           &ci, &einfo);
 138 #endif
 139 
 140   if (r) {
 141     char s[ONIG_MAX_ERROR_MESSAGE_LEN];
 142     onig_error_code_to_str(s, r, &einfo);
 143     fprintf(err_file, "ERROR: %s\n", s);
 144     nerror++;
 145     return ;
 146   }
 147 
 148   r = onig_search(reg, (UChar* )str, (UChar* )(str + ulen(str)),
 149                   (UChar* )str, (UChar* )(str + ulen(str)),
 150                   region, ONIG_OPTION_NONE);
 151   if (r < ONIG_MISMATCH) {
 152     char s[ONIG_MAX_ERROR_MESSAGE_LEN];
 153     onig_error_code_to_str(s, r);
 154     fprintf(err_file, "ERROR: %s\n", s);
 155     nerror++;
 156     return ;
 157   }
 158 
 159   if (r == ONIG_MISMATCH) {
 160     if (not) {
 161       fprintf(stdout, "OK(N): /%s/ '%s'\n", cpat, cstr);
 162       nsucc++;
 163     }
 164     else {
 165       fprintf(stdout, "FAIL: /%s/ '%s'\n", cpat, cstr);
 166       nfail++;
 167     }
 168   }
 169   else {
 170     if (not) {
 171       fprintf(stdout, "FAIL(N): /%s/ '%s'\n", cpat, cstr);
 172       nfail++;
 173     }
 174     else {
 175       if (region->beg[mem] == from && region->end[mem] == to) {
 176         fprintf(stdout, "OK: /%s/ '%s'\n", cpat, cstr);
 177         nsucc++;
 178       }
 179       else {
 180         fprintf(stdout, "FAIL: /%s/ '%s' %d-%d : %d-%d\n", cpat, cstr,
 181                 from, to, region->beg[mem], region->end[mem]);
 182         nfail++;
 183       }
 184     }
 185   }
 186   onig_free(reg);
 187 #endif
 188 }
 189 
 190 static void x2(char* pattern, char* str, int from, int to)
 191 {
 192   xx(pattern, str, from, to, 0, 0);
 193 }
 194 
 195 static void x3(char* pattern, char* str, int from, int to, int mem)
 196 {
 197   xx(pattern, str, from, to, mem, 0);
 198 }
 199 
 200 static void n(char* pattern, char* str)
 201 {
 202   xx(pattern, str, 0, 0, 0, 1);
 203 }
 204 
 205 extern int main(int argc, char* argv[])
 206 {
 207   err_file = stdout;
 208 
 209 #ifndef POSIX_TEST
 210   region = onig_region_new();
 211 #endif
 212 #ifdef POSIX_TEST
 213   reg_set_encoding(REG_POSIX_ENCODING_UTF16_BE);
 214 #else
 215   ENC = ONIG_ENCODING_UTF16_BE;
 216 #endif
 217   x2("\000\000", "\000\000", 0, 0);
 218   x2("\000^\000\000", "\000\000", 0, 0);
 219   x2("\000$\000\000", "\000\000", 0, 0);
 220   x2("\000\134\000G\000\000", "\000\000", 0, 0);
 221   x2("\000\134\000A\000\000", "\000\000", 0, 0);
 222   x2("\000\134\000Z\000\000", "\000\000", 0, 0);
 223   x2("\000\134\000z\000\000", "\000\000", 0, 0);
 224   x2("\000^\000$\000\000", "\000\000", 0, 0);
 225   x2("\000\134\000c\000a\000\000", "\000\001\000\000", 0, 2);
 226   x2("\000\134\000C\000-\000b\000\000", "\000\002\000\000", 0, 2);
 227   x2("\000\134\000c\000\134\000\134\000\000", "\000\034\000\000", 0, 2);
 228   x2("\000q\000[\000\134\000c\000\134\000\134\000]\000\000", "\000q\000\034\000\000", 0, 4);
 229   x2("\000\000", "\000a\000\000", 0, 0);
 230   x2("\000a\000\000", "\000a\000\000", 0, 2);
 231   x2("\000\134\000x\0000\0000\000\134\000x\0006\0001\000\000", "\000a\000\000", 0, 2);
 232   x2("\000a\000a\000\000", "\000a\000a\000\000", 0, 4);
 233   x2("\000a\000a\000a\000\000", "\000a\000a\000a\000\000", 0, 6);
 234   x2("\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000\000", "\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000\000", 0, 70);
 235   x2("\000a\000b\000\000", "\000a\000b\000\000", 0, 4);
 236   x2("\000b\000\000", "\000a\000b\000\000", 2, 4);
 237   x2("\000b\000c\000\000", "\000a\000b\000c\000\000", 2, 6);
 238   x2("\000(\000?\000i\000:\000#\000R\000E\000T\000#\000)\000\000", "\000#\000I\000N\000S\000#\000#\000R\000E\000T\000#\000\000", 10, 20);
 239   x2("\000\134\0000\0000\0000\000\134\0001\0007\000\000", "\000\017\000\000", 0, 2);
 240   x2("\000\134\000x\0000\0000\000\134\000x\0001\000f\000\000", "\000\037\000\000", 0, 2);
 241   x2("\000a\000(\000?\000#\000.\000.\000.\000.\000\134\000\134\000J\000J\000J\000J\000)\000b\000\000", "\000a\000b\000\000", 0, 4);
 242   x2("\000(\000?\000x\000)\000 \000 \000G\000 \000(\000o\000 \000O\000(\000?\000-\000x\000)\000o\000O\000)\000 \000g\000 \000L\000\000", "\000G\000o\000O\000o\000O\000g\000L\000e\000\000", 0, 14);
 243   x2("\000.\000\000", "\000a\000\000", 0, 2);
 244   n("\000.\000\000", "\000\000");
 245   x2("\000.\000.\000\000", "\000a\000b\000\000", 0, 4);
 246   x2("\000\134\000w\000\000", "\000e\000\000", 0, 2);
 247   n("\000\134\000W\000\000", "\000e\000\000");
 248   x2("\000\134\000s\000\000", "\000 \000\000", 0, 2);
 249   x2("\000\134\000S\000\000", "\000b\000\000", 0, 2);
 250   x2("\000\134\000d\000\000", "\0004\000\000", 0, 2);
 251   n("\000\134\000D\000\000", "\0004\000\000");
 252   x2("\000\134\000b\000\000", "\000z\000 \000\000", 0, 0);
 253   x2("\000\134\000b\000\000", "\000 \000z\000\000", 2, 2);
 254   x2("\000\134\000B\000\000", "\000z\000z\000 \000\000", 2, 2);
 255   x2("\000\134\000B\000\000", "\000z\000 \000\000", 4, 4);
 256   x2("\000\134\000B\000\000", "\000 \000z\000\000", 0, 0);
 257   x2("\000[\000a\000b\000]\000\000", "\000b\000\000", 0, 2);
 258   n("\000[\000a\000b\000]\000\000", "\000c\000\000");
 259   x2("\000[\000a\000-\000z\000]\000\000", "\000t\000\000", 0, 2);
 260   n("\000[\000^\000a\000]\000\000", "\000a\000\000");
 261   x2("\000[\000^\000a\000]\000\000", "\000\012\000\000", 0, 2);
 262   x2("\000[\000]\000]\000\000", "\000]\000\000", 0, 2);
 263   n("\000[\000^\000]\000]\000\000", "\000]\000\000");
 264   x2("\000[\000\134\000^\000]\000+\000\000", "\0000\000^\000^\0001\000\000", 2, 6);
 265   x2("\000[\000b\000-\000]\000\000", "\000b\000\000", 0, 2);
 266   x2("\000[\000b\000-\000]\000\000", "\000-\000\000", 0, 2);
 267   x2("\000[\000\134\000w\000]\000\000", "\000z\000\000", 0, 2);
 268   n("\000[\000\134\000w\000]\000\000", "\000 \000\000");
 269   x2("\000[\000\134\000W\000]\000\000", "\000b\000$\000\000", 2, 4);
 270   x2("\000[\000\134\000d\000]\000\000", "\0005\000\000", 0, 2);
 271   n("\000[\000\134\000d\000]\000\000", "\000e\000\000");
 272   x2("\000[\000\134\000D\000]\000\000", "\000t\000\000", 0, 2);
 273   n("\000[\000\134\000D\000]\000\000", "\0003\000\000");
 274   x2("\000[\000\134\000s\000]\000\000", "\000 \000\000", 0, 2);
 275   n("\000[\000\134\000s\000]\000\000", "\000a\000\000");
 276   x2("\000[\000\134\000S\000]\000\000", "\000b\000\000", 0, 2);
 277   n("\000[\000\134\000S\000]\000\000", "\000 \000\000");
 278   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "\0002\000\000", 0, 2);
 279   n("\000[\000\134\000w\000\134\000d\000]\000\000", "\000 \000\000");
 280   x2("\000[\000[\000:\000u\000p\000p\000e\000r\000:\000]\000]\000\000", "\000B\000\000", 0, 2);
 281   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000+\000\000", 0, 2);
 282   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000G\000H\000I\000K\000K\000-\0009\000+\000*\000\000", 12, 14);
 283   x2("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000-\000@\000^\000+\000\000", 6, 8);
 284   n("\000[\000[\000:\000u\000p\000p\000e\000r\000]\000]\000\000", "\000A\000\000");
 285   x2("\000[\000[\000:\000u\000p\000p\000e\000r\000]\000]\000\000", "\000:\000\000", 0, 2);
 286   x2("\000[\000\134\0000\0000\0000\000\134\0000\0004\0004\000-\000\134\0000\0000\0000\000\134\0000\0004\0007\000]\000\000", "\000&\000\000", 0, 2);
 287   x2("\000[\000\134\000x\0000\0000\000\134\000x\0005\000a\000-\000\134\000x\0000\0000\000\134\000x\0005\000c\000]\000\000", "\000[\000\000", 0, 2);
 288   x2("\000[\000\134\000x\0000\0000\000\134\000x\0006\000A\000-\000\134\000x\0000\0000\000\134\000x\0006\000D\000]\000\000", "\000l\000\000", 0, 2);
 289   n("\000[\000\134\000x\0000\0000\000\134\000x\0006\000A\000-\000\134\000x\0000\0000\000\134\000x\0006\000D\000]\000\000", "\000n\000\000");
 290   n("\000^\000[\0000\000-\0009\000A\000-\000F\000]\000+\000 \0000\000+\000 \000U\000N\000D\000E\000F\000 \000\000", "\0007\0005\000F\000 \0000\0000\0000\0000\0000\0000\0000\0000\000 \000S\000E\000C\000T\0001\0004\000A\000 \000n\000o\000t\000y\000p\000e\000 \000(\000)\000 \000 \000 \000 \000E\000x\000t\000e\000r\000n\000a\000l\000 \000 \000 \000 \000|\000 \000_\000r\000b\000_\000a\000p\000p\000l\000y\000\000");
 291   x2("\000[\000\134\000[\000]\000\000", "\000[\000\000", 0, 2);
 292   x2("\000[\000\134\000]\000]\000\000", "\000]\000\000", 0, 2);
 293   x2("\000[\000&\000]\000\000", "\000&\000\000", 0, 2);
 294   x2("\000[\000[\000a\000b\000]\000]\000\000", "\000b\000\000", 0, 2);
 295   x2("\000[\000[\000a\000b\000]\000c\000]\000\000", "\000c\000\000", 0, 2);
 296   n("\000[\000[\000^\000a\000]\000]\000\000", "\000a\000\000");
 297   n("\000[\000^\000[\000a\000]\000]\000\000", "\000a\000\000");
 298   x2("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000b\000\000", 0, 2);
 299   n("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000a\000\000");
 300   n("\000[\000[\000a\000b\000]\000&\000&\000b\000c\000]\000\000", "\000c\000\000");
 301   x2("\000[\000a\000-\000z\000&\000&\000b\000-\000y\000&\000&\000c\000-\000x\000]\000\000", "\000w\000\000", 0, 2);
 302   n("\000[\000^\000a\000-\000z\000&\000&\000b\000-\000y\000&\000&\000c\000-\000x\000]\000\000", "\000w\000\000");
 303   x2("\000[\000[\000^\000a\000&\000&\000a\000]\000&\000&\000a\000-\000z\000]\000\000", "\000b\000\000", 0, 2);
 304   n("\000[\000[\000^\000a\000&\000&\000a\000]\000&\000&\000a\000-\000z\000]\000\000", "\000a\000\000");
 305   x2("\000[\000[\000^\000a\000-\000z\000&\000&\000b\000c\000d\000e\000f\000]\000&\000&\000[\000^\000c\000-\000g\000]\000]\000\000", "\000h\000\000", 0, 2);
 306   n("\000[\000[\000^\000a\000-\000z\000&\000&\000b\000c\000d\000e\000f\000]\000&\000&\000[\000^\000c\000-\000g\000]\000]\000\000", "\000c\000\000");
 307   x2("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000c\000\000", 0, 2);
 308   x2("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000e\000\000", 0, 2);
 309   n("\000[\000^\000[\000^\000a\000b\000c\000]\000&\000&\000[\000^\000c\000d\000e\000]\000]\000\000", "\000f\000\000");
 310   x2("\000[\000a\000-\000&\000&\000-\000a\000]\000\000", "\000-\000\000", 0, 2);
 311   n("\000[\000a\000\134\000-\000&\000&\000\134\000-\000a\000]\000\000", "\000&\000\000");
 312   n("\000\134\000w\000a\000b\000c\000\000", "\000 \000a\000b\000c\000\000");
 313   x2("\000a\000\134\000W\000b\000c\000\000", "\000a\000 \000b\000c\000\000", 0, 8);
 314   x2("\000a\000.\000b\000.\000c\000\000", "\000a\000a\000b\000b\000c\000\000", 0, 10);
 315   x2("\000.\000\134\000w\000b\000\134\000W\000.\000.\000c\000\000", "\000a\000b\000b\000 \000b\000c\000c\000\000", 0, 14);
 316   x2("\000\134\000s\000\134\000w\000z\000z\000z\000\000", "\000 \000z\000z\000z\000z\000\000", 0, 10);
 317   x2("\000a\000a\000.\000b\000\000", "\000a\000a\000b\000b\000\000", 0, 8);
 318   n("\000.\000a\000\000", "\000a\000b\000\000");
 319   x2("\000.\000a\000\000", "\000a\000a\000\000", 0, 4);
 320   x2("\000^\000a\000\000", "\000a\000\000", 0, 2);
 321   x2("\000^\000a\000$\000\000", "\000a\000\000", 0, 2);
 322   x2("\000^\000\134\000w\000$\000\000", "\000a\000\000", 0, 2);
 323   n("\000^\000\134\000w\000$\000\000", "\000 \000\000");
 324   x2("\000^\000\134\000w\000a\000b\000$\000\000", "\000z\000a\000b\000\000", 0, 6);
 325   x2("\000^\000\134\000w\000a\000b\000c\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14);
 326   x2("\000^\000\134\000w\000.\000.\000.\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14);
 327   x2("\000\134\000w\000\134\000w\000\134\000s\000\134\000W\000a\000a\000a\000\134\000d\000\000", "\000a\000a\000 \000 \000a\000a\000a\0004\000\000", 0, 16);
 328   x2("\000\134\000A\000\134\000Z\000\000", "\000\000", 0, 0);
 329   x2("\000\134\000A\000x\000y\000z\000\000", "\000x\000y\000z\000\000", 0, 6);
 330   x2("\000x\000y\000z\000\134\000Z\000\000", "\000x\000y\000z\000\000", 0, 6);
 331   x2("\000x\000y\000z\000\134\000z\000\000", "\000x\000y\000z\000\000", 0, 6);
 332   x2("\000a\000\134\000Z\000\000", "\000a\000\000", 0, 2);
 333   x2("\000\134\000G\000a\000z\000\000", "\000a\000z\000\000", 0, 4);
 334   n("\000\134\000G\000z\000\000", "\000b\000z\000a\000\000");
 335   n("\000a\000z\000\134\000G\000\000", "\000a\000z\000\000");
 336   n("\000a\000z\000\134\000A\000\000", "\000a\000z\000\000");
 337   n("\000a\000\134\000A\000z\000\000", "\000a\000z\000\000");
 338   x2("\000\134\000^\000\134\000$\000\000", "\000^\000$\000\000", 0, 4);
 339   x2("\000^\000x\000?\000y\000\000", "\000x\000y\000\000", 0, 4);
 340   x2("\000^\000(\000x\000?\000y\000)\000\000", "\000x\000y\000\000", 0, 4);
 341   x2("\000\134\000w\000\000", "\000_\000\000", 0, 2);
 342   n("\000\134\000W\000\000", "\000_\000\000");
 343   x2("\000(\000?\000=\000z\000)\000z\000\000", "\000z\000\000", 0, 2);
 344   n("\000(\000?\000=\000z\000)\000.\000\000", "\000a\000\000");
 345   x2("\000(\000?\000!\000z\000)\000a\000\000", "\000a\000\000", 0, 2);
 346   n("\000(\000?\000!\000z\000)\000a\000\000", "\000z\000\000");
 347   x2("\000(\000?\000i\000:\000a\000)\000\000", "\000a\000\000", 0, 2);
 348   x2("\000(\000?\000i\000:\000a\000)\000\000", "\000A\000\000", 0, 2);
 349   x2("\000(\000?\000i\000:\000A\000)\000\000", "\000a\000\000", 0, 2);
 350   n("\000(\000?\000i\000:\000A\000)\000\000", "\000b\000\000");
 351   x2("\000(\000?\000i\000:\000[\000A\000-\000Z\000]\000)\000\000", "\000a\000\000", 0, 2);
 352   x2("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000H\000\000", 0, 2);
 353   x2("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000h\000\000", 0, 2);
 354   n("\000(\000?\000i\000:\000[\000f\000-\000m\000]\000)\000\000", "\000e\000\000");
 355   x2("\000(\000?\000i\000:\000[\000A\000-\000c\000]\000)\000\000", "\000D\000\000", 0, 2);
 356   n("\000(\000?\000i\000:\000[\000^\000a\000-\000z\000]\000)\000\000", "\000A\000\000");
 357   n("\000(\000?\000i\000:\000[\000^\000a\000-\000z\000]\000)\000\000", "\000a\000\000");
 358   x2("\000(\000?\000i\000:\000[\000!\000-\000k\000]\000)\000\000", "\000Z\000\000", 0, 2);
 359   x2("\000(\000?\000i\000:\000[\000!\000-\000k\000]\000)\000\000", "\0007\000\000", 0, 2);
 360   x2("\000(\000?\000i\000:\000[\000T\000-\000}\000]\000)\000\000", "\000b\000\000", 0, 2);
 361   x2("\000(\000?\000i\000:\000[\000T\000-\000}\000]\000)\000\000", "\000{\000\000", 0, 2);
 362   x2("\000(\000?\000i\000:\000\134\000?\000a\000)\000\000", "\000?\000A\000\000", 0, 4);
 363   x2("\000(\000?\000i\000:\000\134\000*\000A\000)\000\000", "\000*\000a\000\000", 0, 4);
 364   n("\000.\000\000", "\000\012\000\000");
 365   x2("\000(\000?\000m\000:\000.\000)\000\000", "\000\012\000\000", 0, 2);
 366   x2("\000(\000?\000m\000:\000a\000.\000)\000\000", "\000a\000\012\000\000", 0, 4);
 367   x2("\000(\000?\000m\000:\000.\000b\000)\000\000", "\000a\000\012\000b\000\000", 2, 6);
 368   x2("\000.\000*\000a\000b\000c\000\000", "\000d\000d\000d\000a\000b\000d\000d\000\012\000d\000d\000a\000b\000c\000\000", 16, 26);
 369   x2("\000(\000?\000m\000:\000.\000*\000a\000b\000c\000)\000\000", "\000d\000d\000d\000a\000b\000d\000d\000a\000b\000c\000\000", 0, 20);
 370   n("\000(\000?\000i\000)\000(\000?\000-\000i\000)\000a\000\000", "\000A\000\000");
 371   n("\000(\000?\000i\000)\000(\000?\000-\000i\000:\000a\000)\000\000", "\000A\000\000");
 372   x2("\000a\000?\000\000", "\000\000", 0, 0);
 373   x2("\000a\000?\000\000", "\000b\000\000", 0, 0);
 374   x2("\000a\000?\000\000", "\000a\000\000", 0, 2);
 375   x2("\000a\000*\000\000", "\000\000", 0, 0);
 376   x2("\000a\000*\000\000", "\000a\000\000", 0, 2);
 377   x2("\000a\000*\000\000", "\000a\000a\000a\000\000", 0, 6);
 378   x2("\000a\000*\000\000", "\000b\000a\000a\000a\000a\000\000", 0, 0);
 379   n("\000a\000+\000\000", "\000\000");
 380   x2("\000a\000+\000\000", "\000a\000\000", 0, 2);
 381   x2("\000a\000+\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
 382   x2("\000a\000+\000\000", "\000a\000a\000b\000b\000b\000\000", 0, 4);
 383   x2("\000a\000+\000\000", "\000b\000a\000a\000a\000a\000\000", 2, 10);
 384   x2("\000.\000?\000\000", "\000\000", 0, 0);
 385   x2("\000.\000?\000\000", "\000f\000\000", 0, 2);
 386   x2("\000.\000?\000\000", "\000\012\000\000", 0, 0);
 387   x2("\000.\000*\000\000", "\000\000", 0, 0);
 388   x2("\000.\000*\000\000", "\000a\000b\000c\000d\000e\000\000", 0, 10);
 389   x2("\000.\000+\000\000", "\000z\000\000", 0, 2);
 390   x2("\000.\000+\000\000", "\000z\000d\000s\000w\000e\000r\000\012\000\000", 0, 12);
 391   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000b\000f\000b\000a\000c\000\000", 0, 8);
 392   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000c\000b\000a\000b\000f\000\000", 6, 14);
 393   x2("\000(\000(\000.\000*\000)\000a\000\134\0002\000f\000)\000\000", "\000b\000a\000c\000b\000a\000b\000f\000\000", 6, 14);
 394   x2("\000(\000.\000*\000)\000a\000\134\0001\000f\000\000", "\000b\000a\000c\000z\000z\000z\000z\000z\000z\000\012\000b\000a\000z\000z\000\012\000z\000z\000z\000z\000b\000a\000b\000f\000\000", 38, 46);
 395   x2("\000a\000|\000b\000\000", "\000a\000\000", 0, 2);
 396   x2("\000a\000|\000b\000\000", "\000b\000\000", 0, 2);
 397   x2("\000|\000a\000\000", "\000a\000\000", 0, 0);
 398   x2("\000(\000|\000a\000)\000\000", "\000a\000\000", 0, 0);
 399   x2("\000a\000b\000|\000b\000c\000\000", "\000a\000b\000\000", 0, 4);
 400   x2("\000a\000b\000|\000b\000c\000\000", "\000b\000c\000\000", 0, 4);
 401   x2("\000z\000(\000?\000:\000a\000b\000|\000b\000c\000)\000\000", "\000z\000b\000c\000\000", 0, 6);
 402   x2("\000a\000(\000?\000:\000a\000b\000|\000b\000c\000)\000c\000\000", "\000a\000a\000b\000c\000\000", 0, 8);
 403   x2("\000a\000b\000|\000(\000?\000:\000a\000c\000|\000a\000z\000)\000\000", "\000a\000z\000\000", 0, 4);
 404   x2("\000a\000|\000b\000|\000c\000\000", "\000d\000c\000\000", 2, 4);
 405   x2("\000a\000|\000b\000|\000c\000d\000|\000e\000f\000g\000|\000h\000|\000i\000j\000k\000|\000l\000m\000n\000|\000o\000|\000p\000q\000|\000r\000s\000t\000u\000v\000w\000x\000|\000y\000z\000\000", "\000p\000q\000r\000\000", 0, 4);
 406   n("\000a\000|\000b\000|\000c\000d\000|\000e\000f\000g\000|\000h\000|\000i\000j\000k\000|\000l\000m\000n\000|\000o\000|\000p\000q\000|\000r\000s\000t\000u\000v\000w\000x\000|\000y\000z\000\000", "\000m\000n\000\000");
 407   x2("\000a\000|\000^\000z\000\000", "\000b\000a\000\000", 2, 4);
 408   x2("\000a\000|\000^\000z\000\000", "\000z\000a\000\000", 0, 2);
 409   x2("\000a\000|\000\134\000G\000z\000\000", "\000b\000z\000a\000\000", 4, 6);
 410   x2("\000a\000|\000\134\000G\000z\000\000", "\000z\000a\000\000", 0, 2);
 411   x2("\000a\000|\000\134\000A\000z\000\000", "\000b\000z\000a\000\000", 4, 6);
 412   x2("\000a\000|\000\134\000A\000z\000\000", "\000z\000a\000\000", 0, 2);
 413   x2("\000a\000|\000b\000\134\000Z\000\000", "\000b\000a\000\000", 2, 4);
 414   x2("\000a\000|\000b\000\134\000Z\000\000", "\000b\000\000", 0, 2);
 415   x2("\000a\000|\000b\000\134\000z\000\000", "\000b\000a\000\000", 2, 4);
 416   x2("\000a\000|\000b\000\134\000z\000\000", "\000b\000\000", 0, 2);
 417   x2("\000\134\000w\000|\000\134\000s\000\000", "\000 \000\000", 0, 2);
 418   n("\000\134\000w\000|\000\134\000w\000\000", "\000 \000\000");
 419   x2("\000\134\000w\000|\000%\000\000", "\000%\000\000", 0, 2);
 420   x2("\000\134\000w\000|\000[\000&\000$\000]\000\000", "\000&\000\000", 0, 2);
 421   x2("\000[\000b\000-\000d\000]\000|\000[\000^\000e\000-\000z\000]\000\000", "\000a\000\000", 0, 2);
 422   x2("\000(\000?\000:\000a\000|\000[\000c\000-\000f\000]\000)\000|\000b\000z\000\000", "\000d\000z\000\000", 0, 2);
 423   x2("\000(\000?\000:\000a\000|\000[\000c\000-\000f\000]\000)\000|\000b\000z\000\000", "\000b\000z\000\000", 0, 4);
 424   x2("\000a\000b\000c\000|\000(\000?\000=\000z\000z\000)\000.\000.\000f\000\000", "\000z\000z\000f\000\000", 0, 6);
 425   x2("\000a\000b\000c\000|\000(\000?\000!\000z\000z\000)\000.\000.\000f\000\000", "\000a\000b\000f\000\000", 0, 6);
 426   x2("\000(\000?\000=\000z\000a\000)\000.\000.\000a\000|\000(\000?\000=\000z\000z\000)\000.\000.\000a\000\000", "\000z\000z\000a\000\000", 0, 6);
 427   n("\000(\000?\000>\000a\000|\000a\000b\000d\000)\000c\000\000", "\000a\000b\000d\000c\000\000");
 428   x2("\000(\000?\000>\000a\000b\000d\000|\000a\000)\000c\000\000", "\000a\000b\000d\000c\000\000", 0, 8);
 429   x2("\000a\000?\000|\000b\000\000", "\000a\000\000", 0, 2);
 430   x2("\000a\000?\000|\000b\000\000", "\000b\000\000", 0, 0);
 431   x2("\000a\000?\000|\000b\000\000", "\000\000", 0, 0);
 432   x2("\000a\000*\000|\000b\000\000", "\000a\000a\000\000", 0, 4);
 433   x2("\000a\000*\000|\000b\000*\000\000", "\000b\000a\000\000", 0, 0);
 434   x2("\000a\000*\000|\000b\000*\000\000", "\000a\000b\000\000", 0, 2);
 435   x2("\000a\000+\000|\000b\000*\000\000", "\000\000", 0, 0);
 436   x2("\000a\000+\000|\000b\000*\000\000", "\000b\000b\000b\000\000", 0, 6);
 437   x2("\000a\000+\000|\000b\000*\000\000", "\000a\000b\000b\000b\000\000", 0, 2);
 438   n("\000a\000+\000|\000b\000+\000\000", "\000\000");
 439   x2("\000(\000a\000|\000b\000)\000?\000\000", "\000b\000\000", 0, 2);
 440   x2("\000(\000a\000|\000b\000)\000*\000\000", "\000b\000a\000\000", 0, 4);
 441   x2("\000(\000a\000|\000b\000)\000+\000\000", "\000b\000a\000b\000\000", 0, 6);
 442   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000c\000a\000a\000b\000b\000c\000\000", 0, 8);
 443   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000a\000a\000b\000c\000a\000\000", 2, 10);
 444   x2("\000(\000a\000b\000|\000c\000a\000)\000+\000\000", "\000a\000b\000z\000c\000a\000\000", 0, 4);
 445   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 10);
 446   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000b\000a\000\000", 2, 4);
 447   x2("\000(\000a\000|\000b\000a\000b\000)\000+\000\000", "\000b\000a\000a\000a\000b\000a\000\000", 2, 8);
 448   x2("\000(\000?\000:\000a\000|\000b\000)\000(\000?\000:\000a\000|\000b\000)\000\000", "\000a\000b\000\000", 0, 4);
 449   x2("\000(\000?\000:\000a\000*\000|\000b\000*\000)\000(\000?\000:\000a\000*\000|\000b\000*\000)\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 6);
 450   x2("\000(\000?\000:\000a\000*\000|\000b\000*\000)\000(\000?\000:\000a\000+\000|\000b\000+\000)\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
 451   x2("\000(\000?\000:\000a\000+\000|\000b\000+\000)\000{\0002\000}\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
 452   x2("\000h\000{\0000\000,\000}\000\000", "\000h\000h\000h\000h\000\000", 0, 8);
 453   x2("\000(\000?\000:\000a\000+\000|\000b\000+\000)\000{\0001\000,\0002\000}\000\000", "\000a\000a\000a\000b\000b\000b\000\000", 0, 12);
 454   n("\000a\000x\000{\0002\000}\000*\000a\000\000", "\0000\000a\000x\000x\000x\000a\0001\000\000");
 455   n("\000a\000.\000{\0000\000,\0002\000}\000a\000\000", "\0000\000a\000X\000X\000X\000a\0000\000\000");
 456   n("\000a\000.\000{\0000\000,\0002\000}\000?\000a\000\000", "\0000\000a\000X\000X\000X\000a\0000\000\000");
 457   n("\000a\000.\000{\0000\000,\0002\000}\000?\000a\000\000", "\0000\000a\000X\000X\000X\000X\000a\0000\000\000");
 458   x2("\000^\000a\000{\0002\000,\000}\000?\000a\000$\000\000", "\000a\000a\000a\000\000", 0, 6);
 459   x2("\000^\000[\000a\000-\000z\000]\000{\0002\000,\000}\000?\000$\000\000", "\000a\000a\000a\000\000", 0, 6);
 460   x2("\000(\000?\000:\000a\000+\000|\000\134\000A\000b\000*\000)\000c\000c\000\000", "\000c\000c\000\000", 0, 4);
 461   n("\000(\000?\000:\000a\000+\000|\000\134\000A\000b\000*\000)\000c\000c\000\000", "\000a\000b\000c\000c\000\000");
 462   x2("\000(\000?\000:\000^\000a\000+\000|\000b\000+\000)\000*\000c\000\000", "\000a\000a\000b\000b\000b\000a\000b\000c\000\000", 12, 16);
 463   x2("\000(\000?\000:\000^\000a\000+\000|\000b\000+\000)\000*\000c\000\000", "\000a\000a\000b\000b\000b\000b\000c\000\000", 0, 14);
 464   x2("\000a\000|\000(\000?\000i\000)\000c\000\000", "\000C\000\000", 0, 2);
 465   x2("\000(\000?\000i\000)\000c\000|\000a\000\000", "\000C\000\000", 0, 2);
 466   x2("\000(\000?\000i\000)\000c\000|\000a\000\000", "\000A\000\000", 0, 2);
 467   x2("\000(\000?\000i\000:\000c\000)\000|\000a\000\000", "\000C\000\000", 0, 2);
 468   n("\000(\000?\000i\000:\000c\000)\000|\000a\000\000", "\000A\000\000");
 469   x2("\000[\000a\000b\000c\000]\000?\000\000", "\000a\000b\000c\000\000", 0, 2);
 470   x2("\000[\000a\000b\000c\000]\000*\000\000", "\000a\000b\000c\000\000", 0, 6);
 471   x2("\000[\000^\000a\000b\000c\000]\000*\000\000", "\000a\000b\000c\000\000", 0, 0);
 472   n("\000[\000^\000a\000b\000c\000]\000+\000\000", "\000a\000b\000c\000\000");
 473   x2("\000a\000?\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
 474   x2("\000b\000a\000?\000?\000b\000\000", "\000b\000a\000b\000\000", 0, 6);
 475   x2("\000a\000*\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
 476   x2("\000b\000a\000*\000?\000\000", "\000b\000a\000a\000\000", 0, 2);
 477   x2("\000b\000a\000*\000?\000b\000\000", "\000b\000a\000a\000b\000\000", 0, 8);
 478   x2("\000a\000+\000?\000\000", "\000a\000a\000a\000\000", 0, 2);
 479   x2("\000b\000a\000+\000?\000\000", "\000b\000a\000a\000\000", 0, 4);
 480   x2("\000b\000a\000+\000?\000b\000\000", "\000b\000a\000a\000b\000\000", 0, 8);
 481   x2("\000(\000?\000:\000a\000?\000)\000?\000?\000\000", "\000a\000\000", 0, 0);
 482   x2("\000(\000?\000:\000a\000?\000?\000)\000?\000\000", "\000a\000\000", 0, 0);
 483   x2("\000(\000?\000:\000a\000?\000)\000+\000?\000\000", "\000a\000a\000a\000\000", 0, 2);
 484   x2("\000(\000?\000:\000a\000+\000)\000?\000?\000\000", "\000a\000a\000a\000\000", 0, 0);
 485   x2("\000(\000?\000:\000a\000+\000)\000?\000?\000b\000\000", "\000a\000a\000a\000b\000\000", 0, 8);
 486   x2("\000(\000?\000:\000a\000b\000)\000?\000{\0002\000}\000\000", "\000\000", 0, 0);
 487   x2("\000(\000?\000:\000a\000b\000)\000?\000{\0002\000}\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 8);
 488   x2("\000(\000?\000:\000a\000b\000)\000*\000{\0000\000}\000\000", "\000a\000b\000a\000b\000a\000\000", 0, 0);
 489   x2("\000(\000?\000:\000a\000b\000)\000{\0003\000,\000}\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 16);
 490   n("\000(\000?\000:\000a\000b\000)\000{\0003\000,\000}\000\000", "\000a\000b\000a\000b\000\000");
 491   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000\000", "\000a\000b\000a\000b\000a\000b\000\000", 0, 12);
 492   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 16);
 493   x2("\000(\000?\000:\000a\000b\000)\000{\0002\000,\0004\000}\000?\000\000", "\000a\000b\000a\000b\000a\000b\000a\000b\000a\000b\000\000", 0, 8);
 494   x2("\000(\000?\000:\000a\000b\000)\000{\000,\000}\000\000", "\000a\000b\000{\000,\000}\000\000", 0, 10);
 495   x2("\000(\000?\000:\000a\000b\000c\000)\000+\000?\000{\0002\000}\000\000", "\000a\000b\000c\000a\000b\000c\000a\000b\000c\000\000", 0, 12);
 496   x2("\000(\000?\000:\000X\000*\000)\000(\000?\000i\000:\000x\000a\000)\000\000", "\000X\000X\000X\000a\000\000", 0, 8);
 497   x2("\000(\000d\000+\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
 498   x2("\000(\000[\000^\000a\000b\000c\000]\000*\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
 499   x2("\000(\000\134\000w\000+\000)\000(\000\134\000w\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8);
 500   x3("\000(\000a\000)\000\000", "\000a\000\000", 0, 2, 1);
 501   x3("\000(\000a\000b\000)\000\000", "\000a\000b\000\000", 0, 4, 1);
 502   x2("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4);
 503   x3("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 1);
 504   x3("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 2);
 505   x3("\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000a\000b\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000\000", "\000a\000b\000\000", 0, 4, 20);
 506   x3("\000(\000a\000b\000)\000(\000c\000d\000)\000\000", "\000a\000b\000c\000d\000\000", 0, 4, 1);
 507   x3("\000(\000a\000b\000)\000(\000c\000d\000)\000\000", "\000a\000b\000c\000d\000\000", 4, 8, 2);
 508   x3("\000(\000)\000(\000a\000)\000b\000c\000(\000d\000e\000f\000)\000g\000h\000i\000j\000k\000\000", "\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000\000", 6, 12, 3);
 509   x3("\000(\000(\000)\000(\000a\000)\000b\000c\000(\000d\000e\000f\000)\000g\000h\000i\000j\000k\000)\000\000", "\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000\000", 6, 12, 4);
 510   x2("\000(\000^\000a\000)\000\000", "\000a\000\000", 0, 2);
 511   x3("\000(\000a\000)\000|\000(\000a\000)\000\000", "\000b\000a\000\000", 2, 4, 1);
 512   x3("\000(\000^\000a\000)\000|\000(\000a\000)\000\000", "\000b\000a\000\000", 2, 4, 2);
 513   x3("\000(\000a\000?\000)\000\000", "\000a\000a\000a\000\000", 0, 2, 1);
 514   x3("\000(\000a\000*\000)\000\000", "\000a\000a\000a\000\000", 0, 6, 1);
 515   x3("\000(\000a\000*\000)\000\000", "\000\000", 0, 0, 1);
 516   x3("\000(\000a\000+\000)\000\000", "\000a\000a\000a\000a\000a\000a\000a\000\000", 0, 14, 1);
 517   x3("\000(\000a\000+\000|\000b\000*\000)\000\000", "\000b\000b\000b\000a\000a\000\000", 0, 6, 1);
 518   x3("\000(\000a\000+\000|\000b\000?\000)\000\000", "\000b\000b\000b\000a\000a\000\000", 0, 2, 1);
 519   x3("\000(\000a\000b\000c\000)\000?\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
 520   x3("\000(\000a\000b\000c\000)\000*\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
 521   x3("\000(\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
 522   x3("\000(\000x\000y\000z\000|\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
 523   x3("\000(\000[\000x\000y\000z\000]\000[\000a\000b\000c\000]\000|\000a\000b\000c\000)\000+\000\000", "\000a\000b\000c\000\000", 0, 6, 1);
 524   x3("\000(\000(\000?\000i\000:\000a\000b\000c\000)\000)\000\000", "\000A\000b\000C\000\000", 0, 6, 1);
 525   x2("\000(\000a\000b\000c\000)\000(\000?\000i\000:\000\134\0001\000)\000\000", "\000a\000b\000c\000A\000B\000C\000\000", 0, 12);
 526   x3("\000(\000(\000?\000m\000:\000a\000.\000c\000)\000)\000\000", "\000a\000\012\000c\000\000", 0, 6, 1);
 527   x3("\000(\000(\000?\000=\000a\000z\000)\000a\000)\000\000", "\000a\000z\000b\000\000", 0, 2, 1);
 528   x3("\000a\000b\000c\000|\000(\000.\000a\000b\000d\000)\000\000", "\000z\000a\000b\000d\000\000", 0, 8, 1);
 529   x2("\000(\000?\000:\000a\000b\000c\000)\000|\000(\000A\000B\000C\000)\000\000", "\000a\000b\000c\000\000", 0, 6);
 530   x3("\000(\000?\000i\000:\000(\000a\000b\000c\000)\000)\000|\000(\000z\000z\000z\000)\000\000", "\000A\000B\000C\000\000", 0, 6, 1);
 531   x3("\000a\000*\000(\000.\000)\000\000", "\000a\000a\000a\000a\000z\000\000", 8, 10, 1);
 532   x3("\000a\000*\000?\000(\000.\000)\000\000", "\000a\000a\000a\000a\000z\000\000", 0, 2, 1);
 533   x3("\000a\000*\000?\000(\000c\000)\000\000", "\000a\000a\000a\000a\000c\000\000", 8, 10, 1);
 534   x3("\000[\000b\000c\000d\000]\000a\000*\000(\000.\000)\000\000", "\000c\000a\000a\000a\000a\000z\000\000", 10, 12, 1);
 535   x3("\000(\000\134\000A\000b\000b\000)\000c\000c\000\000", "\000b\000b\000c\000c\000\000", 0, 4, 1);
 536   n("\000(\000\134\000A\000b\000b\000)\000c\000c\000\000", "\000z\000b\000b\000c\000c\000\000");
 537   x3("\000(\000^\000b\000b\000)\000c\000c\000\000", "\000b\000b\000c\000c\000\000", 0, 4, 1);
 538   n("\000(\000^\000b\000b\000)\000c\000c\000\000", "\000z\000b\000b\000c\000c\000\000");
 539   x3("\000c\000c\000(\000b\000b\000$\000)\000\000", "\000c\000c\000b\000b\000\000", 4, 8, 1);
 540   n("\000c\000c\000(\000b\000b\000$\000)\000\000", "\000c\000c\000b\000b\000b\000\000");
 541   n("\000(\000\134\0001\000)\000\000", "\000\000");
 542   n("\000\134\0001\000(\000a\000)\000\000", "\000a\000a\000\000");
 543   n("\000(\000a\000(\000b\000)\000\134\0001\000)\000\134\0002\000+\000\000", "\000a\000b\000a\000b\000b\000\000");
 544   n("\000(\000?\000:\000(\000?\000:\000\134\0001\000|\000z\000)\000(\000a\000)\000)\000+\000$\000\000", "\000z\000a\000a\000\000");
 545   x2("\000(\000?\000:\000(\000?\000:\000\134\0001\000|\000z\000)\000(\000a\000)\000)\000+\000$\000\000", "\000z\000a\000a\000a\000\000", 0, 8);
 546   x2("\000(\000a\000)\000(\000?\000=\000\134\0001\000)\000\000", "\000a\000a\000\000", 0, 2);
 547   n("\000(\000a\000)\000$\000|\000\134\0001\000\000", "\000a\000z\000\000");
 548   x2("\000(\000a\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
 549   n("\000(\000a\000)\000\134\0001\000\000", "\000a\000b\000\000");
 550   x2("\000(\000a\000?\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
 551   x2("\000(\000a\000?\000?\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 0);
 552   x2("\000(\000a\000*\000)\000\134\0001\000\000", "\000a\000a\000a\000a\000a\000\000", 0, 8);
 553   x3("\000(\000a\000*\000)\000\134\0001\000\000", "\000a\000a\000a\000a\000a\000\000", 0, 4, 1);
 554   x2("\000a\000(\000b\000*\000)\000\134\0001\000\000", "\000a\000b\000b\000b\000b\000\000", 0, 10);
 555   x2("\000a\000(\000b\000*\000)\000\134\0001\000\000", "\000a\000b\000\000", 0, 2);
 556   x2("\000(\000a\000*\000)\000(\000b\000*\000)\000\134\0001\000\134\0002\000\000", "\000a\000a\000a\000b\000b\000a\000a\000a\000b\000b\000\000", 0, 20);
 557   x2("\000(\000a\000*\000)\000(\000b\000*\000)\000\134\0002\000\000", "\000a\000a\000a\000b\000b\000b\000b\000\000", 0, 14);
 558   x2("\000(\000(\000(\000(\000(\000(\000(\000a\000*\000)\000b\000)\000)\000)\000)\000)\000)\000c\000\134\0007\000\000", "\000a\000a\000a\000b\000c\000a\000a\000a\000\000", 0, 16);
 559   x3("\000(\000(\000(\000(\000(\000(\000(\000a\000*\000)\000b\000)\000)\000)\000)\000)\000)\000c\000\134\0007\000\000", "\000a\000a\000a\000b\000c\000a\000a\000a\000\000", 0, 6, 7);
 560   x2("\000(\000a\000)\000(\000b\000)\000(\000c\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "\000a\000b\000c\000b\000a\000c\000\000", 0, 12);
 561   x2("\000(\000[\000a\000-\000d\000]\000)\000\134\0001\000\000", "\000c\000c\000\000", 0, 4);
 562   x2("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000 \000\000", 0, 12);
 563   n("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000\000");
 564   x2("\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000w\000h\000o\000w\000h\000o\000\000", 0, 12);
 565   x2("\000.\000.\000.\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000a\000b\000c\000w\000h\000o\000w\000h\000o\000\000", 0, 18);
 566   x2("\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000c\000b\000c\000c\000b\000c\000\000", 0, 12);
 567   x2("\000(\000^\000a\000)\000\134\0001\000\000", "\000a\000a\000\000", 0, 4);
 568   n("\000(\000^\000a\000)\000\134\0001\000\000", "\000b\000a\000a\000\000");
 569   n("\000(\000a\000$\000)\000\134\0001\000\000", "\000a\000a\000\000");
 570   n("\000(\000a\000b\000\134\000Z\000)\000\134\0001\000\000", "\000a\000b\000\000");
 571   x2("\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000a\000\000", 2, 2);
 572   x2("\000.\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000b\000a\000\000", 2, 4);
 573   x3("\000(\000.\000(\000a\000b\000c\000)\000\134\0002\000)\000\000", "\000z\000a\000b\000c\000a\000b\000c\000\000", 0, 14, 1);
 574   x3("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "\000z\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1);
 575   x2("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000A\000z\000\000", 0, 8);
 576   n("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000a\000z\000\000");
 577   x2("\000(\000?\000<\000=\000a\000)\000b\000\000", "\000a\000b\000\000", 2, 4);
 578   n("\000(\000?\000<\000=\000a\000)\000b\000\000", "\000b\000b\000\000");
 579   x2("\000(\000?\000<\000=\000a\000|\000b\000)\000b\000\000", "\000b\000b\000\000", 2, 4);
 580   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000)\000b\000\000", "\000b\000c\000b\000\000", 4, 6);
 581   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000)\000b\000\000", "\000a\000b\000\000", 2, 4);
 582   x2("\000(\000?\000<\000=\000a\000|\000b\000c\000|\000|\000d\000e\000f\000g\000h\000i\000j\000|\000k\000l\000m\000n\000o\000p\000q\000|\000r\000)\000z\000\000", "\000r\000z\000\000", 2, 4);
 583   x2("\000(\000a\000)\000\134\000g\000<\0001\000>\000\000", "\000a\000a\000\000", 0, 4);
 584   x2("\000(\000?\000<\000!\000a\000)\000b\000\000", "\000c\000b\000\000", 2, 4);
 585   n("\000(\000?\000<\000!\000a\000)\000b\000\000", "\000a\000b\000\000");
 586   x2("\000(\000?\000<\000!\000a\000|\000b\000c\000)\000b\000\000", "\000b\000b\000b\000\000", 0, 2);
 587   n("\000(\000?\000<\000!\000a\000|\000b\000c\000)\000z\000\000", "\000b\000c\000z\000\000");
 588   x2("\000(\000?\000<\000n\000a\000m\000e\0001\000>\000a\000)\000\000", "\000a\000\000", 0, 2);
 589   x2("\000(\000?\000<\000n\000a\000m\000e\000_\0002\000>\000a\000b\000)\000\134\000g\000<\000n\000a\000m\000e\000_\0002\000>\000\000", "\000a\000b\000a\000b\000\000", 0, 8);
 590   x2("\000(\000?\000<\000n\000a\000m\000e\000_\0003\000>\000.\000z\000v\000.\000)\000\134\000k\000<\000n\000a\000m\000e\000_\0003\000>\000\000", "\000a\000z\000v\000b\000a\000z\000v\000b\000\000", 0, 16);
 591   x2("\000(\000?\000<\000=\000\134\000g\000<\000a\000b\000>\000)\000|\000-\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000a\000b\000>\000X\000y\000Z\000)\000\000", "\000X\000y\000Z\000\000", 6, 6);
 592   x2("\000(\000?\000<\000n\000>\000|\000a\000\134\000g\000<\000n\000>\000)\000+\000\000", "\000\000", 0, 0);
 593   x2("\000(\000?\000<\000n\000>\000|\000\134\000(\000\134\000g\000<\000n\000>\000\134\000)\000)\000+\000$\000\000", "\000(\000)\000(\000(\000)\000)\000\000", 0, 12);
 594   x3("\000\134\000g\000<\000n\000>\000(\000?\000<\000n\000>\000.\000)\000{\0000\000}\000\000", "\000X\000\000", 0, 2, 1);
 595   x2("\000\134\000g\000<\000n\000>\000(\000a\000b\000c\000|\000d\000f\000(\000?\000<\000n\000>\000.\000Y\000Z\000)\000{\0002\000,\0008\000}\000)\000{\0000\000}\000\000", "\000X\000Y\000Z\000\000", 0, 6);
 596   x2("\000\134\000A\000(\000?\000<\000n\000>\000(\000a\000\134\000g\000<\000n\000>\000)\000|\000)\000\134\000z\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
 597   x2("\000(\000?\000<\000n\000>\000|\000\134\000g\000<\000m\000>\000\134\000g\000<\000n\000>\000)\000\134\000z\000|\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000m\000>\000a\000|\000(\000b\000)\000\134\000g\000<\000m\000>\000)\000\000", "\000b\000b\000b\000b\000a\000b\000b\000a\000\000", 0, 16);
 598   x2("\000(\000?\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\134\000w\000+\000\134\000s\000x\000)\000a\000+\000\134\000k\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\000", "\000 \000 \000f\000g\000 \000x\000a\000a\000a\000a\000a\000a\000a\000a\000f\000g\000 \000x\000\000", 4, 36);
 599   x3("\000(\000z\000)\000(\000)\000(\000)\000(\000?\000<\000_\0009\000>\000a\000)\000\134\000g\000<\000_\0009\000>\000\000", "\000z\000a\000a\000\000", 4, 6, 1);
 600   x2("\000(\000.\000)\000(\000(\000(\000?\000<\000_\000>\000a\000)\000)\000)\000\134\000k\000<\000_\000>\000\000", "\000z\000a\000a\000\000", 0, 6);
 601   x2("\000(\000(\000?\000<\000n\000a\000m\000e\0001\000>\000\134\000d\000)\000|\000(\000?\000<\000n\000a\000m\000e\0002\000>\000\134\000w\000)\000)\000(\000\134\000k\000<\000n\000a\000m\000e\0001\000>\000|\000\134\000k\000<\000n\000a\000m\000e\0002\000>\000)\000\000", "\000f\000f\000\000", 0, 4);
 602   x2("\000(\000?\000:\000(\000?\000<\000x\000>\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000\000", 0, 0);
 603   x2("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000e\000f\000g\000\000", 6, 18);
 604   n("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000\000");
 605   x2("\000(\000?\000:\000(\000?\000<\000n\0001\000>\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000)\000\134\000k\000<\000n\0001\000>\000$\000\000", "\000a\000-\000p\000y\000u\000m\000p\000y\000u\000m\000\000", 4, 20);
 606   x3("\000(\000?\000:\000(\000?\000<\000n\0001\000>\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000|\000(\000?\000<\000n\0001\000>\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000.\000)\000)\000\134\000k\000<\000n\0001\000>\000$\000\000", "\000x\000x\000x\000x\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000l\000m\000n\000a\000b\000c\000d\000e\000f\000g\000h\000i\000j\000k\000l\000m\000n\000\000", 8, 36, 14);
 607   x3("\000(\000?\000<\000n\000a\000m\000e\0001\000>\000)\000(\000?\000<\000n\000a\000m\000e\0002\000>\000)\000(\000?\000<\000n\000a\000m\000e\0003\000>\000)\000(\000?\000<\000n\000a\000m\000e\0004\000>\000)\000(\000?\000<\000n\000a\000m\000e\0005\000>\000)\000(\000?\000<\000n\000a\000m\000e\0006\000>\000)\000(\000?\000<\000n\000a\000m\000e\0007\000>\000)\000(\000?\000<\000n\000a\000m\000e\0008\000>\000)\000(\000?\000<\000n\000a\000m\000e\0009\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0000\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0001\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0002\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0003\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0004\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0005\000>\000)\000(\000?\000<\000n\000a\000m\000e\0001\0006\000>\000a\000a\000a\000)\000(\000?\000<\000n\000a\000m\000e\0001\0007\000>\000)\000$\000\000", "\000a\000a\000a\000\000", 0, 6, 16);
 608   x2("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000a\000\000", 0, 2);
 609   x2("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(\000a\000)\000)\000)\000)\000)\000)\000\000", 0, 26);
 610   x3("\000(\000?\000<\000f\000o\000o\000>\000a\000|\000\134\000(\000\134\000g\000<\000f\000o\000o\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(\000(\000(\000a\000)\000)\000)\000)\000)\000)\000)\000)\000\000", 0, 34, 1);
 611   x2("\000\134\000g\000<\000b\000a\000r\000>\000|\000\134\000z\000E\000N\000D\000(\000?\000<\000b\000a\000r\000>\000.\000*\000a\000b\000c\000$\000)\000\000", "\000a\000b\000c\000x\000x\000x\000a\000b\000c\000\000", 0, 18);
 612   x2("\000\134\000g\000<\0001\000>\000|\000\134\000z\000E\000N\000D\000(\000.\000a\000.\000)\000\000", "\000b\000a\000c\000\000", 0, 6);
 613   x3("\000\134\000g\000<\000_\000A\000>\000\134\000g\000<\000_\000A\000>\000|\000\134\000z\000E\000N\000D\000(\000.\000a\000.\000)\000(\000?\000<\000_\000A\000>\000.\000b\000.\000)\000\000", "\000x\000b\000x\000y\000b\000y\000\000", 6, 12, 1);
 614   x2("\000\134\000A\000(\000?\000:\000\134\000g\000<\000p\000o\000n\000>\000|\000\134\000g\000<\000p\000a\000n\000>\000|\000\134\000z\000E\000N\000D\000 \000 \000(\000?\000<\000p\000a\000n\000>\000a\000|\000c\000\134\000g\000<\000p\000o\000n\000>\000c\000)\000(\000?\000<\000p\000o\000n\000>\000b\000|\000d\000\134\000g\000<\000p\000a\000n\000>\000d\000)\000)\000$\000\000", "\000c\000d\000c\000b\000c\000d\000c\000\000", 0, 14);
 615   x2("\000\134\000A\000(\000?\000<\000n\000>\000|\000a\000\134\000g\000<\000m\000>\000)\000\134\000z\000|\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000m\000>\000\134\000g\000<\000n\000>\000)\000\000", "\000a\000a\000a\000a\000\000", 0, 8);
 616   x2("\000(\000?\000<\000n\000>\000(\000a\000|\000b\000\134\000g\000<\000n\000>\000c\000)\000{\0003\000,\0005\000}\000)\000\000", "\000b\000a\000a\000a\000a\000c\000a\000\000", 2, 10);
 617   x2("\000(\000?\000<\000n\000>\000(\000a\000|\000b\000\134\000g\000<\000n\000>\000c\000)\000{\0003\000,\0005\000}\000)\000\000", "\000b\000a\000a\000a\000a\000c\000a\000a\000a\000a\000a\000\000", 0, 20);
 618   x2("\000(\000?\000<\000p\000a\000r\000e\000>\000\134\000(\000(\000[\000^\000\134\000(\000\134\000)\000]\000+\000+\000|\000\134\000g\000<\000p\000a\000r\000e\000>\000)\000*\000+\000\134\000)\000)\000\000", "\000(\000(\000a\000)\000)\000\000", 0, 10);
 619   x2("\000(\000)\000*\000\134\0001\000\000", "\000\000", 0, 0);
 620   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000)\000*\000\134\0001\000\134\0002\000\000", "\000\000", 0, 0);
 621   x3("\000(\000?\000:\000\134\0001\000a\000|\000(\000)\000)\000*\000\000", "\000a\000\000", 0, 0, 1);
 622   x2("\000x\000(\000(\000.\000)\000*\000)\000*\000x\000\000", "\0000\000x\0001\000x\0002\000x\0003\000\000", 2, 12);
 623   x2("\000x\000(\000(\000.\000)\000*\000)\000*\000x\000(\000?\000i\000:\000\134\0001\000)\000\134\000Z\000\000", "\0000\000x\0001\000x\0002\000x\0001\000X\0002\000\000", 2, 18);
 624   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000)\000)\000*\000\134\0002\000\134\0005\000\000", "\000\000", 0, 0);
 625   x2("\000(\000?\000:\000(\000)\000|\000(\000)\000|\000(\000)\000|\000(\000x\000)\000|\000(\000)\000|\000(\000)\000)\000*\000\134\0002\000b\000\134\0005\000\000", "\000b\000\000", 0, 2);
 626   x2("\217\372\000\000", "\217\372\000\000", 0, 2);
 627   x2("\000\000", "0B\000\000", 0, 0);
 628   x2("0B\000\000", "0B\000\000", 0, 2);
 629   n("0D\000\000", "0B\000\000");
 630   x2("0F0F\000\000", "0F0F\000\000", 0, 4);
 631   x2("0B0D0F\000\000", "0B0D0F\000\000", 0, 6);
 632   x2("0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S\000\000", "0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S\000\000", 0, 70);
 633   x2("0B\000\000", "0D0B\000\000", 2, 4);
 634   x2("0D0F\000\000", "0B0D0F\000\000", 2, 6);
 635   x2("e\207\000\000", "e\207\000\000", 0, 2);
 636   x2("\000.\000\000", "0B\000\000", 0, 2);
 637   x2("\000.\000.\000\000", "0K0M\000\000", 0, 4);
 638   x2("\000\134\000w\000\000", "0J\000\000", 0, 2);
 639   n("\000\134\000W\000\000", "0B\000\000");
 640   x2("\000[\000\134\000W\000]\000\000", "0F\000$\000\000", 2, 4);
 641   x2("\000\134\000S\000\000", "0]\000\000", 0, 2);
 642   x2("\000\134\000S\000\000", "o\042\000\000", 0, 2);
 643   x2("\000\134\000b\000\000", "l\027\000 \000\000", 0, 0);
 644   x2("\000\134\000b\000\000", "\000 0{\000\000", 2, 2);
 645   x2("\000\134\000B\000\000", "0[0]\000 \000\000", 2, 2);
 646   x2("\000\134\000B\000\000", "0F\000 \000\000", 4, 4);
 647   x2("\000\134\000B\000\000", "\000 0D\000\000", 0, 0);
 648   x2("\000[0_0a\000]\000\000", "0a\000\000", 0, 2);
 649   n("\000[0j0k\000]\000\000", "0l\000\000");
 650   x2("\000[0F\000-0J\000]\000\000", "0H\000\000", 0, 2);
 651   n("\000[\000^0Q\000]\000\000", "0Q\000\000");
 652   x2("\000[\000\134\000w\000]\000\000", "0m\000\000", 0, 2);
 653   n("\000[\000\134\000d\000]\000\000", "0u\000\000");
 654   x2("\000[\000\134\000D\000]\000\000", "0o\000\000", 0, 2);
 655   n("\000[\000\134\000s\000]\000\000", "0O\000\000");
 656   x2("\000[\000\134\000S\000]\000\000", "0x\000\000", 0, 2);
 657   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "0\210\000\000", 0, 2);
 658   x2("\000[\000\134\000w\000\134\000d\000]\000\000", "\000 \000 \000 0\210\000\000", 6, 8);
 659   n("\000\134\000w\233<\216\312\000\000", "\000 \233<\216\312\000\000");
 660   x2("\233<\000\134\000W\216\312\000\000", "\233<\000 \216\312\000\000", 0, 6);
 661   x2("0B\000.0D\000.0F\000\000", "0B0B0D0D0F\000\000", 0, 10);
 662   x2("\000.\000\134\000w0F\000\134\000W\000.\000.0^\000\000", "0H0F0F\000 0F0^0^\000\000", 0, 14);
 663   x2("\000\134\000s\000\134\000w0S0S0S\000\000", "\000 0S0S0S0S\000\000", 0, 10);
 664   x2("0B0B\000.0Q\000\000", "0B0B0Q0Q\000\000", 0, 8);
 665   n("\000.0D\000\000", "0D0H\000\000");
 666   x2("\000.0J\000\000", "0J0J\000\000", 0, 4);
 667   x2("\000^0B\000\000", "0B\000\000", 0, 2);
 668   x2("\000^0\200\000$\000\000", "0\200\000\000", 0, 2);
 669   x2("\000^\000\134\000w\000$\000\000", "0k\000\000", 0, 2);
 670   x2("\000^\000\134\000w0K0M0O0Q0S\000$\000\000", "\000z0K0M0O0Q0S\000\000", 0, 12);
 671   x2("\000^\000\134\000w\000.\000.\000.0F0H0J\000$\000\000", "\000z0B0D0F0F0H0J\000\000", 0, 14);
 672   x2("\000\134\000w\000\134\000w\000\134\000s\000\134\000W0J0J0J\000\134\000d\000\000", "\000a0J\000 \000 0J0J0J\0004\000\000", 0, 16);
 673   x2("\000\134\000A0_0a0d\000\000", "0_0a0d\000\000", 0, 6);
 674   x2("0\2000\2010\202\000\134\000Z\000\000", "0\2000\2010\202\000\000", 0, 6);
 675   x2("0K0M0O\000\134\000z\000\000", "0K0M0O\000\000", 0, 6);
 676   x2("0K0M0O\000\134\000Z\000\000", "0K0M0O\000\012\000\000", 0, 6);
 677   x2("\000\134\000G0}0t\000\000", "0}0t\000\000", 0, 4);
 678   n("\000\134\000G0H\000\000", "0F0H0J\000\000");
 679   n("0h0f\000\134\000G\000\000", "0h0f\000\000");
 680   n("0~0\177\000\134\000A\000\000", "0~0\177\000\000");
 681   n("0~\000\134\000A0\177\000\000", "0~0\177\000\000");
 682   x2("\000(\000?\000=0[\000)0[\000\000", "0[\000\000", 0, 2);
 683   n("\000(\000?\000=0F\000)\000.\000\000", "0D\000\000");
 684   x2("\000(\000?\000!0F\000)0K\000\000", "0K\000\000", 0, 2);
 685   n("\000(\000?\000!0h\000)0B\000\000", "0h\000\000");
 686   x2("\000(\000?\000i\000:0B\000)\000\000", "0B\000\000", 0, 2);
 687   x2("\000(\000?\000i\000:0v0y\000)\000\000", "0v0y\000\000", 0, 4);
 688   n("\000(\000?\000i\000:0D\000)\000\000", "0F\000\000");
 689   x2("\000(\000?\000m\000:0\210\000.\000)\000\000", "0\210\000\012\000\000", 0, 4);
 690   x2("\000(\000?\000m\000:\000.0\201\000)\000\000", "0~\000\0120\201\000\000", 2, 6);
 691   x2("0B\000?\000\000", "\000\000", 0, 0);
 692   x2("Y\011\000?\000\000", "S\026\000\000", 0, 0);
 693   x2("Y\011\000?\000\000", "Y\011\000\000", 0, 2);
 694   x2("\221\317\000*\000\000", "\000\000", 0, 0);
 695   x2("\221\317\000*\000\000", "\221\317\000\000", 0, 2);
 696   x2("[P\000*\000\000", "[P[P[P\000\000", 0, 6);
 697   x2("\231\254\000*\000\000", "\236\177\231\254\231\254\231\254\231\254\000\000", 0, 0);
 698   n("\134q\000+\000\000", "\000\000");
 699   x2("l\263\000+\000\000", "l\263\000\000", 0, 2);
 700   x2("fB\000+\000\000", "fBfBfBfB\000\000", 0, 8);
 701   x2("0H\000+\000\000", "0H0H0F0F0F\000\000", 0, 4);
 702   x2("0F\000+\000\000", "0J0F0F0F0F\000\000", 2, 10);
 703   x2("\000.\000?\000\000", "0_\000\000", 0, 2);
 704   x2("\000.\000*\000\000", "0q0t0w0z\000\000", 0, 8);
 705   x2("\000.\000+\000\000", "0\215\000\000", 0, 2);
 706   x2("\000.\000+\000\000", "0D0F0H0K\000\012\000\000", 0, 8);
 707   x2("0B\000|0D\000\000", "0B\000\000", 0, 2);
 708   x2("0B\000|0D\000\000", "0D\000\000", 0, 2);
 709   x2("0B0D\000|0D0F\000\000", "0B0D\000\000", 0, 4);
 710   x2("0B0D\000|0D0F\000\000", "0D0F\000\000", 0, 4);
 711   x2("0\222\000(\000?\000:0K0M\000|0M0O\000)\000\000", "0\2220K0M\000\000", 0, 6);
 712   x2("0\222\000(\000?\000:0K0M\000|0M0O\000)0Q\000\000", "0\2220M0O0Q\000\000", 0, 8);
 713   x2("0B0D\000|\000(\000?\000:0B0F\000|0B0\222\000)\000\000", "0B0\222\000\000", 0, 4);
 714   x2("0B\000|0D\000|0F\000\000", "0H0F\000\000", 2, 4);
 715   x2("0B\000|0D\000|0F0H\000|0J0K0M\000|0O\000|0Q0S0U\000|0W0Y0[\000|0]\000|0_0a\000|0d0f0h0j0k\000|0l0m\000\000", "0W0Y0[\000\000", 0, 6);
 716   n("0B\000|0D\000|0F0H\000|0J0K0M\000|0O\000|0Q0S0U\000|0W0Y0[\000|0]\000|0_0a\000|0d0f0h0j0k\000|0l0m\000\000", "0Y0[\000\000");
 717   x2("0B\000|\000^0\217\000\000", "0v0B\000\000", 2, 4);
 718   x2("0B\000|\000^0\222\000\000", "0\2220B\000\000", 0, 2);
 719   x2("\233<\000|\000\134\000G\216\312\000\000", "0Q\216\312\233<\000\000", 4, 6);
 720   x2("\233<\000|\000\134\000G\216\312\000\000", "\216\312\233<\000\000", 0, 2);
 721   x2("\233<\000|\000\134\000A\216\312\000\000", "\000b\216\312\233<\000\000", 4, 6);
 722   x2("\233<\000|\000\134\000A\216\312\000\000", "\216\312\000\000", 0, 2);
 723   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\233<\000\000", 2, 4);
 724   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\000\000", 0, 2);
 725   x2("\233<\000|\216\312\000\134\000Z\000\000", "\216\312\000\012\000\000", 0, 2);
 726   x2("\233<\000|\216\312\000\134\000z\000\000", "\216\312\233<\000\000", 2, 4);
 727   x2("\233<\000|\216\312\000\134\000z\000\000", "\216\312\000\000", 0, 2);
 728   x2("\000\134\000w\000|\000\134\000s\000\000", "0J\000\000", 0, 2);
 729   x2("\000\134\000w\000|\000%\000\000", "\000%0J\000\000", 0, 2);
 730   x2("\000\134\000w\000|\000[\000&\000$\000]\000\000", "0F\000&\000\000", 0, 2);
 731   x2("\000[0D\000-0Q\000]\000\000", "0F\000\000", 0, 2);
 732   x2("\000[0D\000-0Q\000]\000|\000[\000^0K\000-0S\000]\000\000", "0B\000\000", 0, 2);
 733   x2("\000[0D\000-0Q\000]\000|\000[\000^0K\000-0S\000]\000\000", "0K\000\000", 0, 2);
 734   x2("\000[\000^0B\000]\000\000", "\000\012\000\000", 0, 2);
 735   x2("\000(\000?\000:0B\000|\000[0F\000-0M\000]\000)\000|0D0\222\000\000", "0F0\222\000\000", 0, 2);
 736   x2("\000(\000?\000:0B\000|\000[0F\000-0M\000]\000)\000|0D0\222\000\000", "0D0\222\000\000", 0, 4);
 737   x2("0B0D0F\000|\000(\000?\000=0Q0Q\000)\000.\000.0{\000\000", "0Q0Q0{\000\000", 0, 6);
 738   x2("0B0D0F\000|\000(\000?\000!0Q0Q\000)\000.\000.0{\000\000", "0B0D0{\000\000", 0, 6);
 739   x2("\000(\000?\000=0\2220B\000)\000.\000.0B\000|\000(\000?\000=0\2220\222\000)\000.\000.0B\000\000", "0\2220\2220B\000\000", 0, 6);
 740   x2("\000(\000?\000<\000=0B\000|0D0F\000)0D\000\000", "0D0F0D\000\000", 4, 6);
 741   n("\000(\000?\000>0B\000|0B0D0H\000)0F\000\000", "0B0D0H0F\000\000");
 742   x2("\000(\000?\000>0B0D0H\000|0B\000)0F\000\000", "0B0D0H0F\000\000", 0, 8);
 743   x2("0B\000?\000|0D\000\000", "0B\000\000", 0, 2);
 744   x2("0B\000?\000|0D\000\000", "0D\000\000", 0, 0);
 745   x2("0B\000?\000|0D\000\000", "\000\000", 0, 0);
 746   x2("0B\000*\000|0D\000\000", "0B0B\000\000", 0, 4);
 747   x2("0B\000*\000|0D\000*\000\000", "0D0B\000\000", 0, 0);
 748   x2("0B\000*\000|0D\000*\000\000", "0B0D\000\000", 0, 2);
 749   x2("\000[\000a0B\000]\000*\000|0D\000*\000\000", "\000a0B0D0D0D\000\000", 0, 4);
 750   x2("0B\000+\000|0D\000*\000\000", "\000\000", 0, 0);
 751   x2("0B\000+\000|0D\000*\000\000", "0D0D0D\000\000", 0, 6);
 752   x2("0B\000+\000|0D\000*\000\000", "0B0D0D0D\000\000", 0, 2);
 753   x2("0B\000+\000|0D\000*\000\000", "\000a0B0D0D0D\000\000", 0, 0);
 754   n("0B\000+\000|0D\000+\000\000", "\000\000");
 755   x2("\000(0B\000|0D\000)\000?\000\000", "0D\000\000", 0, 2);
 756   x2("\000(0B\000|0D\000)\000*\000\000", "0D0B\000\000", 0, 4);
 757   x2("\000(0B\000|0D\000)\000+\000\000", "0D0B0D\000\000", 0, 6);
 758   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0F0B0B0D0F0H\000\000", 0, 8);
 759   x2("\000(0B0D\000|0F0H\000)\000+\000\000", "0F0B0B0D0F0H\000\000", 4, 12);
 760   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0B0B0D0F0B\000\000", 2, 10);
 761   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "0B0D0\2220F0B\000\000", 0, 4);
 762   x2("\000(0B0D\000|0F0B\000)\000+\000\000", "\000$\000$\000z\000z\000z\000z0B0D0\2220F0B\000\000", 12, 16);
 763   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0B0D0B0D0B\000\000", 0, 10);
 764   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0D0B\000\000", 2, 4);
 765   x2("\000(0B\000|0D0B0D\000)\000+\000\000", "0D0B0B0B0D0B\000\000", 2, 8);
 766   x2("\000(\000?\000:0B\000|0D\000)\000(\000?\000:0B\000|0D\000)\000\000", "0B0D\000\000", 0, 4);
 767   x2("\000(\000?\000:0B\000*\000|0D\000*\000)\000(\000?\000:0B\000*\000|0D\000*\000)\000\000", "0B0B0B0D0D0D\000\000", 0, 6);
 768   x2("\000(\000?\000:0B\000*\000|0D\000*\000)\000(\000?\000:0B\000+\000|0D\000+\000)\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
 769   x2("\000(\000?\000:0B\000+\000|0D\000+\000)\000{\0002\000}\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
 770   x2("\000(\000?\000:0B\000+\000|0D\000+\000)\000{\0001\000,\0002\000}\000\000", "0B0B0B0D0D0D\000\000", 0, 12);
 771   x2("\000(\000?\000:0B\000+\000|\000\134\000A0D\000*\000)0F0F\000\000", "0F0F\000\000", 0, 4);
 772   n("\000(\000?\000:0B\000+\000|\000\134\000A0D\000*\000)0F0F\000\000", "0B0D0F0F\000\000");
 773   x2("\000(\000?\000:\000^0B\000+\000|0D\000+\000)\000*0F\000\000", "0B0B0D0D0D0B0D0F\000\000", 12, 16);
 774   x2("\000(\000?\000:\000^0B\000+\000|0D\000+\000)\000*0F\000\000", "0B0B0D0D0D0D0F\000\000", 0, 14);
 775   x2("0F\000{\0000\000,\000}\000\000", "0F0F0F0F\000\000", 0, 8);
 776   x2("0B\000|\000(\000?\000i\000)\000c\000\000", "\000C\000\000", 0, 2);
 777   x2("\000(\000?\000i\000)\000c\000|0B\000\000", "\000C\000\000", 0, 2);
 778   x2("\000(\000?\000i\000:0B\000)\000|\000a\000\000", "\000a\000\000", 0, 2);
 779   n("\000(\000?\000i\000:0B\000)\000|\000a\000\000", "\000A\000\000");
 780   x2("\000[0B0D0F\000]\000?\000\000", "0B0D0F\000\000", 0, 2);
 781   x2("\000[0B0D0F\000]\000*\000\000", "0B0D0F\000\000", 0, 6);
 782   x2("\000[\000^0B0D0F\000]\000*\000\000", "0B0D0F\000\000", 0, 0);
 783   n("\000[\000^0B0D0F\000]\000+\000\000", "0B0D0F\000\000");
 784   x2("0B\000?\000?\000\000", "0B0B0B\000\000", 0, 0);
 785   x2("0D0B\000?\000?0D\000\000", "0D0B0D\000\000", 0, 6);
 786   x2("0B\000*\000?\000\000", "0B0B0B\000\000", 0, 0);
 787   x2("0D0B\000*\000?\000\000", "0D0B0B\000\000", 0, 2);
 788   x2("0D0B\000*\000?0D\000\000", "0D0B0B0D\000\000", 0, 8);
 789   x2("0B\000+\000?\000\000", "0B0B0B\000\000", 0, 2);
 790   x2("0D0B\000+\000?\000\000", "0D0B0B\000\000", 0, 4);
 791   x2("0D0B\000+\000?0D\000\000", "0D0B0B0D\000\000", 0, 8);
 792   x2("\000(\000?\000:Y)\000?\000)\000?\000?\000\000", "Y)\000\000", 0, 0);
 793   x2("\000(\000?\000:Y)\000?\000?\000)\000?\000\000", "Y)\000\000", 0, 0);
 794   x2("\000(\000?\000:Y\042\000?\000)\000+\000?\000\000", "Y\042Y\042Y\042\000\000", 0, 2);
 795   x2("\000(\000?\000:\230\250\000+\000)\000?\000?\000\000", "\230\250\230\250\230\250\000\000", 0, 0);
 796   x2("\000(\000?\000:\226\352\000+\000)\000?\000?\227\034\000\000", "\226\352\226\352\226\352\227\034\000\000", 0, 8);
 797   x2("\000(\000?\000:0B0D\000)\000?\000{\0002\000}\000\000", "\000\000", 0, 0);
 798   x2("\000(\000?\000:\233<\216\312\000)\000?\000{\0002\000}\000\000", "\233<\216\312\233<\216\312\233<\000\000", 0, 8);
 799   x2("\000(\000?\000:\233<\216\312\000)\000*\000{\0000\000}\000\000", "\233<\216\312\233<\216\312\233<\000\000", 0, 0);
 800   x2("\000(\000?\000:\233<\216\312\000)\000{\0003\000,\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 16);
 801   n("\000(\000?\000:\233<\216\312\000)\000{\0003\000,\000}\000\000", "\233<\216\312\233<\216\312\000\000");
 802   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 12);
 803   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 16);
 804   x2("\000(\000?\000:\233<\216\312\000)\000{\0002\000,\0004\000}\000?\000\000", "\233<\216\312\233<\216\312\233<\216\312\233<\216\312\233<\216\312\000\000", 0, 8);
 805   x2("\000(\000?\000:\233<\216\312\000)\000{\000,\000}\000\000", "\233<\216\312\000{\000,\000}\000\000", 0, 10);
 806   x2("\000(\000?\000:0K0M0O\000)\000+\000?\000{\0002\000}\000\000", "0K0M0O0K0M0O0K0M0O\000\000", 0, 12);
 807   x3("\000(pk\000)\000\000", "pk\000\000", 0, 2, 1);
 808   x3("\000(pkl4\000)\000\000", "pkl4\000\000", 0, 4, 1);
 809   x2("\000(\000(fB\225\223\000)\000)\000\000", "fB\225\223\000\000", 0, 4);
 810   x3("\000(\000(\230\250l4\000)\000)\000\000", "\230\250l4\000\000", 0, 4, 1);
 811   x3("\000(\000(f(e\345\000)\000)\000\000", "f(e\345\000\000", 0, 4, 2);
 812   x3("\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\000(\221\317[P\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000\000", "\221\317[P\000\000", 0, 4, 20);
 813   x3("\000(0B0D\000)\000(0F0H\000)\000\000", "0B0D0F0H\000\000", 0, 4, 1);
 814   x3("\000(0B0D\000)\000(0F0H\000)\000\000", "0B0D0F0H\000\000", 4, 8, 2);
 815   x3("\000(\000)\000(0B\000)0D0F\000(0H0J0K\000)0M0O0Q0S\000\000", "0B0D0F0H0J0K0M0O0Q0S\000\000", 6, 12, 3);
 816   x3("\000(\000(\000)\000(0B\000)0D0F\000(0H0J0K\000)0M0O0Q0S\000)\000\000", "0B0D0F0H0J0K0M0O0Q0S\000\000", 6, 12, 4);
 817   x3("\000.\000*\000(0\3250\251\000)0\3630\3730\336\000(0\363\000(\000)0\2670\3450\277\000)0\2440\363\000\000", "0\3250\2510\3630\3730\3360\3630\2670\3450\2770\2440\363\000\000", 10, 18, 2);
 818   x2("\000(\000^0B\000)\000\000", "0B\000\000", 0, 2);
 819   x3("\000(0B\000)\000|\000(0B\000)\000\000", "0D0B\000\000", 2, 4, 1);
 820   x3("\000(\000^0B\000)\000|\000(0B\000)\000\000", "0D0B\000\000", 2, 4, 2);
 821   x3("\000(0B\000?\000)\000\000", "0B0B0B\000\000", 0, 2, 1);
 822   x3("\000(0~\000*\000)\000\000", "0~0~0~\000\000", 0, 6, 1);
 823   x3("\000(0h\000*\000)\000\000", "\000\000", 0, 0, 1);
 824   x3("\000(0\213\000+\000)\000\000", "0\2130\2130\2130\2130\2130\2130\213\000\000", 0, 14, 1);
 825   x3("\000(0u\000+\000|0x\000*\000)\000\000", "0u0u0u0x0x\000\000", 0, 6, 1);
 826   x3("\000(0B\000+\000|0D\000?\000)\000\000", "0D0D0D0B0B\000\000", 0, 2, 1);
 827   x3("\000(0B0D0F\000)\000?\000\000", "0B0D0F\000\000", 0, 6, 1);
 828   x3("\000(0B0D0F\000)\000*\000\000", "0B0D0F\000\000", 0, 6, 1);
 829   x3("\000(0B0D0F\000)\000+\000\000", "0B0D0F\000\000", 0, 6, 1);
 830   x3("\000(0U0W0Y\000|0B0D0F\000)\000+\000\000", "0B0D0F\000\000", 0, 6, 1);
 831   x3("\000(\000[0j0k0l\000]\000[0K0M0O\000]\000|0K0M0O\000)\000+\000\000", "0K0M0O\000\000", 0, 6, 1);
 832   x3("\000(\000(\000?\000i\000:0B0D0F\000)\000)\000\000", "0B0D0F\000\000", 0, 6, 1);
 833   x3("\000(\000(\000?\000m\000:0B\000.0F\000)\000)\000\000", "0B\000\0120F\000\000", 0, 6, 1);
 834   x3("\000(\000(\000?\000=0B0\223\000)0B\000)\000\000", "0B0\2230D\000\000", 0, 2, 1);
 835   x3("0B0D0F\000|\000(\000.0B0D0H\000)\000\000", "0\2230B0D0H\000\000", 0, 8, 1);
 836   x3("0B\000*\000(\000.\000)\000\000", "0B0B0B0B0\223\000\000", 8, 10, 1);
 837   x3("0B\000*\000?\000(\000.\000)\000\000", "0B0B0B0B0\223\000\000", 0, 2, 1);
 838   x3("0B\000*\000?\000(0\223\000)\000\000", "0B0B0B0B0\223\000\000", 8, 10, 1);
 839   x3("\000[0D0F0H\000]0B\000*\000(\000.\000)\000\000", "0H0B0B0B0B0\223\000\000", 10, 12, 1);
 840   x3("\000(\000\134\000A0D0D\000)0F0F\000\000", "0D0D0F0F\000\000", 0, 4, 1);
 841   n("\000(\000\134\000A0D0D\000)0F0F\000\000", "0\2230D0D0F0F\000\000");
 842   x3("\000(\000^0D0D\000)0F0F\000\000", "0D0D0F0F\000\000", 0, 4, 1);
 843   n("\000(\000^0D0D\000)0F0F\000\000", "0\2230D0D0F0F\000\000");
 844   x3("0\2150\215\000(0\2130\213\000$\000)\000\000", "0\2150\2150\2130\213\000\000", 4, 8, 1);
 845   n("0\2150\215\000(0\2130\213\000$\000)\000\000", "0\2150\2150\2130\2130\213\000\000");
 846   x2("\000(q!\000)\000\134\0001\000\000", "q!q!\000\000", 0, 4);
 847   n("\000(q!\000)\000\134\0001\000\000", "q!kf\000\000");
 848   x2("\000(zz\000?\000)\000\134\0001\000\000", "zzzz\000\000", 0, 4);
 849   x2("\000(zz\000?\000?\000)\000\134\0001\000\000", "zzzz\000\000", 0, 0);
 850   x2("\000(zz\000*\000)\000\134\0001\000\000", "zzzzzzzzzz\000\000", 0, 8);
 851   x3("\000(zz\000*\000)\000\134\0001\000\000", "zzzzzzzzzz\000\000", 0, 4, 1);
 852   x2("0B\000(0D\000*\000)\000\134\0001\000\000", "0B0D0D0D0D\000\000", 0, 10);
 853   x2("0B\000(0D\000*\000)\000\134\0001\000\000", "0B0D\000\000", 0, 2);
 854   x2("\000(0B\000*\000)\000(0D\000*\000)\000\134\0001\000\134\0002\000\000", "0B0B0B0D0D0B0B0B0D0D\000\000", 0, 20);
 855   x2("\000(0B\000*\000)\000(0D\000*\000)\000\134\0002\000\000", "0B0B0B0D0D0D0D\000\000", 0, 14);
 856   x3("\000(0B\000*\000)\000(0D\000*\000)\000\134\0002\000\000", "0B0B0B0D0D0D0D\000\000", 6, 10, 2);
 857   x2("\000(\000(\000(\000(\000(\000(\000(0}\000*\000)0z\000)\000)\000)\000)\000)\000)0t\000\134\0007\000\000", "0}0}0}0z0t0}0}0}\000\000", 0, 16);
 858   x3("\000(\000(\000(\000(\000(\000(\000(0}\000*\000)0z\000)\000)\000)\000)\000)\000)0t\000\134\0007\000\000", "0}0}0}0z0t0}0}0}\000\000", 0, 6, 7);
 859   x2("\000(0o\000)\000(0r\000)\000(0u\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "0o0r0u0r0o0u\000\000", 0, 12);
 860   x2("\000(\000[0M\000-0Q\000]\000)\000\134\0001\000\000", "0O0O\000\000", 0, 4);
 861   x2("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000 \000\000", 0, 12);
 862   n("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000\000");
 863   x2("\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "\212\260\377\037\212\260\377\037\000\000", 0, 8);
 864   x2("\000.\000.\000.\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "0B\000a0B\212\260\377\037\212\260\377\037\000\000", 0, 14);
 865   x2("\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "0F0D0F0F0D0F\000\000", 0, 12);
 866   x2("\000(\000^0S\000)\000\134\0001\000\000", "0S0S\000\000", 0, 4);
 867   n("\000(\000^0\200\000)\000\134\0001\000\000", "0\2010\2000\200\000\000");
 868   n("\000(0B\000$\000)\000\134\0001\000\000", "0B0B\000\000");
 869   n("\000(0B0D\000\134\000Z\000)\000\134\0001\000\000", "0B0D\000\000");
 870   x2("\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0B\000\000", 2, 2);
 871   x2("\000.\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0D0B\000\000", 2, 4);
 872   x3("\000(\000.\000(0\2040D0\206\000)\000\134\0002\000)\000\000", "\000z0\2040D0\2060\2040D0\206\000\000", 0, 14, 1);
 873   x3("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "0B\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1);
 874   x2("\000(\000(\000?\000i\000:0B\000v0Z\000)\000)\000\134\0001\000\000", "0B\000v0Z0B\000v0Z\000\000", 0, 12);
 875   x2("\000(\000?\000<a\0320K\000>Y\011\000|\000\134\000(\000\134\000g\000<a\0320K\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(Y\011\000)\000)\000)\000)\000)\000)\000\000", 0, 26);
 876   x2("\000\134\000A\000(\000?\000:\000\134\000g\000<\226?\000_\0001\000>\000|\000\134\000g\000<N\221\000_\0002\000>\000|\000\134\000z}BN\206\000 \000 \000(\000?\000<\226?\000_\0001\000>\211\263\000|\201\352\000\134\000g\000<N\221\000_\0002\000>\201\352\000)\000(\000?\000<N\221\000_\0002\000>W(\000|\203\351\205\251\000\134\000g\000<\226?\000_\0001\000>\203\351\205\251\000)\000)\000$\000\000", "\203\351\205\251\201\352\203\351\205\251\201\352W(\201\352\203\351\205\251\201\352\203\351\205\251\000\000", 0, 26);
 877   x2("\000[\000[0r0u\000]\000]\000\000", "0u\000\000", 0, 2);
 878   x2("\000[\000[0D0J0F\000]0K\000]\000\000", "0K\000\000", 0, 2);
 879   n("\000[\000[\000^0B\000]\000]\000\000", "0B\000\000");
 880   n("\000[\000^\000[0B\000]\000]\000\000", "0B\000\000");
 881   x2("\000[\000^\000[\000^0B\000]\000]\000\000", "0B\000\000", 0, 2);
 882   x2("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0O\000\000", 0, 2);
 883   n("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0K\000\000");
 884   n("\000[\000[0K0M0O\000]\000&\000&0M0O\000]\000\000", "0Q\000\000");
 885   x2("\000[0B\000-0\223\000&\000&0D\000-0\222\000&\000&0F\000-0\221\000]\000\000", "0\221\000\000", 0, 2);
 886   n("\000[\000^0B\000-0\223\000&\000&0D\000-0\222\000&\000&0F\000-0\221\000]\000\000", "0\221\000\000");
 887   x2("\000[\000[\000^0B\000&\000&0B\000]\000&\000&0B\000-0\223\000]\000\000", "0D\000\000", 0, 2);
 888   n("\000[\000[\000^0B\000&\000&0B\000]\000&\000&0B\000-0\223\000]\000\000", "0B\000\000");
 889   x2("\000[\000[\000^0B\000-0\223\000&\000&0D0F0H0J\000]\000&\000&\000[\000^0F\000-0K\000]\000]\000\000", "0M\000\000", 0, 2);
 890   n("\000[\000[\000^0B\000-0\223\000&\000&0D0F0H0J\000]\000&\000&\000[\000^0F\000-0K\000]\000]\000\000", "0D\000\000");
 891   x2("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0F\000\000", 0, 2);
 892   x2("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0H\000\000", 0, 2);
 893   n("\000[\000^\000[\000^0B0D0F\000]\000&\000&\000[\000^0F0H0J\000]\000]\000\000", "0K\000\000");
 894   x2("\000[0B\000-\000&\000&\000-0B\000]\000\000", "\000-\000\000", 0, 2);
 895   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000q\000-\000w\000]\000\000", "0H\000\000", 0, 2);
 896   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\000f\000\000", 0, 2);
 897   x2("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\000g\000\000", 0, 2);
 898   n("\000[\000^\000[\000^\000a\000-\000z0B0D0F\000]\000&\000&\000[\000^\000b\000c\000d\000e\000f\000g0F0H0J\000]\000g\000-\000w\000]\000\000", "\0002\000\000");
 899   x2("\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40);
 900   x2("\000.\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40);
 901   fprintf(stdout,
 902        "\nRESULT   SUCC: %d,  FAIL: %d,  ERROR: %d      (by Oniguruma %s)\n",
 903        nsucc, nfail, nerror, onig_version());
 904 
 905 #ifndef POSIX_TEST
 906   onig_region_free(region, 1);
 907   onig_end();
 908 #endif
 909 
 910   return ((nfail == 0 && nerror == 0) ? 0 : -1);
 911 }

/* [<][>][^][v][top][bottom][index][help] */