(cherry picked from commit f56f7e86) (cherry picked from commit fb91e313) (cherry picked from commit 629ead66)