3 ¢báWh ã@s¸dZdZdZdZdZdZdZdZdZeeeeeeedœZ d eiZ e d d „e j ƒDƒƒZ e d d „e j ƒDƒƒZd d„Zee ƒZeeƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)zDNS Message Flags.i€iiéé€é é)ÚQRÚAAÚTCÚRDÚRAÚADÚCDÚDOccs|]\}}||fVqdS)N©)Ú.0ÚxÚyr r ú/usr/lib/python3.6/flags.pyú 3srccs|]\}}||fVqdS)Nr )rrrr r rr5scCs t|jƒƒ}|jƒ|jƒ|S)N)ÚlistÚitemsÚsortÚreverse)ÚtableÚorderr r rÚ _order_flags8s rcCs.d}|jƒ}x|D]}|||jƒB}qW|S)Né)ÚsplitÚupper)ÚtextrÚflagsÚtokensÚtr r rÚ _from_textCs  r!cCs6g}x&|D]\}}||@dkr |j|ƒq Wdj|ƒS)Nrú )ÚappendÚjoin)rrrZ text_flagsÚkÚvr r rÚ_to_textKs  r'cCs t|tƒS)zZConvert a space-separated list of flag text values into a flags value. @rtype: int)r!Ú_by_text)rr r rÚ from_textSsr)cCs t|ttƒS)z]Convert a flags value into a space-separated list of flag text values. @rtype: string)r'Ú _by_valueÚ _flags_order)rr r rÚto_text[sr,cCs t|tƒS)zdConvert a space-separated list of EDNS flag text values into a EDNS flags value. @rtype: int)r!Ú _edns_by_text)rr r rÚedns_from_textcsr.cCs t|ttƒS)zhConvert an EDNS flags value into a space-separated list of EDNS flag text values. @rtype: string)r'Ú_edns_by_valueÚ_edns_flags_order)rr r rÚ edns_to_textksr1N)Ú__doc__rrrrr r r r r(r-Údictrr*r/rr+r0r!r'r)r,r.r1r r r rÚs6