(cherry picked from commit 27d96dd506797fe82b3b5bf8d3af8a9eb84d6412)
(cherry picked from commit faa2820694d8aa40df2ed31325deb28f6de63b7a)