+
    i-  c                   s~    ^ RI t^ RIt^ RIt^ RItRR.tRt	]
t ! R R]P                  P                  4      tRR ltR# )	    Nerroropeni   c                   s   a  ] tR t^#t o ]t]tRR ltR tR tR t	]	t
R tR tR tR tR	 tR
 tR tR tR tR tR t]tR tR t]tR tR tR tRtV tR# )	_Databasec                s   V P                   P                  V4      pW n        VR 8H  V n        VR,           V n        VR,           V n        VR,           V n        RV n        V P                  V4       V P                  V4       R# )rs   .dirs   .dats   .bakN)
_osZfsencode_mode	_readonly_dirfile_datfile_bakfile_index_create_update)selfZfilebasenamemodeflags   &&&&!/usr/lib64/python3.14/dbm/dumb.py__init__Z_Database.__init__0   sq    xx((6
#+ %w. %w.$w.  	TT    c                s   VR 8X  dB   V P                   V P                  V P                  3 F  p \        P                  ! V4       K  	   \        P                  ! V P                   RRR7      pVP                  4        R#   \
         d     Kb  i ; i  \
         dq    TR9  d   h \        P                  ! T P                   RRR7      ;_uu_ 4       pT P                  T P                   4       RRR4        R#   + '       g   i      R# ; ii ; i)nr   Latin-1ZencodingwNcr   )
r	   r
   r   r   ZremoveOSError_ior   close_chmod)r   r   Zfilenamefs   &&  r   r   Z_Database._createJ   s    3;!]]DMM4==IJJx( J	i@A GGI  
  	+:%$--yAAQDMM* BAAA	+s;   A?
#B ?BB>DC6+D6DDDc                s^   R V n         / V n         \        P                  ! V P                  RRR7      pT;_uu_ 4        V FJ  pVP                  4       p\        P                  ! V4      w  rEVP                  R4      pWPP                  V&   KL  	  RRR4       R#   + '       g   i     R# ; i  \         dv    TR9  d   h T P                  P                  T P                  RRR7      ;_uu_ 4       pT P                  T P                  4       RRR4        R#   + '       g   i      R# ; ii ; i)Fr   r   r   Nr   r   )	_modifiedr   r   r   r   Zrstrip_astZliteral_evalencoder   r   )r   r   r   Zlinekeypos_and_siz_pair   &&    r   r   Z_Database._update]   s    	8i@A D;;=D,0,=,=d,C)C**Y/C'7KK$	    	+:%t}}cIFF!DMM* GFFF	+s6   #B, ABB)	,AD,/DD,D(!D,(D,c                s   V P                   e   V P                  '       g   R #  V P                  P                  V P                  4        V P                  P                  V P                  V P                  4       V P                  P                  V P                  RRR7      ;_uu_ 4       pV P                  V P                  4       V P                   P                  4        F/  w  r#VP                  R4      : RV: R2pVP                  V4       K1  	  R R R 4       RV n        R #   \
         d     Li ; i  \
         d     Li ; i  + '       g   i     L;; i)Nr   r   r   , 
F)r   r   r   Zunlinkr
   r   Zrenamer   r   r   r   itemsdecodewrite)r   r   r"   r#   Zentrys   &    r   _commitZ_Database._commitr   s     ;;dnnn	HHOODMM*	HHOODMM4==9 XX]]4==#	]BBaKK&)-):):)<% '*jj&;=MN	 *= C   		
  		 CBs0   %D$ 
0D5 *A)E$D21D25EEE	c                s8    V P                   f   \        R4      hR # )N"DBM object has already been closed)r   r   r      &r   _verify_openZ_Database._verify_open   s    ;;<== r   c                sn   \        V\        4      '       d   VP                  R 4      pV P                  4        V P                  V,          w  r#\
        P                  ! V P                  R4      ;_uu_ 4       pVP                  V4       VP                  V4      pRRR4       V#   + '       g   i     X# ; i)utf-8ZrbN)

isinstancestrr!   r.   r   r   r   r	   seekZread)r   r"   possizr   Zdatr$   r   __getitem__Z_Database.__getitem__   s    c3**W%C;;s#XXdmmT**aFF3K&&+C + 
 +* 
s   6#B##B4	c                s   \         P                  ! V P                  R 4      ;_uu_ 4       pVP                  ^ ^4       \	        VP                  4       4      pV\        ,           ^,
          \        ,          \        ,          pVP                  RWC,
          ,          4       TpVP                  V4       RRR4       X\        V4      3#   + '       g   i     L; i)rb+s    N)	r   r   r	   r2   ZintZtell
_BLOCKSIZEr)   len)r   valr   r3   Znposs   &&   r   _addvalZ_Database._addval   s    XXdmmU++qFF1aLaffh-C:%)j8JFDGGE48$%CGGCL , SX ,+s   BCC	c                s    \         P                  ! V P                  R 4      ;_uu_ 4       pVP                  V4       VP	                  V4       RRR4       V\        V4      3#   + '       g   i     L; i)r6   N)r   r   r	   r2   r)   r8   )r   r3   r9   r      &&& r   _setvalZ_Database._setval   sM    XXdmmU++qFF3KGGCL , SX ,+s   #A""A2	c                s8   W P                   V&   \        P                  ! V P                  R RR7      ;_uu_ 4       pV P	                  V P                  4       VP                  VP                  R4      : RV: R24       RRR4       R#   + '       g   i     R# ; i)Zar   r   r%   r&   N)r   r   r   r   r   r)   r(   )r   r"   r#   r   r;   r   _addkeyZ_Database._addkey   sa    +CXXdmmS9==KK&GG#**Y"79IJK >===s   ABB	c                sN   V P                   '       d   \        R 4      h\        V\        4      '       d   VP	                  R4      pM'\        V\
        \        34      '       g   \        R4      h\        V\        4      '       d   VP	                  R4      pM'\        V\
        \        34      '       g   \        R4      hV P                  4        RV n	        WP                  9  d#   V P                  WP                  V4      4       R# V P                  V,          w  r4V\        ,           ^,
          \        ,          p\        V4      \        ,           ^,
          \        ,          pWe8:  d!   V P                  W24      V P                  V&   R# V P                  V4      V P                  V&   R# )'The database is opened for reading onlyr/   zkeys must be bytes or stringszvalues must be bytes or stringsTN)r   r   r0   r1   r!   ZbytesZ	bytearray	TypeErrorr.   r   r   r=   r:   r7   r8   r<   )r   r"   r9   r3   r4   Z	oldblocksZ	newblockss   &&&    r   __setitem__Z_Database.__setitem__   s/   >>>ABBc3**W%CC%!344;<<c3**W%CC%!344=>>kk!LLll3/0 {{3'HCz)A-*<ISJ.2zAI%#'<<#9C 
 $(<<#4C r   c                s    V P                   '       d   \        R 4      h\        V\        4      '       d   VP	                  R4      pV P                  4        RV n        V P                  V V P                  4        R# )r>   r/   TN)	r   r   r0   r1   r!   r.   r   r   r*   r   r"      &&r   __delitem__Z_Database.__delitem__   s\    >>>ABBc3**W%CKK
 	r   c                d     \        V P                  4      #   \         d    \        R 4      Rhi ; ir+   N)Zlistr   r?   r   r,   r-   r   keysZ_Database.keys   6    	H$$ 	H<=4G	H    /c                s    V P                  4        V P                  P                  4        Uu. uF  qW,          3NK  	  up# u upi N)r.   r   rF   rA   s   & r   r'   Z_Database.items   s:    ,0KK,<,<,>?,>Sdi ,>???s   Ac                s    \        V\        4      '       d   VP                  R 4      p WP                  9   #   \         d    T P                  f   \        R4      Rhh i ; i)r/   Nr+   )r0   r1   r!   r   r?   r   rA   rB   r   __contains__Z_Database.__contains__   sY    c3**W%C	++%% 	{{"@AtK		s	   7 'Ac                rD   rE   )Ziterr   r?   r   r,   r-   r   iterkeysZ_Database.iterkeys  rG   rH   c                rD   rE   )r8   r   r?   r   r,   r-   r   __len__Z_Database.__len__  s6    	Ht{{## 	H<=4G	HrH   c                s     V P                  4        R ;V n        ;V n        ;V n        V n        R #   R ;T n        ;T n        ;T n        T n        i ; irI   )r*   r   r	   r   r
   r,   r-   r   r   Z_Database.close  sJ    	OLLNJNNDKN$-N$-$-$NDKN$-N$-$-s	   0 Ac                sP    V P                   P                  WP                  4       R # rI   )r   Zchmodr   )r   filerB   r   r   Z_Database._chmod  s    tZZ(r   c                s    V # rI    r,   r-   r   	__enter__Z_Database.__enter__  s    r   c                s&    V P                  4        R # rI   )r   )r   Zargss   &*r   __exit__Z_Database.__exit__!  s    

r   )r
   r	   r   r   r   r   r   N)r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   r   r*   Zsyncr.   r5   r:   r<   r=   r@   rC   rF   r'   rJ   rK   Z__iter__rL   r   Z__del__r   rO   rP   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   #   s      C
C4&8*4 D>L5JH@	H
 HHO G) r   r   c                 s     \         P                  ! ^ 4      p\         P                  ! V4       W#( ,          pVR9  d   \        R4      h\	        WVR7      #   \         d     L,i ; i)r    z)Flag must be one of 'r', 'w', 'c', or 'n')r   )r   r   r   r   )r   ZumaskZAttributeErrorZ
ValueErrorr   )rM   r   r   Zumr;   r   r   r   %  s`     YYq\		"
 s|''DEETd++  s   ,A A$#A$)r   i  )Zastr    Zior   Zosr   Zcollections.abcZcollectionsZ__all__r7   r   r   ZabcZMutableMappingr   r   rN   r   r   <module>rQ      sE   0    F

.. D,r   