(cherry picked from commit 43f3c6743483544343eb814dfe98419e19cfc52e)
(cherry picked from commit 6768cdea0588478b0f0048676c8eb9d37dc61696)