code: def combine_configs(
      config_1: ArrayConfig,
      config_2: ArrayConfig,
  ) -> ArrayConfig:
      assert config_1.shape == config_2.shape
      shape = (3,) + config_1.shape
  
      index_map = {}
      for dev, idxs in config_1.index_map.items():
          index_map[dev] = [(slice(2),) + idx for idx in idxs]
      for dev, idxs in config_2.index_map.items():
          index_map[dev] += [(slice(2, 3),) + idx for idx in idxs]
  
      return ArrayConfig(shape, index_map)
  
imports: import dataclasses
  import math
  import pytest
  import numpy
  import cupy
  from cupy import testing
  from cupyx.distributed.array import _linalg
  from cupyx.distributed import array
  from cupyx.distributed.array import REPLICA, SUM
label_desc: Use image node_id 3 for calling a global function with example usage: combine_configs(config_1, config_2) and returns: ArrayConfig