(cherry picked from commit 68b621471197105b2a846a2827afdaa23ec03edc)
(cherry picked from commit 8974e0ab37c2fa0b9097cae638b983e8600db4b2)