(cherry picked from commit b4e8e04eb1d5854fe366f437c5ac0a5ac11d5638)
(cherry picked from commit 62e4055377d07de19ff48c55ebc627dfd41a6837)