Contrastive Adversarial Domain Adaptation Techniques