(cherry picked from commit 034710abc4c02d97ff9a6b2ff36f0e6f5959eccb)
(cherry picked from commit 31ebedb6c1ff3a5a08ae18abb468e9e85810ac9c)