(cherry picked from commit 5fac4cac86475b935c4fe3f4eb364250abbce970)
(cherry picked from commit 06e36e21ae5c84b220bdf2d411bd86098ce49aed)