+
    +O|j8-  ã                   ó¦  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t ! R R]P                  P                  4      t ! R R]P                  P                  4      t ! R R]P                  P                  4      t ! R R	]P                  P                  4      t ! R
 R]P                  P                  4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t]P,                  P/                  R4      t ]P,                  P/                  R4      t!]t"]^]^]^ ]^]^0]^]^@] ^ ]^]!^€/
t# ! R R4      t$ ! R  R!4      t% ! R" R#4      t&R+R$ lt'R% t(R,R& lt)R-R' lt*R( t+ ! R) R*4      t,R# ).zDNS TSIG support.Nc                   ó   € ] tR t^ tRtRtR# )ÚBadTimez8The current time is not within the TSIG's validity time.© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    ÚAC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/tsig.pyr   r       s   † ÝBr   r   c                   ó   € ] tR t^$tRtRtR# )ÚBadSignaturez#The TSIG signature fails to verify.r   Nr   r   r   r   r   r   $   s   † Ý-r   r   c                   ó   € ] tR t^(tRtRtR# )ÚBadKeyz2The TSIG record owner name does not match the key.r   Nr   r   r   r   r   r   (   s   † Ý<r   r   c                   ó   € ] tR t^,tRtRtR# )ÚBadAlgorithmz*The TSIG algorithm does not match the key.r   Nr   r   r   r   r   r   ,   ó   † Ý4r   r   c                   ó   € ] tR t^0tRtRtR# )Ú	PeerErrorz;Base class for all TSIG errors generated by the remote peerr   Nr   r   r   r   r   r   0   s   † ÝEr   r   c                   ó   € ] tR t^4tRtRtR# )Ú
PeerBadKeyz$The peer didn't know the key we usedr   Nr   r   r   r   r   r   4   s   † Ý.r   r   c                   ó   € ] tR t^8tRtRtR# )ÚPeerBadSignaturez*The peer didn't like the signature we sentr   Nr   r   r   r   r   r   8   r   r   r   c                   ó   € ] tR t^<tRtRtR# )ÚPeerBadTimez%The peer didn't like the time we sentr   Nr   r   r   r   r   r   <   s   † Ý/r   r   c                   ó   € ] tR t^@tRtRtR# )ÚPeerBadTruncationz=The peer didn't like amount of truncation in the TSIG we sentr   Nr   r   r   r   r   r   @   s   † ÝGr   r   zHMAC-MD5.SIG-ALG.REG.INTz	hmac-sha1zhmac-sha224zhmac-sha256zhmac-sha256-128zhmac-sha384zhmac-sha384-192zhmac-sha512zhmac-sha512-256úgss-tsigc                   ó<   a € ] tR t^at o RtR tR tR tR tRt	V t
R# )ÚGSSTSiga/  
GSS-TSIG TSIG implementation.  This uses the GSS-API context established
in the TKEY message handshake to sign messages using GSS-API message
integrity codes, per the RFC.

In order to avoid a direct GSSAPI dependency, the keyring holds a ref
to the GSSAPI object required, rather than the key itself.
c                ó.   € Wn         R V n        RV n        R# )r   r   N)Úgssapi_contextÚdataÚname)Úselfr#   s   &&r   Ú__init__ÚGSSTSig.__init__k   s   € Ø,ÔØˆŒ	ØˆŽ	r   c                ó8   € V ;P                   V,          un         R # ©N)r$   ©r&   r$   s   &&r   ÚupdateÚGSSTSig.updatep   s   € Ø�	Š	�TÕ�	r   c                óL   € V P                   P                  V P                  4      # r*   )r#   Úget_signaturer$   )r&   s   &r   ÚsignÚGSSTSig.signs   s   € à×"Ñ"×0Ñ0°·±Ó;Ð;r   c                óz   €  V P                   P                  V P                  V4      #   \         d    \        hi ; ir*   )r#   Úverify_signaturer$   Ú	Exceptionr   )r&   Úexpecteds   &&r   ÚverifyÚGSSTSig.verifyw   s9   € ð	à×&Ñ&×7Ñ7¸¿	¹	À8ÓLÐLøÜô 	äÐð	ús   ‚%( ¨:)r$   r#   r%   N)r   r   r   r	   r
   r'   r,   r0   r6   r   Ú__classdictcell__©Ú__classdict__s   @r   r!   r!   a   s#   ø‡ € ñòò
ò<÷ð r   r!   c                   ó<   a € ] tR t^€t o R tR t]R 4       tRtV t	R# )ÚGSSTSigAdapterc                ó   € Wn         R # r*   ©Úkeyring)r&   r?   s   &&r   r'   ÚGSSTSigAdapter.__init__�   s   € ØŽr   c                óâ   € W P                   9   d_   V P                   V,          p\        V\        4      '       d4   VP                  \        8X  d   V'       d   \
        P                  W1V4       V# R # r*   )r?   Ú
isinstanceÚKeyÚ	algorithmÚGSS_TSIGr<   Úparse_tkey_and_step)r&   ÚmessageÚkeynameÚkeys   &&& r   Ú__call__ÚGSSTSigAdapter.__call__„   sM   € Ø—l‘lÔ"Ø—,‘,˜wÕ'ˆCÜ˜#œs×#Ò#¨¯©¼Ô(AßÜ"×6Ñ6°sÀWÔMØˆJár   c                ó8  €  VP                  VP                  V\        P                  P                  \        P
                  P                  4      pV'       d1   V^ ,          P                  pVP                  pVP                  V4      # R#   \         d     R# i ; i)é    N)Ú
find_rrsetÚanswerÚdnsÚ
rdataclassÚANYÚ	rdatatypeÚTKEYrI   ÚsecretÚstepÚKeyError)ÚclsrI   rG   rH   ÚrrsetÚtokenr#   s   &&&&   r   rF   Ú"GSSTSigAdapter.parse_tkey_and_stepŽ   s}   € ð		Ø×&Ñ&Ø—‘ ¬¯©×);Ñ);¼S¿]¹]×=OÑ=OóˆE÷ Ø˜a�Ÿ™�Ø!$§¡�Ø%×*Ñ*¨5Ó1Ð1ñ øô ô 	Úð	ús   ‚AB
 Á/B
 Â
BÂBr>   N)
r   r   r   r	   r'   rJ   ÚclassmethodrF   r   r8   r9   s   @r   r<   r<   €   s#   ø‡ € òòð ñó ör   r<   c                   ó$  a € ] tR t^ t o Rt]]P                  ]]P                  ]
]P                  ]]P                  ^€3]]P                  ]]P                  ^À3]]P"                  ]]P"                  R3]]P(                  /	tR tR tR tR tRtV tR# )	ÚHMACTSigzc
HMAC TSIG implementation.  This uses the HMAC python module to handle the
sign/verify operations.
é   c                óê  €  V P                   V,          p\        T\        4      '       d3   \
        P                  ! Y^ ,          R7      T n        T^,          T n        M#\
        P                  ! YR7      T n        RT n        T P                  P                  T n	        T P                  '       d)   T ;P                  RT P                   2,          un	        R# R#   \         d    \        R T R24      hi ; i)zTSIG algorithm z is not supported)Ú	digestmodNÚ-)
Ú_hashesrW   ÚNotImplementedErrorrB   ÚtupleÚhmacÚnewÚhmac_contextÚsizer%   )r&   rI   rD   Úhashinfos   &&& r   r'   ÚHMACTSig.__init__²   s¾   € ð	VØ—|‘| IÕ.ˆHô
 �h¤×&Ò&Ü $§¢¨À½Ô DˆDÔØ  �ˆD�Iä $§¢¨Ô AˆDÔØˆDŒIØ×%Ñ%×*Ñ*ˆŒ	Ø�9�9ˆ9Ø�IŠI˜1˜TŸY™Y˜K˜Õ(�Iñ øô ô 	VÜ%¨¸	°{ÐBSÐ&TÓUÐUð	Vús   ‚C ÃC2c                ó8   € V P                   P                  V4      # r*   )rh   r,   r+   s   &&r   r,   ÚHMACTSig.updateÃ   s   € Ø× Ñ ×'Ñ'¨Ó-Ð-r   c                óŠ   € V P                   P                  4       pV P                  '       d   VR V P                  ^,           pV# r*   )rh   Údigestri   )r&   ro   s   & r   r0   ÚHMACTSig.signÆ   s9   € à×"Ñ"×)Ñ)Ó+ˆØ�9�9ˆ9ØÐ.˜tŸy™y¨A�~Ð/ˆFØˆr   c                ój   € V P                  4       p\        P                  ! W!4      '       g   \        hR # r*   )r0   rf   Úcompare_digestr   )r&   r5   Úmacs   && r   r6   ÚHMACTSig.verifyÍ   s)   € à�i‰i‹kˆÜ×"Ò" 3×1Ò1ÜÐñ 2r   )rh   r%   ri   N)r   r   r   r	   r
   Ú	HMAC_SHA1ÚhashlibÚsha1ÚHMAC_SHA224Úsha224ÚHMAC_SHA256Úsha256ÚHMAC_SHA256_128ÚHMAC_SHA384Úsha384ÚHMAC_SHA384_192ÚHMAC_SHA512Úsha512ÚHMAC_SHA512_256ÚHMAC_MD5Úmd5rc   r'   r,   r0   r6   r   r8   r9   s   @r   r^   r^       sŒ   ø‡ € ñð 	�7—<‘<Ø�W—^‘^Ø�W—^‘^Ø˜'Ÿ.™.¨#Ð.Ø�W—^‘^Ø˜'Ÿ.™.¨#Ð.Ø�W—^‘^Ø˜'Ÿ.™.¨#Ð.Ø�'—+‘+ð
€Gò)ò".ò÷ð r   r^   c                ó¢  € T;'       d    T'       * pV'       dT   \        V4      pV'       dA   VP                  \        P                  ! R\	        V4      4      4       VP                  V4       Vf   Q hVP                  \        P                  ! RVP
                  4      4       VP                  V R,          4       V'       dŽ   VP                  VP                  P                  4       4       VP                  \        P                  ! R\        P                  P                  4      4       VP                  \        P                  ! R^ 4      4       Vf   VP                  pV^ ,	          R,          pVR,          p	\        P                  ! RW‰VP                  4      p
\	        VP                  4      pVR8”  d   \        R4      hV'       du   VP                  VP                  P                  4       V
,           4       VP                  \        P                  ! RVP                   V4      VP                  ,           4       V# VP                  V
4       V# )	zâReturn a context containing the TSIG rdata for the input parameters
@rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig object
@raises ValueError: I{other_data} is too long
@raises NotImplementedError: I{algorithm} is not supported
ú!H:é   NNz!Iiÿÿ  l   ÿÿ z!HIHz TSIG Other Data is > 65535 bytesz!HH)Úget_contextr,   ÚstructÚpackÚlenÚoriginal_idr%   Úto_digestablerP   rQ   rR   Útime_signedÚfudgeÚotherÚ
ValueErrorrD   Úerror)ÚwirerI   ÚrdataÚtimeÚrequest_macÚctxÚmultiÚfirstÚ
upper_timeÚ
lower_timeÚtime_encodedÚ	other_lens   &&&&&&&     r   Ú_digestrž   Ô   s–  € ð —�˜Ô€EßÜ˜#ÓˆßØ�J‰J”v—{’{ 4¬¨[Ó)9Ó:Ô;Ø�J‰J�{Ô#ØŠ?Ðˆ?Ø‡J�JŒv�{Š{˜4 ×!2Ñ!2Ó3Ô4Ø‡J�Jˆt�B�xÔßØ�
‰
�3—8‘8×)Ñ)Ó+Ô,Ø�
‰
”6—;’;˜t¤S§^¡^×%7Ñ%7Ó8Ô9Ø�
‰
”6—;’;˜t QÓ'Ô(Ø‚|Ø× Ñ ˆØ˜"•* Õ&€JØ˜
Õ"€JÜ—;’;˜v z¸u¿{¹{ÓK€LÜ�E—K‘KÓ €IØ�5ÔÜÐ;Ó<Ð<ßØ�
‰
�3—=‘=×.Ñ.Ó0°<Õ?Ô@Ø�
‰
”6—;’;˜u e§k¡k°9Ó=ÀÇÁÕKÔLð €Jð 	�
‰
�<Ô Ø€Jr   c                ó°   € V'       dN   \        V 4      pVP                  \        P                  ! R\	        V4      4      4       VP                  V4       V# R# )z„If this is the first message in a multi-message sequence,
start a new context.
@rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig object
r†   N)rˆ   r,   r‰   rŠ   r‹   )rI   rs   r˜   r—   s   &&& r   Ú_maybe_start_digestr    ø   s?   € ÷
 Ü˜#ÓˆØ�
‰
”6—;’;˜t¤S¨£XÓ.Ô/Ø�
‰
�3ŒØˆ
ár   c           	     ó~   € \        WW#WEV4      pVP                  4       pVP                  W7R7      pV\        WV4      3# )af  Return a (tsig_rdata, mac, ctx) tuple containing the HMAC TSIG rdata
for the input parameters, the HMAC MAC calculated by applying the
TSIG signature algorithm, and the TSIG digest context.
@rtype: (string, dns.tsig.HMACTSig or dns.tsig.GSSTSig object)
@raises ValueError: I{other_data} is too long
@raises NotImplementedError: I{algorithm} is not supported
)rŽ   rs   )rž   r0   Úreplacer    )	r“   rI   r”   r•   r–   r—   r˜   rs   Útsigs	   &&&&&&&  r   r0   r0     sB   € ô �$˜U¨+¸EÓ
B€CØ
�(‰(‹*€CØ�=‰= Tˆ=Ó3€DàÔ% c°Ó6Ð7Ð7r   c	           	     ó  € \         P                  ! RV R,          4      w  p	V	^ 8X  d   \        P                  P                  hV	^,          p	V R,          \         P
                  ! RV	4      ,           V ^V ,           p
VP                  ^ 8w  dÕ   VP                  \        P                  P                  8X  d   \        hVP                  \        P                  P                  8X  d   \        hVP                  \        P                  P                  8X  d   \        hVP                  \        P                  P                  8X  d   \        h\!        RVP                   24      h\#        VP$                  V,
          4      VP&                  8”  d   \(        hVP*                  V8w  d   \,        hVP.                  VP.                  8w  d   \0        h\3        W¡VRWWV4      pVP5                  VP6                  4       \9        WP6                  V4      # )a2  Validate the specified TSIG rdata against the other input parameters.

@raises FormError: The TSIG is badly formed.
@raises BadTime: There is too much time skew between the client and the
server.
@raises BadSignature: The TSIG signature did not validate
@rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig objectr†   :é
   é   N:rM   r¥   Nzunknown TSIG error code N)r‰   ÚunpackrP   Ú	exceptionÚ	FormErrorrŠ   r’   ÚrcodeÚBADSIGr   ÚBADKEYr   ÚBADTIMEr   ÚBADTRUNCr   r   ÚabsrŽ   r�   r   r%   r   rD   r   rž   r6   rs   r    )r“   rI   Úownerr”   Únowr–   Ú
tsig_startr—   r˜   ÚadcountÚnew_wires   &&&&&&&&&  r   Úvalidaterµ     sm  € ô —’˜t T¨%¥[Ó1�J€WØ�!„|Ü�m‰m×%Ñ%Ð%Øˆq…L€GØ�D�zœFŸKšK¨¨gÓ6Õ6¸¸bÀÐ9LÕL€HØ‡{�{�aÔØ�;‰;œ#Ÿ)™)×*Ñ*Ô*Ü"Ð"Ø�[‰[œCŸI™I×,Ñ,Ô,ÜÐØ�[‰[œCŸI™I×-Ñ-Ô-ÜÐØ�[‰[œCŸI™I×.Ñ.Ô.Ü#Ð#äÐ6°u·{±{°mÐDÓEÐEÜ
ˆ5×Ñ˜sÕ"Ó# e§k¡kÔ1ÜˆØ
‡x�x�5ÔÜˆØ
‡}�}˜Ÿ™Ô'ÜÐÜ
�( ¨¨kÀÓ
F€CØ‡J�Jˆu�y‰yÔÜ˜s§I¡I¨uÓ5Ð5r   c                ó–   € V P                   \        8X  d   \        V P                  4      # \	        V P                  V P                   4      # )z€Returns an HMAC context for the specified key.

@rtype: HMAC context
@raises NotImplementedError: I{algorithm} is not supported
)rD   rE   r!   rU   r^   )rI   s   &r   rˆ   rˆ   <  s4   € ð ‡}�}œÔ Ü�s—z‘zÓ"Ð"ä˜Ÿ
™
 C§M¡MÓ2Ð2r   c                   óD   a € ] tR tRt o ]3V 3R lR lltR tR tRtV t	R# )rC   iI  c                ó¬   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[S[,          RS[ P                  P                  S[,          /# )r‡   r%   rU   rD   )rP   r%   ÚNameÚstrÚbytes)Úformatr:   s   "€r   Ú__annotate__ÚKey.__annotate__J  sG   ø€ ÷ #ñ #á�h‰h�m‰m™cÕ!ð#ñ ™•ð#ñ —8‘8—=‘=¡3Õ&ñ	#r   c                ór  € \        V\        4      '       d    \        P                  P	                  V4      pWn        \        V\        4      '       d%   \
        P                  ! VP                  4       4      pW n        \        V\        4      '       d    \        P                  P	                  V4      pW0n	        R # r*   )
rB   rº   rP   r%   Ú	from_textÚbase64ÚdecodebytesÚencoderU   rD   )r&   r%   rU   rD   s   &&&&r   r'   ÚKey.__init__J  sx   € ô �dœC× Ò Ü—8‘8×%Ñ% dÓ+ˆDØŒ	Ü�fœc×"Ò"Ü×'Ò'¨¯©«Ó8ˆFØŒÜ�i¤×%Ò%ÜŸ™×*Ñ*¨9Ó5ˆIØ"Žr   c                óè   € \        V\        4      ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r*   )rB   rC   r%   rU   rD   )r&   r�   s   &&r   Ú__eq__Ú
Key.__eq__Z  sa   € ä�uœcÓ"÷ 2ð 2Ø—	‘	˜UŸZ™ZÑ'÷2ð 2à—‘˜uŸ|™|Ñ+÷2ð 2ð —‘ %§/¡/Ñ1ð		
r   c                óþ   € R V P                    R2RV P                   R2,           pV P                  \        8w  d:   VR\        P                  ! V P
                  4      P                  4        R2,          pVR,          pV# )z<DNS key name='z', zalgorithm='Ú'z
, secret='Ú>)r%   rD   rE   rÁ   Ú	b64encoderU   Údecode)r&   Úrs   & r   Ú__repr__ÚKey.__repr__b  sm   € Ø˜dŸi™i˜[¨Ð,°¸T¿^¹^Ð<LÈAÐ/NÕNˆØ�>‰>œXÔ%Ø�:œf×.Ò.¨t¯{©{Ó;×BÑBÓDÐEÀQÐGÕGˆAØ	ˆS�ˆØˆr   )rD   r%   rU   N)
r   r   r   r	   Údefault_algorithmr'   rÆ   rÎ   r   r8   r9   s   @r   rC   rC   I  s#   ø‡ € ð
 *;÷	#ò #ò 
÷ð r   rC   )NNNN)NNNF)NF)-r
   rÁ   rv   rf   r‰   Údns.exceptionrP   Údns.nameÚ	dns.rcodeÚdns.rdataclassÚdns.rdatatyper¨   ÚDNSExceptionr   r   r   r   r   r   r   r   r   r%   rÀ   rƒ   ru   rx   rz   r|   r}   r   r€   r‚   rE   rÐ   Ú	mac_sizesr!   r<   r^   rž   r    r0   rµ   rˆ   rC   r   r   r   Ú<module>rØ      s  ðñ$ ã Û Û Û ã Û Û Û Û ôCˆc�m‰m×(Ñ(ô Cô.�3—=‘=×-Ñ-ô .ô=ˆS�]‰]×'Ñ'ô =ô5�3—=‘=×-Ñ-ô 5ôF�—‘×*Ñ*ô Fô/�ô /ô5�yô 5ô0�)ô 0ôH˜	ô Hð �8‰8×ÑÐ8Ó9€Ø�H‰H×Ñ˜{Ó+€	Ø�h‰h× Ñ  Ó/€Ø�h‰h× Ñ  Ó/€Ø—(‘(×$Ñ$Ð%6Ó7€Ø�h‰h× Ñ  Ó/€Ø—(‘(×$Ñ$Ð%6Ó7€Ø�h‰h× Ñ  Ó/€Ø—(‘(×$Ñ$Ð%6Ó7€Ø�8‰8×Ñ˜jÓ)€àÐ ð ˆrØ�Ø�Ø�RØ�Ø�RØ�Ø�RØˆbØˆcð€	÷ñ ÷>ñ ÷@1ñ 1ôh!òHô8ô #6òL
3÷ó r   