(cherry picked from commit f58059c758a721d5186c99d2aa8df2c4dcb88e51)
(cherry picked from commit c6c80a672a18793360e0b591b3c98863a5b6b312)