(cherry picked from commit ea77dfafe1afe7d399e47871d2ec81fea99626cc)
(cherry picked from commit 8879116fe85558520c4811dc4ab780b28e66810d)