(cherry picked from commit e68a8fdc49c600224b93e25f60ed6b8ecf1afe84)
(cherry picked from commit 35fb38a1ed860cfa65ee57ec6d1e5e715fb1b7a7)