(cherry picked from commit e4878a59b3a380e323bb4627a69266bbf2524b36) (cherry picked from commit 85be67ebe46b0d14e2689fecf4d56374c3a084be)