(cherry picked from commit 45e3f1ef1934586f5898c1c1af0cbf67edcef185)
(cherry picked from commit 61c1554ad960bcc83e418c7f7aab3db281e8d9d6)