(cherry picked from commit 024c1c3a13843410cfc171309152f326fed846cf)
(cherry picked from commit b659dc54ce8df7a9e8f122be3c2a79e3c5f445af)