(cherry picked from commit 92d301299575efedf81a9cc5cd9c99951e9895d5)
(cherry picked from commit 6a5a643b18cdbc09abfee5c9f8146294d267a3c6)