(cherry picked from commit ae50a8eb) (cherry picked from commit b7e93bc9) (cherry picked from commit f2388ebc)