(cherry picked from commit f38a6d03a11ca6de93a225563ddf55ec99d5063c) (cherry picked from commit 83ccab8a653a4ef943276651c9604bd434675980)