(cherry picked from commit 20893682eced98dfba55d88edd63296993087c85) (cherry picked from commit 93d9fdeca65a97434936ec9c2e25c362ee016783)
(cherry picked from commit 20893682eced98dfba55d88edd63296993087c85) (cherry picked from commit 93d9fdeca65a97434936ec9c2e25c362ee016783)