(cherry picked from commit 9ff6ae81bdcb7ce8d1a180f86fad8870324bcf1e)
(cherry picked from commit e6a9d0b090e6f89669587cfa7b71b275d7796bff)