(cherry picked from commit 95f2b9859718eca12fb3167775cdd2dad25dde25) (cherry picked from commit 47dd871f96e6a5a2b1149f1baed0e19e4d0c7bb7)