(cherry picked from commit 603e6766492dc95758a7ef080033cdb042eaff05)
(cherry picked from commit d4f6ecd5b8db91abd963ae5600a0d9004c8ff852)