# Path: roscraco/helper/validator.py
# WEP_CONSTRAINTS_MAP = {
#     64: {'ascii': 5, 'hex': 10},
#     128: {'ascii': 13, 'hex': 26},
#     152: {'ascii': 16, 'hex': 32}
# }
# def is_valid_mac_address(mac):
# def is_valid_mac_address_normalized(mac):
# def is_valid_ip_address(ip):
# def _is_hex_string(string):
# def is_valid_wpa_psk_password(password):
# def is_valid_wep_password(password, bit_length):
# def is_wep_password_in_hex(password, bit_length):
# def is_valid_ssid(ssid):
# def is_ip_in_range(ip, ip_range_start, ip_range_end):
# 
# Path: roscraco/exception.py
# class RouterSettingsError(RouterError):
#     pass


from roscraco.helper import validator
from roscraco.exception import RouterSettingsError
        for changes to take effect.
        """
        return self._changes_require_reboot

    @property
    def is_supported(self):
        """Tells whether the router supports DMZ."""
        return self._is_supported

    def set_supported_status(self, value):
        self._is_supported = bool(value)

    @property
    def is_enabled(self):
        """Tells whether the DMZ feature is enabled."""
        return self._is_enabled

    def set_enabled_status(self, value):
        self._is_enabled = bool(value)

    @property
    def ip(self):
        """The IP address of the DMZ host."""
        return self._ip

    def set_ip(self, value):
        self._ip = value

    def validate(self):
        errors = {}

# Path: roscraco/helper/validator.py
# WEP_CONSTRAINTS_MAP = {
#     64: {'ascii': 5, 'hex': 10},
#     128: {'ascii': 13, 'hex': 26},
#     152: {'ascii': 16, 'hex': 32}
# }
# def is_valid_mac_address(mac):
# def is_valid_mac_address_normalized(mac):
# def is_valid_ip_address(ip):
# def _is_hex_string(string):
# def is_valid_wpa_psk_password(password):
# def is_valid_wep_password(password, bit_length):
# def is_wep_password_in_hex(password, bit_length):
# def is_valid_ssid(ssid):
# def is_ip_in_range(ip, ip_range_start, ip_range_end):
# 
# Path: roscraco/exception.py
# class RouterSettingsError(RouterError):
#     pass


# Path: roscraco/response/dmz.py
from roscraco.helper import validator
from roscraco.exception import RouterSettingsError

        for changes to take effect.
        """
        return self._changes_require_reboot

    @property
    def is_supported(self):
        """Tells whether the router supports DMZ."""
        return self._is_supported

    def set_supported_status(self, value):
        self._is_supported = bool(value)

    @property
    def is_enabled(self):
        """Tells whether the DMZ feature is enabled."""
        return self._is_enabled

    def set_enabled_status(self, value):
        self._is_enabled = bool(value)

    @property
    def ip(self):
        """The IP address of the DMZ host."""
        return self._ip

    def set_ip(self, value):
        self._ip = value

    def validate(self):
        errors = {}

        if not validator.is_valid_ip_address(self.ip):