(cherry picked from commit 4991f54a8d84a9a8df89a99dbfc09391195578f8)
(cherry picked from commit 453a982e6382cff06ea27abba225440b07068f50)