Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /nuitka/eggshell.build/ |
Upload File : |
/* Generated code for Python module 'keyring.util'
* created by Nuitka version 1.3rc9
*
* This code is in part copyright 2022 Kay Hayen.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "nuitka/prelude.h"
#include "nuitka/unfreezing.h"
#include "__helpers.h"
/* The "module_keyring$util" is a Python object pointer of module type.
*
* Note: For full compatibility with CPython, every module variable access
* needs to go through it except for cases where the module cannot possibly
* have changed in the mean time.
*/
PyObject *module_keyring$util;
PyDictObject *moduledict_keyring$util;
/* The declarations of module constants used, if any. */
static PyObject *mod_consts[29];
#ifndef __NUITKA_NO_ASSERT__
static Py_hash_t mod_consts_hash[29];
#endif
static PyObject *module_filename_obj = NULL;
/* Indicator if this modules private constants were created yet. */
static bool constants_created = false;
/* Function to create module private constants. */
static void createModuleConstants(void) {
if (constants_created == false) {
loadConstantsBlob(&mod_consts[0], UNTRANSLATE("keyring.util"));
constants_created = true;
#ifndef __NUITKA_NO_ASSERT__
for (int i = 0; i < 29; i++) {
mod_consts_hash[i] = DEEP_HASH(mod_consts[i]);
}
#endif
}
}
// We want to be able to initialize the "__main__" constants in any case.
#if 0
void createMainModuleConstants(void) {
createModuleConstants();
}
#endif
/* Function to verify module private constants for non-corruption. */
#ifndef __NUITKA_NO_ASSERT__
void checkModuleConstants_keyring$util(void) {
// The module may not have been used at all, then ignore this.
if (constants_created == false) return;
for (int i = 0; i < 29; i++) {
assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i]));
CHECK_OBJECT_DEEP(mod_consts[i]);
}
}
#endif
// The module code objects.
static PyCodeObject *codeobj_8460b06b35cd77a84a35d206c1c10349;
static PyCodeObject *codeobj_6e7c63e4e7af64d7bc176028ba3b41b2;
static PyCodeObject *codeobj_c1453559e8220fcf77fb88382abb98f2;
static PyCodeObject *codeobj_b49387b090e229b393ab174edbff8583;
static void createModuleCodeObjects(void) {
module_filename_obj = mod_consts[12]; CHECK_OBJECT(module_filename_obj);
codeobj_8460b06b35cd77a84a35d206c1c10349 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[23], mod_consts[23], NULL, NULL, 0, 0, 0);
codeobj_6e7c63e4e7af64d7bc176028ba3b41b2 = MAKE_CODE_OBJECT(module_filename_obj, 4, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[22], mod_consts[22], mod_consts[24], NULL, 1, 0, 0);
codeobj_c1453559e8220fcf77fb88382abb98f2 = MAKE_CODE_OBJECT(module_filename_obj, 26, CO_GENERATOR | CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[10], mod_consts[25], NULL, 2, 0, 0);
codeobj_b49387b090e229b393ab174edbff8583 = MAKE_CODE_OBJECT(module_filename_obj, 19, CO_OPTIMIZED | CO_NEWLOCALS | CO_VARARGS | CO_VARKEYWORDS, mod_consts[0], mod_consts[0], mod_consts[26], mod_consts[27], 0, 0, 0);
}
// The module function declarations.
static PyObject *MAKE_GENERATOR_keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions(struct Nuitka_CellObject **closure);
NUITKA_CROSS_MODULE PyObject *impl___main__$$$function__4_complex_call_helper_star_list_star_dict(PyObject **python_pars);
static PyObject *MAKE_FUNCTION_keyring$util$$$function__1_once();
static PyObject *MAKE_FUNCTION_keyring$util$$$function__1_once$$$function__1_wrapper(struct Nuitka_CellObject **closure);
static PyObject *MAKE_FUNCTION_keyring$util$$$function__2_suppress_exceptions(PyObject *defaults);
// The module function definitions.
static PyObject *impl_keyring$util$$$function__1_once(struct Nuitka_FunctionObject const *self, PyObject **python_pars) {
// Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif
// Local variable declarations.
struct Nuitka_CellObject *par_func = Nuitka_Cell_New1(python_pars[0]);
PyObject *var_wrapper = NULL;
struct Nuitka_FrameObject *frame_6e7c63e4e7af64d7bc176028ba3b41b2;
NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
PyObject *tmp_return_value = NULL;
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
static struct Nuitka_FrameObject *cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2 = NULL;
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
// Actual function body.
{
PyObject *tmp_assign_source_1;
struct Nuitka_CellObject *tmp_closure_1[1];
tmp_closure_1[0] = par_func;
Py_INCREF(tmp_closure_1[0]);
tmp_assign_source_1 = MAKE_FUNCTION_keyring$util$$$function__1_once$$$function__1_wrapper(tmp_closure_1);
assert(var_wrapper == NULL);
var_wrapper = tmp_assign_source_1;
}
// Tried code:
if (isFrameUnusable(cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2)) {
Py_XDECREF(cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2);
#if _DEBUG_REFCOUNTS
if (cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2 == NULL) {
count_active_frame_cache_instances += 1;
} else {
count_released_frame_cache_instances += 1;
}
count_allocated_frame_cache_instances += 1;
#endif
cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2 = MAKE_FUNCTION_FRAME(codeobj_6e7c63e4e7af64d7bc176028ba3b41b2, module_keyring$util, sizeof(void *)+sizeof(void *));
#if _DEBUG_REFCOUNTS
} else {
count_hit_frame_cache_instances += 1;
#endif
}
assert(cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2->m_type_description == NULL);
frame_6e7c63e4e7af64d7bc176028ba3b41b2 = cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2;
// Push the new frame as the currently active one.
pushFrameStack(frame_6e7c63e4e7af64d7bc176028ba3b41b2);
// Mark the frame object as in use, ref count 1 will be up for reuse.
assert(Py_REFCNT(frame_6e7c63e4e7af64d7bc176028ba3b41b2) == 2); // Frame stack
// Framed code:
{
PyObject *tmp_called_value_1;
PyObject *tmp_called_instance_1;
PyObject *tmp_args_element_value_1;
PyObject *tmp_args_element_value_2;
tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[2]);
if (unlikely(tmp_called_instance_1 == NULL)) {
tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[2]);
}
assert(!(tmp_called_instance_1 == NULL));
CHECK_OBJECT(Nuitka_Cell_GET(par_func));
tmp_args_element_value_1 = Nuitka_Cell_GET(par_func);
frame_6e7c63e4e7af64d7bc176028ba3b41b2->m_frame.f_lineno = 23;
tmp_called_value_1 = CALL_METHOD_WITH_SINGLE_ARG(tmp_called_instance_1, mod_consts[3], tmp_args_element_value_1);
if (tmp_called_value_1 == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 23;
type_description_1 = "co";
goto frame_exception_exit_1;
}
CHECK_OBJECT(var_wrapper);
tmp_args_element_value_2 = var_wrapper;
frame_6e7c63e4e7af64d7bc176028ba3b41b2->m_frame.f_lineno = 23;
tmp_return_value = CALL_FUNCTION_WITH_SINGLE_ARG(tmp_called_value_1, tmp_args_element_value_2);
Py_DECREF(tmp_called_value_1);
if (tmp_return_value == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 23;
type_description_1 = "co";
goto frame_exception_exit_1;
}
goto frame_return_exit_1;
}
#if 0
RESTORE_FRAME_EXCEPTION(frame_6e7c63e4e7af64d7bc176028ba3b41b2);
#endif
// Put the previous frame back on top.
popFrameStack();
goto frame_no_exception_1;
frame_return_exit_1:;
#if 0
RESTORE_FRAME_EXCEPTION(frame_6e7c63e4e7af64d7bc176028ba3b41b2);
#endif
// Put the previous frame back on top.
popFrameStack();
goto try_return_handler_1;
frame_exception_exit_1:;
#if 0
RESTORE_FRAME_EXCEPTION(frame_6e7c63e4e7af64d7bc176028ba3b41b2);
#endif
if (exception_tb == NULL) {
exception_tb = MAKE_TRACEBACK(frame_6e7c63e4e7af64d7bc176028ba3b41b2, exception_lineno);
} else if (exception_tb->tb_frame != &frame_6e7c63e4e7af64d7bc176028ba3b41b2->m_frame) {
exception_tb = ADD_TRACEBACK(exception_tb, frame_6e7c63e4e7af64d7bc176028ba3b41b2, exception_lineno);
}
// Attaches locals to frame if any.
Nuitka_Frame_AttachLocals(
frame_6e7c63e4e7af64d7bc176028ba3b41b2,
type_description_1,
par_func,
var_wrapper
);
// Release cached frame if used for exception.
if (frame_6e7c63e4e7af64d7bc176028ba3b41b2 == cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2) {
#if _DEBUG_REFCOUNTS
count_active_frame_cache_instances -= 1;
count_released_frame_cache_instances += 1;
#endif
Py_DECREF(cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2);
cache_frame_6e7c63e4e7af64d7bc176028ba3b41b2 = NULL;
}
assertFrameObject(frame_6e7c63e4e7af64d7bc176028ba3b41b2);
// Put the previous frame back on top.
popFrameStack();
// Return the error.
goto try_except_handler_1;
frame_no_exception_1:;
NUITKA_CANNOT_GET_HERE("tried codes exits in all cases");
return NULL;
// Return handler code:
try_return_handler_1:;
CHECK_OBJECT(var_wrapper);
Py_DECREF(var_wrapper);
var_wrapper = NULL;
goto function_return_exit;
// Exception handler code:
try_except_handler_1:;
exception_keeper_type_1 = exception_type;
exception_keeper_value_1 = exception_value;
exception_keeper_tb_1 = exception_tb;
exception_keeper_lineno_1 = exception_lineno;
exception_type = NULL;
exception_value = NULL;
exception_tb = NULL;
exception_lineno = 0;
CHECK_OBJECT(var_wrapper);
Py_DECREF(var_wrapper);
var_wrapper = NULL;
// Re-raise.
exception_type = exception_keeper_type_1;
exception_value = exception_keeper_value_1;
exception_tb = exception_keeper_tb_1;
exception_lineno = exception_keeper_lineno_1;
goto function_exception_exit;
// End of try:
NUITKA_CANNOT_GET_HERE("Return statement must have exited already.");
return NULL;
function_exception_exit:
CHECK_OBJECT(par_func);
Py_DECREF(par_func);
assert(exception_type);
RESTORE_ERROR_OCCURRED(exception_type, exception_value, exception_tb);
return NULL;
function_return_exit:
// Function cleanup code if any.
CHECK_OBJECT(par_func);
Py_DECREF(par_func);
// Actual function exit with return value, making sure we did not make
// the error status worse despite non-NULL return.
CHECK_OBJECT(tmp_return_value);
assert(had_error || !ERROR_OCCURRED());
return tmp_return_value;
}
static PyObject *impl_keyring$util$$$function__1_once$$$function__1_wrapper(struct Nuitka_FunctionObject const *self, PyObject **python_pars) {
// Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif
// Local variable declarations.
PyObject *par_args = python_pars[0];
PyObject *par_kwargs = python_pars[1];
struct Nuitka_FrameObject *frame_b49387b090e229b393ab174edbff8583;
NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
int tmp_res;
bool tmp_result;
PyObject *tmp_return_value = NULL;
static struct Nuitka_FrameObject *cache_frame_b49387b090e229b393ab174edbff8583 = NULL;
// Actual function body.
if (isFrameUnusable(cache_frame_b49387b090e229b393ab174edbff8583)) {
Py_XDECREF(cache_frame_b49387b090e229b393ab174edbff8583);
#if _DEBUG_REFCOUNTS
if (cache_frame_b49387b090e229b393ab174edbff8583 == NULL) {
count_active_frame_cache_instances += 1;
} else {
count_released_frame_cache_instances += 1;
}
count_allocated_frame_cache_instances += 1;
#endif
cache_frame_b49387b090e229b393ab174edbff8583 = MAKE_FUNCTION_FRAME(codeobj_b49387b090e229b393ab174edbff8583, module_keyring$util, sizeof(void *)+sizeof(void *)+sizeof(void *));
#if _DEBUG_REFCOUNTS
} else {
count_hit_frame_cache_instances += 1;
#endif
}
assert(cache_frame_b49387b090e229b393ab174edbff8583->m_type_description == NULL);
frame_b49387b090e229b393ab174edbff8583 = cache_frame_b49387b090e229b393ab174edbff8583;
// Push the new frame as the currently active one.
pushFrameStack(frame_b49387b090e229b393ab174edbff8583);
// Mark the frame object as in use, ref count 1 will be up for reuse.
assert(Py_REFCNT(frame_b49387b090e229b393ab174edbff8583) == 2); // Frame stack
// Framed code:
{
bool tmp_condition_result_1;
PyObject *tmp_operand_value_1;
PyObject *tmp_expression_value_1;
PyObject *tmp_attribute_value_1;
if (Nuitka_Cell_GET(self->m_closure[0]) == NULL) {
FORMAT_UNBOUND_CLOSURE_ERROR(&exception_type, &exception_value, mod_consts[5]);
exception_tb = NULL;
NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
CHAIN_EXCEPTION(exception_value);
exception_lineno = 20;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_expression_value_1 = Nuitka_Cell_GET(self->m_closure[0]);
tmp_attribute_value_1 = mod_consts[6];
tmp_res = BUILTIN_HASATTR_BOOL(tmp_expression_value_1, tmp_attribute_value_1);
if (tmp_res == -1) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 20;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_operand_value_1 = (tmp_res != 0) ? Py_True : Py_False;
tmp_res = CHECK_IF_TRUE(tmp_operand_value_1);
if (tmp_res == -1) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 20;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_condition_result_1 = (tmp_res == 0) ? true : false;
if (tmp_condition_result_1 != false) {
goto branch_yes_1;
} else {
goto branch_no_1;
}
}
branch_yes_1:;
{
PyObject *tmp_assattr_value_1;
PyObject *tmp_dircall_arg1_1;
PyObject *tmp_dircall_arg2_1;
PyObject *tmp_dircall_arg3_1;
PyObject *tmp_assattr_target_1;
if (Nuitka_Cell_GET(self->m_closure[0]) == NULL) {
FORMAT_UNBOUND_CLOSURE_ERROR(&exception_type, &exception_value, mod_consts[5]);
exception_tb = NULL;
NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
CHAIN_EXCEPTION(exception_value);
exception_lineno = 21;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_dircall_arg1_1 = Nuitka_Cell_GET(self->m_closure[0]);
CHECK_OBJECT(par_args);
tmp_dircall_arg2_1 = par_args;
CHECK_OBJECT(par_kwargs);
tmp_dircall_arg3_1 = par_kwargs;
Py_INCREF(tmp_dircall_arg1_1);
Py_INCREF(tmp_dircall_arg2_1);
Py_INCREF(tmp_dircall_arg3_1);
{
PyObject *dir_call_args[] = {tmp_dircall_arg1_1, tmp_dircall_arg2_1, tmp_dircall_arg3_1};
tmp_assattr_value_1 = impl___main__$$$function__4_complex_call_helper_star_list_star_dict(dir_call_args);
}
if (tmp_assattr_value_1 == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 21;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
if (Nuitka_Cell_GET(self->m_closure[0]) == NULL) {
Py_DECREF(tmp_assattr_value_1);
FORMAT_UNBOUND_CLOSURE_ERROR(&exception_type, &exception_value, mod_consts[5]);
exception_tb = NULL;
NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
CHAIN_EXCEPTION(exception_value);
exception_lineno = 21;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_assattr_target_1 = Nuitka_Cell_GET(self->m_closure[0]);
tmp_result = SET_ATTRIBUTE(tmp_assattr_target_1, mod_consts[6], tmp_assattr_value_1);
Py_DECREF(tmp_assattr_value_1);
if (tmp_result == false) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 21;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
}
branch_no_1:;
{
PyObject *tmp_expression_value_2;
if (Nuitka_Cell_GET(self->m_closure[0]) == NULL) {
FORMAT_UNBOUND_CLOSURE_ERROR(&exception_type, &exception_value, mod_consts[5]);
exception_tb = NULL;
NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
CHAIN_EXCEPTION(exception_value);
exception_lineno = 22;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
tmp_expression_value_2 = Nuitka_Cell_GET(self->m_closure[0]);
tmp_return_value = LOOKUP_ATTRIBUTE(tmp_expression_value_2, mod_consts[6]);
if (tmp_return_value == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 22;
type_description_1 = "ooc";
goto frame_exception_exit_1;
}
goto frame_return_exit_1;
}
#if 0
RESTORE_FRAME_EXCEPTION(frame_b49387b090e229b393ab174edbff8583);
#endif
// Put the previous frame back on top.
popFrameStack();
goto frame_no_exception_1;
frame_return_exit_1:;
#if 0
RESTORE_FRAME_EXCEPTION(frame_b49387b090e229b393ab174edbff8583);
#endif
// Put the previous frame back on top.
popFrameStack();
goto function_return_exit;
frame_exception_exit_1:;
#if 0
RESTORE_FRAME_EXCEPTION(frame_b49387b090e229b393ab174edbff8583);
#endif
if (exception_tb == NULL) {
exception_tb = MAKE_TRACEBACK(frame_b49387b090e229b393ab174edbff8583, exception_lineno);
} else if (exception_tb->tb_frame != &frame_b49387b090e229b393ab174edbff8583->m_frame) {
exception_tb = ADD_TRACEBACK(exception_tb, frame_b49387b090e229b393ab174edbff8583, exception_lineno);
}
// Attaches locals to frame if any.
Nuitka_Frame_AttachLocals(
frame_b49387b090e229b393ab174edbff8583,
type_description_1,
par_args,
par_kwargs,
self->m_closure[0]
);
// Release cached frame if used for exception.
if (frame_b49387b090e229b393ab174edbff8583 == cache_frame_b49387b090e229b393ab174edbff8583) {
#if _DEBUG_REFCOUNTS
count_active_frame_cache_instances -= 1;
count_released_frame_cache_instances += 1;
#endif
Py_DECREF(cache_frame_b49387b090e229b393ab174edbff8583);
cache_frame_b49387b090e229b393ab174edbff8583 = NULL;
}
assertFrameObject(frame_b49387b090e229b393ab174edbff8583);
// Put the previous frame back on top.
popFrameStack();
// Return the error.
goto function_exception_exit;
frame_no_exception_1:;
NUITKA_CANNOT_GET_HERE("Return statement must have exited already.");
return NULL;
function_exception_exit:
CHECK_OBJECT(par_args);
Py_DECREF(par_args);
CHECK_OBJECT(par_kwargs);
Py_DECREF(par_kwargs);
assert(exception_type);
RESTORE_ERROR_OCCURRED(exception_type, exception_value, exception_tb);
return NULL;
function_return_exit:
// Function cleanup code if any.
CHECK_OBJECT(par_args);
Py_DECREF(par_args);
CHECK_OBJECT(par_kwargs);
Py_DECREF(par_kwargs);
// Actual function exit with return value, making sure we did not make
// the error status worse despite non-NULL return.
CHECK_OBJECT(tmp_return_value);
assert(had_error || !ERROR_OCCURRED());
return tmp_return_value;
}
static PyObject *impl_keyring$util$$$function__2_suppress_exceptions(struct Nuitka_FunctionObject const *self, PyObject **python_pars) {
// Preserve error status for checks
#ifndef __NUITKA_NO_ASSERT__
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
#endif
// Local variable declarations.
struct Nuitka_CellObject *par_callables = Nuitka_Cell_New1(python_pars[0]);
struct Nuitka_CellObject *par_exceptions = Nuitka_Cell_New1(python_pars[1]);
PyObject *tmp_return_value = NULL;
// Actual function body.
{
struct Nuitka_CellObject *tmp_closure_1[2];
tmp_closure_1[0] = par_callables;
Py_INCREF(tmp_closure_1[0]);
tmp_closure_1[1] = par_exceptions;
Py_INCREF(tmp_closure_1[1]);
tmp_return_value = MAKE_GENERATOR_keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions(tmp_closure_1);
goto function_return_exit;
}
NUITKA_CANNOT_GET_HERE("Return statement must have exited already.");
return NULL;
function_return_exit:
// Function cleanup code if any.
CHECK_OBJECT(par_callables);
Py_DECREF(par_callables);
CHECK_OBJECT(par_exceptions);
Py_DECREF(par_exceptions);
// Actual function exit with return value, making sure we did not make
// the error status worse despite non-NULL return.
CHECK_OBJECT(tmp_return_value);
assert(had_error || !ERROR_OCCURRED());
return tmp_return_value;
}
struct keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_locals {
PyObject *var_callable;
PyObject *tmp_for_loop_1__for_iterator;
PyObject *tmp_for_loop_1__iter_value;
char const *type_description_1;
PyObject *exception_type;
PyObject *exception_value;
PyTracebackObject *exception_tb;
int exception_lineno;
char yield_tmps[1024];
PyObject *exception_keeper_type_1;
PyObject *exception_keeper_value_1;
PyTracebackObject *exception_keeper_tb_1;
int exception_keeper_lineno_1;
struct Nuitka_ExceptionStackItem exception_preserved_1;
int tmp_res;
bool tmp_result;
PyObject *exception_keeper_type_2;
PyObject *exception_keeper_value_2;
PyTracebackObject *exception_keeper_tb_2;
int exception_keeper_lineno_2;
PyObject *exception_keeper_type_3;
PyObject *exception_keeper_value_3;
PyTracebackObject *exception_keeper_tb_3;
int exception_keeper_lineno_3;
PyObject *exception_keeper_type_4;
PyObject *exception_keeper_value_4;
PyTracebackObject *exception_keeper_tb_4;
int exception_keeper_lineno_4;
};
static PyObject *keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_context(struct Nuitka_GeneratorObject *generator, PyObject *yield_return_value) {
CHECK_OBJECT(generator);
assert(Nuitka_Generator_Check((PyObject *)generator));
CHECK_OBJECT_X(yield_return_value);
// Heap access if used.
struct keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_locals *generator_heap = (struct keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_locals *)generator->m_heap_storage;
// Dispatch to yield based on return label index:
switch(generator->m_yield_return_index) {
case 1: goto yield_return_1;
}
// Local variable initialization
NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused;
static struct Nuitka_FrameObject *cache_m_frame = NULL;
generator_heap->var_callable = NULL;
generator_heap->tmp_for_loop_1__for_iterator = NULL;
generator_heap->tmp_for_loop_1__iter_value = NULL;
generator_heap->type_description_1 = NULL;
generator_heap->exception_type = NULL;
generator_heap->exception_value = NULL;
generator_heap->exception_tb = NULL;
generator_heap->exception_lineno = 0;
// Actual generator function body.
// Tried code:
if (isFrameUnusable(cache_m_frame)) {
Py_XDECREF(cache_m_frame);
#if _DEBUG_REFCOUNTS
if (cache_m_frame == NULL) {
count_active_frame_cache_instances += 1;
} else {
count_released_frame_cache_instances += 1;
}
count_allocated_frame_cache_instances += 1;
#endif
cache_m_frame = MAKE_FUNCTION_FRAME(codeobj_c1453559e8220fcf77fb88382abb98f2, module_keyring$util, sizeof(void *)+sizeof(void *)+sizeof(void *));
#if _DEBUG_REFCOUNTS
} else {
count_hit_frame_cache_instances += 1;
#endif
}
generator->m_frame = cache_m_frame;
// Mark the frame object as in use, ref count 1 will be up for reuse.
Py_INCREF(generator->m_frame);
assert(Py_REFCNT(generator->m_frame) == 2); // Frame stack
#if PYTHON_VERSION >= 0x340
Nuitka_SetFrameGenerator(generator->m_frame, (PyObject *)generator);
#endif
assert(generator->m_frame->m_frame.f_back == NULL);
pushFrameStack(generator->m_frame);
// Taking a reference prevents reuse of generator frame while it is being used.
Py_INCREF(generator->m_frame->m_frame.f_back);
#if PYTHON_VERSION >= 0x300
// Accept currently existing exception as the one to publish again when we
// yield or yield from.
{
PyThreadState *thread_state = PyThreadState_GET();
#if PYTHON_VERSION < 0x3b0
EXC_TYPE_F(generator) = EXC_TYPE(thread_state);
if (EXC_TYPE_F(generator) == Py_None) EXC_TYPE_F(generator) = NULL;
Py_XINCREF(EXC_TYPE_F(generator));
#endif
EXC_VALUE_F(generator) = EXC_VALUE(thread_state);
Py_XINCREF(EXC_VALUE_F(generator));
#if PYTHON_VERSION < 0x3b0
ASSIGN_EXC_TRACEBACK_F(generator, EXC_TRACEBACK(thread_state));
Py_XINCREF(EXC_TRACEBACK_F(generator));
#endif
}
#endif
// Framed code:
{
PyObject *tmp_assign_source_1;
PyObject *tmp_iter_arg_1;
if (Nuitka_Cell_GET(generator->m_closure[0]) == NULL) {
FORMAT_UNBOUND_CLOSURE_ERROR(&generator_heap->exception_type, &generator_heap->exception_value, mod_consts[8]);
generator_heap->exception_tb = NULL;
NORMALIZE_EXCEPTION(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
CHAIN_EXCEPTION(generator_heap->exception_value);
generator_heap->exception_lineno = 31;
generator_heap->type_description_1 = "cco";
goto frame_exception_exit_1;
}
tmp_iter_arg_1 = Nuitka_Cell_GET(generator->m_closure[0]);
tmp_assign_source_1 = MAKE_ITERATOR(tmp_iter_arg_1);
if (tmp_assign_source_1 == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->exception_lineno = 31;
generator_heap->type_description_1 = "cco";
goto frame_exception_exit_1;
}
assert(generator_heap->tmp_for_loop_1__for_iterator == NULL);
generator_heap->tmp_for_loop_1__for_iterator = tmp_assign_source_1;
}
// Tried code:
loop_start_1:;
{
PyObject *tmp_next_source_1;
PyObject *tmp_assign_source_2;
CHECK_OBJECT(generator_heap->tmp_for_loop_1__for_iterator);
tmp_next_source_1 = generator_heap->tmp_for_loop_1__for_iterator;
tmp_assign_source_2 = ITERATOR_NEXT(tmp_next_source_1);
if (tmp_assign_source_2 == NULL) {
if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) {
goto loop_end_1;
} else {
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->type_description_1 = "cco";
generator_heap->exception_lineno = 31;
goto try_except_handler_2;
}
}
{
PyObject *old = generator_heap->tmp_for_loop_1__iter_value;
generator_heap->tmp_for_loop_1__iter_value = tmp_assign_source_2;
Py_XDECREF(old);
}
}
{
PyObject *tmp_assign_source_3;
CHECK_OBJECT(generator_heap->tmp_for_loop_1__iter_value);
tmp_assign_source_3 = generator_heap->tmp_for_loop_1__iter_value;
{
PyObject *old = generator_heap->var_callable;
generator_heap->var_callable = tmp_assign_source_3;
Py_INCREF(generator_heap->var_callable);
Py_XDECREF(old);
}
}
// Tried code:
{
PyObject *tmp_expression_value_1;
PyObject *tmp_called_value_1;
NUITKA_MAY_BE_UNUSED PyObject *tmp_yield_result_1;
CHECK_OBJECT(generator_heap->var_callable);
tmp_called_value_1 = generator_heap->var_callable;
generator->m_frame->m_frame.f_lineno = 33;
tmp_expression_value_1 = CALL_FUNCTION_NO_ARGS(tmp_called_value_1);
if (tmp_expression_value_1 == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->exception_lineno = 33;
generator_heap->type_description_1 = "cco";
goto try_except_handler_3;
}
Nuitka_PreserveHeap(generator_heap->yield_tmps, &tmp_called_value_1, sizeof(PyObject *), NULL);
generator->m_yield_return_index = 1;
return tmp_expression_value_1;
yield_return_1:
Nuitka_RestoreHeap(generator_heap->yield_tmps, &tmp_called_value_1, sizeof(PyObject *), NULL);
if (yield_return_value == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->exception_lineno = 33;
generator_heap->type_description_1 = "cco";
goto try_except_handler_3;
}
tmp_yield_result_1 = yield_return_value;
}
goto try_end_1;
// Exception handler code:
try_except_handler_3:;
generator_heap->exception_keeper_type_1 = generator_heap->exception_type;
generator_heap->exception_keeper_value_1 = generator_heap->exception_value;
generator_heap->exception_keeper_tb_1 = generator_heap->exception_tb;
generator_heap->exception_keeper_lineno_1 = generator_heap->exception_lineno;
generator_heap->exception_type = NULL;
generator_heap->exception_value = NULL;
generator_heap->exception_tb = NULL;
generator_heap->exception_lineno = 0;
// Preserve existing published exception id 1.
generator_heap->exception_preserved_1 = GET_CURRENT_EXCEPTION();
if (generator_heap->exception_keeper_tb_1 == NULL) {
generator_heap->exception_keeper_tb_1 = MAKE_TRACEBACK(generator->m_frame, generator_heap->exception_keeper_lineno_1);
} else if (generator_heap->exception_keeper_lineno_1 != 0) {
generator_heap->exception_keeper_tb_1 = ADD_TRACEBACK(generator_heap->exception_keeper_tb_1, generator->m_frame, generator_heap->exception_keeper_lineno_1);
}
PUBLISH_CURRENT_EXCEPTION(&generator_heap->exception_keeper_type_1, &generator_heap->exception_keeper_value_1, &generator_heap->exception_keeper_tb_1);
// Tried code:
{
bool tmp_condition_result_1;
PyObject *tmp_cmp_expr_left_1;
PyObject *tmp_cmp_expr_right_1;
tmp_cmp_expr_left_1 = EXC_TYPE(PyThreadState_GET());
if (Nuitka_Cell_GET(generator->m_closure[1]) == NULL) {
FORMAT_UNBOUND_CLOSURE_ERROR(&generator_heap->exception_type, &generator_heap->exception_value, mod_consts[9]);
generator_heap->exception_tb = NULL;
NORMALIZE_EXCEPTION(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
CHAIN_EXCEPTION(generator_heap->exception_value);
generator_heap->exception_lineno = 34;
generator_heap->type_description_1 = "cco";
goto try_except_handler_4;
}
tmp_cmp_expr_right_1 = Nuitka_Cell_GET(generator->m_closure[1]);
generator_heap->tmp_res = EXCEPTION_MATCH_BOOL(tmp_cmp_expr_left_1, tmp_cmp_expr_right_1);
if (generator_heap->tmp_res == -1) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->exception_lineno = 34;
generator_heap->type_description_1 = "cco";
goto try_except_handler_4;
}
tmp_condition_result_1 = (generator_heap->tmp_res == 0) ? true : false;
if (tmp_condition_result_1 != false) {
goto branch_yes_1;
} else {
goto branch_no_1;
}
}
branch_yes_1:;
generator_heap->tmp_result = RERAISE_EXCEPTION(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
if (unlikely(generator_heap->tmp_result == false)) {
generator_heap->exception_lineno = 32;
}
if (generator_heap->exception_tb && generator_heap->exception_tb->tb_frame == &generator->m_frame->m_frame) generator->m_frame->m_frame.f_lineno = generator_heap->exception_tb->tb_lineno;
generator_heap->type_description_1 = "cco";
goto try_except_handler_4;
branch_no_1:;
goto try_end_2;
// Exception handler code:
try_except_handler_4:;
generator_heap->exception_keeper_type_2 = generator_heap->exception_type;
generator_heap->exception_keeper_value_2 = generator_heap->exception_value;
generator_heap->exception_keeper_tb_2 = generator_heap->exception_tb;
generator_heap->exception_keeper_lineno_2 = generator_heap->exception_lineno;
generator_heap->exception_type = NULL;
generator_heap->exception_value = NULL;
generator_heap->exception_tb = NULL;
generator_heap->exception_lineno = 0;
// Restore previous exception id 1.
SET_CURRENT_EXCEPTION(&generator_heap->exception_preserved_1);
// Re-raise.
generator_heap->exception_type = generator_heap->exception_keeper_type_2;
generator_heap->exception_value = generator_heap->exception_keeper_value_2;
generator_heap->exception_tb = generator_heap->exception_keeper_tb_2;
generator_heap->exception_lineno = generator_heap->exception_keeper_lineno_2;
goto try_except_handler_2;
// End of try:
try_end_2:;
// Restore previous exception id 1.
SET_CURRENT_EXCEPTION(&generator_heap->exception_preserved_1);
goto try_end_1;
NUITKA_CANNOT_GET_HERE("exception handler codes exits in all cases");
return NULL;
// End of try:
try_end_1:;
if (CONSIDER_THREADING() == false) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&generator_heap->exception_type, &generator_heap->exception_value, &generator_heap->exception_tb);
generator_heap->exception_lineno = 31;
generator_heap->type_description_1 = "cco";
goto try_except_handler_2;
}
goto loop_start_1;
loop_end_1:;
goto try_end_3;
// Exception handler code:
try_except_handler_2:;
generator_heap->exception_keeper_type_3 = generator_heap->exception_type;
generator_heap->exception_keeper_value_3 = generator_heap->exception_value;
generator_heap->exception_keeper_tb_3 = generator_heap->exception_tb;
generator_heap->exception_keeper_lineno_3 = generator_heap->exception_lineno;
generator_heap->exception_type = NULL;
generator_heap->exception_value = NULL;
generator_heap->exception_tb = NULL;
generator_heap->exception_lineno = 0;
Py_XDECREF(generator_heap->tmp_for_loop_1__iter_value);
generator_heap->tmp_for_loop_1__iter_value = NULL;
CHECK_OBJECT(generator_heap->tmp_for_loop_1__for_iterator);
Py_DECREF(generator_heap->tmp_for_loop_1__for_iterator);
generator_heap->tmp_for_loop_1__for_iterator = NULL;
// Re-raise.
generator_heap->exception_type = generator_heap->exception_keeper_type_3;
generator_heap->exception_value = generator_heap->exception_keeper_value_3;
generator_heap->exception_tb = generator_heap->exception_keeper_tb_3;
generator_heap->exception_lineno = generator_heap->exception_keeper_lineno_3;
goto frame_exception_exit_1;
// End of try:
try_end_3:;
Nuitka_Frame_MarkAsNotExecuting(generator->m_frame);
#if PYTHON_VERSION >= 0x300
#if PYTHON_VERSION < 0x3b0
Py_CLEAR(EXC_TYPE_F(generator));
#endif
Py_CLEAR(EXC_VALUE_F(generator));
#if PYTHON_VERSION < 0x3b0
Py_CLEAR(EXC_TRACEBACK_F(generator));
#endif
#endif
// Allow re-use of the frame again.
Py_DECREF(generator->m_frame);
goto frame_no_exception_1;
frame_exception_exit_1:;
// If it's not an exit exception, consider and create a traceback for it.
if (!EXCEPTION_MATCH_GENERATOR(generator_heap->exception_type)) {
if (generator_heap->exception_tb == NULL) {
generator_heap->exception_tb = MAKE_TRACEBACK(generator->m_frame, generator_heap->exception_lineno);
} else if (generator_heap->exception_tb->tb_frame != &generator->m_frame->m_frame) {
generator_heap->exception_tb = ADD_TRACEBACK(generator_heap->exception_tb, generator->m_frame, generator_heap->exception_lineno);
}
Nuitka_Frame_AttachLocals(
generator->m_frame,
generator_heap->type_description_1,
generator->m_closure[0],
generator->m_closure[1],
generator_heap->var_callable
);
// Release cached frame if used for exception.
if (generator->m_frame == cache_m_frame) {
#if _DEBUG_REFCOUNTS
count_active_frame_cache_instances -= 1;
count_released_frame_cache_instances += 1;
#endif
Py_DECREF(cache_m_frame);
cache_m_frame = NULL;
}
assertFrameObject(generator->m_frame);
}
#if PYTHON_VERSION >= 0x300
#if PYTHON_VERSION < 0x3b0
Py_CLEAR(EXC_TYPE_F(generator));
#endif
Py_CLEAR(EXC_VALUE_F(generator));
#if PYTHON_VERSION < 0x3b0
Py_CLEAR(EXC_TRACEBACK_F(generator));
#endif
#endif
Py_DECREF(generator->m_frame);
// Return the error.
goto try_except_handler_1;
frame_no_exception_1:;
goto try_end_4;
// Exception handler code:
try_except_handler_1:;
generator_heap->exception_keeper_type_4 = generator_heap->exception_type;
generator_heap->exception_keeper_value_4 = generator_heap->exception_value;
generator_heap->exception_keeper_tb_4 = generator_heap->exception_tb;
generator_heap->exception_keeper_lineno_4 = generator_heap->exception_lineno;
generator_heap->exception_type = NULL;
generator_heap->exception_value = NULL;
generator_heap->exception_tb = NULL;
generator_heap->exception_lineno = 0;
Py_XDECREF(generator_heap->var_callable);
generator_heap->var_callable = NULL;
// Re-raise.
generator_heap->exception_type = generator_heap->exception_keeper_type_4;
generator_heap->exception_value = generator_heap->exception_keeper_value_4;
generator_heap->exception_tb = generator_heap->exception_keeper_tb_4;
generator_heap->exception_lineno = generator_heap->exception_keeper_lineno_4;
goto function_exception_exit;
// End of try:
try_end_4:;
Py_XDECREF(generator_heap->tmp_for_loop_1__iter_value);
generator_heap->tmp_for_loop_1__iter_value = NULL;
CHECK_OBJECT(generator_heap->tmp_for_loop_1__for_iterator);
Py_DECREF(generator_heap->tmp_for_loop_1__for_iterator);
generator_heap->tmp_for_loop_1__for_iterator = NULL;
Py_XDECREF(generator_heap->var_callable);
generator_heap->var_callable = NULL;
return NULL;
function_exception_exit:
assert(generator_heap->exception_type);
RESTORE_ERROR_OCCURRED(generator_heap->exception_type, generator_heap->exception_value, generator_heap->exception_tb);
return NULL;
}
static PyObject *MAKE_GENERATOR_keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions(struct Nuitka_CellObject **closure) {
return Nuitka_Generator_New(
keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_context,
module_keyring$util,
mod_consts[10],
#if PYTHON_VERSION >= 0x350
NULL,
#endif
codeobj_c1453559e8220fcf77fb88382abb98f2,
closure,
2,
sizeof(struct keyring$util$$$function__2_suppress_exceptions$$$genobj__1_suppress_exceptions_locals)
);
}
static PyObject *MAKE_FUNCTION_keyring$util$$$function__1_once() {
struct Nuitka_FunctionObject *result = Nuitka_Function_New(
impl_keyring$util$$$function__1_once,
mod_consts[22],
#if PYTHON_VERSION >= 0x300
NULL,
#endif
codeobj_6e7c63e4e7af64d7bc176028ba3b41b2,
NULL,
#if PYTHON_VERSION >= 0x300
NULL,
NULL,
#endif
module_keyring$util,
mod_consts[4],
NULL,
0
);
return (PyObject *)result;
}
static PyObject *MAKE_FUNCTION_keyring$util$$$function__1_once$$$function__1_wrapper(struct Nuitka_CellObject **closure) {
struct Nuitka_FunctionObject *result = Nuitka_Function_New(
impl_keyring$util$$$function__1_once$$$function__1_wrapper,
mod_consts[0],
#if PYTHON_VERSION >= 0x300
mod_consts[1],
#endif
codeobj_b49387b090e229b393ab174edbff8583,
NULL,
#if PYTHON_VERSION >= 0x300
NULL,
NULL,
#endif
module_keyring$util,
NULL,
closure,
1
);
return (PyObject *)result;
}
static PyObject *MAKE_FUNCTION_keyring$util$$$function__2_suppress_exceptions(PyObject *defaults) {
struct Nuitka_FunctionObject *result = Nuitka_Function_New(
impl_keyring$util$$$function__2_suppress_exceptions,
mod_consts[10],
#if PYTHON_VERSION >= 0x300
NULL,
#endif
codeobj_c1453559e8220fcf77fb88382abb98f2,
defaults,
#if PYTHON_VERSION >= 0x300
NULL,
NULL,
#endif
module_keyring$util,
mod_consts[7],
NULL,
0
);
return (PyObject *)result;
}
extern void _initCompiledCellType();
extern void _initCompiledGeneratorType();
extern void _initCompiledFunctionType();
extern void _initCompiledMethodType();
extern void _initCompiledFrameType();
extern PyTypeObject Nuitka_Loader_Type;
#ifdef _NUITKA_PLUGIN_DILL_ENABLED
// Provide a way to create find a function via its C code and create it back
// in another process, useful for multiprocessing extensions like dill
extern void registerDillPluginTables(char const *module_name, PyMethodDef *reduce_compiled_function, PyMethodDef *create_compiled_function);
function_impl_code functable_keyring$util[] = {
impl_keyring$util$$$function__1_once$$$function__1_wrapper,
impl_keyring$util$$$function__1_once,
impl_keyring$util$$$function__2_suppress_exceptions,
NULL
};
static char const *_reduce_compiled_function_argnames[] = {
"func",
NULL
};
static PyObject *_reduce_compiled_function(PyObject *self, PyObject *args, PyObject *kwds) {
PyObject *func;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:reduce_compiled_function", (char **)_reduce_compiled_function_argnames, &func, NULL)) {
return NULL;
}
if (Nuitka_Function_Check(func) == false) {
SET_CURRENT_EXCEPTION_TYPE0_STR(PyExc_TypeError, "not a compiled function");
return NULL;
}
struct Nuitka_FunctionObject *function = (struct Nuitka_FunctionObject *)func;
function_impl_code *current = functable_keyring$util;
int offset = 0;
while (*current != NULL) {
if (*current == function->m_c_code) {
break;
}
current += 1;
offset += 1;
}
if (*current == NULL) {
SET_CURRENT_EXCEPTION_TYPE0_STR(PyExc_TypeError, "Cannot find compiled function in module.");
return NULL;
}
PyObject *code_object_desc = MAKE_TUPLE_EMPTY(6);
PyTuple_SET_ITEM0(code_object_desc, 0, function->m_code_object->co_filename);
PyTuple_SET_ITEM0(code_object_desc, 1, function->m_code_object->co_name);
PyTuple_SET_ITEM(code_object_desc, 2, PyLong_FromLong(function->m_code_object->co_firstlineno));
PyTuple_SET_ITEM0(code_object_desc, 3, function->m_code_object->co_varnames);
PyTuple_SET_ITEM(code_object_desc, 4, PyLong_FromLong(function->m_code_object->co_argcount));
PyTuple_SET_ITEM(code_object_desc, 5, PyLong_FromLong(function->m_code_object->co_flags));
CHECK_OBJECT_DEEP(code_object_desc);
PyObject *result = MAKE_TUPLE_EMPTY(4);
PyTuple_SET_ITEM(result, 0, PyLong_FromLong(offset));
PyTuple_SET_ITEM(result, 1, code_object_desc);
PyTuple_SET_ITEM0(result, 2, function->m_defaults);
PyTuple_SET_ITEM0(result, 3, function->m_doc != NULL ? function->m_doc : Py_None);
CHECK_OBJECT_DEEP(result);
return result;
}
static PyMethodDef _method_def_reduce_compiled_function = {"reduce_compiled_function", (PyCFunction)_reduce_compiled_function,
METH_VARARGS | METH_KEYWORDS, NULL};
static char const *_create_compiled_function_argnames[] = {
"func",
"code_object_desc",
"defaults",
"doc",
NULL
};
static PyObject *_create_compiled_function(PyObject *self, PyObject *args, PyObject *kwds) {
CHECK_OBJECT_DEEP(args);
PyObject *func;
PyObject *code_object_desc;
PyObject *defaults;
PyObject *doc;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "OOOO:create_compiled_function", (char **)_create_compiled_function_argnames, &func, &code_object_desc, &defaults, &doc, NULL)) {
return NULL;
}
int offset = PyLong_AsLong(func);
if (offset == -1 && ERROR_OCCURRED()) {
return NULL;
}
if (offset > sizeof(functable_keyring$util) || offset < 0) {
SET_CURRENT_EXCEPTION_TYPE0_STR(PyExc_TypeError, "Wrong offset for compiled function.");
return NULL;
}
PyObject *filename = PyTuple_GET_ITEM(code_object_desc, 0);
PyObject *function_name = PyTuple_GET_ITEM(code_object_desc, 1);
PyObject *line = PyTuple_GET_ITEM(code_object_desc, 2);
int line_int = PyLong_AsLong(line);
assert(!ERROR_OCCURRED());
PyObject *argnames = PyTuple_GET_ITEM(code_object_desc, 3);
PyObject *arg_count = PyTuple_GET_ITEM(code_object_desc, 4);
int arg_count_int = PyLong_AsLong(arg_count);
assert(!ERROR_OCCURRED());
PyObject *flags = PyTuple_GET_ITEM(code_object_desc, 5);
int flags_int = PyLong_AsLong(flags);
assert(!ERROR_OCCURRED());
PyCodeObject *code_object = MAKE_CODE_OBJECT(
filename,
line_int,
flags_int,
function_name,
argnames,
NULL, // freevars
arg_count_int,
0, // TODO: Missing kw_only_count
0 // TODO: Missing pos_only_count
);
struct Nuitka_FunctionObject *result = Nuitka_Function_New(
functable_keyring$util[offset],
code_object->co_name,
#if PYTHON_VERSION >= 0x300
NULL, // TODO: Not transferring qualname yet
#endif
code_object,
defaults,
#if PYTHON_VERSION >= 0x300
NULL, // kwdefaults are done on the outside currently
NULL, // TODO: Not transferring annotations
#endif
module_keyring$util,
doc,
NULL,
0
);
return (PyObject *)result;
}
static PyMethodDef _method_def_create_compiled_function = {
"create_compiled_function",
(PyCFunction)_create_compiled_function,
METH_VARARGS | METH_KEYWORDS, NULL
};
#endif
// Internal entry point for module code.
PyObject *modulecode_keyring$util(PyObject *module, struct Nuitka_MetaPathBasedLoaderEntry const *loader_entry) {
// Report entry to PGO.
PGO_onModuleEntered("keyring.util");
// Store the module for future use.
module_keyring$util = module;
// Modules can be loaded again in case of errors, avoid the init being done again.
static bool init_done = false;
if (init_done == false) {
#if defined(_NUITKA_MODULE) && 0
// In case of an extension module loaded into a process, we need to call
// initialization here because that's the first and potentially only time
// we are going called.
// Initialize the constant values used.
_initBuiltinModule();
createGlobalConstants();
/* Initialize the compiled types of Nuitka. */
_initCompiledCellType();
_initCompiledGeneratorType();
_initCompiledFunctionType();
_initCompiledMethodType();
_initCompiledFrameType();
_initSlotCompare();
#if PYTHON_VERSION >= 0x270
_initSlotIterNext();
#endif
patchTypeComparison();
// Enable meta path based loader if not already done.
#ifdef _NUITKA_TRACE
PRINT_STRING("keyring.util: Calling setupMetaPathBasedLoader().\n");
#endif
setupMetaPathBasedLoader();
#if PYTHON_VERSION >= 0x300
patchInspectModule();
#endif
#endif
/* The constants only used by this module are created now. */
#ifdef _NUITKA_TRACE
PRINT_STRING("keyring.util: Calling createModuleConstants().\n");
#endif
createModuleConstants();
/* The code objects used by this module are created now. */
#ifdef _NUITKA_TRACE
PRINT_STRING("keyring.util: Calling createModuleCodeObjects().\n");
#endif
createModuleCodeObjects();
init_done = true;
}
// PRINT_STRING("in initkeyring$util\n");
moduledict_keyring$util = MODULE_DICT(module_keyring$util);
#ifdef _NUITKA_PLUGIN_DILL_ENABLED
registerDillPluginTables(loader_entry->name, &_method_def_reduce_compiled_function, &_method_def_create_compiled_function);
#endif
// Set "__compiled__" to what version information we have.
UPDATE_STRING_DICT0(
moduledict_keyring$util,
(Nuitka_StringObject *)const_str_plain___compiled__,
Nuitka_dunder_compiled_value
);
// Update "__package__" value to what it ought to be.
{
#if 0
UPDATE_STRING_DICT0(
moduledict_keyring$util,
(Nuitka_StringObject *)const_str_plain___package__,
mod_consts[28]
);
#elif 1
PyObject *module_name = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___name__);
UPDATE_STRING_DICT0(
moduledict_keyring$util,
(Nuitka_StringObject *)const_str_plain___package__,
module_name
);
#else
#if PYTHON_VERSION < 0x300
PyObject *module_name = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___name__);
char const *module_name_cstr = PyString_AS_STRING(module_name);
char const *last_dot = strrchr(module_name_cstr, '.');
if (last_dot != NULL) {
UPDATE_STRING_DICT1(
moduledict_keyring$util,
(Nuitka_StringObject *)const_str_plain___package__,
PyString_FromStringAndSize(module_name_cstr, last_dot - module_name_cstr)
);
}
#else
PyObject *module_name = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___name__);
Py_ssize_t dot_index = PyUnicode_Find(module_name, const_str_dot, 0, PyUnicode_GetLength(module_name), -1);
if (dot_index != -1) {
UPDATE_STRING_DICT1(
moduledict_keyring$util,
(Nuitka_StringObject *)const_str_plain___package__,
PyUnicode_Substring(module_name, 0, dot_index)
);
}
#endif
#endif
}
CHECK_OBJECT(module_keyring$util);
// For deep importing of a module we need to have "__builtins__", so we set
// it ourselves in the same way than CPython does. Note: This must be done
// before the frame object is allocated, or else it may fail.
if (GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___builtins__) == NULL) {
PyObject *value = (PyObject *)builtin_module;
// Check if main module, not a dict then but the module itself.
#if defined(_NUITKA_MODULE) || !0
value = PyModule_GetDict(value);
#endif
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___builtins__, value);
}
#if PYTHON_VERSION >= 0x300
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___loader__, (PyObject *)&Nuitka_Loader_Type);
#endif
#if PYTHON_VERSION >= 0x340
// Set the "__spec__" value
#if 0
// Main modules just get "None" as spec.
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___spec__, Py_None);
#else
// Other modules get a "ModuleSpec" from the standard mechanism.
{
PyObject *bootstrap_module = getImportLibBootstrapModule();
CHECK_OBJECT(bootstrap_module);
PyObject *_spec_from_module = PyObject_GetAttrString(bootstrap_module, "_spec_from_module");
CHECK_OBJECT(_spec_from_module);
PyObject *spec_value = CALL_FUNCTION_WITH_SINGLE_ARG(_spec_from_module, module_keyring$util);
Py_DECREF(_spec_from_module);
// We can assume this to never fail, or else we are in trouble anyway.
// CHECK_OBJECT(spec_value);
if (spec_value == NULL) {
PyErr_PrintEx(0);
abort();
}
// Mark the execution in the "__spec__" value.
SET_ATTRIBUTE(spec_value, const_str_plain__initializing, Py_True);
UPDATE_STRING_DICT1(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___spec__, spec_value);
}
#endif
#endif
// Temp variables if any
struct Nuitka_FrameObject *frame_8460b06b35cd77a84a35d206c1c10349;
NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
PyObject *tmp_dictset_value;
PyObject *tmp_dictset_dict;
PyObject *exception_type = NULL;
PyObject *exception_value = NULL;
PyTracebackObject *exception_tb = NULL;
NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
PyObject *tmp_dictset_key;
int tmp_res;
bool tmp_result;
// Module code.
{
PyObject *tmp_assign_source_1;
tmp_assign_source_1 = Py_None;
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_1);
}
{
PyObject *tmp_assign_source_2;
tmp_assign_source_2 = mod_consts[12];
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_2);
}
{
PyObject *tmp_assign_source_3;
tmp_assign_source_3 = LIST_COPY(mod_consts[14]);
UPDATE_STRING_DICT1(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_3);
}
// Frame without reuse.
frame_8460b06b35cd77a84a35d206c1c10349 = MAKE_MODULE_FRAME(codeobj_8460b06b35cd77a84a35d206c1c10349, module_keyring$util);
// Push the new frame as the currently active one, and we should be exclusively
// owning it.
pushFrameStack(frame_8460b06b35cd77a84a35d206c1c10349);
assert(Py_REFCNT(frame_8460b06b35cd77a84a35d206c1c10349) == 2);
// Framed code:
{
PyObject *tmp_expression_value_1;
PyObject *tmp_subscript_value_1;
tmp_dictset_value = Nuitka_Loader_New(loader_entry);
tmp_dictset_dict = Nuitka_SysGetObject("path_importer_cache");
if (tmp_dictset_dict == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
tmp_expression_value_1 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[15]);
if (unlikely(tmp_expression_value_1 == NULL)) {
tmp_expression_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[15]);
}
assert(!(tmp_expression_value_1 == NULL));
tmp_subscript_value_1 = mod_consts[16];
tmp_dictset_key = LOOKUP_SUBSCRIPT_CONST(tmp_expression_value_1, tmp_subscript_value_1, 0);
if (tmp_dictset_key == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
assert(PyDict_CheckExact(tmp_dictset_dict));
tmp_res = PyDict_SetItem(tmp_dictset_dict, tmp_dictset_key, tmp_dictset_value);
Py_DECREF(tmp_dictset_key);
if (tmp_res != 0) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
}
{
PyObject *tmp_assattr_value_1;
PyObject *tmp_assattr_target_1;
tmp_assattr_value_1 = mod_consts[12];
tmp_assattr_target_1 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[17]);
if (unlikely(tmp_assattr_target_1 == NULL)) {
tmp_assattr_target_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[17]);
}
assert(!(tmp_assattr_target_1 == NULL));
tmp_result = SET_ATTRIBUTE(tmp_assattr_target_1, mod_consts[18], tmp_assattr_value_1);
if (tmp_result == false) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
}
{
PyObject *tmp_assattr_value_2;
PyObject *tmp_assattr_target_2;
tmp_assattr_value_2 = Py_True;
tmp_assattr_target_2 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[17]);
if (unlikely(tmp_assattr_target_2 == NULL)) {
tmp_assattr_target_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[17]);
}
assert(!(tmp_assattr_target_2 == NULL));
tmp_result = SET_ATTRIBUTE(tmp_assattr_target_2, mod_consts[19], tmp_assattr_value_2);
if (tmp_result == false) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
}
{
PyObject *tmp_assattr_value_3;
PyObject *tmp_assattr_target_3;
tmp_assattr_value_3 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[15]);
if (unlikely(tmp_assattr_value_3 == NULL)) {
tmp_assattr_value_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[15]);
}
if (tmp_assattr_value_3 == NULL) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
tmp_assattr_target_3 = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[17]);
if (unlikely(tmp_assattr_target_3 == NULL)) {
tmp_assattr_target_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[17]);
}
assert(!(tmp_assattr_target_3 == NULL));
tmp_result = SET_ATTRIBUTE(tmp_assattr_target_3, mod_consts[20], tmp_assattr_value_3);
if (tmp_result == false) {
assert(ERROR_OCCURRED());
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
exception_lineno = 1;
goto frame_exception_exit_1;
}
}
// Restore frame exception if necessary.
#if 0
RESTORE_FRAME_EXCEPTION(frame_8460b06b35cd77a84a35d206c1c10349);
#endif
popFrameStack();
goto frame_no_exception_1;
frame_exception_exit_1:;
#if 0
RESTORE_FRAME_EXCEPTION(frame_8460b06b35cd77a84a35d206c1c10349);
#endif
if (exception_tb == NULL) {
exception_tb = MAKE_TRACEBACK(frame_8460b06b35cd77a84a35d206c1c10349, exception_lineno);
} else if (exception_tb->tb_frame != &frame_8460b06b35cd77a84a35d206c1c10349->m_frame) {
exception_tb = ADD_TRACEBACK(exception_tb, frame_8460b06b35cd77a84a35d206c1c10349, exception_lineno);
}
// Put the previous frame back on top.
popFrameStack();
// Return the error.
goto module_exception_exit;
frame_no_exception_1:;
{
PyObject *tmp_assign_source_4;
tmp_assign_source_4 = Py_None;
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[21], tmp_assign_source_4);
}
{
PyObject *tmp_assign_source_5;
tmp_assign_source_5 = IMPORT_HARD_FUNCTOOLS();
assert(!(tmp_assign_source_5 == NULL));
UPDATE_STRING_DICT0(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_5);
}
{
PyObject *tmp_assign_source_6;
tmp_assign_source_6 = MAKE_FUNCTION_keyring$util$$$function__1_once();
UPDATE_STRING_DICT1(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[22], tmp_assign_source_6);
}
{
PyObject *tmp_assign_source_7;
PyObject *tmp_defaults_1;
PyObject *tmp_tuple_element_1;
tmp_tuple_element_1 = PyExc_Exception;
tmp_defaults_1 = MAKE_TUPLE_EMPTY(1);
PyTuple_SET_ITEM0(tmp_defaults_1, 0, tmp_tuple_element_1);
tmp_assign_source_7 = MAKE_FUNCTION_keyring$util$$$function__2_suppress_exceptions(tmp_defaults_1);
UPDATE_STRING_DICT1(moduledict_keyring$util, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_7);
}
// Report to PGO about leaving the module without error.
PGO_onModuleExit("keyring.util", false);
Py_INCREF(module_keyring$util);
return module_keyring$util;
module_exception_exit:
#if defined(_NUITKA_MODULE) && 0
{
PyObject *module_name = GET_STRING_DICT_VALUE(moduledict_keyring$util, (Nuitka_StringObject *)const_str_plain___name__);
if (module_name != NULL) {
Nuitka_DelModule(module_name);
}
}
#endif
PGO_onModuleExit("keyring$util", false);
RESTORE_ERROR_OCCURRED(exception_type, exception_value, exception_tb);
return NULL;
}