(cherry picked from commit d5364b5a463e78c8228b96dbc3e6dbda8dea5733)
(cherry picked from commit 4a00c56d5c85735267d7d8d77465f3e1cdde95bc)