(cherry picked from commit 150c430f) (cherry picked from commit d08f6fdd) (cherry picked from commit 277b8bb5) (cherry picked from commit f4777883)