(cherry picked from commit 09520cb439f8b002e3f2f3d8f5080ffc34f4bd5c) (cherry picked from commit c5a3ec493b8ad2fdec8a23e078c5914317d7b7c5)