(cherry picked from commit 9435fc5e20e25ce66ec85bde033daff51f39f69c)
(cherry picked from commit 453a982e6382cff06ea27abba225440b07068f50)