(cherry picked from commit c65f76f56278f74082c4fa792ed49104d5d33c38)
(cherry picked from commit 07b2497664bd108dec84f6cfe43715540faf2688)