(cherry picked from commit 2edb6351138679c29f909d2070b3867c9d550281)
(cherry picked from commit a4ea83115e687d340ce62c2a373320dabf5b974a)