code: def pure_callback_abstract_eval(
      *avals,
      callback: Callable[..., Any],
      result_avals,
      sharding: SingleDeviceSharding | None,
      vectorized: bool,
  ):
      del avals, callback, sharding, vectorized
      return result_avals
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  import functools
  from typing import Any, Callable
  import numpy
  from jax._src import core
  from jax._src import dispatch
  from jax._src import dtypes
  from jax._src import effects
  from jax._src import sharding_impls
  from jax._src import tree_util
  from jax._src import util
  from jax._src.interpreters import ad
  from jax._src.interpreters import batching
  from jax._src.interpreters import mlir
  from jax._src.lib import xla_client
  from jax._src.lax.control_flow.loops import map
  from jax._src.sharding_impls import SingleDeviceSharding
label_desc: Use image node_id 2 for calling a global function with example usage: pure_callback_abstract_eval() and returns: result_avals