static PyObject * Python__Py_NoneStruct;
static PyObject * Python__Py_TrueStruct;
static void (*Python_Py_Exit)(int);
static const char *(*Python_Py_GetVersion)(void);
static const char *(*Python_Py_GetPlatform)(void);
static const char *(*Python_Py_GetCopyright)(void);
static const char *(*Python_Py_GetCompiler)(void);
static const char *(*Python_Py_GetBuildInfo)(void);
static int (*Python_Py_FdIsInteractive)(FILE *, const char *);
static void (*Python_Py_Initialize)(void);
static PyObject * Python_PyBool_Type;
static PyObject * Python_PyCapsule_Type;
static int (*Python_PyCallable_Check)(PyObject *);
static void (*Python_PyDict_Clear)(PyObject *);
static PyObject *(*Python_PyDict_Copy)(PyObject *);
static int (*Python_PyDict_DelItem)(PyObject *, PyObject *);
static int (*Python_PyDict_DelItemString)(PyObject *, const char *);
static PyObject *(*Python_PyDict_GetItem)(PyObject *, PyObject *);
static PyObject *(*Python_PyDict_GetItemString)(PyObject *, const char *);
static PyObject *(*Python_PyDict_Keys)(PyObject *);
static PyObject *(*Python_PyDict_Items)(PyObject *);
static PyObject *(*Python_PyDict_New)(void);
static int (*Python_PyDict_SetItem)(PyObject *, PyObject *, PyObject *);
static int (*Python_PyDict_SetItemString)(PyObject *, const char *, PyObject *);
static int (*Python_PyDict_Size)(PyObject *);
static PyObject *(*Python_PyDict_Values)(PyObject *);
static void (*Python_PyErr_Clear)(void);
static int (*Python_PyErr_ExceptionMatches)(PyObject *);
static int (*Python_PyErr_GivenExceptionMatches)(PyObject *, PyObject *);
static PyObject *(*Python_PyErr_Occurred)(void);
static void (*Python_PyErr_Print)(void);
static void (*Python_PyErr_PrintEx)(int);
static void (*Python_PyErr_SetInterrupt)(void);
static void (*Python_PyErr_SetInterruptEx)(int);
static void (*Python_PyErr_SetNone)(PyObject *);
static void (*Python_PyErr_SetString)(PyObject *, const char *);
static void (*Python_PyErr_SetObject)(PyObject *, PyObject *);
static PyObject *(*Python_PyEval_CallObjectWithKeywords)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python_PyEval_GetBuiltins)(void);
static PyObject *(*Python_PyEval_GetGlobals)(void);
static PyObject *(*Python_PyEval_GetLocals)(void);
static PyObject * Python_PyExc_BaseException;
static PyObject * Python_PyExc_Exception;
static PyObject * Python_PyExc_StopIteration;
static PyObject * Python_PyExc_GeneratorExit;
static PyObject * Python_PyExc_ArithmeticError;
static PyObject * Python_PyExc_LookupError;
static PyObject * Python_PyExc_AssertionError;
static PyObject * Python_PyExc_AttributeError;
static PyObject * Python_PyExc_BufferError;
static PyObject * Python_PyExc_EncodingWarning;
static PyObject * Python_PyExc_EOFError;
static PyObject * Python_PyExc_FloatingPointError;
static PyObject * Python_PyExc_OSError;
static PyObject * Python_PyExc_ImportError;
static PyObject * Python_PyExc_IndexError;
static PyObject * Python_PyExc_KeyError;
static PyObject * Python_PyExc_KeyboardInterrupt;
static PyObject * Python_PyExc_MemoryError;
static PyObject * Python_PyExc_NameError;
static PyObject * Python_PyExc_OverflowError;
static PyObject * Python_PyExc_ResourceWarning;
static PyObject * Python_PyExc_RuntimeError;
static PyObject * Python_PyExc_NotImplementedError;
static PyObject * Python_PyExc_SyntaxError;
static PyObject * Python_PyExc_IndentationError;
static PyObject * Python_PyExc_TabError;
static PyObject * Python_PyExc_ReferenceError;
static PyObject * Python_PyExc_SystemError;
static PyObject * Python_PyExc_SystemExit;
static PyObject * Python_PyExc_TypeError;
static PyObject * Python_PyExc_UnboundLocalError;
static PyObject * Python_PyExc_UnicodeError;
static PyObject * Python_PyExc_UnicodeEncodeError;
static PyObject * Python_PyExc_UnicodeDecodeError;
static PyObject * Python_PyExc_UnicodeTranslateError;
static PyObject * Python_PyExc_ValueError;
static PyObject * Python_PyExc_ZeroDivisionError;
static PyObject * Python_PyExc_EnvironmentError;
static PyObject * Python_PyExc_IOError;
static PyObject * Python_PyExc_RecursionErrorInst;
static PyObject * Python_PyExc_Warning;
static PyObject * Python_PyExc_UserWarning;
static PyObject * Python_PyExc_DeprecationWarning;
static PyObject * Python_PyExc_PendingDeprecationWarning;
static PyObject * Python_PyExc_SyntaxWarning;
static PyObject * Python_PyExc_RuntimeWarning;
static PyObject * Python_PyExc_FutureWarning;
static PyObject * Python_PyExc_ImportWarning;
static PyObject * Python_PyExc_UnicodeWarning;
static PyObject * Python_PyExc_BytesWarning;
static double (*Python_PyFloat_AsDouble)(PyObject *);
static PyObject *(*Python_PyFloat_FromDouble)(double);
static PyObject * Python_PyFloat_Type;
static int (*Python_PyGILState_Check)(void);
static int (*Python_PyGILState_Ensure)(void);
static void (*Python_PyGILState_Release)(int);
static PyObject *(*Python_PyImport_AddModule)(const char *);
static void (*Python_PyImport_Cleanup)(void);
static PyObject *(*Python_PyImport_ExecCodeModule)(const char *, PyObject *);
static PyObject *(*Python_PyImport_ExecCodeModuleEx)(const char *, PyObject *, const char *);
static long (*Python_PyImport_GetMagicNumber)(void);
static PyObject *(*Python_PyImport_GetModuleDict)(void);
static int (*Python_PyImport_ImportFrozenModule)(const char *);
static PyObject *(*Python_PyImport_Import)(PyObject *);
static PyObject *(*Python_PyImport_ImportModule)(const char *);
static PyObject *(*Python_PyImport_ImportModuleLevel)(const char *, PyObject *, PyObject *, PyObject *, int);
static PyObject *(*Python_PyImport_ReloadModule)(PyObject *);
static PyObject *(*Python_PyIter_Next)(PyObject *);
static PyObject *(*Python_PyList_New)(Py_ssize_t);
static PyObject *(*Python_PyList_GetItem)(PyObject *, Py_ssize_t);
static int (*Python_PyList_SetItem)(PyObject *, int, PyObject *);
static int (*Python_PyList_Size)(PyObject *);
static long (*Python_PyLong_AsLong)(PyObject *);
static PyObject *(*Python_PyLong_FromLong)(long);
static int (*Python_PyMapping_Check)(PyObject *);
static PyObject *(*Python_PyMapping_GetItemString)(PyObject *, const char *);
static int (*Python_PyMapping_HasKey)(PyObject *, PyObject *);
static int (*Python_PyMapping_HasKeyString)(PyObject *, const char *);
static int (*Python_PyMapping_Length)(PyObject *);
static int (*Python_PyMapping_SetItemString)(PyObject *, const char *, PyObject *);
static int (*Python_PyMapping_Size)(PyObject *);
static PyObject *(*Python_PyMarshal_ReadObjectFromFile)(FILE *);
static PyObject *(*Python_PyMarshal_ReadLastObjectFromFile)(FILE *);
static PyObject *(*Python_PyMarshal_ReadObjectFromString)(const char *, Py_ssize_t);
static void (*Python_PyMarshal_WriteObjectToFile)(PyObject *, FILE *, int);
static PyObject *(*Python_PyMarshal_WriteObjectToString)(PyObject *, int);
static PyObject *(*Python_PyMethod_Function)(PyObject *);
static PyObject *(*Python_PyMethod_New)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python_PyMethod_Self)(PyObject *);
static int (*Python_PyModule_AddObject)(PyObject *, const char *, PyObject *);
static PyObject *(*Python_PyModule_GetDict)(PyObject *);
static const char *(*Python_PyModule_GetFilename)(PyObject *);
static const char *(*Python_PyModule_GetName)(PyObject *);
static PyObject *(*Python_PyModule_New)(const char *);
static PyObject * Python_PyModule_Type;
static int (*Python_PyModule_SetDocString)(PyObject *, const char *);
static PyObject *(*Python_PyNumber_Absolute)(PyObject *);
static PyObject *(*Python_PyNumber_Add)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_And)(PyObject *, PyObject *);
static int (*Python_PyNumber_Check)(PyObject *);
static PyObject *(*Python_PyNumber_Divmod)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Float)(PyObject *);
static PyObject *(*Python_PyNumber_FloorDivide)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceAdd)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceAnd)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceFloorDivide)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceLshift)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceMultiply)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceOr)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlacePower)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceRemainder)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceRshift)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceSubtract)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceTrueDivide)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_InPlaceXor)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Invert)(PyObject *);
static PyObject *(*Python_PyNumber_Long)(PyObject *);
static PyObject *(*Python_PyNumber_Lshift)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Multiply)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Negative)(PyObject *);
static PyObject *(*Python_PyNumber_Or)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Positive)(PyObject *);
static PyObject *(*Python_PyNumber_Power)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Remainder)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Rshift)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Subtract)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_TrueDivide)(PyObject *, PyObject *);
static PyObject *(*Python_PyNumber_Xor)(PyObject *, PyObject *);
static PyObject *(*Python_PyObject_Call)(PyObject *, PyObject *, PyObject *);
static int (*Python_PyObject_DelItem)(PyObject *, PyObject *);
static int (*Python_PyObject_DelItemString)(PyObject *, const char *);
static PyObject *(*Python_PyObject_Dir)(PyObject *);
static PyObject *(*Python_PyObject_GetAttr)(PyObject *, PyObject *);
static PyObject *(*Python_PyObject_GetAttrString)(PyObject *, const char *);
static PyObject *(*Python_PyObject_GetItem)(PyObject *, PyObject *);
static PyObject *(*Python_PyObject_GetIter)(PyObject *);
static int (*Python_PyObject_HasAttr)(PyObject *, PyObject *);
static int (*Python_PyObject_HasAttrString)(PyObject *, const char *);
static long (*Python_PyObject_Hash)(PyObject *);
static int (*Python_PyObject_IsTrue)(PyObject *);
static int (*Python_PyObject_IsInstance)(PyObject *, PyObject *);
static int (*Python_PyObject_IsSubclass)(PyObject *, PyObject *);
static int (*Python_PyObject_Not)(PyObject *);
static int (*Python_PyObject_Print)(PyObject *, FILE *, int);
static PyObject *(*Python_PyObject_Repr)(PyObject *);
static PyObject *(*Python_PyObject_RichCompare)(PyObject *, PyObject *, int);
static int (*Python_PyObject_RichCompareBool)(PyObject *, PyObject *, int);
static int (*Python_PyObject_SetAttr)(PyObject *, PyObject *, PyObject *);
static int (*Python_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
static int (*Python_PyObject_SetItem)(PyObject *, PyObject *, PyObject *);
static int (*Python_PyObject_Size)(PyObject *);
static PyObject *(*Python_PyObject_Str)(PyObject *);
static PyObject *(*Python_PyObject_Type)(PyObject *);
static int (*Python_PyRun_AnyFileExFlags)(FILE *, const char *, int, PyCompilerFlags *);
static PyObject *(*Python_PyRun_FileExFlags)(FILE *, const char *, int, PyObject *, PyObject *, int, PyCompilerFlags *);
static int (*Python_PyRun_InteractiveOneFlags)(FILE *, const char *, PyCompilerFlags *);
static int (*Python_PyRun_InteractiveLoopFlags)(FILE *, const char *, PyCompilerFlags *);
static int (*Python_PyRun_SimpleFileExFlags)(FILE *, const char *, int, PyCompilerFlags *);
static PyObject *(*Python_PyRun_StringFlags)(const char *, int, PyObject *, PyObject *, PyCompilerFlags *);
static int (*Python_PyRun_SimpleStringFlags)(const char *, PyCompilerFlags *);
static PyObject *(*Python_PySeqIter_New)(PyObject *);
static PyObject *(*Python_PyCallIter_New)(PyObject *, PyObject *);
static int (*Python_PySequence_Check)(PyObject *);
static PyObject *(*Python_PySequence_Concat)(PyObject *, PyObject *);
static int (*Python_PySequence_Contains)(PyObject *, PyObject *);
static int (*Python_PySequence_Count)(PyObject *, PyObject *);
static int (*Python_PySequence_DelItem)(PyObject *, Py_ssize_t);
static int (*Python_PySequence_DelSlice)(PyObject *, Py_ssize_t, Py_ssize_t);
static PyObject *(*Python_PySequence_Fast)(PyObject *, const char *);
static PyObject *(*Python_PySequence_GetItem)(PyObject *, Py_ssize_t);
static PyObject *(*Python_PySequence_GetSlice)(PyObject *, Py_ssize_t, Py_ssize_t);
static int (*Python_PySequence_In)(PyObject *, PyObject *);
static int (*Python_PySequence_Index)(PyObject *, PyObject *);
static PyObject *(*Python_PySequence_InPlaceConcat)(PyObject *, PyObject *);
static PyObject *(*Python_PySequence_InPlaceRepeat)(PyObject *, Py_ssize_t);
static int (*Python_PySequence_Length)(PyObject *);
static PyObject *(*Python_PySequence_List)(PyObject *);
static PyObject *(*Python_PySequence_Repeat)(PyObject *, Py_ssize_t);
static int (*Python_PySequence_SetItem)(PyObject *, Py_ssize_t, PyObject *);
static int (*Python_PySequence_SetSlice)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
static Py_ssize_t (*Python_PySequence_Size)(PyObject *);
static PyObject *(*Python_PySequence_Tuple)(PyObject *);
static PyObject *(*Python_PySet_New)(PyObject *);
static int (*Python_PySet_Add)(PyObject *, PyObject *);
static int (*Python_PySet_Contains)(PyObject *, PyObject *);
static int (*Python_PySet_Clear)(PyObject *);
static int (*Python_PySet_Discard)(PyObject *, PyObject *);
static int (*Python_PySet_Size)(PyObject *);
static PyObject * Python_PySet_Type;
static PyObject *(*Python_PySlice_New)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python_PyTuple_GetItem)(PyObject *, Py_ssize_t);
static PyObject *(*Python_PyTuple_GetSlice)(PyObject *, Py_ssize_t, Py_ssize_t);
static PyObject *(*Python_PyTuple_New)(Py_ssize_t);
static int (*Python_PyTuple_SetItem)(PyObject *, Py_ssize_t, PyObject *);
static int (*Python_PyTuple_Size)(PyObject *);
static int (*Python_PyType_IsSubtype)(PyObject *, PyObject *);
static PyObject * Python_PyType_Type;

/* Python 2 */
static const char *(*Python2_Py_GetProgramName)(void);
static const char *(*Python2_Py_GetPythonHome)(void);
static const char *(*Python2_Py_GetProgramFullPath)(void);
static const char *(*Python2_Py_GetPrefix)(void);
static const char *(*Python2_Py_GetExecPrefix)(void);
static const char *(*Python2_Py_GetPath)(void);
static void (*Python2_Py_SetProgramName)(const char *);
static void (*Python2_Py_SetPythonHome)(const char *);
static PyObject *(*Python2_Py_CompileStringFlags)(const char *, const char *, int, PyCompilerFlags *);
static PyObject *(*Python2_PyClass_New)(PyObject *, PyObject *, PyObject *);
static PyObject * Python2_PyExc_StandardError;
static int (*Python2_PyEval_GetRestricted)(void);
static PyObject *(*Python2_PyInstance_New)(PyObject *, PyObject *, PyObject *);
static PyObject *(*Python2_PyInstance_NewRaw)(PyObject *, PyObject *);
static long (*Python2_PyInt_AsLong)(PyObject *);
static PyObject *(*Python2_PyInt_FromLong)(long);
static long (*Python2_PyInt_GetMax)(void);
static PyObject *(*Python2_PyMethod_Class)(PyObject *);
static PyObject *(*Python2_PyNumber_Divide)(PyObject *, PyObject *);
static PyObject *(*Python2_PyNumber_InPlaceDivide)(PyObject *, PyObject *);
static PyObject *(*Python2_PyNumber_Int)(PyObject *);
static int (*Python2_PyObject_Cmp)(PyObject *, PyObject *, int *);
static int (*Python2_PyObject_Compare)(PyObject *, PyObject *);
static PyObject *(*Python2_PyObject_Unicode)(PyObject *);
static const char *(*Python2_PyString_AsString)(PyObject *);
static PyObject *(*Python2_PyString_Format)(PyObject *, PyObject *);
static PyObject *(*Python2_PyString_FromString)(const char *);
static PyObject *(*Python2_PyString_FromStringAndSize)(const char *, Py_ssize_t);
static Py_ssize_t (*Python2_PyString_Size)(PyObject *);

/* UCS 2 */
static PyObject *(*UCS2_PyUnicodeUCS2_AsEncodedString)(PyObject *, const char *, const char *);
static PyObject *(*UCS2_PyUnicodeUCS2_AsUTF8String)(PyObject *);
static PyObject *(*UCS2_PyUnicodeUCS2_AsUTF16String)(PyObject *);
static PyObject *(*UCS2_PyUnicodeUCS2_AsUTF32String)(PyObject *);
static PyObject *(*UCS2_PyUnicodeUCS2_DecodeUTF8)(const char *, Py_ssize_t, const char *);
static PyObject *(*UCS2_PyUnicodeUCS2_DecodeUTF16)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*UCS2_PyUnicodeUCS2_DecodeUTF32)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*UCS2_PyUnicodeUCS2_Format)(PyObject *, PyObject *);
static PyObject *(*UCS2_PyUnicodeUCS2_FromString)(const char *);
static int (*UCS2_PyUnicodeUCS2_GetSize)(PyObject *);
static PyObject *(*UCS2_PyUnicodeUCS2_FromUnicode)(int16_t *, Py_ssize_t);
static int16_t *(*UCS2_PyUnicodeUCS2_AsUnicode)(PyObject *);

/* UCS 4 */
static PyObject *(*UCS4_PyUnicodeUCS4_AsEncodedString)(PyObject *, const char *, const char *);
static PyObject *(*UCS4_PyUnicodeUCS4_AsUTF8String)(PyObject *);
static PyObject *(*UCS4_PyUnicodeUCS4_AsUTF16String)(PyObject *);
static PyObject *(*UCS4_PyUnicodeUCS4_AsUTF32String)(PyObject *);
static PyObject *(*UCS4_PyUnicodeUCS4_DecodeUTF8)(const char *, Py_ssize_t, const char *);
static PyObject *(*UCS4_PyUnicodeUCS4_DecodeUTF16)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*UCS4_PyUnicodeUCS4_DecodeUTF32)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*UCS4_PyUnicodeUCS4_Format)(PyObject *, PyObject *);
static PyObject *(*UCS4_PyUnicodeUCS4_FromString)(const char *);
static int (*UCS4_PyUnicodeUCS4_GetSize)(PyObject *);
static PyObject *(*UCS4_PyUnicodeUCS4_FromUnicode)(int32_t *, Py_ssize_t);
static int32_t *(*UCS4_PyUnicodeUCS4_AsUnicode)(PyObject *);

/* Python 3 */
static wchar_t *(*Python3_Py_GetProgramName)(void);
static wchar_t *(*Python3_Py_GetPythonHome)(void);
static wchar_t *(*Python3_Py_GetProgramFullPath)(void);
static wchar_t *(*Python3_Py_GetPrefix)(void);
static wchar_t *(*Python3_Py_GetExecPrefix)(void);
static wchar_t *(*Python3_Py_GetPath)(void);
static void (*Python3_Py_SetProgramName)(wchar_t *);
static void (*Python3_Py_SetPythonHome)(wchar_t *);
static PyObject *(*Python3_Py_CompileStringExFlags)(const char *, const char *, int, PyCompilerFlags *, int);
static const char *(*Python3_PyBytes_AsString)(PyObject *);
static PyObject *(*Python3_PyBytes_FromString)(const char *);
static PyObject *(*Python3_PyBytes_FromStringAndSize)(const char *, Py_ssize_t);
static Py_ssize_t (*Python3_PyBytes_Size)(PyObject *);
static PyObject *(*Python3_PyImport_ExecCodeModuleObject)(PyObject *, PyObject *, PyObject *, PyObject *);
static PyObject *(*Python3_PyImport_ExecCodeModuleWithPathnames)(const char *, PyObject *, const char *, const char *);
static PyObject *(*Python3_PyImport_ImportModuleLevelObject)(PyObject *, PyObject *, PyObject *, PyObject *, int);
static PyObject *(*Python3_PyInstanceMethod_New)(PyObject *);
static PyObject *(*Python3_PyUnicode_AsEncodedString)(PyObject *, const char *, const char *);
static PyObject *(*Python3_PyUnicode_AsUTF8String)(PyObject *);
static PyObject *(*Python3_PyUnicode_AsUTF16String)(PyObject *);
static PyObject *(*Python3_PyUnicode_AsUTF32String)(PyObject *);
static PyObject *(*Python3_PyUnicode_DecodeUTF8)(const char *, Py_ssize_t, const char *);
static PyObject *(*Python3_PyUnicode_DecodeUTF16)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*Python3_PyUnicode_DecodeUTF32)(const char *, Py_ssize_t, const char *, int *);
static PyObject *(*Python3_PyUnicode_Format)(PyObject *, PyObject *);
static PyObject *(*Python3_PyUnicode_FromString)(const char *);
static PyObject *(*Python3_PyUnicode_FromStringAndSize)(const char *, Py_ssize_t);
static Py_ssize_t (*Python3_PyUnicode_GetLength)(PyObject *);
static int (*Python3_PyUnicode_GetSize)(PyObject *);
static PyObject *(*Python3_PyUnicode_FromKindAndData)(int, int32_t *, Py_ssize_t);
static int32_t *(*Python3_PyUnicode_AsUCS4Copy)(PyObject *);
