(cherry picked from commit dec400499e44c25a9f622424e5e26949f944b5a0)
(cherry picked from commit 16699d68fa52d5a8dd450c68c64220def1d6a142)