adaptive interleaving