PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  m!|Uc@sdZddlZdZdZdZdZdZied6ed 6ed 6ed 6ed 6Ze gej D]\Z Z e e f^qiZ d ejjfdYZdZdZdZdZdZdS(s DNS Opcodes.iNiiiiitQUERYtIQUERYtSTATUStNOTIFYtUPDATEt UnknownOpcodecBseZdZRS(sAn DNS opcode is unknown.(t__name__t __module__t__doc__(((s./usr/lib/python2.7/site-packages/dns/opcode.pyR)scCse|jr7t|}|dkr7|dkr7|Sntj|j}|dkratn|S(sConvert text into an opcode. @param text: the textual opcode @type text: string @raises UnknownOpcode: the opcode is unknown @rtype: int iiN(tisdigittintt_by_texttgettuppertNoneR(ttexttvalue((s./usr/lib/python2.7/site-packages/dns/opcode.pyt from_text,s    cCs |d@d?S(sUExtract an opcode from DNS message flags. @param flags: int @rtype: int ixi ((tflags((s./usr/lib/python2.7/site-packages/dns/opcode.pyt from_flags>scCs |d>d@S(s`Convert an opcode to a value suitable for ORing into DNS message flags. @rtype: int i ix((R((s./usr/lib/python2.7/site-packages/dns/opcode.pytto_flagsGscCs.tj|}|dkr*t|}n|S(sConvert an opcode to text. @param value: the opcdoe @type value: int @raises UnknownOpcode: the opcode is unknown @rtype: string N(t _by_valueR Rtstr(RR((s./usr/lib/python2.7/site-packages/dns/opcode.pytto_textOs  cCst|tkrtStS(snTrue if the opcode in flags is UPDATE. @param flags: DNS flags @type flags: int @rtype: bool (RRtTruetFalse(R((s./usr/lib/python2.7/site-packages/dns/opcode.pyt is_update]s(Rt dns.exceptiontdnsRRRRRR tdictt iteritemstxtyRt exceptiont DNSExceptionRRRRRR(((s./usr/lib/python2.7/site-packages/dns/opcode.pyts&  1