(cherry picked from commit 7f3a45da73fc327e843954804585091b4040b59f)
(cherry picked from commit 1123dd998feb7304761cb7be8bd9c9e28f67b787)