(cherry picked from commit bffaa38a91b26920206a3350bf1cd60ec950aa74)
(cherry picked from commit 4b3948ea365db07df7a9369a271009fafd1ba8f5)