(cherry picked from commit 72f54c32a6114a69caec30170a29837c91434aff)
(cherry picked from commit b6570e723836167640c9b7efc63f327ff17b0755)