(cherry picked from commit d70445e8fd9de410d85089c33760dcbb892eb0be)
(cherry picked from commit 3fc1c4e523cdd9c52da7b7774ee9ec1dfdb1a872)