from abc import ABCMeta, abstractmethod


class Technique:
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        self.parameters = parameters

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class AlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class NonAlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError

433e98b4bdd3feee8ea6e91b2b155e1ff543465a
<mask token>


class Technique:
    <mask token>

    def __init__(self, parameters=None):
        self.parameters = parameters
    <mask token>


class AlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class NonAlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError

<mask token>


class Technique:
    <mask token>

    def __init__(self, parameters=None):
        self.parameters = parameters

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class AlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class NonAlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError

<mask token>


class Technique:
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        self.parameters = parameters

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class AlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class NonAlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError

from abc import ABCMeta, abstractmethod


class Technique:
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        self.parameters = parameters

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class AlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError


class NonAlteringTechnique(Technique):
    __metaclass__ = ABCMeta

    def __init__(self, parameters=None):
        Technique.__init__(self, parameters)

    @abstractmethod
    def apply(self, image):
        raise NotImplementedError
