(cherry picked from commit 98678fb1) (cherry picked from commit b06e42ae) (cherry picked from commit 26708b04)