(cherry picked from commit 42826a89) (cherry picked from commit 3ea15740) (cherry picked from commit 30d4f0ce) (cherry picked from commit d5d19e5e)