(cherry picked from commit 3655c3fd) (cherry picked from commit b6d5cce5) (cherry picked from commit 48eeb1fa)