"""
Module providing evasion attacks under a common interface.
"""
from art.attacks.evasion.adversarial_patch.adversarial_patch import (
    AdversarialPatch,
    AdversarialPatchNumpy,
    AdversarialPatchTensorFlowV2,
)
from art.attacks.evasion.boundary import BoundaryAttack
from art.attacks.evasion.carlini import CarliniL2Method, CarliniLInfMethod
from art.attacks.evasion.decision_tree_attack import DecisionTreeAttack
from art.attacks.evasion.deepfool import DeepFool
from art.attacks.evasion.elastic_net import ElasticNet
from art.attacks.evasion.fast_gradient import FastGradientMethod
from art.attacks.evasion.hclu import HighConfidenceLowUncertainty
from art.attacks.evasion.hop_skip_jump import HopSkipJump
from art.attacks.evasion.iterative_method import BasicIterativeMethod
from art.attacks.evasion.newtonfool import NewtonFool
from art.attacks.evasion.projected_gradient_descent.projected_gradient_descent import (
    ProjectedGradientDescent,
    ProjectedGradientDescentNumpy,
    ProjectedGradientDescentPyTorch,
    ProjectedGradientDescentTensorFlowV2,
)
from art.attacks.evasion.saliency_map import SaliencyMapMethod
from art.attacks.evasion.spatial_transformation import SpatialTransformation
from art.attacks.evasion.universal_perturbation import UniversalPerturbation
from art.attacks.evasion.virtual_adversarial import VirtualAdversarialMethod
from art.attacks.evasion.wasserstein import Wasserstein
from art.attacks.evasion.zoo import ZooAttack
from art.attacks.evasion.pixel_threshold import PixelAttack
from art.attacks.evasion.pixel_threshold import ThresholdAttack
from art.attacks.evasion.frame_saliency import FrameSaliencyAttack
from art.attacks.evasion.feature_adversaries import FeatureAdversaries
from art.attacks.evasion.dpatch import DPatch
from art.attacks.evasion.shadow_attack import ShadowAttack
from art.attacks.evasion.auto_attack import AutoAttack
from art.attacks.evasion.auto_projected_gradient_descent import AutoProjectedGradientDescent
from art.attacks.evasion.square_attack import SquareAttack
