(cherry picked from commit b7f98f1a916db98c476be3b05ad29bf96a5746c9)
(cherry picked from commit 6546f73f90cd56d14a2e90cb6604901df18a9419)