???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3
¢báWº  ã               @   s°   d Z ddlZddlZdZdZdZdZdZdZ	eeeeee	dœZ
ed	d
„ e
jƒ D ƒƒZe
jeeedœƒ ede	diZejdejƒZG dd„ dejjƒZdd„ Zdd„ Zdd„ ZdS )ak  DNS Rdata Classes.

@var _by_text: The rdata class textual name to value mapping
@type _by_text: dict
@var _by_value: The rdata class value to textual name mapping
@type _by_value: dict
@var _metaclasses: If an rdataclass is a metaclass, there will be a mapping
whose key is the rdatatype value and whose value is True in this dictionary.
@type _metaclasses: dicté    Né   é   é   éþ   éÿ   )Ú	RESERVED0ÚINÚCHÚHSÚNONEÚANYc             c   s   | ]\}}||fV  qd S )N© )Ú.0ÚxÚyr   r   ú /usr/lib/python3.6/rdataclass.pyú	<genexpr>2   s    r   )ZINTERNETZCHAOSZHESIODTzCLASS([0-9]+)$c               @   s   e Zd ZdZdS )ÚUnknownRdataclasszA DNS class is unknown.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   E   s   r   c             C   sV   t j| jƒ ƒ}|dkrRtj| ƒ}|dkr,t‚t|jdƒƒ}|dk sJ|dkrRtdƒ‚|S )zúConvert text into a DNS rdata class value.
    @param text: the text
    @type text: string
    @rtype: int
    @raises dns.rdataclass.UnknownRdataclass: the class is unknown
    @raises ValueError: the rdata class value is not >= 0 and <= 65535
    Nr   r   iÿÿ  z'class must be between >= 0 and <= 65535)	Ú_by_textÚgetÚupperÚ_unknown_class_patternÚmatchr   ÚintÚgroupÚ
ValueError)ÚtextÚvaluer   r   r   r   Ú	from_textJ   s    	
r"   c             C   s:   | dk s| dkrt dƒ‚tj| ƒ}|dkr6dt| ƒ }|S )z¾Convert a DNS rdata class to text.
    @param value: the rdata class value
    @type value: int
    @rtype: string
    @raises ValueError: the rdata class value is not >= 0 and <= 65535
    r   iÿÿ  z'class must be between >= 0 and <= 65535NZCLASS)r   Ú	_by_valuer   Úrepr)r!   r    r   r   r   Úto_text^   s    
r%   c             C   s   | t krdS dS )zmTrue if the class is a metaclass.
    @param rdclass: the rdata class
    @type rdclass: int
    @rtype: boolTF)Ú_metaclasses)Zrdclassr   r   r   Úis_metaclassn   s    r'   )r   ÚreZdns.exceptionZdnsr   r   r	   r
   r   r   r   ÚdictÚitemsr#   Úupdater&   ÚcompileÚIr   Z	exceptionZDNSExceptionr   r"   r%   r'   r   r   r   r   Ú<module>   s4   
