(cherry picked from commit 2acf83897fe74233d490398eaa0cf5a81169135c)
(cherry picked from commit 3922303e63a8e910511361019a54ea13801e3f92)