(cherry picked from commit 017c3e12087e0127e14e82278967ffe782842d73)
(cherry picked from commit 5e7c28b945e9d6d3b596e0b0241a2d46bd78ad00)