Diffusion mechanism of zinc and beryllium in gallium arsenide