code: def _cond_manager(predicate):
      actual_predicate = this_condition_stack().push_predicate(
          predicate
      )
      logging.log(
          7,
          (
              f"{this_condition_stack()._indent()}[IF]: {predicate}"
              f" at {this_condition_stack().stack_depth() - 1}"
          ),
      )
      # Return it so we can use it in merge
      yield actual_predicate
      this_condition_stack().pop()
  
imports: from nvidia.dali import _autograph
  from nvidia.dali.data_node import DataNode
  from nvidia.dali import fn
  from nvidia.dali._autograph.utils import ag_logging
  from nvidia.dali._autograph.operators import variables
  from contextlib import contextmanager
  from enum import Enum
  import tree
label_desc: Use image node_id 2 for calling a global function with example usage: _cond_manager(predicate) without return types