(cherry picked from commit 3ff0510ffdc20e44f06aec591782f8875b686327) (cherry picked from commit 94759470b8a922d410797b8b76e055fd2fc6dd69)