code: def array_indexer_strategy(draw, shape) -> jax.Array:
      unbcast = [draw(hps.booleans()) for _ in shape]
      shape = tuple(1 if unb else s for unb, s in zip(unbcast, shape))
      return draw(hnp.arrays(dtype=np.dtype("int32"), shape=shape))
  
imports: from __future__ import annotations
  import unittest
  from absl.testing import absltest
  from absl.testing import parameterized
  import jax
  from jax._src import util
  from jax._src.state import indexing
  import numpy
  import hypothesis.extra.numpy
  import hypothesis.strategies
label_desc: Use image node_id 3 for calling a global function with example usage: array_indexer_strategy(draw, shape) and returns: draw