]> granicus.if.org Git - recode/commitdiff
tests/Makefile.in: Towards Python 3.
authorFrançois Pinard <pinard@iro.umontreal.ca>
Fri, 10 Jan 2014 13:51:42 +0000 (08:51 -0500)
committerFrançois Pinard <pinard@iro.umontreal.ca>
Fri, 10 Jan 2014 13:51:42 +0000 (08:51 -0500)
tests/Makefile.in
tests/Recode.c
tests/t22_lists.py

index 7a8e94cacefd022d5f889c06accf5be76872533a..d4d11db9e369ac4ee59d65ca458453f5b403b04e 100644 (file)
@@ -491,7 +491,7 @@ Recode.so: Recode.c setup.py
        rm -fr build
 
 Recode.c: Recode.pyx
-       cd $(srcdir) && cython Recode.pyx
+       cd $(srcdir) && cython -3 Recode.pyx
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 7855f2e4679ca4b9ba954add38e62d99b7377577..d13a2b99133a57a9dbf70901cd185078190e24db 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.19 on Sun Dec  1 22:56:10 2013 */
+/* Generated by Cython 0.19 on Mon Dec  2 00:35:48 2013 */
 
 #define PY_SSIZE_T_CLEAN
 #ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -490,7 +490,7 @@ static const char *__pyx_f[] = {
 struct __pyx_obj_6Recode_Request;
 struct __pyx_obj_6Recode_Outer;
 
-/* "Recode.pyx":21
+/* "Recode.pyx":20
  * # 02111-1307, USA.
  * 
  * cdef enum bool:             # <<<<<<<<<<<<<<
@@ -502,7 +502,7 @@ enum __pyx_t_6Recode_bool {
   __pyx_e_6Recode_true = 1
 };
 
-/* "Recode.pyx":616
+/* "Recode.pyx":615
  * # Recode library at REQUEST level.
  * 
  * cdef class Request:             # <<<<<<<<<<<<<<
@@ -515,7 +515,7 @@ struct __pyx_obj_6Recode_Request {
 };
 
 
-/* "Recode.pyx":551
+/* "Recode.pyx":550
  * ## Recode library at OUTER level.
  * 
  * cdef class Outer:             # <<<<<<<<<<<<<<
@@ -929,7 +929,7 @@ static int __pyx_pw_6Recode_5Outer_1__init__(PyObject *__pyx_v_self, PyObject *_
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else {
       switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -946,7 +946,7 @@ static int __pyx_pw_6Recode_5Outer_1__init__(PyObject *__pyx_v_self, PyObject *_
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("Recode.Outer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -957,7 +957,7 @@ static int __pyx_pw_6Recode_5Outer_1__init__(PyObject *__pyx_v_self, PyObject *_
   return __pyx_r;
 }
 
-/* "Recode.pyx":554
+/* "Recode.pyx":553
  *     cdef RECODE_OUTER outer
  * 
  *     def __init__(self, auto_abort=False, iconv=False, strict=False):             # <<<<<<<<<<<<<<
@@ -978,7 +978,7 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__init__", 0);
 
-  /* "Recode.pyx":557
+  /* "Recode.pyx":556
  *         cdef int flags
  *         cdef RECODE_SINGLE single
  *         flags = 0             # <<<<<<<<<<<<<<
@@ -987,17 +987,17 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
  */
   __pyx_v_flags = 0;
 
-  /* "Recode.pyx":558
+  /* "Recode.pyx":557
  *         cdef RECODE_SINGLE single
  *         flags = 0
  *         if auto_abort:             # <<<<<<<<<<<<<<
  *             flags = flags | RECODE_AUTO_ABORT_FLAG
  *         if not iconv:
  */
-  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_abort); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_abort); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_1) {
 
-    /* "Recode.pyx":559
+    /* "Recode.pyx":558
  *         flags = 0
  *         if auto_abort:
  *             flags = flags | RECODE_AUTO_ABORT_FLAG             # <<<<<<<<<<<<<<
@@ -1009,18 +1009,18 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
   }
   __pyx_L3:;
 
-  /* "Recode.pyx":560
+  /* "Recode.pyx":559
  *         if auto_abort:
  *             flags = flags | RECODE_AUTO_ABORT_FLAG
  *         if not iconv:             # <<<<<<<<<<<<<<
  *             flags = flags | RECODE_NO_ICONV_FLAG
  *         self.outer = recode_new_outer(flags)
  */
-  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_iconv); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_iconv); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = ((!__pyx_t_1) != 0);
   if (__pyx_t_2) {
 
-    /* "Recode.pyx":561
+    /* "Recode.pyx":560
  *             flags = flags | RECODE_AUTO_ABORT_FLAG
  *         if not iconv:
  *             flags = flags | RECODE_NO_ICONV_FLAG             # <<<<<<<<<<<<<<
@@ -1032,7 +1032,7 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
   }
   __pyx_L4:;
 
-  /* "Recode.pyx":562
+  /* "Recode.pyx":561
  *         if not iconv:
  *             flags = flags | RECODE_NO_ICONV_FLAG
  *         self.outer = recode_new_outer(flags)             # <<<<<<<<<<<<<<
@@ -1041,17 +1041,17 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
  */
   __pyx_v_self->outer = recode_new_outer(__pyx_v_flags);
 
-  /* "Recode.pyx":563
+  /* "Recode.pyx":562
  *             flags = flags | RECODE_NO_ICONV_FLAG
  *         self.outer = recode_new_outer(flags)
  *         if strict:             # <<<<<<<<<<<<<<
  *             single = self.outer.single_list
  *             while single is not NULL:
  */
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_2) {
 
-    /* "Recode.pyx":564
+    /* "Recode.pyx":563
  *         self.outer = recode_new_outer(flags)
  *         if strict:
  *             single = self.outer.single_list             # <<<<<<<<<<<<<<
@@ -1061,7 +1061,7 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
     __pyx_t_3 = __pyx_v_self->outer->single_list;
     __pyx_v_single = __pyx_t_3;
 
-    /* "Recode.pyx":565
+    /* "Recode.pyx":564
  *         if strict:
  *             single = self.outer.single_list
  *             while single is not NULL:             # <<<<<<<<<<<<<<
@@ -1072,7 +1072,7 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
       __pyx_t_2 = ((__pyx_v_single != NULL) != 0);
       if (!__pyx_t_2) break;
 
-      /* "Recode.pyx":566
+      /* "Recode.pyx":565
  *             single = self.outer.single_list
  *             while single is not NULL:
  *                 single.fallback_routine = NULL             # <<<<<<<<<<<<<<
@@ -1081,7 +1081,7 @@ static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__py
  */
       __pyx_v_single->fallback_routine = NULL;
 
-      /* "Recode.pyx":567
+      /* "Recode.pyx":566
  *             while single is not NULL:
  *                 single.fallback_routine = NULL
  *                 single = single.next             # <<<<<<<<<<<<<<
@@ -1114,7 +1114,7 @@ static void __pyx_pw_6Recode_5Outer_3__dealloc__(PyObject *__pyx_v_self) {
   __Pyx_RefNannyFinishContext();
 }
 
-/* "Recode.pyx":569
+/* "Recode.pyx":568
  *                 single = single.next
  * 
  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
@@ -1126,7 +1126,7 @@ static void __pyx_pf_6Recode_5Outer_2__dealloc__(struct __pyx_obj_6Recode_Outer
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__dealloc__", 0);
 
-  /* "Recode.pyx":570
+  /* "Recode.pyx":569
  * 
  *     def __dealloc__(self):
  *         recode_delete_outer(self.outer)             # <<<<<<<<<<<<<<
@@ -1149,7 +1149,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_5default_charset(PyObject *__pyx_v_self
   return __pyx_r;
 }
 
-/* "Recode.pyx":572
+/* "Recode.pyx":571
  *         recode_delete_outer(self.outer)
  * 
  *     def default_charset(self):             # <<<<<<<<<<<<<<
@@ -1166,7 +1166,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_4default_charset(CYTHON_UNUSED struct _
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("default_charset", 0);
 
-  /* "Recode.pyx":573
+  /* "Recode.pyx":572
  * 
  *     def default_charset(self):
  *         return locale_charset()             # <<<<<<<<<<<<<<
@@ -1174,7 +1174,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_4default_charset(CYTHON_UNUSED struct _
  *     def all_charsets(self):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBytes_FromString(locale_charset()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBytes_FromString(locale_charset()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
   __pyx_r = ((PyObject *)__pyx_t_1);
   __pyx_t_1 = 0;
@@ -1203,7 +1203,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_7all_charsets(PyObject *__pyx_v_self, C
   return __pyx_r;
 }
 
-/* "Recode.pyx":575
+/* "Recode.pyx":574
  *         return locale_charset()
  * 
  *     def all_charsets(self):             # <<<<<<<<<<<<<<
@@ -1230,19 +1230,19 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("all_charsets", 0);
 
-  /* "Recode.pyx":576
+  /* "Recode.pyx":575
  * 
  *     def all_charsets(self):
  *         list = []             # <<<<<<<<<<<<<<
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_list = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":578
+  /* "Recode.pyx":577
  *         list = []
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list             # <<<<<<<<<<<<<<
@@ -1252,7 +1252,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
   __pyx_t_2 = __pyx_v_self->outer->symbol_list;
   __pyx_v_symbol = __pyx_t_2;
 
-  /* "Recode.pyx":579
+  /* "Recode.pyx":578
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list
  *         while symbol is not NULL:             # <<<<<<<<<<<<<<
@@ -1263,7 +1263,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
     __pyx_t_3 = ((__pyx_v_symbol != NULL) != 0);
     if (!__pyx_t_3) break;
 
-    /* "Recode.pyx":581
+    /* "Recode.pyx":580
  *         while symbol is not NULL:
  *             if (symbol.type == RECODE_CHARSET
  *                     and symbol is not self.outer.iconv_pivot             # <<<<<<<<<<<<<<
@@ -1273,7 +1273,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
     __pyx_t_3 = ((__pyx_v_symbol->type == RECODE_CHARSET) != 0);
     if (__pyx_t_3) {
 
-      /* "Recode.pyx":582
+      /* "Recode.pyx":581
  *             if (symbol.type == RECODE_CHARSET
  *                     and symbol is not self.outer.iconv_pivot
  *                     and symbol is not self.outer.data_symbol             # <<<<<<<<<<<<<<
@@ -1283,7 +1283,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
       __pyx_t_4 = ((__pyx_v_symbol != __pyx_v_self->outer->iconv_pivot) != 0);
       if (__pyx_t_4) {
 
-        /* "Recode.pyx":583
+        /* "Recode.pyx":582
  *                     and symbol is not self.outer.iconv_pivot
  *                     and symbol is not self.outer.data_symbol
  *                     and symbol is not self.outer.tree_symbol):             # <<<<<<<<<<<<<<
@@ -1307,22 +1307,22 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
     }
     if (__pyx_t_4) {
 
-      /* "Recode.pyx":584
+      /* "Recode.pyx":583
  *                     and symbol is not self.outer.data_symbol
  *                     and symbol is not self.outer.tree_symbol):
  *                 list.append(symbol.name)             # <<<<<<<<<<<<<<
  *             symbol = symbol.next
  *         return list
  */
-      __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
       goto __pyx_L5;
     }
     __pyx_L5:;
 
-    /* "Recode.pyx":585
+    /* "Recode.pyx":584
  *                     and symbol is not self.outer.tree_symbol):
  *                 list.append(symbol.name)
  *             symbol = symbol.next             # <<<<<<<<<<<<<<
@@ -1333,7 +1333,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_
     __pyx_v_symbol = __pyx_t_9;
   }
 
-  /* "Recode.pyx":586
+  /* "Recode.pyx":585
  *                 list.append(symbol.name)
  *             symbol = symbol.next
  *         return list             # <<<<<<<<<<<<<<
@@ -1369,7 +1369,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_9all_surfaces(PyObject *__pyx_v_self, C
   return __pyx_r;
 }
 
-/* "Recode.pyx":588
+/* "Recode.pyx":587
  *         return list
  * 
  *     def all_surfaces(self):             # <<<<<<<<<<<<<<
@@ -1392,19 +1392,19 @@ static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("all_surfaces", 0);
 
-  /* "Recode.pyx":589
+  /* "Recode.pyx":588
  * 
  *     def all_surfaces(self):
  *         list = []             # <<<<<<<<<<<<<<
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_list = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":591
+  /* "Recode.pyx":590
  *         list = []
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list             # <<<<<<<<<<<<<<
@@ -1414,7 +1414,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_
   __pyx_t_2 = __pyx_v_self->outer->symbol_list;
   __pyx_v_symbol = __pyx_t_2;
 
-  /* "Recode.pyx":592
+  /* "Recode.pyx":591
  *         cdef RECODE_SYMBOL symbol
  *         symbol = self.outer.symbol_list
  *         while symbol is not NULL:             # <<<<<<<<<<<<<<
@@ -1425,7 +1425,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_
     __pyx_t_3 = ((__pyx_v_symbol != NULL) != 0);
     if (!__pyx_t_3) break;
 
-    /* "Recode.pyx":593
+    /* "Recode.pyx":592
  *         symbol = self.outer.symbol_list
  *         while symbol is not NULL:
  *             if symbol.type != RECODE_CHARSET:             # <<<<<<<<<<<<<<
@@ -1435,22 +1435,22 @@ static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_
     __pyx_t_3 = ((__pyx_v_symbol->type != RECODE_CHARSET) != 0);
     if (__pyx_t_3) {
 
-      /* "Recode.pyx":594
+      /* "Recode.pyx":593
  *         while symbol is not NULL:
  *             if symbol.type != RECODE_CHARSET:
  *                 list.append(symbol.name)             # <<<<<<<<<<<<<<
  *             symbol = symbol.next
  *         return list
  */
-      __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
       goto __pyx_L5;
     }
     __pyx_L5:;
 
-    /* "Recode.pyx":595
+    /* "Recode.pyx":594
  *             if symbol.type != RECODE_CHARSET:
  *                 list.append(symbol.name)
  *             symbol = symbol.next             # <<<<<<<<<<<<<<
@@ -1461,7 +1461,7 @@ static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_
     __pyx_v_symbol = __pyx_t_5;
   }
 
-  /* "Recode.pyx":596
+  /* "Recode.pyx":595
  *                 list.append(symbol.name)
  *             symbol = symbol.next
  *         return list             # <<<<<<<<<<<<<<
@@ -1517,7 +1517,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_11concise_charset(PyObject *__pyx_v_sel
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "concise_charset") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "concise_charset") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else {
       switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -1530,7 +1530,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_11concise_charset(PyObject *__pyx_v_sel
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("concise_charset", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("concise_charset", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("Recode.Outer.concise_charset", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -1541,7 +1541,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_11concise_charset(PyObject *__pyx_v_sel
   return __pyx_r;
 }
 
-/* "Recode.pyx":598
+/* "Recode.pyx":597
  *         return list
  * 
  *     def concise_charset(self, format=NO_FORMAT):             # <<<<<<<<<<<<<<
@@ -1562,42 +1562,42 @@ static PyObject *__pyx_pf_6Recode_5Outer_10concise_charset(struct __pyx_obj_6Rec
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("concise_charset", 0);
 
-  /* "Recode.pyx":599
+  /* "Recode.pyx":598
  * 
  *     def concise_charset(self, format=NO_FORMAT):
  *         ok = list_concise_charset(self.outer, NULL, format)             # <<<<<<<<<<<<<<
  *         if not ok:
  *             raise error
  */
-  __pyx_t_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(list_concise_charset(__pyx_v_self->outer, NULL, __pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = ((enum recode_list_format)PyInt_AsLong(__pyx_v_format)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyInt_FromLong(list_concise_charset(__pyx_v_self->outer, NULL, __pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __pyx_v_ok = __pyx_t_2;
   __pyx_t_2 = 0;
 
-  /* "Recode.pyx":600
+  /* "Recode.pyx":599
  *     def concise_charset(self, format=NO_FORMAT):
  *         ok = list_concise_charset(self.outer, NULL, format)
  *         if not ok:             # <<<<<<<<<<<<<<
  *             raise error
  * 
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = ((!__pyx_t_3) != 0);
   if (__pyx_t_4) {
 
-    /* "Recode.pyx":601
+    /* "Recode.pyx":600
  *         ok = list_concise_charset(self.outer, NULL, format)
  *         if not ok:
  *             raise error             # <<<<<<<<<<<<<<
  * 
  *     def full_charset(self):
  */
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_Raise(__pyx_t_2, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     goto __pyx_L3;
   }
   __pyx_L3:;
@@ -1626,7 +1626,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_13full_charset(PyObject *__pyx_v_self,
   return __pyx_r;
 }
 
-/* "Recode.pyx":603
+/* "Recode.pyx":602
  *             raise error
  * 
  *     def full_charset(self):             # <<<<<<<<<<<<<<
@@ -1646,41 +1646,41 @@ static PyObject *__pyx_pf_6Recode_5Outer_12full_charset(struct __pyx_obj_6Recode
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("full_charset", 0);
 
-  /* "Recode.pyx":604
+  /* "Recode.pyx":603
  * 
  *     def full_charset(self):
  *         ok = list_full_charset(self.outer, NULL)             # <<<<<<<<<<<<<<
  *         if not ok:
  *             raise error
  */
-  __pyx_t_1 = PyInt_FromLong(list_full_charset(__pyx_v_self->outer, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(list_full_charset(__pyx_v_self->outer, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_ok = __pyx_t_1;
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":605
+  /* "Recode.pyx":604
  *     def full_charset(self):
  *         ok = list_full_charset(self.outer, NULL)
  *         if not ok:             # <<<<<<<<<<<<<<
  *             raise error
  * 
  */
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = ((!__pyx_t_2) != 0);
   if (__pyx_t_3) {
 
-    /* "Recode.pyx":606
+    /* "Recode.pyx":605
  *         ok = list_full_charset(self.outer, NULL)
  *         if not ok:
  *             raise error             # <<<<<<<<<<<<<<
  * 
  *     # Lazy, all in one call.
  */
-    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_1);
     __Pyx_Raise(__pyx_t_1, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     goto __pyx_L3;
   }
   __pyx_L3:;
@@ -1729,11 +1729,11 @@ static PyObject *__pyx_pw_6Recode_5Outer_15recode(PyObject *__pyx_v_self, PyObje
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__input)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("recode", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("recode", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "recode") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "recode") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
       goto __pyx_L5_argtuple_error;
@@ -1741,12 +1741,12 @@ static PyObject *__pyx_pw_6Recode_5Outer_15recode(PyObject *__pyx_v_self, PyObje
       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
     }
-    __pyx_v_command = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_command) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_input = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_input) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_command = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_command) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_input = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_input) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("recode", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("recode", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("Recode.Outer.recode", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -1757,7 +1757,7 @@ static PyObject *__pyx_pw_6Recode_5Outer_15recode(PyObject *__pyx_v_self, PyObje
   return __pyx_r;
 }
 
-/* "Recode.pyx":609
+/* "Recode.pyx":608
  * 
  *     # Lazy, all in one call.
  *     def recode(self, char *command, char *input):             # <<<<<<<<<<<<<<
@@ -1777,47 +1777,47 @@ static PyObject *__pyx_pf_6Recode_5Outer_14recode(struct __pyx_obj_6Recode_Outer
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("recode", 0);
 
-  /* "Recode.pyx":610
+  /* "Recode.pyx":609
  *     # Lazy, all in one call.
  *     def recode(self, char *command, char *input):
  *         request = Request(self)             # <<<<<<<<<<<<<<
  *         request.scan(command)
  *         return request.string(input)
  */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_INCREF(((PyObject *)__pyx_v_self));
   PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
   __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6Recode_Request)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6Recode_Request)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
   __pyx_v_request = ((struct __pyx_obj_6Recode_Request *)__pyx_t_2);
   __pyx_t_2 = 0;
 
-  /* "Recode.pyx":611
+  /* "Recode.pyx":610
  *     def recode(self, char *command, char *input):
  *         request = Request(self)
  *         request.scan(command)             # <<<<<<<<<<<<<<
  *         return request.string(input)
  * 
  */
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s__scan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s__scan); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_command); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_command); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_1));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
   __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":612
+  /* "Recode.pyx":611
  *         request = Request(self)
  *         request.scan(command)
  *         return request.string(input)             # <<<<<<<<<<<<<<
@@ -1825,16 +1825,16 @@ static PyObject *__pyx_pf_6Recode_5Outer_14recode(struct __pyx_obj_6Recode_Outer
  * # Recode library at REQUEST level.
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s__string); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s__string); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_input); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_input); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
   __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
@@ -1885,7 +1885,7 @@ static int __pyx_pw_6Recode_7Request_1__init__(PyObject *__pyx_v_self, PyObject
         else goto __pyx_L5_argtuple_error;
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
       goto __pyx_L5_argtuple_error;
@@ -1896,13 +1896,13 @@ static int __pyx_pw_6Recode_7Request_1__init__(PyObject *__pyx_v_self, PyObject
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("Recode.Request.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
   return -1;
   __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_r = __pyx_pf_6Recode_7Request___init__(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), __pyx_v_outer);
   goto __pyx_L0;
   __pyx_L1_error:;
@@ -1912,7 +1912,7 @@ static int __pyx_pw_6Recode_7Request_1__init__(PyObject *__pyx_v_self, PyObject
   return __pyx_r;
 }
 
-/* "Recode.pyx":619
+/* "Recode.pyx":618
  *     cdef RECODE_REQUEST request
  * 
  *     def __init__(self, Outer outer):             # <<<<<<<<<<<<<<
@@ -1925,7 +1925,7 @@ static int __pyx_pf_6Recode_7Request___init__(struct __pyx_obj_6Recode_Request *
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__init__", 0);
 
-  /* "Recode.pyx":620
+  /* "Recode.pyx":619
  * 
  *     def __init__(self, Outer outer):
  *         self.request = recode_new_request(outer.outer)             # <<<<<<<<<<<<<<
@@ -1948,7 +1948,7 @@ static void __pyx_pw_6Recode_7Request_3__dealloc__(PyObject *__pyx_v_self) {
   __Pyx_RefNannyFinishContext();
 }
 
-/* "Recode.pyx":622
+/* "Recode.pyx":621
  *         self.request = recode_new_request(outer.outer)
  * 
  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
@@ -1960,7 +1960,7 @@ static void __pyx_pf_6Recode_7Request_2__dealloc__(struct __pyx_obj_6Recode_Requ
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__dealloc__", 0);
 
-  /* "Recode.pyx":623
+  /* "Recode.pyx":622
  * 
  *     def __dealloc__(self):
  *         recode_delete_request(self.request)             # <<<<<<<<<<<<<<
@@ -1983,7 +1983,7 @@ static PyObject *__pyx_pw_6Recode_7Request_5set_verbose(PyObject *__pyx_v_self,
   return __pyx_r;
 }
 
-/* "Recode.pyx":625
+/* "Recode.pyx":624
  *         recode_delete_request(self.request)
  * 
  *     def set_verbose(self, flag):             # <<<<<<<<<<<<<<
@@ -2003,38 +2003,38 @@ static PyObject *__pyx_pf_6Recode_7Request_4set_verbose(struct __pyx_obj_6Recode
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("set_verbose", 0);
 
-  /* "Recode.pyx":626
+  /* "Recode.pyx":625
  * 
  *     def set_verbose(self, flag):
  *         previous = self.request.verbose_flag != 0             # <<<<<<<<<<<<<<
  *         self.request.verbose_flag = int(flag)
  *         return previous
  */
-  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->request->verbose_flag != 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->request->verbose_flag != 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_previous = __pyx_t_1;
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":627
+  /* "Recode.pyx":626
  *     def set_verbose(self, flag):
  *         previous = self.request.verbose_flag != 0
  *         self.request.verbose_flag = int(flag)             # <<<<<<<<<<<<<<
  *         return previous
  * 
  */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_INCREF(__pyx_v_flag);
   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_flag);
   __Pyx_GIVEREF(__pyx_v_flag);
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_t_3 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_t_2)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = ((enum __pyx_t_6Recode_bool)PyInt_AsLong(__pyx_t_2)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __pyx_v_self->request->verbose_flag = __pyx_t_3;
 
-  /* "Recode.pyx":628
+  /* "Recode.pyx":627
  *         previous = self.request.verbose_flag != 0
  *         self.request.verbose_flag = int(flag)
  *         return previous             # <<<<<<<<<<<<<<
@@ -2071,7 +2071,7 @@ static PyObject *__pyx_pw_6Recode_7Request_7scan(PyObject *__pyx_v_self, PyObjec
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("scan (wrapper)", 0);
   assert(__pyx_arg_text); {
-    __pyx_v_text = __Pyx_PyObject_AsString(__pyx_arg_text); if (unlikely((!__pyx_v_text) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_text = __Pyx_PyObject_AsString(__pyx_arg_text); if (unlikely((!__pyx_v_text) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L3_error:;
@@ -2084,7 +2084,7 @@ static PyObject *__pyx_pw_6Recode_7Request_7scan(PyObject *__pyx_v_self, PyObjec
   return __pyx_r;
 }
 
-/* "Recode.pyx":630
+/* "Recode.pyx":629
  *         return previous
  * 
  *     def scan(self, char *text):             # <<<<<<<<<<<<<<
@@ -2104,41 +2104,41 @@ static PyObject *__pyx_pf_6Recode_7Request_6scan(struct __pyx_obj_6Recode_Reques
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("scan", 0);
 
-  /* "Recode.pyx":631
+  /* "Recode.pyx":630
  * 
  *     def scan(self, char *text):
  *         ok = recode_scan_request(self.request, text)             # <<<<<<<<<<<<<<
  *         if not ok:
  *             raise error
  */
-  __pyx_t_1 = PyInt_FromLong(recode_scan_request(__pyx_v_self->request, __pyx_v_text)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(recode_scan_request(__pyx_v_self->request, __pyx_v_text)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_ok = __pyx_t_1;
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":632
+  /* "Recode.pyx":631
  *     def scan(self, char *text):
  *         ok = recode_scan_request(self.request, text)
  *         if not ok:             # <<<<<<<<<<<<<<
  *             raise error
  * 
  */
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = ((!__pyx_t_2) != 0);
   if (__pyx_t_3) {
 
-    /* "Recode.pyx":633
+    /* "Recode.pyx":632
  *         ok = recode_scan_request(self.request, text)
  *         if not ok:
  *             raise error             # <<<<<<<<<<<<<<
  * 
  *     def pair_sequence(self):
  */
-    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_1);
     __Pyx_Raise(__pyx_t_1, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     goto __pyx_L3;
   }
   __pyx_L3:;
@@ -2167,7 +2167,7 @@ static PyObject *__pyx_pw_6Recode_7Request_9pair_sequence(PyObject *__pyx_v_self
   return __pyx_r;
 }
 
-/* "Recode.pyx":635
+/* "Recode.pyx":634
  *             raise error
  * 
  *     def pair_sequence(self):             # <<<<<<<<<<<<<<
@@ -2191,19 +2191,19 @@ static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Reco
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("pair_sequence", 0);
 
-  /* "Recode.pyx":636
+  /* "Recode.pyx":635
  * 
  *     def pair_sequence(self):
  *         list = []             # <<<<<<<<<<<<<<
  *         cdef recode_step step
  *         cdef unsigned counter
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_list = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":639
+  /* "Recode.pyx":638
  *         cdef recode_step step
  *         cdef unsigned counter
  *         for counter from 0 <= counter < self.request.sequence_length:             # <<<<<<<<<<<<<<
@@ -2213,7 +2213,7 @@ static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Reco
   __pyx_t_2 = __pyx_v_self->request->sequence_length;
   for (__pyx_v_counter = 0; __pyx_v_counter < __pyx_t_2; __pyx_v_counter++) {
 
-    /* "Recode.pyx":640
+    /* "Recode.pyx":639
  *         cdef unsigned counter
  *         for counter from 0 <= counter < self.request.sequence_length:
  *             step = self.request.sequence_array[counter]             # <<<<<<<<<<<<<<
@@ -2222,18 +2222,18 @@ static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Reco
  */
     __pyx_v_step = (__pyx_v_self->request->sequence_array[__pyx_v_counter]);
 
-    /* "Recode.pyx":641
+    /* "Recode.pyx":640
  *         for counter from 0 <= counter < self.request.sequence_length:
  *             step = self.request.sequence_array[counter]
  *             list.append((step.before.name, step.after.name))             # <<<<<<<<<<<<<<
  *         return list
  * 
  */
-    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_step.before->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_step.before->name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_step.after->name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_step.after->name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1));
     __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
@@ -2241,11 +2241,11 @@ static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Reco
     __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
     __pyx_t_1 = 0;
     __pyx_t_3 = 0;
-    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_list, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
   }
 
-  /* "Recode.pyx":642
+  /* "Recode.pyx":641
  *             step = self.request.sequence_array[counter]
  *             list.append((step.before.name, step.after.name))
  *         return list             # <<<<<<<<<<<<<<
@@ -2303,11 +2303,11 @@ static PyObject *__pyx_pw_6Recode_7Request_11format_table(PyObject *__pyx_v_self
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__charset)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "format_table") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "format_table") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
       goto __pyx_L5_argtuple_error;
@@ -2315,12 +2315,12 @@ static PyObject *__pyx_pw_6Recode_7Request_11format_table(PyObject *__pyx_v_self
       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
     }
-    __pyx_v_language = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_language == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_charset = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_charset) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_language = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_language == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_charset = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_charset) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("Recode.Request.format_table", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2331,7 +2331,7 @@ static PyObject *__pyx_pw_6Recode_7Request_11format_table(PyObject *__pyx_v_self
   return __pyx_r;
 }
 
-/* "Recode.pyx":644
+/* "Recode.pyx":643
  *         return list
  * 
  *     def format_table(self, int language, char *charset):             # <<<<<<<<<<<<<<
@@ -2355,7 +2355,7 @@ static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Reco
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("format_table", 0);
 
-  /* "Recode.pyx":647
+  /* "Recode.pyx":646
  *         cdef RECODE_OUTER outer
  *         cdef bool saved
  *         outer = self.request.outer             # <<<<<<<<<<<<<<
@@ -2365,7 +2365,7 @@ static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Reco
   __pyx_t_1 = __pyx_v_self->request->outer;
   __pyx_v_outer = __pyx_t_1;
 
-  /* "Recode.pyx":648
+  /* "Recode.pyx":647
  *         cdef bool saved
  *         outer = self.request.outer
  *         saved = outer.iconv_pivot.ignore             # <<<<<<<<<<<<<<
@@ -2375,7 +2375,7 @@ static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Reco
   __pyx_t_2 = __pyx_v_outer->iconv_pivot->ignore;
   __pyx_v_saved = __pyx_t_2;
 
-  /* "Recode.pyx":649
+  /* "Recode.pyx":648
  *         outer = self.request.outer
  *         saved = outer.iconv_pivot.ignore
  *         outer.iconv_pivot.ignore = true             # <<<<<<<<<<<<<<
@@ -2384,19 +2384,19 @@ static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Reco
  */
   __pyx_v_outer->iconv_pivot->ignore = __pyx_e_6Recode_true;
 
-  /* "Recode.pyx":651
+  /* "Recode.pyx":650
  *         outer.iconv_pivot.ignore = true
  *         ok = recode_format_table(
  *                 self.request, <recode_programming_language> language, charset)             # <<<<<<<<<<<<<<
  *         outer.iconv_pivot.ignore = saved
  *         if not ok:
  */
-  __pyx_t_3 = PyInt_FromLong(recode_format_table(__pyx_v_self->request, ((enum recode_programming_language)__pyx_v_language), __pyx_v_charset)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyInt_FromLong(recode_format_table(__pyx_v_self->request, ((enum recode_programming_language)__pyx_v_language), __pyx_v_charset)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __pyx_v_ok = __pyx_t_3;
   __pyx_t_3 = 0;
 
-  /* "Recode.pyx":652
+  /* "Recode.pyx":651
  *         ok = recode_format_table(
  *                 self.request, <recode_programming_language> language, charset)
  *         outer.iconv_pivot.ignore = saved             # <<<<<<<<<<<<<<
@@ -2405,29 +2405,29 @@ static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Reco
  */
   __pyx_v_outer->iconv_pivot->ignore = __pyx_v_saved;
 
-  /* "Recode.pyx":653
+  /* "Recode.pyx":652
  *                 self.request, <recode_programming_language> language, charset)
  *         outer.iconv_pivot.ignore = saved
  *         if not ok:             # <<<<<<<<<<<<<<
  *             raise error
  * 
  */
-  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_ok); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = ((!__pyx_t_4) != 0);
   if (__pyx_t_5) {
 
-    /* "Recode.pyx":654
+    /* "Recode.pyx":653
  *         outer.iconv_pivot.ignore = saved
  *         if not ok:
  *             raise error             # <<<<<<<<<<<<<<
  * 
  *     def string(self, char *text):
  */
-    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     goto __pyx_L3;
   }
   __pyx_L3:;
@@ -2456,7 +2456,7 @@ static PyObject *__pyx_pw_6Recode_7Request_13string(PyObject *__pyx_v_self, PyOb
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("string (wrapper)", 0);
   assert(__pyx_arg_text); {
-    __pyx_v_text = __Pyx_PyObject_AsString(__pyx_arg_text); if (unlikely((!__pyx_v_text) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_text = __Pyx_PyObject_AsString(__pyx_arg_text); if (unlikely((!__pyx_v_text) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L3_error:;
@@ -2469,7 +2469,7 @@ static PyObject *__pyx_pw_6Recode_7Request_13string(PyObject *__pyx_v_self, PyOb
   return __pyx_r;
 }
 
-/* "Recode.pyx":656
+/* "Recode.pyx":655
  *             raise error
  * 
  *     def string(self, char *text):             # <<<<<<<<<<<<<<
@@ -2488,7 +2488,7 @@ static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Req
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("string", 0);
 
-  /* "Recode.pyx":658
+  /* "Recode.pyx":657
  *     def string(self, char *text):
  *         cdef char *result
  *         result = recode_string(self.request, text)             # <<<<<<<<<<<<<<
@@ -2497,7 +2497,7 @@ static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Req
  */
   __pyx_v_result = recode_string(__pyx_v_self->request, __pyx_v_text);
 
-  /* "Recode.pyx":659
+  /* "Recode.pyx":658
  *         cdef char *result
  *         result = recode_string(self.request, text)
  *         if result is NULL:             # <<<<<<<<<<<<<<
@@ -2507,23 +2507,23 @@ static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Req
   __pyx_t_1 = ((__pyx_v_result == NULL) != 0);
   if (__pyx_t_1) {
 
-    /* "Recode.pyx":660
+    /* "Recode.pyx":659
  *         result = recode_string(self.request, text)
  *         if result is NULL:
  *             raise error             # <<<<<<<<<<<<<<
  *         return result
  * 
  */
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s__error); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_Raise(__pyx_t_2, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     goto __pyx_L3;
   }
   __pyx_L3:;
 
-  /* "Recode.pyx":661
+  /* "Recode.pyx":660
  *         if result is NULL:
  *             raise error
  *         return result             # <<<<<<<<<<<<<<
@@ -2531,7 +2531,7 @@ static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Req
  *     #bool recode_string_to_buffer(
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_2));
   __pyx_r = ((PyObject *)__pyx_t_2);
   __pyx_t_2 = 0;
@@ -2826,7 +2826,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {0, 0, 0, 0, 0, 0, 0}
 };
 static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   return 0;
   __pyx_L1_error:;
   return -1;
@@ -2928,798 +2928,798 @@ PyMODINIT_FUNC PyInit_Recode(void)
   /*--- Variable export code ---*/
   /*--- Function export code ---*/
   /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (__Pyx_SetAttrString(__pyx_m, "Outer", (PyObject *)&__pyx_type_6Recode_Outer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_ptype_6Recode_Outer = &__pyx_type_6Recode_Outer;
-  if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (__Pyx_SetAttrString(__pyx_m, "Request", (PyObject *)&__pyx_type_6Recode_Request) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_ptype_6Recode_Request = &__pyx_type_6Recode_Request;
   /*--- Type import code ---*/
   /*--- Variable import code ---*/
   /*--- Function import code ---*/
   /*--- Execution code ---*/
 
-  /* "Recode.pyx":470
+  /* "Recode.pyx":469
  *     bool recode_perform_task(RECODE_TASK)
  * 
  * class error(Exception):             # <<<<<<<<<<<<<<
  *     pass
  * 
  */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_INCREF(__pyx_builtin_Exception);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_builtin_Exception);
   __Pyx_GIVEREF(__pyx_builtin_Exception);
-  __pyx_t_3 = __Pyx_CreateClass(((PyObject *)__pyx_t_2), ((PyObject *)__pyx_t_1), __pyx_n_s__error, __pyx_n_s__error, __pyx_n_s__Recode); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_CreateClass(((PyObject *)__pyx_t_2), ((PyObject *)__pyx_t_1), __pyx_n_s__error, __pyx_n_s__error, __pyx_n_s__Recode); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__error, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__error, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":475
+  /* "Recode.pyx":474
  * ## Enums repeated for Python.
  * 
  * NO_SYMBOL_TYPE = RECODE_NO_SYMBOL_TYPE             # <<<<<<<<<<<<<<
  * CHARSET = RECODE_CHARSET
  * DATA_SURFACE = RECODE_DATA_SURFACE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_SYMBOL_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_SYMBOL_TYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_SYMBOL_TYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":476
+  /* "Recode.pyx":475
  * 
  * NO_SYMBOL_TYPE = RECODE_NO_SYMBOL_TYPE
  * CHARSET = RECODE_CHARSET             # <<<<<<<<<<<<<<
  * DATA_SURFACE = RECODE_DATA_SURFACE
  * TREE_SURFACE = RECODE_TREE_SURFACE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__CHARSET, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__CHARSET, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":477
+  /* "Recode.pyx":476
  * NO_SYMBOL_TYPE = RECODE_NO_SYMBOL_TYPE
  * CHARSET = RECODE_CHARSET
  * DATA_SURFACE = RECODE_DATA_SURFACE             # <<<<<<<<<<<<<<
  * TREE_SURFACE = RECODE_TREE_SURFACE
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_DATA_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__DATA_SURFACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__DATA_SURFACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":478
+  /* "Recode.pyx":477
  * CHARSET = RECODE_CHARSET
  * DATA_SURFACE = RECODE_DATA_SURFACE
  * TREE_SURFACE = RECODE_TREE_SURFACE             # <<<<<<<<<<<<<<
  * 
  * NO_CHARSET_DATA = RECODE_NO_CHARSET_DATA
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_TREE_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_TREE_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__TREE_SURFACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__TREE_SURFACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":480
+  /* "Recode.pyx":479
  * TREE_SURFACE = RECODE_TREE_SURFACE
  * 
  * NO_CHARSET_DATA = RECODE_NO_CHARSET_DATA             # <<<<<<<<<<<<<<
  * STRIP_DATA = RECODE_STRIP_DATA
  * EXPLODE_DATA = RECODE_EXPLODE_DATA
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_CHARSET_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_CHARSET_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_CHARSET_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":481
+  /* "Recode.pyx":480
  * 
  * NO_CHARSET_DATA = RECODE_NO_CHARSET_DATA
  * STRIP_DATA = RECODE_STRIP_DATA             # <<<<<<<<<<<<<<
  * EXPLODE_DATA = RECODE_EXPLODE_DATA
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_STRIP_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRIP_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRIP_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":482
+  /* "Recode.pyx":481
  * NO_CHARSET_DATA = RECODE_NO_CHARSET_DATA
  * STRIP_DATA = RECODE_STRIP_DATA
  * EXPLODE_DATA = RECODE_EXPLODE_DATA             # <<<<<<<<<<<<<<
  * 
  * SIZE_1 = RECODE_1
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_EXPLODE_DATA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__EXPLODE_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__EXPLODE_DATA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":484
+  /* "Recode.pyx":483
  * EXPLODE_DATA = RECODE_EXPLODE_DATA
  * 
  * SIZE_1 = RECODE_1             # <<<<<<<<<<<<<<
  * SIZE_2 = RECODE_2
  * SIZE_4 = RECODE_4
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":485
+  /* "Recode.pyx":484
  * 
  * SIZE_1 = RECODE_1
  * SIZE_2 = RECODE_2             # <<<<<<<<<<<<<<
  * SIZE_4 = RECODE_4
  * SIZE_N = RECODE_N
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":486
+  /* "Recode.pyx":485
  * SIZE_1 = RECODE_1
  * SIZE_2 = RECODE_2
  * SIZE_4 = RECODE_4             # <<<<<<<<<<<<<<
  * SIZE_N = RECODE_N
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":487
+  /* "Recode.pyx":486
  * SIZE_2 = RECODE_2
  * SIZE_4 = RECODE_4
  * SIZE_N = RECODE_N             # <<<<<<<<<<<<<<
  * 
  * NO_STEP_TABLE = RECODE_NO_STEP_TABLE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_N); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_N); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_N, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SIZE_N, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":489
+  /* "Recode.pyx":488
  * SIZE_N = RECODE_N
  * 
  * NO_STEP_TABLE = RECODE_NO_STEP_TABLE             # <<<<<<<<<<<<<<
  * BYTE_TO_BYTE = RECODE_BYTE_TO_BYTE
  * BYTE_TO_STRING = RECODE_BYTE_TO_STRING
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_STEP_TABLE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_STEP_TABLE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_STEP_TABLE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":490
+  /* "Recode.pyx":489
  * 
  * NO_STEP_TABLE = RECODE_NO_STEP_TABLE
  * BYTE_TO_BYTE = RECODE_BYTE_TO_BYTE             # <<<<<<<<<<<<<<
  * BYTE_TO_STRING = RECODE_BYTE_TO_STRING
  * UCS2_TO_BYTE = RECODE_UCS2_TO_BYTE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_BYTE_TO_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_TO_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_TO_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":491
+  /* "Recode.pyx":490
  * NO_STEP_TABLE = RECODE_NO_STEP_TABLE
  * BYTE_TO_BYTE = RECODE_BYTE_TO_BYTE
  * BYTE_TO_STRING = RECODE_BYTE_TO_STRING             # <<<<<<<<<<<<<<
  * UCS2_TO_BYTE = RECODE_UCS2_TO_BYTE
  * UCS2_TO_STRING = RECODE_UCS2_TO_STRING
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_BYTE_TO_STRING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_TO_STRING, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_TO_STRING, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":492
+  /* "Recode.pyx":491
  * BYTE_TO_BYTE = RECODE_BYTE_TO_BYTE
  * BYTE_TO_STRING = RECODE_BYTE_TO_STRING
  * UCS2_TO_BYTE = RECODE_UCS2_TO_BYTE             # <<<<<<<<<<<<<<
  * UCS2_TO_STRING = RECODE_UCS2_TO_STRING
  * STRING_TO_UCS2 = RECODE_STRING_TO_UCS2
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_UCS2_TO_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UCS2_TO_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UCS2_TO_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":493
+  /* "Recode.pyx":492
  * BYTE_TO_STRING = RECODE_BYTE_TO_STRING
  * UCS2_TO_BYTE = RECODE_UCS2_TO_BYTE
  * UCS2_TO_STRING = RECODE_UCS2_TO_STRING             # <<<<<<<<<<<<<<
  * STRING_TO_UCS2 = RECODE_STRING_TO_UCS2
  * COMBINE_EXPLODE = RECODE_COMBINE_EXPLODE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_UCS2_TO_STRING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UCS2_TO_STRING, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UCS2_TO_STRING, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":494
+  /* "Recode.pyx":493
  * UCS2_TO_BYTE = RECODE_UCS2_TO_BYTE
  * UCS2_TO_STRING = RECODE_UCS2_TO_STRING
  * STRING_TO_UCS2 = RECODE_STRING_TO_UCS2             # <<<<<<<<<<<<<<
  * COMBINE_EXPLODE = RECODE_COMBINE_EXPLODE
  * COMBINE_STEP = RECODE_COMBINE_STEP
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_STRING_TO_UCS2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRING_TO_UCS2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRING_TO_UCS2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":495
+  /* "Recode.pyx":494
  * UCS2_TO_STRING = RECODE_UCS2_TO_STRING
  * STRING_TO_UCS2 = RECODE_STRING_TO_UCS2
  * COMBINE_EXPLODE = RECODE_COMBINE_EXPLODE             # <<<<<<<<<<<<<<
  * COMBINE_STEP = RECODE_COMBINE_STEP
  * EXPLODE_STEP = RECODE_EXPLODE_STEP
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_COMBINE_EXPLODE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__COMBINE_EXPLODE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__COMBINE_EXPLODE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":496
+  /* "Recode.pyx":495
  * STRING_TO_UCS2 = RECODE_STRING_TO_UCS2
  * COMBINE_EXPLODE = RECODE_COMBINE_EXPLODE
  * COMBINE_STEP = RECODE_COMBINE_STEP             # <<<<<<<<<<<<<<
  * EXPLODE_STEP = RECODE_EXPLODE_STEP
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_COMBINE_STEP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_COMBINE_STEP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__COMBINE_STEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__COMBINE_STEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":497
+  /* "Recode.pyx":496
  * COMBINE_EXPLODE = RECODE_COMBINE_EXPLODE
  * COMBINE_STEP = RECODE_COMBINE_STEP
  * EXPLODE_STEP = RECODE_EXPLODE_STEP             # <<<<<<<<<<<<<<
  * 
  * STRATEGY_UNDECIDED = RECODE_STRATEGY_UNDECIDED
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_EXPLODE_STEP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_EXPLODE_STEP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__EXPLODE_STEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__EXPLODE_STEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":499
+  /* "Recode.pyx":498
  * EXPLODE_STEP = RECODE_EXPLODE_STEP
  * 
  * STRATEGY_UNDECIDED = RECODE_STRATEGY_UNDECIDED             # <<<<<<<<<<<<<<
  * SEQUENCE_IN_MEMORY = RECODE_SEQUENCE_IN_MEMORY
  * SEQUENCE_WITH_FILES = RECODE_SEQUENCE_WITH_FILES
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_STRATEGY_UNDECIDED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRATEGY_UNDECIDED, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRATEGY_UNDECIDED, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":500
+  /* "Recode.pyx":499
  * 
  * STRATEGY_UNDECIDED = RECODE_STRATEGY_UNDECIDED
  * SEQUENCE_IN_MEMORY = RECODE_SEQUENCE_IN_MEMORY             # <<<<<<<<<<<<<<
  * SEQUENCE_WITH_FILES = RECODE_SEQUENCE_WITH_FILES
  * SEQUENCE_WITH_PIPE = RECODE_SEQUENCE_WITH_PIPE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_IN_MEMORY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_IN_MEMORY, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_IN_MEMORY, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":501
+  /* "Recode.pyx":500
  * STRATEGY_UNDECIDED = RECODE_STRATEGY_UNDECIDED
  * SEQUENCE_IN_MEMORY = RECODE_SEQUENCE_IN_MEMORY
  * SEQUENCE_WITH_FILES = RECODE_SEQUENCE_WITH_FILES             # <<<<<<<<<<<<<<
  * SEQUENCE_WITH_PIPE = RECODE_SEQUENCE_WITH_PIPE
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_FILES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_WITH_FILES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_WITH_FILES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":502
+  /* "Recode.pyx":501
  * SEQUENCE_IN_MEMORY = RECODE_SEQUENCE_IN_MEMORY
  * SEQUENCE_WITH_FILES = RECODE_SEQUENCE_WITH_FILES
  * SEQUENCE_WITH_PIPE = RECODE_SEQUENCE_WITH_PIPE             # <<<<<<<<<<<<<<
  * 
  * SWAP_UNDECIDED = RECODE_SWAP_UNDECIDED
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_PIPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SEQUENCE_WITH_PIPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_WITH_PIPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SEQUENCE_WITH_PIPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":504
+  /* "Recode.pyx":503
  * SEQUENCE_WITH_PIPE = RECODE_SEQUENCE_WITH_PIPE
  * 
  * SWAP_UNDECIDED = RECODE_SWAP_UNDECIDED             # <<<<<<<<<<<<<<
  * SWAP_NO = RECODE_SWAP_NO
  * SWAP_YES = RECODE_SWAP_YES
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_UNDECIDED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_UNDECIDED, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_UNDECIDED, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":505
+  /* "Recode.pyx":504
  * 
  * SWAP_UNDECIDED = RECODE_SWAP_UNDECIDED
  * SWAP_NO = RECODE_SWAP_NO             # <<<<<<<<<<<<<<
  * SWAP_YES = RECODE_SWAP_YES
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_NO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_NO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_NO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_NO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":506
+  /* "Recode.pyx":505
  * SWAP_UNDECIDED = RECODE_SWAP_UNDECIDED
  * SWAP_NO = RECODE_SWAP_NO
  * SWAP_YES = RECODE_SWAP_YES             # <<<<<<<<<<<<<<
  * 
  * NO_ERROR = RECODE_NO_ERROR
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_YES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SWAP_YES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_YES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SWAP_YES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":508
+  /* "Recode.pyx":507
  * SWAP_YES = RECODE_SWAP_YES
  * 
  * NO_ERROR = RECODE_NO_ERROR             # <<<<<<<<<<<<<<
  * NOT_CANONICAL = RECODE_NOT_CANONICAL
  * AMBIGUOUS_OUTPUT = RECODE_AMBIGUOUS_OUTPUT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":509
+  /* "Recode.pyx":508
  * 
  * NO_ERROR = RECODE_NO_ERROR
  * NOT_CANONICAL = RECODE_NOT_CANONICAL             # <<<<<<<<<<<<<<
  * AMBIGUOUS_OUTPUT = RECODE_AMBIGUOUS_OUTPUT
  * UNTRANSLATABLE = RECODE_UNTRANSLATABLE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NOT_CANONICAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NOT_CANONICAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NOT_CANONICAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":510
+  /* "Recode.pyx":509
  * NO_ERROR = RECODE_NO_ERROR
  * NOT_CANONICAL = RECODE_NOT_CANONICAL
  * AMBIGUOUS_OUTPUT = RECODE_AMBIGUOUS_OUTPUT             # <<<<<<<<<<<<<<
  * UNTRANSLATABLE = RECODE_UNTRANSLATABLE
  * INVALID_INPUT = RECODE_INVALID_INPUT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_AMBIGUOUS_OUTPUT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__AMBIGUOUS_OUTPUT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__AMBIGUOUS_OUTPUT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":511
+  /* "Recode.pyx":510
  * NOT_CANONICAL = RECODE_NOT_CANONICAL
  * AMBIGUOUS_OUTPUT = RECODE_AMBIGUOUS_OUTPUT
  * UNTRANSLATABLE = RECODE_UNTRANSLATABLE             # <<<<<<<<<<<<<<
  * INVALID_INPUT = RECODE_INVALID_INPUT
  * SYSTEM_ERROR = RECODE_SYSTEM_ERROR
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_UNTRANSLATABLE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UNTRANSLATABLE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__UNTRANSLATABLE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":512
+  /* "Recode.pyx":511
  * AMBIGUOUS_OUTPUT = RECODE_AMBIGUOUS_OUTPUT
  * UNTRANSLATABLE = RECODE_UNTRANSLATABLE
  * INVALID_INPUT = RECODE_INVALID_INPUT             # <<<<<<<<<<<<<<
  * SYSTEM_ERROR = RECODE_SYSTEM_ERROR
  * USER_ERROR = RECODE_USER_ERROR
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_INVALID_INPUT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_INVALID_INPUT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__INVALID_INPUT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__INVALID_INPUT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":513
+  /* "Recode.pyx":512
  * UNTRANSLATABLE = RECODE_UNTRANSLATABLE
  * INVALID_INPUT = RECODE_INVALID_INPUT
  * SYSTEM_ERROR = RECODE_SYSTEM_ERROR             # <<<<<<<<<<<<<<
  * USER_ERROR = RECODE_USER_ERROR
  * INTERNAL_ERROR = RECODE_INTERNAL_ERROR
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_SYSTEM_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SYSTEM_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__SYSTEM_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":514
+  /* "Recode.pyx":513
  * INVALID_INPUT = RECODE_INVALID_INPUT
  * SYSTEM_ERROR = RECODE_SYSTEM_ERROR
  * USER_ERROR = RECODE_USER_ERROR             # <<<<<<<<<<<<<<
  * INTERNAL_ERROR = RECODE_INTERNAL_ERROR
  * MAXIMUM_ERROR = RECODE_MAXIMUM_ERROR
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_USER_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_USER_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__USER_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__USER_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":515
+  /* "Recode.pyx":514
  * SYSTEM_ERROR = RECODE_SYSTEM_ERROR
  * USER_ERROR = RECODE_USER_ERROR
  * INTERNAL_ERROR = RECODE_INTERNAL_ERROR             # <<<<<<<<<<<<<<
  * MAXIMUM_ERROR = RECODE_MAXIMUM_ERROR
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_INTERNAL_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__INTERNAL_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__INTERNAL_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":516
+  /* "Recode.pyx":515
  * USER_ERROR = RECODE_USER_ERROR
  * INTERNAL_ERROR = RECODE_INTERNAL_ERROR
  * MAXIMUM_ERROR = RECODE_MAXIMUM_ERROR             # <<<<<<<<<<<<<<
  * 
  * NO_FORMAT = RECODE_NO_FORMAT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_MAXIMUM_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__MAXIMUM_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__MAXIMUM_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":518
+  /* "Recode.pyx":517
  * MAXIMUM_ERROR = RECODE_MAXIMUM_ERROR
  * 
  * NO_FORMAT = RECODE_NO_FORMAT             # <<<<<<<<<<<<<<
  * DECIMAL_FORMAT = RECODE_DECIMAL_FORMAT
  * OCTAL_FORMAT = RECODE_OCTAL_FORMAT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":519
+  /* "Recode.pyx":518
  * 
  * NO_FORMAT = RECODE_NO_FORMAT
  * DECIMAL_FORMAT = RECODE_DECIMAL_FORMAT             # <<<<<<<<<<<<<<
  * OCTAL_FORMAT = RECODE_OCTAL_FORMAT
  * HEXADECIMAL_FORMAT = RECODE_HEXADECIMAL_FORMAT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_DECIMAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__DECIMAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__DECIMAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":520
+  /* "Recode.pyx":519
  * NO_FORMAT = RECODE_NO_FORMAT
  * DECIMAL_FORMAT = RECODE_DECIMAL_FORMAT
  * OCTAL_FORMAT = RECODE_OCTAL_FORMAT             # <<<<<<<<<<<<<<
  * HEXADECIMAL_FORMAT = RECODE_HEXADECIMAL_FORMAT
  * FULL_FORMAT = RECODE_FULL_FORMAT
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_OCTAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__OCTAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__OCTAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":521
+  /* "Recode.pyx":520
  * DECIMAL_FORMAT = RECODE_DECIMAL_FORMAT
  * OCTAL_FORMAT = RECODE_OCTAL_FORMAT
  * HEXADECIMAL_FORMAT = RECODE_HEXADECIMAL_FORMAT             # <<<<<<<<<<<<<<
  * FULL_FORMAT = RECODE_FULL_FORMAT
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_HEXADECIMAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_HEXADECIMAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__HEXADECIMAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__HEXADECIMAL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":522
+  /* "Recode.pyx":521
  * OCTAL_FORMAT = RECODE_OCTAL_FORMAT
  * HEXADECIMAL_FORMAT = RECODE_HEXADECIMAL_FORMAT
  * FULL_FORMAT = RECODE_FULL_FORMAT             # <<<<<<<<<<<<<<
  * 
  * NO_LANGUAGE = RECODE_NO_LANGUAGE
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_FULL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_FULL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__FULL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__FULL_FORMAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":524
+  /* "Recode.pyx":523
  * FULL_FORMAT = RECODE_FULL_FORMAT
  * 
  * NO_LANGUAGE = RECODE_NO_LANGUAGE             # <<<<<<<<<<<<<<
  * LANGUAGE_C = RECODE_LANGUAGE_C
  * LANGUAGE_PERL = RECODE_LANGUAGE_PERL
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_LANGUAGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_LANGUAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_LANGUAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":525
+  /* "Recode.pyx":524
  * 
  * NO_LANGUAGE = RECODE_NO_LANGUAGE
  * LANGUAGE_C = RECODE_LANGUAGE_C             # <<<<<<<<<<<<<<
  * LANGUAGE_PERL = RECODE_LANGUAGE_PERL
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_LANGUAGE_C); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_LANGUAGE_C); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__LANGUAGE_C, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__LANGUAGE_C, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":526
+  /* "Recode.pyx":525
  * NO_LANGUAGE = RECODE_NO_LANGUAGE
  * LANGUAGE_C = RECODE_LANGUAGE_C
  * LANGUAGE_PERL = RECODE_LANGUAGE_PERL             # <<<<<<<<<<<<<<
  * 
  * NUL = NUL_
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_LANGUAGE_PERL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__LANGUAGE_PERL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__LANGUAGE_PERL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":528
+  /* "Recode.pyx":527
  * LANGUAGE_PERL = RECODE_LANGUAGE_PERL
  * 
  * NUL = NUL_             # <<<<<<<<<<<<<<
  * STRIP_SIZE = STRIP_SIZE_
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(NUL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(NUL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NUL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NUL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":529
+  /* "Recode.pyx":528
  * 
  * NUL = NUL_
  * STRIP_SIZE = STRIP_SIZE_             # <<<<<<<<<<<<<<
  * 
  * SYMBOL_CREATE_CHARSET = SYMBOL_CREATE_CHARSET_
  */
-  __pyx_t_1 = PyInt_FromLong(STRIP_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(STRIP_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRIP_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__STRIP_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":531
+  /* "Recode.pyx":530
  * STRIP_SIZE = STRIP_SIZE_
  * 
  * SYMBOL_CREATE_CHARSET = SYMBOL_CREATE_CHARSET_             # <<<<<<<<<<<<<<
  * SYMBOL_CREATE_DATA_SURFACE = SYMBOL_CREATE_DATA_SURFACE_
  * SYMBOL_CREATE_TREE_SURFACE = SYMBOL_CREATE_TREE_SURFACE_
  */
-  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":532
+  /* "Recode.pyx":531
  * 
  * SYMBOL_CREATE_CHARSET = SYMBOL_CREATE_CHARSET_
  * SYMBOL_CREATE_DATA_SURFACE = SYMBOL_CREATE_DATA_SURFACE_             # <<<<<<<<<<<<<<
  * SYMBOL_CREATE_TREE_SURFACE = SYMBOL_CREATE_TREE_SURFACE_
  * ALIAS_FIND_AS_CHARSET = ALIAS_FIND_AS_CHARSET_
  */
-  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_DATA_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_6, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_6, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":533
+  /* "Recode.pyx":532
  * SYMBOL_CREATE_CHARSET = SYMBOL_CREATE_CHARSET_
  * SYMBOL_CREATE_DATA_SURFACE = SYMBOL_CREATE_DATA_SURFACE_
  * SYMBOL_CREATE_TREE_SURFACE = SYMBOL_CREATE_TREE_SURFACE_             # <<<<<<<<<<<<<<
  * ALIAS_FIND_AS_CHARSET = ALIAS_FIND_AS_CHARSET_
  * ALIAS_FIND_AS_SURFACE = ALIAS_FIND_AS_SURFACE_
  */
-  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(SYMBOL_CREATE_TREE_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_7, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_7, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":534
+  /* "Recode.pyx":533
  * SYMBOL_CREATE_DATA_SURFACE = SYMBOL_CREATE_DATA_SURFACE_
  * SYMBOL_CREATE_TREE_SURFACE = SYMBOL_CREATE_TREE_SURFACE_
  * ALIAS_FIND_AS_CHARSET = ALIAS_FIND_AS_CHARSET_             # <<<<<<<<<<<<<<
  * ALIAS_FIND_AS_SURFACE = ALIAS_FIND_AS_SURFACE_
  * ALIAS_FIND_AS_EITHER = ALIAS_FIND_AS_EITHER_
  */
-  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_CHARSET); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":535
+  /* "Recode.pyx":534
  * SYMBOL_CREATE_TREE_SURFACE = SYMBOL_CREATE_TREE_SURFACE_
  * ALIAS_FIND_AS_CHARSET = ALIAS_FIND_AS_CHARSET_
  * ALIAS_FIND_AS_SURFACE = ALIAS_FIND_AS_SURFACE_             # <<<<<<<<<<<<<<
  * ALIAS_FIND_AS_EITHER = ALIAS_FIND_AS_EITHER_
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_SURFACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_9, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_9, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":536
+  /* "Recode.pyx":535
  * ALIAS_FIND_AS_CHARSET = ALIAS_FIND_AS_CHARSET_
  * ALIAS_FIND_AS_SURFACE = ALIAS_FIND_AS_SURFACE_
  * ALIAS_FIND_AS_EITHER = ALIAS_FIND_AS_EITHER_             # <<<<<<<<<<<<<<
  * 
  * xDONE = DONE
  */
-  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(ALIAS_FIND_AS_EITHER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_10, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_10, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":538
+  /* "Recode.pyx":537
  * ALIAS_FIND_AS_EITHER = ALIAS_FIND_AS_EITHER_
  * 
  * xDONE = DONE             # <<<<<<<<<<<<<<
  * xELSE = ELSE_
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(DONE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(DONE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__xDONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__xDONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":539
+  /* "Recode.pyx":538
  * 
  * xDONE = DONE
  * xELSE = ELSE_             # <<<<<<<<<<<<<<
  * 
  * REPLACEMENT_CHARACTER = REPLACEMENT_CHARACTER_
  */
-  __pyx_t_1 = PyInt_FromLong(ELSE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(ELSE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__xELSE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__xELSE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":541
+  /* "Recode.pyx":540
  * xELSE = ELSE_
  * 
  * REPLACEMENT_CHARACTER = REPLACEMENT_CHARACTER_             # <<<<<<<<<<<<<<
  * NOT_A_CHARACTER = NOT_A_CHARACTER_
  * BYTE_ORDER_MARK = BYTE_ORDER_MARK_
  */
-  __pyx_t_1 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(REPLACEMENT_CHARACTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_11, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_11, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":542
+  /* "Recode.pyx":541
  * 
  * REPLACEMENT_CHARACTER = REPLACEMENT_CHARACTER_
  * NOT_A_CHARACTER = NOT_A_CHARACTER_             # <<<<<<<<<<<<<<
  * BYTE_ORDER_MARK = BYTE_ORDER_MARK_
  * BYTE_ORDER_MARK_SWAPPED = BYTE_ORDER_MARK_SWAPPED_
  */
-  __pyx_t_1 = PyInt_FromLong(NOT_A_CHARACTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(NOT_A_CHARACTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NOT_A_CHARACTER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NOT_A_CHARACTER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":543
+  /* "Recode.pyx":542
  * REPLACEMENT_CHARACTER = REPLACEMENT_CHARACTER_
  * NOT_A_CHARACTER = NOT_A_CHARACTER_
  * BYTE_ORDER_MARK = BYTE_ORDER_MARK_             # <<<<<<<<<<<<<<
  * BYTE_ORDER_MARK_SWAPPED = BYTE_ORDER_MARK_SWAPPED_
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(BYTE_ORDER_MARK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_ORDER_MARK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__BYTE_ORDER_MARK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":544
+  /* "Recode.pyx":543
  * NOT_A_CHARACTER = NOT_A_CHARACTER_
  * BYTE_ORDER_MARK = BYTE_ORDER_MARK_
  * BYTE_ORDER_MARK_SWAPPED = BYTE_ORDER_MARK_SWAPPED_             # <<<<<<<<<<<<<<
  * 
  * AUTO_ABORT_FLAG = RECODE_AUTO_ABORT_FLAG
  */
-  __pyx_t_1 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(BYTE_ORDER_MARK_SWAPPED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s_12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":546
+  /* "Recode.pyx":545
  * BYTE_ORDER_MARK_SWAPPED = BYTE_ORDER_MARK_SWAPPED_
  * 
  * AUTO_ABORT_FLAG = RECODE_AUTO_ABORT_FLAG             # <<<<<<<<<<<<<<
  * NO_ICONV_FLAG = RECODE_NO_ICONV_FLAG
  * 
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_AUTO_ABORT_FLAG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_AUTO_ABORT_FLAG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__AUTO_ABORT_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__AUTO_ABORT_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":547
+  /* "Recode.pyx":546
  * 
  * AUTO_ABORT_FLAG = RECODE_AUTO_ABORT_FLAG
  * NO_ICONV_FLAG = RECODE_NO_ICONV_FLAG             # <<<<<<<<<<<<<<
  * 
  * ## Recode library at OUTER level.
  */
-  __pyx_t_1 = PyInt_FromLong(RECODE_NO_ICONV_FLAG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyInt_FromLong(RECODE_NO_ICONV_FLAG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_ICONV_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s__NO_ICONV_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "Recode.pyx":554
+  /* "Recode.pyx":553
  *     cdef RECODE_OUTER outer
  * 
  *     def __init__(self, auto_abort=False, iconv=False, strict=False):             # <<<<<<<<<<<<<<
  *         cdef int flags
  *         cdef RECODE_SINGLE single
  */
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_k_1 = __pyx_t_1;
   __Pyx_GIVEREF(__pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_k_2 = __pyx_t_1;
   __Pyx_GIVEREF(__pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_k_3 = __pyx_t_1;
   __Pyx_GIVEREF(__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "Recode.pyx":598
+  /* "Recode.pyx":597
  *         return list
  * 
  *     def concise_charset(self, format=NO_FORMAT):             # <<<<<<<<<<<<<<
  *         ok = list_concise_charset(self.outer, NULL, format)
  *         if not ok:
  */
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__NO_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__NO_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_k_4 = __pyx_t_1;
   __Pyx_GIVEREF(__pyx_t_1);
   __pyx_t_1 = 0;
 
   /* "Recode.pyx":1
- * # -*- coding: utf-8 -*-             # <<<<<<<<<<<<<<
- * # Python interface to the Recode C library, for testing.
+ * # Python interface to the Recode C library, for testing.             # <<<<<<<<<<<<<<
  * # Copyright  1996-2000, 2008 Free Software Foundation, Inc.
+ * # Franois Pinard <pinard@iro.umontreal.ca>, 1988.
  */
   __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
index fb093d7ed033d13bce8c95d2e6f4d8fb68f91397..bcbd620cdd65110dc6148898549480ab45bf34fc 100644 (file)
@@ -44,7 +44,9 @@ ISO-8859-1
 143 S3   159 AC   175 'm   191 ?I   207 I:   223 ss   239 i:   255 y:
 '''
 
+
     def test_1(self):
+        print('*1')
         output = common.external_output('$R -ld latin-1')
         common.assert_or_diff(output, self.expected)