(cherry picked from commit e22363d061eb31214bf2b8c8e0902a5d50952aba)
(cherry picked from commit 2d019f1bf96b94e879b79ad83e13c5eea12a94bd)