import sys
import builtins
from importlib.abc import Loader
from importlib.util import spec_from_loader
class EmbeddedModule:
def __init__(self, code):
self.code = code
class EmbeddedModuleLoader(Loader):
def __init__(self, code):
self.code = code
def exec_module(self, module):
exec(self.code, vars(module))
class EmbeddedModuleFinder:
def find_spec(self, fullname, path=None, target=None):
frame = sys._getframe(1)
while frame.f_code.co_filename.startswith('<'):
frame = frame.f_back
if isinstance((obj := frame.f_globals.get(fullname)), EmbeddedModule):
return spec_from_loader(fullname, EmbeddedModuleLoader(obj.code))
sys.meta_path.append(EmbeddedModuleFinder())
def build_class(func, name, *bases, metaclass=type, **kwargs):
if EmbeddedModule in bases:
return EmbeddedModule(func.__code__)
return orig_build_class(func, name, *bases, metaclass=metaclass, **kwargs)
orig_build_class = builtins.__build_class__
builtins.__build_class__ = build_class
class any_re(EmbeddedModule):
try:
import regex as re
except ImportError:
import re
from any_re import re
print(re)
aW1wb3J0IHN5cwppbXBvcnQgYnVpbHRpbnMKZnJvbSBpbXBvcnRsaWIuYWJjIGltcG9ydCBMb2FkZXIKZnJvbSBpbXBvcnRsaWIudXRpbCBpbXBvcnQgc3BlY19mcm9tX2xvYWRlcgoKY2xhc3MgRW1iZWRkZWRNb2R1bGU6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29kZSk6CiAgICAgICAgc2VsZi5jb2RlID0gY29kZQoKY2xhc3MgRW1iZWRkZWRNb2R1bGVMb2FkZXIoTG9hZGVyKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb2RlKToKICAgICAgICBzZWxmLmNvZGUgPSBjb2RlCgogICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgZXhlYyhzZWxmLmNvZGUsIHZhcnMobW9kdWxlKSkKCmNsYXNzIEVtYmVkZGVkTW9kdWxlRmluZGVyOgogICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lLCB0YXJnZXQ9Tm9uZSk6CiAgICAgICAgZnJhbWUgPSBzeXMuX2dldGZyYW1lKDEpCiAgICAgICAgd2hpbGUgZnJhbWUuZl9jb2RlLmNvX2ZpbGVuYW1lLnN0YXJ0c3dpdGgoJzwnKToKICAgICAgICAgICAgZnJhbWUgPSBmcmFtZS5mX2JhY2sKICAgICAgICBpZiBpc2luc3RhbmNlKChvYmogOj0gZnJhbWUuZl9nbG9iYWxzLmdldChmdWxsbmFtZSkpLCBFbWJlZGRlZE1vZHVsZSk6CiAgICAgICAgICAgIHJldHVybiBzcGVjX2Zyb21fbG9hZGVyKGZ1bGxuYW1lLCBFbWJlZGRlZE1vZHVsZUxvYWRlcihvYmouY29kZSkpCgpzeXMubWV0YV9wYXRoLmFwcGVuZChFbWJlZGRlZE1vZHVsZUZpbmRlcigpKQoKZGVmIGJ1aWxkX2NsYXNzKGZ1bmMsIG5hbWUsICpiYXNlcywgbWV0YWNsYXNzPXR5cGUsICoqa3dhcmdzKToKICAgIGlmIEVtYmVkZGVkTW9kdWxlIGluIGJhc2VzOgogICAgICAgIHJldHVybiBFbWJlZGRlZE1vZHVsZShmdW5jLl9fY29kZV9fKQogICAgcmV0dXJuIG9yaWdfYnVpbGRfY2xhc3MoZnVuYywgbmFtZSwgKmJhc2VzLCBtZXRhY2xhc3M9bWV0YWNsYXNzLCAqKmt3YXJncykKCm9yaWdfYnVpbGRfY2xhc3MgPSBidWlsdGlucy5fX2J1aWxkX2NsYXNzX18KYnVpbHRpbnMuX19idWlsZF9jbGFzc19fID0gYnVpbGRfY2xhc3MKCmNsYXNzIGFueV9yZShFbWJlZGRlZE1vZHVsZSk6CiAgICB0cnk6CiAgICAgICAgaW1wb3J0IHJlZ2V4IGFzIHJlCiAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgaW1wb3J0IHJlCgpmcm9tIGFueV9yZSBpbXBvcnQgcmUKcHJpbnQocmUp