code: def _mutual_info_qnode(self, qnode, targs, tkwargs):
      if tkwargs.get("device", False):
          raise ValueError(
              "Cannot provide a 'device' value directly to the mutual_info decorator when "
              "transforming a QNode."
          )
      if tkwargs.get("device_wires", None):
          raise ValueError(
              "Cannot provide a 'device_wires' value directly to the mutual_info decorator when "
              "transforming a QNode."
          )
  
      tkwargs.setdefault("device", qnode.device)
      tkwargs.setdefault("device_wires", qnode.device.wires)
      return self.default_qnode_transform(qnode, targs, tkwargs)
  
imports: from functools import partial
  from typing import Callable, Sequence
  import pennylane
  from pennylane.tape import QuantumTape
  from pennylane.devices import DefaultQubit, DefaultQubitLegacy, DefaultMixed
  from pennylane.measurements import StateMP, DensityMatrixMP
  from pennylane.gradients import adjoint_metric_tensor, metric_tensor
  from pennylane import transform
label_desc: Use image node_id 8 for calling a global function with example usage: _mutual_info_qnode(qnode, targs, tkwargs) and returns: self