(cherry picked from commit 3735a3df0ea73b81442c0057acd228b2b287a1ea)
(cherry picked from commit 6b2fac687d05e14ae3e7b947b1193c39cc0d43c1)