+
    +O|jE5  ã            	       óÊ  € ^ RI HtHtHtH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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.                  P0                  4      t ! R R]P.                  P4                  4      t ! R R]P.                  P0                  4      t ! R	 R
4      t^ RRRRRRR]P<                  P>                  3	R R llt R R lt!R# )é    )ÚAnyÚListÚTupleÚcastNc                   ó6   a a€ ] tR t^'t oRtV 3R ltRtVtV ;t# )ÚTransferErrorz.A zone transfer response got a non-zero rcode.c                óv   <€ R \         P                  P                  V4       2p\        SV `  V4       Wn        R# )zZone transfer error: N)ÚdnsÚrcodeÚto_textÚsuperÚ__init__)Úselfr   ÚmessageÚ	__class__s   && €Ú@C:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/xfr.pyr   ÚTransferError.__init__*   s1   ø€ Ø)¬#¯)©)×*;Ñ*;¸EÓ*BÐ)CÐDˆÜ‰Ñ˜Ô!ØŽ
ó    )r   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r   '   s   ù‡ € Ù8÷õ r   r   c                   ó   € ] tR t^0tRtRtR# )ÚSerialWentBackwardsz:The current serial number is less than the serial we know.© N©r   r   r   r   r   r   r    r   r   r   r   0   s   † ÝDr   r   c                   ó   € ] tR t^4tRtRtR# )ÚUseTCPz'This IXFR cannot be completed with UDP.r    Nr!   r    r   r   r#   r#   4   s   † Ý1r   r#   c                   ó†   a € ] tR t^8t o Rt]P                  P                  RR3V 3R lR lltV 3R lR lt	R t
R	 tR
tV tR# )ÚInboundz#
State machine for zone transfers.
NFc                ó�   <€ V ^8„  d   QhRS[ P                  P                  RS[ P                  P                  RS[R,          RS[/# )é   Útxn_managerÚrdtypeÚserialNÚis_udp)r
   ÚtransactionÚTransactionManagerÚ	rdatatypeÚ	RdataTypeÚintÚbool)Úformatr   s   "€r   Ú__annotate__ÚInbound.__annotate__=   sK   ø€ ÷ &!ñ &!á—_‘_×7Ñ7ð&!ñ —‘×'Ñ'ð&!ñ �d•
ð	&!ñ
 ñ&!r   c                ó¢  € Wn         RV n        W n        V\        P                  P
                  8X  d   Vf   \        R4      hRV n        MEV\        P                  P                  8X  d   V'       d   \        R4      hRV n        M\        R4      hW0n	        W@n
        VP                  4       w   qPn        RV n        RV n        RV n        RV n        R# )a9  Initialize an inbound zone transfer.

*txn_manager* is a :py:class:`dns.transaction.TransactionManager`.

*rdtype* can be `dns.rdatatype.AXFR` or `dns.rdatatype.IXFR`

*serial* is the base serial number for IXFRs, and is required in
that case.

*is_udp*, a ``bool`` indidicates if UDP is being used for this
XFR.
Nz,a starting serial must be supplied for IXFRsTzis_udp specified for AXFRFzrdtype is not IXFR or AXFR)r(   Útxnr)   r
   r.   ÚIXFRÚ
ValueErrorÚincrementalÚAXFRr*   r+   Úorigin_informationÚoriginÚsoa_rdatasetÚdoneÚexpecting_SOAÚdelete_mode)r   r(   r)   r*   r+   Ú_s   &&&&& r   r   ÚInbound.__init__=   s´   € ð& 'ÔØ7;ˆŒØŒØ”S—]‘]×'Ñ'Ô'ØŠ~Ü Ð!OÓPÐPØ#ˆDÕØ”s—}‘}×)Ñ)Ô)ßÜ Ð!<Ó=Ð=Ø$ˆDÕäÐ9Ó:Ð:ØŒØŒØ)×<Ñ<Ó>ÑˆˆAŒ{Ø:>ˆÔØˆŒ	Ø"ˆÔØ ˆÖr   c                óN   <€ V ^8„  d   QhRS[ P                  P                  RS[/# )r'   r   Úreturn)r
   r   ÚMessager1   )r2   r   s   "€r   r3   r4   e   s)   ø€ ÷ Qñ Q¡s§{¡{×':Ñ':ð Q¹tñ Qr   c                ó  € V P                   f0   V P                  P                  V P                  '       * 4      V n         VP	                  4       pV\
        P                  P                  8w  d   \        V4      h\        VP                  4      ^ 8”  d—   VP                  ^ ,          P                  V P                  8w  d    \
        P                  P                  R4      hVP                  ^ ,          P                  V P                  8w  d    \
        P                  P                  R4      h^ pV P                  EfÚ   VP                   '       d-   VP                   ^ ,          P                  V P                  8w  d    \
        P                  P                  R4      hVP                   ^ ,          pTpVP                  \
        P"                  P$                  8w  d    \
        P                  P                  R4      h^pVP'                  4       V n        V P                  '       d÷   V P                  f   Q h\)        \
        P*                  P,                  P$                  P$                  V P                  ^ ,          4      pVP.                  V P.                  8X  d	   RV n        Mz\
        P.                  P3                  VP.                  4      V P.                  8  d   \4        hV P6                  '       d$   \        VP                   VR 4      ^ 8X  d   \8        hRV n        VP                   VR  EFŒ  pVP                  pTpV P0                  '       d    \
        P                  P                  R4      hV P                   f   Q hVP                  \
        P"                  P$                  8X  Edd   WpP                  8X  EdS   V P                  '       d   V P<                  '       * V n        WPP                  8X  Ed&   V P                  '       d   V P<                  '       Ed   \)        \
        P*                  P,                  P$                  P$                  V^ ,          4      pV P:                  '       d    \
        P                  P                  R4      hV P                  '       d;   V P.                  VP.                  8w  d    \
        P                  P                  R	4      hV P                   P?                  Wu4       V P                   PA                  4        RV n         RV n        MñR
V n        \)        \
        P*                  P,                  P$                  P$                  V^ ,          4      pV P                  '       d{   V P<                  '       d<   VP.                  V P.                  8w  d    \
        P                  P                  R4      hMLVP.                  V n        V P                   P?                  Wu4       M\
        P                  P                  R4      hEKà  V P:                  '       dP   R
V n        R
V n        R
V n        V P                   PC                  4        V P                  P                  R4      V n         V P<                  '       d   V P                   PE                  Wu4       EKq  V P                   PG                  Wu4       EK�  	  V P6                  '       d2   V P0                  '       g    \
        P                  P                  R4      hV P0                  # )a2  Process one message in the transfer.

The message should have the same relativization as was specified when
the `dns.xfr.Inbound` was created.  The message should also have been
created with `one_rr_per_rrset=True` because order matters.

Returns `True` if the transfer is complete, and `False` otherwise.
Nzwrong question namezwrong question rdatatypez&No answer or RRset not for zone originzfirst RRset is not an SOATzanswers after final SOAzempty IXFR sequencezunexpected end of IXFR sequenceFzIXFR base serial mismatchzunexpected origin SOA in AXFRzunexpected end of UDP IXFR)$r6   r(   Úwriterr9   r   r
   ÚNOERRORr   ÚlenÚquestionÚnamer<   Ú	exceptionÚ	FormErrorr)   r=   Úanswerr.   ÚSOAÚcopyr   ÚrdtypesÚANYr*   r>   ÚSerialr   r+   r#   r?   r@   ÚreplaceÚcommitÚrollbackÚdelete_exactÚadd)r   r   r   Úanswer_indexÚrrsetÚrdatasetÚsoarK   s   &&      r   Úprocess_messageÚInbound.process_messagee   sê  € ð �8‰8ÒØ×'Ñ'×.Ñ.°4×3CÑ3CÔ/CÓDˆDŒHØ—‘“ˆØ”C—I‘I×%Ñ%Ô%Ü Ó&Ð&ô
 ˆw×ÑÓ  1Ô$Ø×Ñ Õ"×'Ñ'¨4¯;©;Ô6Ü—m‘m×-Ñ-Ð.CÓDÐDØ×Ñ Õ"×)Ñ)¨T¯[©[Ô8Ü—m‘m×-Ñ-Ð.HÓIÐIØˆØ×ÑÓ$ð
 —>—>�> W§^¡^°AÕ%6×%;Ñ%;¸t¿{¹{Ô%JÜ—m‘m×-Ñ-Ð.VÓWÐWØ—N‘N 1Õ%ˆEØˆHØ�‰¤#§-¡-×"3Ñ"3Ô3Ü—m‘m×-Ñ-Ð.IÓJÐJØˆLØ (§¡£ˆDÔØ××ÐØ×(Ñ(Ò4Ð4Ð4Üœ3Ÿ;™;Ÿ?™?×.Ñ.×2Ñ2°D×4EÑ4EÀaÕ4HÓI�Ø—:‘: §¡Ô,ð !%�D•IÜ—Z‘Z×&Ñ& s§z¡zÓ2°T·[±[Ô@ä-Ð-à—{—{�{¤s¨7¯>©>¸,¸-Ð+HÓ'IÈQÔ'Nô
 %˜ð
 *.�DÔ&ð
 —^‘^ L MÔ2ˆEØ—:‘:ˆDØˆHØ�y�yˆyÜ—m‘m×-Ñ-Ð.GÓHÐHØ—8‘8Ò'Ð'Ð'Ø�‰¤#§-¡-×"3Ñ"3Õ3¸ÇÁÕ8Kð ×#×#Ð#Ø+/×+;Ñ+;Ô';�DÔ$ð ×0Ñ0Õ0Ø×)×)Ð)¨d×.>×.>Ñ.>ô
 œsŸ{™{Ÿ™×2Ñ2×6Ñ6¸À½ÓD�CØ×)×)Ð)ä!Ÿm™m×5Ñ5Ð6KÓLÐLØ×'×'Ð'¨D¯K©K¸3¿:¹:Ô,EÜ!Ÿm™m×5Ñ5Ð6WÓXÐXØ—H‘H×$Ñ$ TÔ4Ø—H‘H—O‘OÔ%Ø#�D”HØ $�D•Ið
 */�DÔ&ÜœsŸ{™{Ÿ™×2Ñ2×6Ñ6¸À½ÓD�CØ×'×'Ð'Ø×+×+Ð+à"Ÿz™z¨T¯[©[Ô8Ü&)§m¡m×&=Ñ&=Ø$?ó'"ð !"ð  9ð +.¯*©*˜DœKØ ŸH™H×,Ñ,¨TÕ<ô "Ÿm™m×5Ñ5Ð6UÓVÐVÚØ×!×!Ð!ð $)�Ô Ø%*�Ô"Ø#(�Ô Ø—‘×!Ñ!Ô#Ø×+Ñ+×2Ñ2°4Ó8�”ð ××ÐØ—‘×%Ñ% d×5à—‘—‘˜T×,ñU 3ðV �;�;ˆ;˜tŸyŸy˜yô
 —-‘-×)Ñ)Ð*FÓGÐGØ�y‰yÐr   c                ó   € V # )Nr    )r   s   &r   Ú	__enter__ÚInbound.__enter__ü   s   € Øˆr   c                ó^   € V P                   '       d   V P                   P                  4        R # )F)r6   rV   )r   Úexc_typeÚexc_valÚexc_tbs   &&&&r   Ú__exit__ÚInbound.__exit__ÿ   s   € Ø�8�8ˆ8Ø�H‰H×ÑÔÙr   )r@   r>   r?   r9   r+   r<   r)   r*   r=   r6   r(   )r   r   r   r   r   r
   r.   r:   r   r]   r`   rf   r   r   )r   s   @r   r%   r%   8   sF   ø‡ € ñð +.¯-©-×*<Ñ*<Ø!Ø÷&!ò &!÷PQð Qòn÷ð r   r%   c                ó8  € V ^8„  d   QhR\         P                  P                  R\        R,          R\        \        ,          R,          R\        R,          R\        R,          R\        R,          R\
        \         P                  P                  ,          R,          R	\        R
\         P                  P                  R,          R\         P                  P                  \        ,          R\        \         P                  P                  \        R,          3,          /# )r'   r(   r*   NÚuse_ednsÚ	ednsflagsÚpayloadÚrequest_payloadÚoptionsÚkeyringÚkeynameÚkeyalgorithmrD   )r
   r,   r-   r0   r1   r   ÚednsÚOptionr   rK   ÚNameÚstrr   r   ÚQueryMessage)r2   s   "r   r3   r3     sê   € ÷ Hñ HÜ—‘×3Ñ3ðHä�$�JðHô ”D�j˜4ÕðHô �T�zð	Hô
 �4�ZðHô ˜4•ZðHô ”#—(‘(—/‘/Õ" TÕ)ðHô ðHô �X‰X�]‰]˜TÕ!ðHô —(‘(—-‘-¤#Õ%ðHô Œ3�;‰;×#Ñ#¤S¨4¥ZÐ/Õ0ñHr   c
                ój  € V P                  4       w  r«pV
f   \        R4      hVf   \        P                  P                  pEM\        V\        4      '       g   \        R4      hV^ 8X  d¿   V P                  4       ;_uu_ 4       pVP                  VR4      pV'       dg   \        \        P                  P                  P                  P                  V^ ,          4      pVP                  p\        P                  P                  pMRp\        P                  P                  pRRR4       M4V^ 8”  d#   VR8  d   \        P                  P                  pM\        R4      hV P                  4       p\        P                   P#                  V
XVVRVVVV4	      pVep   \        P$                  P'                  VRRV R	24      pVP)                  VP*                  V
V\        P                  P                  R
R7      pVP-                  V^ 4       Ve   VP/                  WxV	R7       VV3#   + '       g   i     LÕ; i)aË  Make an AXFR or IXFR query.

*txn_manager* is a ``dns.transaction.TransactionManager``, typically a
``dns.zone.Zone``.

*serial* is an ``int`` or ``None``.  If 0, then IXFR will be
attempted using the most recent serial number from the
*txn_manager*; it is the caller's responsibility to ensure there
are no write transactions active that could invalidate the
retrieved serial.  If a serial cannot be determined, AXFR will be
forced.  Other integer values are the starting serial to use.
``None`` forces an AXFR.

Please see the documentation for :py:func:`dns.message.make_query` and
:py:func:`dns.message.Message.use_tsig` for details on the other parameters
to this function.

Returns a `(query, serial)` tuple.
Nzno zone originzserial is not an integerrO   l        zserial out-of-rangeFz. . z 0 0 0 0T)Úcreate)Ú	algorithm)r;   r8   r
   r.   r:   Ú
isinstancer0   ÚreaderÚgetr   rQ   rR   rO   r*   r7   Ú	get_classr   Ú
make_queryÚrdataÚ	from_textÚ
find_rrsetÚ	authorityrX   Úuse_tsig)r(   r*   ri   rj   rk   rl   rm   rn   ro   rp   Úzone_originrA   r<   r)   r6   r[   r\   ÚrdclassÚqr~   rZ   s   &&&&&&&&&&           r   r}   r}     sÐ  € ð>  +×=Ñ=Ó?Ñ€[�VØÒÜÐ)Ó*Ð*Ø‚~Ü—‘×#Ñ#ŠÜ˜¤×$Ò$ÜÐ3Ó4Ð4Ø	�1ŒØ×Ñ×!Ô! SØ—w‘w˜v uÓ-ˆHßÜœ3Ÿ;™;Ÿ?™?×.Ñ.×2Ñ2°H¸QµKÓ@�ØŸ™�ÜŸ™×+Ñ+‘à�ÜŸ™×+Ñ+�÷ "Ð!ð 
�!Œ˜ Ô+Ü—‘×#Ñ#‰äÐ.Ó/Ð/Ø×#Ñ#Ó%€GÜ�‰×ÑØØØØØØØØØó
	€Að ÒÜ—	‘	×#Ñ# G¨U°d¸6¸(À(Ð4KÓLˆØ—‘Ø�K‰K˜ g¬s¯}©}×/@Ñ/@Èð ó 
ˆð 	�	‰	�%˜ÔØÒØ	�
‰
�7¨|ˆ
Ô<Øˆvˆ;Ð÷C "×!ús   ÂBH"È"H2	c                óf   € V ^8„  d   QhR\         P                  P                  R\        R,          /# )r'   ÚqueryrD   N)r
   r   rE   r0   )r2   s   "r   r3   r3   P  s(   € ÷ ñ ¤S§[¡[×%8Ñ%8ð ¼SÀ4½Zñ r   c                óz  € \        V \        P                  P                  4      '       g   \	        R4      hV P
                  ^ ,          pVP                  \        P                  P                  8X  d   R# VP                  \        P                  P                  8w  d   \	        R4      hV P                  V P                  VP                  VP                  \        P                  P                  4      p\        \        P                   P"                  P                  P                  V^ ,          4      pVP$                  # )a#  Extract the SOA serial number from query if it is an IXFR and return
it, otherwise return None.

*query* is a dns.message.QueryMessage that is an IXFR or AXFR request.

Raises if the query is not an IXFR or AXFR, or if an IXFR doesn't have
an appropriate SOA RRset in the authority section.
zquery not a QueryMessageNzquery is not an AXFR or IXFR)ry   r
   r   ru   r8   rJ   r)   r.   r:   r7   r€   r�   rK   r„   rO   r   rQ   rR   r*   )r‡   rJ   Ú	soa_rrsetr\   s   &   r   Úextract_serial_from_queryrŠ   P  sÑ   € ô �eœSŸ[™[×5Ñ5×6Ò6ÜÐ3Ó4Ð4Ø�~‰~˜aÕ €HØ‡�œ#Ÿ-™-×,Ñ,Ô,ÙØ	�‰œCŸM™M×.Ñ.Ô	.ÜÐ7Ó8Ð8Ø× Ñ Ø�‰˜Ÿ™¨×(8Ñ(8¼#¿-¹-×:KÑ:Kó€Iô Œs�{‰{�‰×"Ñ"×&Ñ&¨	°!­Ó
5€CØ�:‰:Ðr   )"Útypingr   r   r   r   Údns.ednsr
   Údns.exceptionÚdns.messageÚdns.nameÚ	dns.rcodeÚ	dns.rdataÚdns.rdatasetÚdns.rdatatypeÚdns.rdtypesÚdns.rdtypes.ANYÚdns.rdtypes.ANY.SMIMEAÚdns.rdtypes.ANY.SOAÚdns.rdtypes.svcbbaseÚ
dns.serialÚdns.transactionÚdns.tsigÚdns.zonerL   ÚDNSExceptionr   rM   r   r#   r%   ÚtsigÚdefault_algorithmr}   rŠ   r    r   r   Ú<module>r       sÄ   ð÷$ *Ó )ã Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û ô�C—M‘M×.Ñ.ô ôE˜#Ÿ-™-×1Ñ1ô Eô2ˆS�]‰]×'Ñ'ô 2÷Jñ Jð^ Ø"&Ø ØØ"&Ø,0ØØ$(Ø(+¯©×(BÑ(B÷H÷Vr   