(cherry picked from commit 3960ea7d591a199c188e764b26d0840ccae1c322)
(cherry picked from commit af20e8a6970ec7f08799389ac9ce897d1cc822e0)