code: def impersonate(target):
      """Decorator to update the attributes of a function so that to external
      introspectors it will appear to be the target function.
  
      Note that this updates the function in place, it doesn't return a
      new one.
      """
  
      def accept(f):
          # Lie shamelessly about where this code comes from, to hide the hypothesis
          # internals from pytest, ipython, and other runtime introspection.
          f.__code__ = f.__code__.replace(
              co_filename=target.__code__.co_filename,
              co_firstlineno=target.__code__.co_firstlineno,
          )
          f.__name__ = target.__name__
          f.__module__ = target.__module__
          f.__doc__ = target.__doc__
          f.__globals__["__hypothesistracebackhide__"] = True
          return f
  
      return accept
  
imports: import ast
  import hashlib
  import inspect
  import os
  import re
  import sys
  import textwrap
  import types
  from functools import wraps
  from io import StringIO
  from keyword import iskeyword
  from tokenize import COMMENT, detect_encoding, generate_tokens, untokenize
  from types import ModuleType
  from typing import TYPE_CHECKING, Any, Callable
  from unittest.mock import _patch
  from hypothesis.internal.compat import PYPY, is_typed_named_tuple
  from hypothesis.utils.conventions import not_set
  from hypothesis.vendor.pretty import pretty
label_desc: Use image node_id 21 for calling a global function with example usage: impersonate(target) and returns: accept, f