(cherry picked from commit 5853ba7fe4e0cbe4f04b20c86e9fd84c5557139f)
(cherry picked from commit b641d661d7b7c6e5e9fa4d2d8456170ee078b043)