def A(end="\n"):
print("Hello", end=end)
return "Hello"
assert A
() == "Hello", "define A error"
def B(f):
def _f():
r = f("")
print(", World")
return r + ", World"
return _f
def wrap(f1, f2):
G = globals()
f1_name = f1.__name__
G[f1_name] = f2(f1)
wrap(A,B)
assert A
() == "Hello, World", "wrap A to B(A) fail"
ZGVmIEEoZW5kPSJcbiIpOgogICAgcHJpbnQoIkhlbGxvIiwgZW5kPWVuZCkKICAgIHJldHVybiAiSGVsbG8iCgoKYXNzZXJ0IEEoKSA9PSAiSGVsbG8iLCAiZGVmaW5lIEEgZXJyb3IiCgpkZWYgQihmKToKICAgIGRlZiBfZigpOgogICAgICAgIHIgPSBmKCIiKQogICAgICAgIHByaW50KCIsIFdvcmxkIikKICAgICAgICByZXR1cm4gciArICIsIFdvcmxkIgogICAgcmV0dXJuIF9mCgoKCmRlZiB3cmFwKGYxLCBmMik6CiAgICBHID0gZ2xvYmFscygpCiAgICBmMV9uYW1lID0gZjEuX19uYW1lX18KICAgIEdbZjFfbmFtZV0gPSBmMihmMSkKCgp3cmFwKEEsQikKYXNzZXJ0IEEoKSA9PSAiSGVsbG8sIFdvcmxkIiwgIndyYXAgQSB0byBCKEEpIGZhaWwi