code: def _khatri_rao_data(draw):
      num_matrices = draw(helpers.ints(min_value=2, max_value=4))
      m = draw(helpers.ints(min_value=1, max_value=5))
      input_dtypes, input = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("valid"),
              num_arrays=num_matrices,
              min_dim_size=m,
              max_dim_size=m,
              min_num_dims=2,
              max_num_dims=2,
              large_abs_safety_factor=20,
              small_abs_safety_factor=20,
              safety_factor_scale="log",
          )
      )
      skip_matrix = draw(
          helpers.ints(min_value=0, max_value=len(input) - 1)
      )
      weight_dtype, weights = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("integer"), shape=(m,)
          )
      )
      mask_dtype, mask = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("integer"),
              min_value=0,
              max_value=1,
              shape=(m,),
          )
      )
      return (
          input_dtypes + weight_dtype + mask_dtype,
          input,
          skip_matrix,
          weights[0],
          mask[0],
      )
  
imports: import math
  from hypothesis import strategies
  from hypothesis import assume
  import numpy
  import pytest
  import itertools
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy
label_desc: Use image node_id 11 for calling a global function with example usage: _khatri_rao_data(draw) and returns: unknown,  input,  skip_matrix,  weights,  mask