(cherry picked from commit 96895e1a403351285db8b4131da5842e140c7c12)
(cherry picked from commit 50bfab4bd35426be29666515af0bdef6a843b93e)