(cherry picked from commit f508b65688503e9ae8ece5a1924e84481b98a39e)
(cherry picked from commit 744c8bc8dc8a82cb3afb75aead5a744adaae5501)