code: def defines_shrink_pass():
      """A convenient decorator for defining shrink passes."""
  
      def accept(run_step):
          ShrinkPassDefinition(run_with_chooser=run_step)
  
          def run(self):
              raise NotImplementedError(
                  "Shrink passes should not be run directly"
              )
  
          run.__name__ = run_step.__name__
          run.is_shrink_pass = True
          return run
  
      return accept
  
imports: from collections import defaultdict
  from typing import TYPE_CHECKING, Callable, Dict, Optional
  import attr
  from hypothesis.internal.compat import int_from_bytes, int_to_bytes
  from hypothesis.internal.conjecture.choicetree import ChoiceTree, prefix_selection_order, random_selection_order
  from hypothesis.internal.conjecture.data import DRAW_FLOAT_LABEL, ConjectureData, ConjectureResult, Status
  from hypothesis.internal.conjecture.dfa import ConcreteDFA
  from hypothesis.internal.conjecture.floats import float_to_lex, lex_to_float
  from hypothesis.internal.conjecture.junkdrawer import binary_search, find_integer, replace_all
  from hypothesis.internal.conjecture.shrinking import Float, Integer, Lexical, Ordering
  from hypothesis.internal.conjecture.shrinking.learned_dfas import SHRINKING_DFAS
label_desc: Use image node_id 2 for calling a global function with example usage: defines_shrink_pass() and returns: accept, run