(cherry picked from commit 82aed175ab31296666a317e81e0e2bb7744b4f5d)
(cherry picked from commit e9ff8d323752dd0df8bebbb71b8c3fe4f6e8caff)