(cherry picked from commit 67b2661e3d73a68ba7ca73b112bf6baea128631e) (cherry picked from commit c225ac3f8f8cfd9686f6acf9cbd91705e0f0d661)