ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3
bW	                 @   s   d Z ddlZdZdZdZdZdZeeeeedZe	dd	 ej
 D ZG d
d dejjZdd Zdd Zdd Zdd Zdd ZdS )zDNS Opcodes.    N            )QUERYIQUERYSTATUSNOTIFYUPDATEc             c   s   | ]\}}||fV  qd S )N ).0xyr   r   /usr/lib/python3.6/opcode.py	<genexpr>&   s    r   c               @   s   e Zd ZdZdS )UnknownOpcodezAn DNS opcode is unknown.N)__name__
__module____qualname____doc__r   r   r   r   r   )   s   r   c             C   sB   | j  r$t| }|dkr$|dkr$|S tj| j }|dkr>t|S )zConvert text into an opcode.

    @param text: the textual opcode
    @type text: string
    @raises UnknownOpcode: the opcode is unknown
    @rtype: int
    r      N)isdigitint_by_textgetupperr   )textvaluer   r   r   	from_text.   s    	r   c             C   s   | d@ d? S )zUExtract an opcode from DNS message flags.

    @param flags: int
    @rtype: int
    i x     r   )flagsr   r   r   
from_flagsA   s    r!   c             C   s   | d> d@ S )z`Convert an opcode to a value suitable for ORing into DNS message
    flags.
    @rtype: int
    r   i x  r   )r   r   r   r   to_flagsK   s    r"   c             C   s   t j| }|dkrt| }|S )zConvert an opcode to text.

    @param value: the opcdoe
    @type value: int
    @raises UnknownOpcode: the opcode is unknown
    @rtype: string
    N)	_by_valuer   str)r   r   r   r   r   to_textT   s    	
r%   c             C   s   t | tkS )znTrue if the opcode in flags is UPDATE.

    @param flags: DNS flags
    @type flags: int
    @rtype: bool
    )r!   r
   )r    r   r   r   	is_updatec   s    r&   )r   Zdns.exceptionZdnsr   r   r   r	   r
   r   dictitemsr#   Z	exceptionZDNSExceptionr   r   r!   r"   r%   r&   r   r   r   r   <module>   s$   
	