(cherry picked from commit 6dc58dcc1797f8b72170c2c104c9cdf9b53c7b50)
(cherry picked from commit e081d2b7730d2a7554b88af3a39ba3a2c0f5ba01)