code: def _constructor_Function(
      maker, input_storage, inputs_data, trust_input=False
  ):
      if not config.unpickle_function:
          return None
  
      f = maker.create(input_storage)
      assert len(f.input_storage) == len(inputs_data)
      for container, x in zip(f.input_storage, inputs_data):
          assert (
              (container.data is x)
              or (
                  isinstance(x, np.ndarray)
                  and (container.data == x).all()
              )
              or (container.data == x)
          )
      f.trust_input = trust_input
      return f
  
imports: import copy
  import copyreg
  import logging
  import time
  import warnings
  from itertools import chain
  from typing import TYPE_CHECKING, Optional
  import numpy
  import pytensor
  import pytensor.compile.profiling
  from pytensor.compile.io import In, SymbolicInput, SymbolicOutput
  from pytensor.compile.ops import deep_copy_op, view_op
  from pytensor.configdefaults import config
  from pytensor.graph.basic import Constant, Variable, ancestors, clone_get_equiv, graph_inputs
  from pytensor.graph.destroyhandler import DestroyHandler
  from pytensor.graph.features import AlreadyThere, Feature, PreserveVariableAttributes
  from pytensor.graph.fg import FunctionGraph
  from pytensor.graph.op import HasInnerGraph
  from pytensor.graph.utils import InconsistencyError, get_variable_trace_string
  from pytensor.link.basic import Container
  from pytensor.link.utils import raise_with_op
label_desc: Use image node_id 7 for calling a global function with example usage: _constructor_Function(maker, input_storage, inputs_data, trust_input) and returns: f, None