(cherry picked from commit c559daeb1029c96103e3bca951317d878a837a5c)
(cherry picked from commit 7bb895470d300178ddccf493d0a6927e3d81e811)