code: def __init__(self, value, fun, args, kwargs, parent_argnums, parents):
      self.parents = parents
      try:
          vjpmaker = primitive_vjps[fun]
      except KeyError:
          fun_name = getattr(fun, "__name__", fun)
          raise NotImplementedError(
              "VJP of {} wrt argnums {} not defined".format(
                  fun_name, parent_argnums
              )
          )
      self.vjp = vjpmaker(parent_argnums, value, args, kwargs)
  
imports: from itertools import count
  from functools import reduce
  from .tracer import trace, primitive, toposort, Node, Box, isbox, getval
  from .util import func, subval
  import warnings
label_desc: Use image node_id 1 to create a new VJPNode object from inherited base classes: Node with example: obj = VJPNode(value, fun, args, kwargs, parent_argnums, parents)