Python__Py_NoneStruct = resolve("_Py_NoneStruct");
Python__Py_TrueStruct = resolve("_Py_TrueStruct");
Python_Py_Exit = resolve("Py_Exit");
Python_Py_GetVersion = resolve("Py_GetVersion");
Python_Py_GetPlatform = resolve("Py_GetPlatform");
Python_Py_GetCopyright = resolve("Py_GetCopyright");
Python_Py_GetCompiler = resolve("Py_GetCompiler");
Python_Py_GetBuildInfo = resolve("Py_GetBuildInfo");
Python_Py_FdIsInteractive = resolve("Py_FdIsInteractive");
Python_Py_Initialize = resolve("Py_Initialize");
Python_PyBool_Type = resolve("PyBool_Type");
Python_PyCallable_Check = resolve("PyCallable_Check");
Python_PyCapsule_IsValid = resolve("PyCapsule_IsValid");
Python_PyDict_Clear = resolve("PyDict_Clear");
Python_PyDict_Copy = resolve("PyDict_Copy");
Python_PyDict_DelItem = resolve("PyDict_DelItem");
Python_PyDict_DelItemString = resolve("PyDict_DelItemString");
Python_PyDict_GetItem = resolve("PyDict_GetItem");
Python_PyDict_GetItemString = resolve("PyDict_GetItemString");
Python_PyDict_Keys = resolve("PyDict_Keys");
Python_PyDict_Items = resolve("PyDict_Items");
Python_PyDict_New = resolve("PyDict_New");
Python_PyDict_SetItem = resolve("PyDict_SetItem");
Python_PyDict_SetItemString = resolve("PyDict_SetItemString");
Python_PyDict_Size = resolve("PyDict_Size");
Python_PyDict_Values = resolve("PyDict_Values");
Python_PyErr_Clear = resolve("PyErr_Clear");
Python_PyErr_ExceptionMatches = resolve("PyErr_ExceptionMatches");
Python_PyErr_GivenExceptionMatches = resolve("PyErr_GivenExceptionMatches");
Python_PyErr_Occurred = resolve("PyErr_Occurred");
Python_PyErr_Print = resolve("PyErr_Print");
Python_PyErr_Restore = resolve("PyErr_Restore");
Python_PyErr_PrintEx = resolve("PyErr_PrintEx");
Python_PyErr_SetNone = resolve("PyErr_SetNone");
Python_PyErr_SetString = resolve("PyErr_SetString");
Python_PyErr_SetObject = resolve("PyErr_SetObject");
Python_PyEval_CallObjectWithKeywords = resolve("PyEval_CallObjectWithKeywords");
Python_PyEval_GetBuiltins = resolve("PyEval_GetBuiltins");
Python_PyEval_GetGlobals = resolve("PyEval_GetGlobals");
Python_PyEval_GetLocals = resolve("PyEval_GetLocals");
Python_PyExc_BaseException = *(void **) resolve("PyExc_BaseException");
Python_PyExc_Exception = *(void **) resolve("PyExc_Exception");
Python_PyExc_StopIteration = *(void **) resolve("PyExc_StopIteration");
Python_PyExc_GeneratorExit = *(void **) resolve("PyExc_GeneratorExit");
Python_PyExc_ArithmeticError = *(void **) resolve("PyExc_ArithmeticError");
Python_PyExc_LookupError = *(void **) resolve("PyExc_LookupError");
Python_PyExc_AssertionError = *(void **) resolve("PyExc_AssertionError");
Python_PyExc_AttributeError = *(void **) resolve("PyExc_AttributeError");
Python_PyExc_BufferError = *(void **) resolve("PyExc_BufferError");
Python_PyExc_EOFError = *(void **) resolve("PyExc_EOFError");
Python_PyExc_FloatingPointError = *(void **) resolve("PyExc_FloatingPointError");
Python_PyExc_OSError = *(void **) resolve("PyExc_OSError");
Python_PyExc_ImportError = *(void **) resolve("PyExc_ImportError");
Python_PyExc_IndexError = *(void **) resolve("PyExc_IndexError");
Python_PyExc_KeyError = *(void **) resolve("PyExc_KeyError");
Python_PyExc_KeyboardInterrupt = *(void **) resolve("PyExc_KeyboardInterrupt");
Python_PyExc_MemoryError = *(void **) resolve("PyExc_MemoryError");
Python_PyExc_NameError = *(void **) resolve("PyExc_NameError");
Python_PyExc_OverflowError = *(void **) resolve("PyExc_OverflowError");
Python_PyExc_RuntimeError = *(void **) resolve("PyExc_RuntimeError");
Python_PyExc_NotImplementedError = *(void **) resolve("PyExc_NotImplementedError");
Python_PyExc_SyntaxError = *(void **) resolve("PyExc_SyntaxError");
Python_PyExc_IndentationError = *(void **) resolve("PyExc_IndentationError");
Python_PyExc_TabError = *(void **) resolve("PyExc_TabError");
Python_PyExc_ReferenceError = *(void **) resolve("PyExc_ReferenceError");
Python_PyExc_SystemError = *(void **) resolve("PyExc_SystemError");
Python_PyExc_SystemExit = *(void **) resolve("PyExc_SystemExit");
Python_PyExc_TypeError = *(void **) resolve("PyExc_TypeError");
Python_PyExc_UnboundLocalError = *(void **) resolve("PyExc_UnboundLocalError");
Python_PyExc_UnicodeError = *(void **) resolve("PyExc_UnicodeError");
Python_PyExc_UnicodeEncodeError = *(void **) resolve("PyExc_UnicodeEncodeError");
Python_PyExc_UnicodeDecodeError = *(void **) resolve("PyExc_UnicodeDecodeError");
Python_PyExc_UnicodeTranslateError = *(void **) resolve("PyExc_UnicodeTranslateError");
Python_PyExc_ValueError = *(void **) resolve("PyExc_ValueError");
Python_PyExc_ZeroDivisionError = *(void **) resolve("PyExc_ZeroDivisionError");
Python_PyExc_EnvironmentError = *(void **) resolve("PyExc_EnvironmentError");
Python_PyExc_IOError = *(void **) resolve("PyExc_IOError");
Python_PyExc_RecursionErrorInst = *(void **) resolve("PyExc_RecursionErrorInst");
Python_PyExc_Warning = *(void **) resolve("PyExc_Warning");
Python_PyExc_UserWarning = *(void **) resolve("PyExc_UserWarning");
Python_PyExc_DeprecationWarning = *(void **) resolve("PyExc_DeprecationWarning");
Python_PyExc_PendingDeprecationWarning = *(void **) resolve("PyExc_PendingDeprecationWarning");
Python_PyExc_SyntaxWarning = *(void **) resolve("PyExc_SyntaxWarning");
Python_PyExc_RuntimeWarning = *(void **) resolve("PyExc_RuntimeWarning");
Python_PyExc_FutureWarning = *(void **) resolve("PyExc_FutureWarning");
Python_PyExc_ImportWarning = *(void **) resolve("PyExc_ImportWarning");
Python_PyExc_UnicodeWarning = *(void **) resolve("PyExc_UnicodeWarning");
Python_PyExc_BytesWarning = *(void **) resolve("PyExc_BytesWarning");
Python_PyFloat_AsDouble = resolve("PyFloat_AsDouble");
Python_PyFloat_FromDouble = resolve("PyFloat_FromDouble");
Python_PyFloat_Type = resolve("PyFloat_Type");
Python_PyImport_AddModule = resolve("PyImport_AddModule");
Python_PyImport_Cleanup = resolve("PyImport_Cleanup");
Python_PyImport_ExecCodeModule = resolve("PyImport_ExecCodeModule");
Python_PyImport_ExecCodeModuleEx = resolve("PyImport_ExecCodeModuleEx");
Python_PyImport_GetMagicNumber = resolve("PyImport_GetMagicNumber");
Python_PyImport_GetModuleDict = resolve("PyImport_GetModuleDict");
Python_PyImport_ImportFrozenModule = resolve("PyImport_ImportFrozenModule");
Python_PyImport_Import = resolve("PyImport_Import");
Python_PyImport_ImportModule = resolve("PyImport_ImportModule");
Python_PyImport_ImportModuleLevel = resolve("PyImport_ImportModuleLevel");
Python_PyImport_ReloadModule = resolve("PyImport_ReloadModule");
Python_PyIter_Next = resolve("PyIter_Next");
Python_PyList_New = resolve("PyList_New");
Python_PyList_GetItem = resolve("PyList_GetItem");
Python_PyList_SetItem = resolve("PyList_SetItem");
Python_PyList_Size = resolve("PyList_Size");
Python_PyLong_AsLong = resolve("PyLong_AsLong");
Python_PyLong_FromLong = resolve("PyLong_FromLong");
Python_PyMapping_Check = resolve("PyMapping_Check");
Python_PyMapping_GetItemString = resolve("PyMapping_GetItemString");
Python_PyMapping_HasKey = resolve("PyMapping_HasKey");
Python_PyMapping_HasKeyString = resolve("PyMapping_HasKeyString");
Python_PyMapping_Length = resolve("PyMapping_Length");
Python_PyMapping_SetItemString = resolve("PyMapping_SetItemString");
Python_PyMapping_Size = resolve("PyMapping_Size");
Python_PyMethod_Function = resolve("PyMethod_Function");
Python_PyMethod_New = resolve("PyMethod_New");
Python_PyMethod_Self = resolve("PyMethod_Self");
Python_PyModule_AddObject = resolve("PyModule_AddObject");
Python_PyModule_GetDict = resolve("PyModule_GetDict");
Python_PyModule_GetFilename = resolve("PyModule_GetFilename");
Python_PyModule_GetName = resolve("PyModule_GetName");
Python_PyModule_New = resolve("PyModule_New");
Python_PyModule_Type = resolve("PyModule_Type");
Python_PyNumber_Absolute = resolve("PyNumber_Absolute");
Python_PyNumber_Add = resolve("PyNumber_Add");
Python_PyNumber_And = resolve("PyNumber_And");
Python_PyNumber_Check = resolve("PyNumber_Check");
Python_PyNumber_Divmod = resolve("PyNumber_Divmod");
Python_PyNumber_Float = resolve("PyNumber_Float");
Python_PyNumber_FloorDivide = resolve("PyNumber_FloorDivide");
Python_PyNumber_InPlaceAdd = resolve("PyNumber_InPlaceAdd");
Python_PyNumber_InPlaceAnd = resolve("PyNumber_InPlaceAnd");
Python_PyNumber_InPlaceFloorDivide = resolve("PyNumber_InPlaceFloorDivide");
Python_PyNumber_InPlaceLshift = resolve("PyNumber_InPlaceLshift");
Python_PyNumber_InPlaceMultiply = resolve("PyNumber_InPlaceMultiply");
Python_PyNumber_InPlaceOr = resolve("PyNumber_InPlaceOr");
Python_PyNumber_InPlacePower = resolve("PyNumber_InPlacePower");
Python_PyNumber_InPlaceRemainder = resolve("PyNumber_InPlaceRemainder");
Python_PyNumber_InPlaceRshift = resolve("PyNumber_InPlaceRshift");
Python_PyNumber_InPlaceSubtract = resolve("PyNumber_InPlaceSubtract");
Python_PyNumber_InPlaceTrueDivide = resolve("PyNumber_InPlaceTrueDivide");
Python_PyNumber_InPlaceXor = resolve("PyNumber_InPlaceXor");
Python_PyNumber_Invert = resolve("PyNumber_Invert");
Python_PyNumber_Long = resolve("PyNumber_Long");
Python_PyNumber_Lshift = resolve("PyNumber_Lshift");
Python_PyNumber_Multiply = resolve("PyNumber_Multiply");
Python_PyNumber_Negative = resolve("PyNumber_Negative");
Python_PyNumber_Or = resolve("PyNumber_Or");
Python_PyNumber_Positive = resolve("PyNumber_Positive");
Python_PyNumber_Power = resolve("PyNumber_Power");
Python_PyNumber_Remainder = resolve("PyNumber_Remainder");
Python_PyNumber_Rshift = resolve("PyNumber_Rshift");
Python_PyNumber_Subtract = resolve("PyNumber_Subtract");
Python_PyNumber_TrueDivide = resolve("PyNumber_TrueDivide");
Python_PyNumber_Xor = resolve("PyNumber_Xor");
Python_PyObject_DelItem = resolve("PyObject_DelItem");
Python_PyObject_DelItemString = resolve("PyObject_DelItemString");
Python_PyObject_GetAttr = resolve("PyObject_GetAttr");
Python_PyObject_GetAttrString = resolve("PyObject_GetAttrString");
Python_PyObject_GetItem = resolve("PyObject_GetItem");
Python_PyObject_GetIter = resolve("PyObject_GetIter");
Python_PyObject_HasAttr = resolve("PyObject_HasAttr");
Python_PyObject_HasAttrString = resolve("PyObject_HasAttrString");
Python_PyObject_Hash = resolve("PyObject_Hash");
Python_PyObject_IsTrue = resolve("PyObject_IsTrue");
Python_PyObject_Not = resolve("PyObject_Not");
Python_PyObject_Print = resolve("PyObject_Print");
Python_PyObject_Repr = resolve("PyObject_Repr");
Python_PyObject_RichCompare = resolve("PyObject_RichCompare");
Python_PyObject_RichCompareBool = resolve("PyObject_RichCompareBool");
Python_PyObject_SetAttr = resolve("PyObject_SetAttr");
Python_PyObject_SetAttrString = resolve("PyObject_SetAttrString");
Python_PyObject_SetItem = resolve("PyObject_SetItem");
Python_PyObject_Size = resolve("PyObject_Size");
Python_PyObject_Str = resolve("PyObject_Str");
Python_PyObject_Type = resolve("PyObject_Type");
Python_PyRun_AnyFileExFlags = resolve("PyRun_AnyFileExFlags");
Python_PyRun_FileExFlags = resolve("PyRun_FileExFlags");
Python_PyRun_InteractiveOneFlags = resolve("PyRun_InteractiveOneFlags");
Python_PyRun_InteractiveLoopFlags = resolve("PyRun_InteractiveLoopFlags");
Python_PyRun_SimpleFileExFlags = resolve("PyRun_SimpleFileExFlags");
Python_PyRun_StringFlags = resolve("PyRun_StringFlags");
Python_PyRun_SimpleStringFlags = resolve("PyRun_SimpleStringFlags");
Python_PySequence_Check = resolve("PySequence_Check");
Python_PySequence_Concat = resolve("PySequence_Concat");
Python_PySequence_Contains = resolve("PySequence_Contains");
Python_PySequence_Count = resolve("PySequence_Count");
Python_PySequence_DelItem = resolve("PySequence_DelItem");
Python_PySequence_DelSlice = resolve("PySequence_DelSlice");
Python_PySequence_Fast = resolve("PySequence_Fast");
Python_PySequence_GetItem = resolve("PySequence_GetItem");
Python_PySequence_GetSlice = resolve("PySequence_GetSlice");
Python_PySequence_In = resolve("PySequence_In");
Python_PySequence_Index = resolve("PySequence_Index");
Python_PySequence_InPlaceConcat = resolve("PySequence_InPlaceConcat");
Python_PySequence_InPlaceRepeat = resolve("PySequence_InPlaceRepeat");
Python_PySequence_Length = resolve("PySequence_Length");
Python_PySequence_List = resolve("PySequence_List");
Python_PySequence_Repeat = resolve("PySequence_Repeat");
Python_PySequence_SetItem = resolve("PySequence_SetItem");
Python_PySequence_SetSlice = resolve("PySequence_SetSlice");
Python_PySequence_Size = resolve("PySequence_Size");
Python_PySequence_Tuple = resolve("PySequence_Tuple");
Python_PySlice_New = resolve("PySlice_New");
Python_PyTuple_GetItem = resolve("PyTuple_GetItem");
Python_PyTuple_GetSlice = resolve("PyTuple_GetSlice");
Python_PyTuple_New = resolve("PyTuple_New");
Python_PyTuple_SetItem = resolve("PyTuple_SetItem");
Python_PyTuple_Size = resolve("PyTuple_Size");
Python_PyType_IsSubtype = resolve("PyType_IsSubtype");
Python_PyType_Type = resolve("PyType_Type");
if (version_major <= 2) {    Python2_Py_GetProgramName = resolve("Py_GetProgramName");
    Python2_Py_GetPythonHome = resolve("Py_GetPythonHome");
    Python2_Py_GetProgramFullPath = resolve("Py_GetProgramFullPath");
    Python2_Py_GetPrefix = resolve("Py_GetPrefix");
    Python2_Py_GetExecPrefix = resolve("Py_GetExecPrefix");
    Python2_Py_GetPath = resolve("Py_GetPath");
    Python2_Py_SetProgramName = resolve("Py_SetProgramName");
    Python2_Py_SetPythonHome = resolve("Py_SetPythonHome");
    Python2_Py_CompileStringFlags = resolve("Py_CompileStringFlags");
    Python2_PyClass_New = resolve("PyClass_New");
    Python2_PyExc_StandardError = *(void **) resolve("PyExc_StandardError");
    Python2_PyEval_GetRestricted = resolve("PyEval_GetRestricted");
    Python2_PyInstance_New = resolve("PyInstance_New");
    Python2_PyInstance_NewRaw = resolve("PyInstance_NewRaw");
    Python2_PyInt_AsLong = resolve("PyInt_AsLong");
    Python2_PyInt_FromLong = resolve("PyInt_FromLong");
    Python2_PyInt_GetMax = resolve("PyInt_GetMax");
    Python2_PyMethod_Class = resolve("PyMethod_Class");
    Python2_PyNumber_Divide = resolve("PyNumber_Divide");
    Python2_PyNumber_InPlaceDivide = resolve("PyNumber_InPlaceDivide");
    Python2_PyNumber_Int = resolve("PyNumber_Int");
    Python2_PyObject_Cmp = resolve("PyObject_Cmp");
    Python2_PyObject_Compare = resolve("PyObject_Compare");
    Python2_PyObject_Unicode = resolve("PyObject_Unicode");
    Python2_PyString_AsString = resolve("PyString_AsString");
    Python2_PyString_Format = resolve("PyString_Format");
    Python2_PyString_FromString = resolve("PyString_FromString");
    Python2_PyString_FromStringAndSize = resolve("PyString_FromStringAndSize");
    Python2_PyString_Size = resolve("PyString_Size");
}
else {
    Python3_Py_GetProgramName = resolve("Py_GetProgramName");
    Python3_Py_GetPythonHome = resolve("Py_GetPythonHome");
    Python3_Py_GetProgramFullPath = resolve("Py_GetProgramFullPath");
    Python3_Py_GetPrefix = resolve("Py_GetPrefix");
    Python3_Py_GetExecPrefix = resolve("Py_GetExecPrefix");
    Python3_Py_GetPath = resolve("Py_GetPath");
    Python3_Py_SetProgramName = resolve("Py_SetProgramName");
    Python3_Py_SetPythonHome = resolve("Py_SetPythonHome");
    Python3_Py_CompileStringExFlags = resolve("Py_CompileStringExFlags");
    Python3_PyBytes_AsString = resolve("PyBytes_AsString");
    Python3_PyBytes_FromString = resolve("PyBytes_FromString");
    Python3_PyBytes_Size = resolve("PyBytes_Size");
    Python3_PyImport_ExecCodeModuleObject = resolve("PyImport_ExecCodeModuleObject");
    Python3_PyImport_ExecCodeModuleWithPathnames = resolve("PyImport_ExecCodeModuleWithPathnames");
    Python3_PyImport_ImportModuleLevelObject = resolve("PyImport_ImportModuleLevelObject");
    Python3_PyInstanceMethod_New = resolve("PyInstanceMethod_New");
    Python3_PyUnicode_AsEncodedString = resolve("PyUnicode_AsEncodedString");
    Python3_PyUnicode_AsUTF8String = resolve("PyUnicode_AsUTF8String");
    Python3_PyUnicode_AsUTF16String = resolve("PyUnicode_AsUTF16String");
    Python3_PyUnicode_AsUTF32String = resolve("PyUnicode_AsUTF32String");
    Python3_PyUnicode_DecodeUTF8 = resolve("PyUnicode_DecodeUTF8");
    Python3_PyUnicode_DecodeUTF16 = resolve("PyUnicode_DecodeUTF16");
    Python3_PyUnicode_DecodeUTF32 = resolve("PyUnicode_DecodeUTF32");
    Python3_PyUnicode_Format = resolve("PyUnicode_Format");
    Python3_PyUnicode_FromString = resolve("PyUnicode_FromString");
    Python3_PyUnicode_FromStringAndSize = resolve("PyUnicode_FromStringAndSize");
    Python3_PyUnicode_GetLength = resolve("PyUnicode_GetLength");
    Python3_PyUnicode_GetSize = resolve("PyUnicode_GetSize");
    Python3_PyUnicode_FromKindAndData = resolve("PyUnicode_FromKindAndData");
    Python3_PyUnicode_AsUCS4Copy = resolve("PyUnicode_AsUCS4Copy");
}
switch (ucs) {
case UCS2:
    UCS2_PyUnicodeUCS2_AsEncodedString = resolve("PyUnicodeUCS2_AsEncodedString");
    UCS2_PyUnicodeUCS2_AsUTF8String = resolve("PyUnicodeUCS2_AsUTF8String");
    UCS2_PyUnicodeUCS2_AsUTF16String = resolve("PyUnicodeUCS2_AsUTF16String");
    UCS2_PyUnicodeUCS2_AsUTF32String = resolve("PyUnicodeUCS2_AsUTF32String");
    UCS2_PyUnicodeUCS2_DecodeUTF8 = resolve("PyUnicodeUCS2_DecodeUTF8");
    UCS2_PyUnicodeUCS2_DecodeUTF16 = resolve("PyUnicodeUCS2_DecodeUTF16");
    UCS2_PyUnicodeUCS2_DecodeUTF32 = resolve("PyUnicodeUCS2_DecodeUTF32");
    UCS2_PyUnicodeUCS2_Format = resolve("PyUnicodeUCS2_Format");
    UCS2_PyUnicodeUCS2_FromString = resolve("PyUnicodeUCS2_FromString");
    UCS2_PyUnicodeUCS2_GetSize = resolve("PyUnicodeUCS2_GetSize");
    UCS2_PyUnicodeUCS2_FromUnicode = resolve("PyUnicodeUCS2_FromUnicode");
    UCS2_PyUnicodeUCS2_AsUnicode = resolve("PyUnicodeUCS2_AsUnicode");
break;
case UCS4:
    UCS4_PyUnicodeUCS4_AsEncodedString = resolve("PyUnicodeUCS4_AsEncodedString");
    UCS4_PyUnicodeUCS4_AsUTF8String = resolve("PyUnicodeUCS4_AsUTF8String");
    UCS4_PyUnicodeUCS4_AsUTF16String = resolve("PyUnicodeUCS4_AsUTF16String");
    UCS4_PyUnicodeUCS4_AsUTF32String = resolve("PyUnicodeUCS4_AsUTF32String");
    UCS4_PyUnicodeUCS4_DecodeUTF8 = resolve("PyUnicodeUCS4_DecodeUTF8");
    UCS4_PyUnicodeUCS4_DecodeUTF16 = resolve("PyUnicodeUCS4_DecodeUTF16");
    UCS4_PyUnicodeUCS4_DecodeUTF32 = resolve("PyUnicodeUCS4_DecodeUTF32");
    UCS4_PyUnicodeUCS4_Format = resolve("PyUnicodeUCS4_Format");
    UCS4_PyUnicodeUCS4_FromString = resolve("PyUnicodeUCS4_FromString");
    UCS4_PyUnicodeUCS4_GetSize = resolve("PyUnicodeUCS4_GetSize");
    UCS4_PyUnicodeUCS4_FromUnicode = resolve("PyUnicodeUCS4_FromUnicode");
    UCS4_PyUnicodeUCS4_AsUnicode = resolve("PyUnicodeUCS4_AsUnicode");
break;
case UCS_NONE:
  break;
}
