(cherry picked from commit 21319d339305c77311d42aa18501d425a5a2619c)
(cherry picked from commit 44c4d7b9521fe449e61edc614446195861932f8c)