+
    +O|jÌ/  ã                   óR  € R t ^ RI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 R]P                   P"                  4      t ! R R]P&                  P(                  4      t]t]P.                  t]P0                  t]P2                  t]P4                  tR# )zDNS Dynamic Update Support)ÚAnyÚListNc                   óD   a € ] tR t^#t o Rt^ t^t^t^t]	R 4       t
RtV tR# )ÚUpdateSectionzUpdate sectionsc                ó   € ^# )é   © )Úclss   &ÚCC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/update.pyÚ_maximumÚUpdateSection._maximum+   s   € áó    r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚZONEÚPREREQÚUPDATEÚ
ADDITIONALÚclassmethodr   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r
   r   r   #   s.   ø‡ € Ùà€DØ€FØ€FØ€Jàñó ör   r   c                   óÜ  a a€ ] tR t^0t o]tR]P                  P                  RR]P                  P                  R3V3R lV 3R lllt]V3R lR l4       t]P                  R 4       t]V3R lR l4       t]P                  R	 4       t]V3R
 lR l4       t]P                  R 4       tRR ltR tV3R lR ltV3R lR ltV3R lR ltV3R lR ltRV3R lR lltR tR tRtVtV ;t# )ÚUpdateMessageNc                ó6  <€ V ^8„  d   QhRS[ P                  P                  S[,          R,          RS[ P                  P
                  RS[R,          RS[ P                  P                  R,          RS[ P                  P                  S[,          RS[R,          /# )é   ÚzoneNÚrdclassÚkeyringÚkeynameÚkeyalgorithmÚid)ÚdnsÚnameÚNameÚstrÚ
rdataclassÚ
RdataClassr   Úint)Úformatr   s   "€r
   Ú__annotate__ÚUpdateMessage.__annotate__4   s�   ø€ ÷ )Dñ )Dá�h‰h�m‰m™cÕ! DÕ(ð)Dñ —‘×*Ñ*ð)Dñ �t•ð	)Dñ
 —‘—‘ Õ%ð)Dñ —h‘h—m‘m¡cÕ)ð)Dñ �$�Jñ)Dr   c           	     ót  <€ \         SV `  VR7       V ;P                  \        P                  P                  \        P                  P                  4      ,          un        \        V\        4      '       d    \        P                  P                  V4      pWn        \        P                  P                  P                  V4      pW n        V P                  '       dD   V P!                  V P"                  V P                  V\        P$                  P&                  RRR7       Ve   V P)                  W4VR7       R# R# )a(  Initialize a new DNS Update object.

See the documentation of the Message class for a complete
description of the keyring dictionary.

*zone*, a ``dns.name.Name``, ``str``, or ``None``, the zone
which is being updated.  ``None`` should only be used by dnspython's
message constructors, as a zone is required for the convenience
methods like ``add()``, ``replace()``, etc.

*rdclass*, an ``int`` or ``str``, the class of the zone.

The *keyring*, *keyname*, and *keyalgorithm* parameters are passed to
``use_tsig()``; see its documentation for details.
)r$   T)ÚcreateÚforce_uniqueN)Ú	algorithm)ÚsuperÚ__init__Úflagsr%   ÚopcodeÚto_flagsr   Ú
isinstancer(   r&   Ú	from_textÚoriginr)   r*   ÚmakeÚzone_rdclassÚ
find_rrsetr   Ú	rdatatypeÚSOAÚuse_tsig)Úselfr   r    r!   r"   r#   r$   Ú	__class__s   &&&&&&&€r
   r4   ÚUpdateMessage.__init__4   sÝ   ø€ ô0 	‰Ñ˜BÐÔØ�
Š
”c—j‘j×)Ñ)¬#¯*©*×*;Ñ*;Ó<Õ<�
Ü�dœC× Ò Ü—8‘8×%Ñ% dÓ+ˆDØŒÜ—.‘.×+Ñ+×0Ñ0°Ó9ˆØ#ÔØ�;�;ˆ;Ø�O‰OØ—	‘	Ø—‘ØÜ—‘×!Ñ!ØØ!ð ô ð ÒØ�M‰M˜'°lˆMÖCñ r   c                óX   <€ V ^8„  d   QhRS[ S[P                  P                  ,          /# ©r   Úreturn©r   r%   ÚrrsetÚRRset)r,   r   s   "€r
   r-   r.   `   s!   ø€ ÷  ñ  ‘d™3Ÿ9™9Ÿ?™?Õ+ñ  r   c                ó(   € V P                   ^ ,          # )zThe zone section.©Úsections©rA   s   &r
   r   ÚUpdateMessage.zone_   ó   € ð �}‰}˜QÕÐr   c                ó"   € WP                   ^ &   R# )é    NrK   ©rA   Úvs   &&r
   r   rN   d   ó   € à�‰�aÓr   c                óX   <€ V ^8„  d   QhRS[ S[P                  P                  ,          /# rE   rG   )r,   r   s   "€r
   r-   r.   i   s!   ø€ ÷  ñ  ™d¡3§9¡9§?¡?Õ3ñ  r   c                ó(   € V P                   ^,          # )zThe prerequisite section.rK   rM   s   &r
   ÚprerequisiteÚUpdateMessage.prerequisiteh   rO   r   c                ó"   € WP                   ^&   R# )é   NrK   rR   s   &&r
   rW   rX   m   rT   r   c                óX   <€ V ^8„  d   QhRS[ S[P                  P                  ,          /# rE   rG   )r,   r   s   "€r
   r-   r.   r   s!   ø€ ÷  ñ  ™™SŸY™YŸ_™_Õ-ñ  r   c                ó(   € V P                   ^,          # )zThe update section.rK   rM   s   &r
   ÚupdateÚUpdateMessage.updateq   rO   r   c                ó"   € WP                   ^&   R# )r   NrK   rR   s   &&r
   r]   r^   v   rT   r   c           
     ó¼   € Vf   V P                   pVP                  4       pV P                  WQV P                  VP                  WdRR4      pVP                  W24       R# )z&Add a single RR to the update section.NT)r]   Úcoversr=   r<   ÚrdtypeÚadd)rA   r&   ÚttlÚrdÚdeletingÚsectionra   rH   s   &&&&&&  r
   Ú_add_rrÚUpdateMessage._add_rrz   sQ   € ð Š?Ø—k‘kˆGØ—‘“ˆØ—‘Ø˜4×,Ñ,¨b¯i©i¸È4ÐQUó
ˆð 	�	‰	�"Ör   c           	     óü  € \        V\        4      '       d!   \        P                  P	                  VR4      p\        V^ ,          \        P
                  P                  4      '       dU   V FL  pV'       d   V P                  W5P                  4       V F   pV P                  W5P                  WbR7       K"  	  KN  	  R# \        V4      p\        VP                  ^ 4      4      p\        V^ ,          \        P                  P                  4      '       dI   V'       d#   V P                  W4^ ,          P                  4       V F  pV P                  W7WbR7       K  	  R# \        P                   P"                  P%                  VP                  ^ 4      4      pV'       d   V P                  W84       V FK  p	\        P                  P	                  V P&                  W‰V P(                  4      pV P                  W7WbR7       KM  	  R# )ah  Add records.

*replace* is the replacement mode.  If ``False``,
RRs are added to an existing RRset; if ``True``, the RRset
is replaced with the specified contents.  The second
argument is the section to add to.  The third argument
is always a name.  The other arguments can be:

        - rdataset...

        - ttl, rdata...

        - ttl, rdtype, string...
N)rg   )r8   r(   r%   r&   r9   ÚrdatasetÚRdatasetÚdeleterb   rh   rd   Úlistr+   ÚpopÚrdataÚRdatar>   Ú	RdataTyper;   r<   r:   )
rA   Úreplacerg   r&   ÚargsÚrdsre   rd   rb   Úss
   &&&&*     r
   Ú_addÚUpdateMessage._add…   sS  € ô  �dœC× Ò Ü—8‘8×%Ñ% d¨DÓ1ˆDÜ�d˜1•gœsŸ|™|×4Ñ4×5Ò5Û�ßØ—K‘K §j¡jÔ1Û�BØ—L‘L §w¡w°�LÖDó ó ô ˜“:ˆDÜ�d—h‘h˜q“kÓ"ˆCÜ˜$˜q�'¤3§9¡9§?¡?×3Ò3ßØ—K‘K ¨1¥g§n¡nÔ5Û�BØ—L‘L ¨B�LÖ@ó ô Ÿ™×0Ñ0×5Ñ5°d·h±h¸q³kÓB�ßØ—K‘K Ô-Û�AÜŸ™×,Ñ,¨T×->Ñ->ÀÈ4Ï;É;ÓW�BØ—L‘L ¨B�LÖ@ó r   c                ób   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[RR/# ©r   r&   rt   rF   N©r%   r&   r'   r(   r   )r,   r   s   "€r
   r-   r.   ­   s/   ø€ ÷ 3ñ 3™Ÿ™Ÿ™©Õ+ð 3±Cð 3¸Dñ 3r   c                óF   € V P                   ! RV P                  V.VO5!   R# )z¢Add records.

The first argument is always a name.  The other
arguments can be:

        - rdataset...

        - ttl, rdata...

        - ttl, rdtype, string...
FN©rw   r]   ©rA   r&   rt   s   &&*r
   rc   ÚUpdateMessage.add­   s   € ð 	�	Š	�%˜Ÿ™ dÐ2¨TÖ2r   c                ób   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[RR/# rz   r{   )r,   r   s   "€r
   r-   r.   ¼   s4   ø€ ÷ :Gñ :G™3Ÿ8™8Ÿ=™=©3Õ.ð :G±sð :G¸tñ :Gr   c           
     ó„  € \        V\        4      '       d!   \        P                  P	                  VR4      p\        V4      ^ 8X  d…   V P                  V P                  V\        P                  P                  \        P                  P                  \        P                  P                  \        P                  P                  RR4       R# \        V^ ,          \        P                  P                  4      '       dA   V F8  pV F/  pV P                  V^ V\        P                  P                  4       K1  	  K:  	  R# \        V4      p\        V^ ,          \        P                   P"                  4      '       d8   V F/  pV P                  V^ V\        P                  P                  4       K1  	  R# \        P                  P$                  P'                  VP)                  ^ 4      4      p\        V4      ^ 8X  d_   V P                  V P                  VV P*                  V\        P                  P                  \        P                  P                  RR4       R# V Fe  p\        P                   P	                  V P*                  VVV P,                  4      pV P                  V^ V\        P                  P                  4       Kg  	  R# )z°Delete records.

The first argument is always a name.  The other
arguments can be:

        - *empty*

        - rdataset...

        - rdata...

        - rdtype, [string...]
NT)r8   r(   r%   r&   r9   Úlenr=   r]   r)   ÚANYr>   ÚNONErk   rl   rh   rn   rp   rq   rr   r;   ro   r<   r:   )rA   r&   rt   ru   re   Úlargsrb   rv   s   &&*     r
   rm   ÚUpdateMessage.delete¼   sÞ  € ô �dœC× Ò Ü—8‘8×%Ñ% d¨DÓ1ˆDÜˆt‹9˜Œ>Ø�O‰OØ—‘ØÜ—‘×"Ñ"Ü—‘×!Ñ!Ü—‘×"Ñ"Ü—‘×"Ñ"ØØö	ô ˜˜Q�¤§¡×!6Ñ!6×7Ò7Û�Û�BØ—L‘L  q¨"¬c¯n©n×.AÑ.AÖBó ó ô ˜“JˆEÜ˜% �(¤C§I¡I§O¡O×4Ò4Û�BØ—L‘L  q¨"¬c¯n©n×.AÑ.AÖBó  ô Ÿ™×0Ñ0×5Ñ5°e·i±iÀ³lÓC�Ü�u“: ”?Ø—O‘OØŸ™ØØ×)Ñ)ØÜŸ™×*Ñ*ÜŸ™×*Ñ*ØØö	ó #˜Ü ŸY™Y×0Ñ0Ø ×-Ñ-Ø"ØØ ŸK™Kó	˜ð Ÿ™ T¨1¨b´#·.±.×2EÑ2EÖFó #r   c                ób   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[RR/# rz   r{   )r,   r   s   "€r
   r-   r.   ø   s/   ø€ ÷ 2ñ 2™CŸH™HŸM™M©CÕ/ð 2¹ð 2Àñ 2r   c                óF   € V P                   ! RV P                  V.VO5!   R# )a"  Replace records.

The first argument is always a name.  The other
arguments can be:

        - rdataset...

        - ttl, rdata...

        - ttl, rdtype, string...

Note that if you want to replace the entire node, you should do
a delete of the name followed by one or more calls to add.
TNr}   r~   s   &&*r
   rs   ÚUpdateMessage.replaceø   s   € ð  	�	Š	�$˜Ÿ™ TÐ1¨DÖ1r   c                ób   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[RR/# rz   r{   )r,   r   s   "€r
   r-   r.   
  s/   ø€ ÷ 3ñ 3™CŸH™HŸM™M©CÕ/ð 3¹ð 3Àñ 3r   c           
     óv  € \        V\        4      '       d!   \        P                  P	                  VR4      p\        V4      ^ 8X  dm   V P                  V P                  V\        P                  P                  \        P                  P                  \        P                  P                  RRR4       R# \        V^ ,          \        P                  P                  4      '       gB   \        V^ ,          \        P                  P                  4      '       g   \        V4      ^8”  d“   \        V^ ,          \        P                  P                  4      '       g@   \!        V4      pVP#                  ^ ^ 4       V P$                  ! RV P                  V.VO5!   R# V P$                  ! RV P                  V.VO5!   R# \        P                  P&                  P)                  V^ ,          4      pV P                  V P                  V\        P                  P                  V\        P                  P                  RRR4       R# )a  Require that an owner name (and optionally an rdata type,
or specific rdataset) exists as a prerequisite to the
execution of the update.

The first argument is always a name.
The other arguments can be:

        - rdataset...

        - rdata...

        - rdtype, string...
NTF)r8   r(   r%   r&   r9   r‚   r=   rW   r)   rƒ   r>   r„   rk   rl   rp   rq   rn   Úinsertrw   rr   r;   )rA   r&   rt   r…   rb   s   &&*  r
   ÚpresentÚUpdateMessage.present
  s  € ô �dœC× Ò Ü—8‘8×%Ñ% d¨DÓ1ˆDÜˆt‹9˜Œ>Ø�O‰OØ×!Ñ!ØÜ—‘×"Ñ"Ü—‘×!Ñ!Ü—‘×"Ñ"ØØØö	ô �t˜A•w¤§¡× 5Ñ 5×6Ò6Ü˜$˜q�'¤3§9¡9§?¡?×3Ò3Ü�4‹y˜1Œ}ä˜d 1�g¤s§|¡|×'<Ñ'<×=Ò=ä˜T›
�Ø—‘˜Q Ô"Ø—	’	˜% ×!2Ñ!2°DÐA¸5ÖAà—	’	˜% ×!2Ñ!2°DÐ@¸4Ö@ä—]‘]×,Ñ,×1Ñ1°$°qµ'Ó:ˆFØ�O‰OØ×!Ñ!ØÜ—‘×"Ñ"ØÜ—‘×"Ñ"ØØØö	r   c                ó¨   <€ V ^8„  d   QhRS[ P                  P                  S[,          RS[ P                  P
                  S[,          R,          RR/# )r   r&   rb   NrF   )r%   r&   r'   r(   r>   rr   )r,   r   s   "€r
   r-   r.   ?  sJ   ø€ ÷  ñ  á�h‰h�m‰m™cÕ!ð ñ —‘×'Ñ'©#Õ-°Õ4ð ð 
ñ	 r   c           
     óH  € \        V\        4      '       d!   \        P                  P	                  VR4      pVfm   V P                  V P                  V\        P                  P                  \        P                  P                  \        P                  P                  RRR4       R# \        P                  P                  P                  V4      pV P                  V P                  V\        P                  P                  V\        P                  P                  RRR4       R# )zzRequire that an owner name (and optionally an rdata type) does
not exist as a prerequisite to the execution of the update.NT)r8   r(   r%   r&   r9   r=   rW   r)   r„   r>   rƒ   rr   r;   )rA   r&   rb   s   &&&r
   ÚabsentÚUpdateMessage.absent?  sÎ   € ô �dœC× Ò Ü—8‘8×%Ñ% d¨DÓ1ˆDØŠ>Ø�O‰OØ×!Ñ!ØÜ—‘×#Ñ#Ü—‘×!Ñ!Ü—‘×"Ñ"ØØØö	ô —]‘]×,Ñ,×1Ñ1°&Ó9ˆFØ�O‰OØ×!Ñ!ØÜ—‘×#Ñ#ØÜ—‘×"Ñ"ØØØö	r   c                ó   € R # )Tr   )rA   Úvalues   &&r
   Ú_get_one_rr_per_rrsetÚ#UpdateMessage._get_one_rr_per_rrseta  s   € ár   c                ó–  € R pRpV\         P                  8X  dr   \        P                  P	                  V4      '       g2   V\        P
                  P                  8w  g   V P                  '       d   \        P                  P                  hM¼V P                  '       g   \        P                  P                  hV\        P                  P                  \        P                  P                  39   dX   TpV P                  ^ ,          P                  pV\        P                  P                  8H  ;'       g    V\         P                  8H  pW4WV3# )NF)r   r   r%   r)   Úis_metaclassr>   r?   r   Ú	exceptionÚ	FormErrorrƒ   r„   r    r   )rA   rg   r&   r    rb   rf   Úemptys   &&&&&  r
   Ú_parse_rr_headerÚUpdateMessage._parse_rr_headere  sê   € ØˆØˆØ”m×(Ñ(Ô(ä—‘×+Ñ+¨G×4Ò4ØœSŸ]™]×.Ñ.Ô.Ø—9—9�9ä—m‘m×-Ñ-Ð-ð ð —9—9�9Ü—m‘m×-Ñ-Ð-Øœ3Ÿ>™>×-Ñ-¬s¯~©~×/BÑ/BÐCÔCØ"�ØŸ)™) A�,×.Ñ.�à¤§¡× 2Ñ 2Ñ2×UÐU°gÄ×AUÑAUÑ6Uð ð  Ð1Ð1r   )r:   r<   )NN)N)r   r   r   r   r   Ú_section_enumr%   r)   ÚINÚtsigÚdefault_algorithmr4   Úpropertyr   ÚsetterrW   r]   rh   rw   rc   rm   rs   r�   r‘   r•   rœ   r   r   Ú__classcell__)rB   r   s   @@r
   r   r   0   s  ù‡ € à!€Mð ,0Ø-0¯^©^×->Ñ->Ø"Ø(,Ø,/¯H©H×,FÑ,FØ÷)Dõ )DðV ÷ ó ð ð 
‡[�[ñó ðð ÷ ó ð ð ×Ññó ðð ÷ ó ð ð ‡]�]ñó ðô	ò&A÷P3ð 3÷:Gð :G÷x2ð 2÷$3ð 3÷j ò  òD÷2ò 2r   r   )r   Útypingr   r   Údns.enumr%   Údns.exceptionÚdns.messageÚdns.nameÚ
dns.opcodeÚ	dns.rdataÚdns.rdataclassÚdns.rdatasetÚdns.rdatatypeÚ	dns.rrsetÚdns.tsigÚenumÚIntEnumr   ÚmessageÚMessager   ÚUpdater   r   r   r   r   r   r
   Ú<module>r¶      s’   ðñ$ !ç ã Û Û Û Û Û Û Û Û Û Û ô
�C—H‘H×$Ñ$ô 
ôH2�C—K‘K×'Ñ'ô H2ðX
 
€ð ×Ñ€Ø	×	Ñ	€Ø	×	Ñ	€Ø×%Ñ%‚
r   