(cherry picked from commit 2da37f984a8ed4ca369e2efecb2da5d71976c93e)
(cherry picked from commit 699333ca06526d747a7eb4a188e896de81e9f014)