(cherry picked from commit a1d4bb53997748ef348af50dd967bae8e23e234d)
(cherry picked from commit f35a27449d253260ba9c9fae28909cec8a87b4fe)