(cherry picked from commit 905ff245b6040b04a862c3d40e957f0f634ee069)
(cherry picked from commit 6e9b4ef610be7480aa54e5740a5149ecc71b2969)