Dissolution and passivation mechanisms of chalcopyrite during bioleaching: DFT calculation, XPS and electrochemistry analysis