(cherry picked from commit f51702d5398531835b24d812f6f95094a0e0493e) (cherry picked from commit 8d357343c4bc9f18e25543583f8f217b8a2f621b)