
    -hh~                        / S Qr SSKrSSKrSSKrSSKrSSK	r
SSKrSSKJr  SSKrSSKrSSKrSSKr\R.                  r\R2                  \R4                  -  \R6                  -  r\" \S5      (       a  \\R<                  -  r\r\" \S5      (       a  \\R@                  -  r\" \S5      (       a  \RB                  r!OSr!Sr"\" 5       r#S	 r$S
 r%S r& " S S5      r'S r(S-S jr)Sq*S r+S r,S r-S r.S r/S r0Sq1S r2S r3S r4S.S jr5S/S jr6S\"S4S jr7 " S S5      r8 " S S 5      r9   S0SS!S".S# jjr:\Rv                  S$:w  d  \Rx                  S%:X  a  \:r=O\" \S&5      q>   S1SS'.S( jjr= " S) S*\R~                  5      r@ " S+ S,5      rAg)2)NamedTemporaryFileTemporaryFileSpooledTemporaryFileTemporaryDirectorymkstempmkdtempmktempTMP_MAXgettempprefixtempdir
gettempdirgettempprefixbgettempdirb    N)Random
O_NOFOLLOWO_BINARYr	   i'  tmpc                 R     [         R                  " U 5        g! [         a     gf = f)NTF)_oslstatOSError)fns    1/opt/python-3.13.8/usr/lib/python3.13/tempfile.py_existsr   L   s+    		"   s    
&&c                     S nU  H  nUc  M  [        U[        R                  5      (       a  [        R                  " U5      n[        U[        5      (       a  U[
        L a  [        S5      e[        nMn  U[        L a  [        S5      e[
        nM     Uc,  [        b  [        [        [
        5      (       a  [
        $ [        $ U$ )Nz1Can't mix bytes and non-bytes in path components.)
isinstancer   PathLikefspathbytesstr	TypeErrorr   )argsreturn_typeargs      r   _infer_return_typer%   U   s    K;c3<<((**S/Cc5!!c! !3 4 4Ke# !3 4 4K! " ?j#66J L    c                     [        XU5      nUc  U" 5       nU c*  U[        L a  [        n O[        R                  " [        5      n Uc  U[        L a  [        5       nO
[        5       nXX#4$ N)r%   r    templater   fsencoder   r   )prefixsuffixdiroutput_types       r   _sanitize_paramsr/   r   s`    $VS9K~~#F\\(+F
{#,C-C3++r&   c                   4    \ rS rSrSr\S 5       rS rS rSr	g)_RandomNameSequence   %abcdefghijklmnopqrstuvwxyz0123456789_c                     [         R                  " 5       nU[        U SS 5      :w  a  [        5       U l        Xl        U R                  $ )N_rng_pid)r   getpidgetattr_Random_rngr5   )selfcur_pids     r   rng_RandomNameSequence.rng   s6    **,gdJ55	DI#Myyr&   c                     U $ r(    r:   s    r   __iter___RandomNameSequence.__iter__   s    r&   c                 h    SR                  U R                  R                  U R                  SS95      $ )N    )k)joinr<   choices
charactersr@   s    r   __next___RandomNameSequence.__next__   s)    wwtxx''1'=>>r&   )r9   r5   N)
__name__
__module____qualname____firstlineno__rI   propertyr<   rA   rJ   __static_attributes__r?   r&   r   r1   r1      s%     9J ?r&   r1   c                  $   / n S H3  n[         R                  " U5      nU(       d  M"  U R                  U5        M5     [         R                  S:X  aR  U R	                  [         R
                  R                  S5      [         R
                  R                  S5      SSSS/5        OU R	                  / S	Q5         U R                  [         R                  " 5       5        U $ ! [        [        4 a#    U R                  [         R                  5         U $ f = f)
N)TMPDIRTEMPTMPntz~\AppData\Local\Tempz%SYSTEMROOT%\Tempzc:\tempzc:\tmpz\tempz\tmp)z/tmpz/var/tmpz/usr/tmp)r   getenvappendnameextendpath
expanduser
expandvarsgetcwdAttributeErrorr   curdir)dirlistenvnamedirnames      r   _candidate_tempdir_listrd      s     G +**W%7GNN7+ +
 xx4,,-DE,,-AB#Y'D 	E 	9:#szz|$ N G$ #szz"N#s   6$C /DDc                    [        5       nU c
  [        5       n U  H  nU[        R                  :w  a  [        R                  R                  U5      n[        S5       H  n[        U5      n[        R                  R                  X$5      n [        R                  " U[        S5      n  [        R                  " US5        [        R                  " U5         [        R                  " U5        Us  s  $    M     [+        [,        R.                  SU -  5      e! [        R                  " U5        f = f! [        R                  " U5        f = f! [         a     M  [         al    [        R                   S:X  aR  [        R                  R#                  U5      (       a.  [        R$                  " U[        R&                  5      (       a   GMk     GM  [(         a       GM  f = f)Nd     s   blatrV   z)No usable temporary directory found in %s)r1   rd   r   r`   r[   abspathrangenextrG   open_bin_openflagswritecloseunlinkFileExistsErrorPermissionErrorrY   isdiraccessW_OKr   FileNotFoundError_errnoENOENT)ra   namerr-   seqrY   filenamefds          r   _get_default_tempdirr|      sR     !E)+#**((""3'C:C;Dxx}}S/HXXh>)&		"g.		"JJx(
 	 8 FMMG#$% % 		"JJx(" "  HH$)<)<JJsCHH-- sI   	E
'D>D/E
D,,D//EE


GA+G	GGc                      [         c@  [        R                  5          [         c
  [        5       q [        R	                  5         [         $ [         $ ! [        R	                  5         f = fr(   )_name_sequence
_once_lockacquirer1   releaser?   r&   r   _get_candidate_namesr      sP     	!%!4!6 >     A A$c                    [         R                  R                  U 5      n [        5       nU[        L a  [        [         R                  U5      n[        [        5       He  n[        U5      n[         R                  R                  XU-   U-   5      n[        R                  " SU5         [         R                  " XS5      n	X4s  $    [        [(        R*                  S5      e! [         a     M  [         ag    [         R                   S:X  aQ  [         R                  R#                  U 5      (       a-  [         R$                  " U [         R&                  5      (       a   M  e f = f)Nztempfile.mkstemprg   rV   z#No usable temporary file name found)r   r[   rh   r   r   mapr*   ri   r	   rj   rG   _sysauditrk   rp   rq   rY   rr   rs   rt   rv   EEXIST)
r-   presufflagsr.   namesry   rY   filer{   s
             r   _mkstemp_innerr      s    ((

3
C "EeCLL%(W~E{xx}}S*s"23

%t,	$u-B x! $ &--?A A  	 	 D SXX^^C%8%8

3))	s   'C
E,A+EEc                     U [         R                  ;   a  U " U/UQ7SS06  g [         R                  R                  U5      (       d
  U " U/UQ76   g g )Nfollow_symlinksF)r   supports_follow_symlinksr[   islink)funcr[   r"   s      r   _dont_follow_symlinksr     sG    s+++T0D0%0XX__T""TD #r&   c                      [         R                  n[        XS5        [        [         R                  U S5        g ! [         a     N(f = f)Nr     )r   chflagsr   r_   chmod)r[   r   s     r   _resetpermsr     s@    0++ 	gQ/#))T51	  s   : 
AAc                  6    [         R                  " [        5      $ r(   )r   fsdecoder)   r?   r&   r   r
   r
   $      <<!!r&   c                  6    [         R                  " [        5      $ r(   )r   r*   r)   r?   r&   r   r   r   (  r   r&   c                      [         c@  [        R                  5          [         c
  [        5       q [        R	                  5         [         $ [         $ ! [        R	                  5         f = fr(   )r   r   r   r|   r   r?   r&   r   _gettempdirr   .  sL     	!.0 N7N  r   c                  >    [         R                  " [        5       5      $ r(   )r   r   r   r?   r&   r   r   r   :      <<&&r&   c                  >    [         R                  " [        5       5      $ r(   )r   r*   r   r?   r&   r   r   r   >  r   r&   c                 b    [        XU5      u  pp$U(       a  [        nO[        n[        X!XU5      $ r(   )r/   _text_openflagsrl   r   )r,   r+   r-   textr.   r   s         r   r   r   B  s1    : (8'L$FC#vkBBr&   c                    [        XU5      u  pp#[        5       nU[        L a  [        [        R
                  U5      n[        [        5       H  n[        U5      n[        R                  R                  X!U-   U -   5      n[        R                  " SU5         [        R                  " US5        [        R                  R)                  U5      s  $    [        [*        R,                  S5      e! [         a     M  [         ah    [        R                   S:X  aR  [        R                  R#                  U5      (       a.  [        R$                  " U[        R&                  5      (       a   GM  e f = f)Nztempfile.mkdtempr   rV   z(No usable temporary directory name found)r/   r   r   r   r   r*   ri   r	   rj   r[   rG   r   r   mkdirrp   rq   rY   rr   rs   rt   rh   rv   r   )r,   r+   r-   r.   r   ry   rY   r   s           r   r   r   i  s    (8'L$FC "EeCLL%(W~E{xx}}S4-&"89

%t,	IIdE" xx%%! $ &--DF F  	 	 D SXX^^C%8%8

3))	s   C++
E)8A+E)'E)rD   c                    Uc
  [        5       n[        5       n[        [        5       HG  n[	        U5      n[
        R                  R                  X!U-   U -   5      n[        U5      (       a  ME  Us  $    [        [        R                  S5      e)Nz"No usable temporary filename found)r   r   ri   r	   rj   r   r[   rG   r   rp   rv   r   )r,   r+   r-   r   ry   rY   r   s          r   r   r     sr    $ {l "EW~E{xx}}S4-&"89t}}K	  &-->@ @r&   c                   n    \ rS rSrSrSrS
S jr\R                  S:H  \R                  4S jr
S rS rSrg	)_TemporaryFileCloseri  Fc                 4    Xl         X l        X0l        X@l        g r(   )r   rY   deletedelete_on_closer:   r   rY   r   r   s        r   __init___TemporaryFileCloser.__init__  s    		.r&   rV   c                    U R                   (       dy  SU l          U R                  (       d!  SU l        U R                  R                  5         U R                  (       a-  U(       a  U R
                  (       d   U" U R                  5        g g g g ! [         a     g f = f! U R                  (       a=  U(       a  U R
                  (       d$   U" U R                  5        f ! [         a     f f = ff f = fNT)cleanup_calledclose_calledr   rn   r   r   rY   ru   )r:   windowsro   s      r   cleanup_TemporaryFileCloser.cleanup  s    """&D(((,D%IIOO% ;;D4H4Htyy) 5I; # -  ;;D4H4Htyy),  5I;sA   2B 6B 
BB*C,CC,
C'$C,&C''C,c                 F   U R                   (       dW  SU l          U R                  R                  5         U R                  (       a#  U R                  (       a  U R                  5         g g g g ! U R                  (       a#  U R                  (       a  U R                  5         f f f = fr   )r   r   rn   r   r   r   r@   s    r   rn   _TemporaryFileCloser.close  sm       $D#		!;;4#7#7LLN $8; !
 ;;4#7#7LLN $8;s   A* *6B c                 $    U R                  5         g r(   )r   r@   s    r   __del___TemporaryFileCloser.__del__  s    r&   )r   r   r   r   r   rY   NTT)rL   rM   rN   rO   r   r   r   r   rY   ro   r   rn   r   rQ   r?   r&   r   r   r     s6    
 NL/  #xx4/  #r&   r   c                   <    \ rS rSrS
S jrS rS rS rS rS r	Sr
g	)_TemporaryFileWrapperi  c                 @    Xl         X l        [        XUU5      U l        g r(   )r   rY   r   _closerr   s        r   r   _TemporaryFileWrapper.__init__  s    		+D,;=r&   c                   ^ U R                   S   n[        X!5      n[        US5      (       a4  Um[        R                  " T5      U4S j5       nU R
                  Ul        Un[        U[        5      (       d  [        XU5        U$ )Nr   __call__c                     > T" U 0 UD6$ r(   r?   )r"   kwargsr   s     r   func_wrapper7_TemporaryFileWrapper.__getattr__.<locals>.func_wrapper  s    T,V,,r&   )	__dict__r7   hasattr
_functoolswrapsr   r   intsetattr)r:   rY   r   ar   r   s        @r   __getattr__!_TemporaryFileWrapper.__getattr__  s{     }}V$D1j!!Dd#- $- $(<<L A!S!!D"r&   c                 :    U R                   R                  5         U $ r(   )r   	__enter__r@   s    r   r   _TemporaryFileWrapper.__enter__  s    		r&   c                 r    U R                   R                  XU5      nU R                  R                  5         U$ r(   )r   __exit__r   r   )r:   excvaluetbresults        r   r   _TemporaryFileWrapper.__exit__  s-    ##C3r&   c                 8    U R                   R                  5         g r(   )r   rn   r@   s    r   rn   _TemporaryFileWrapper.close
  s     	r&   c              #   :   #    U R                    H  nUv   M	     g 7fr(   )r   )r:   lines     r   rA   _TemporaryFileWrapper.__iter__  s      IIDJ s   )r   r   rY   Nr   )rL   rM   rN   rO   r   r   r   r   rn   rA   rQ   r?   r&   r   r   r     s     =*
r&   r   T)errorsr   c          
      8  ^^^^^^ [        TTT5      u  mmmm[        m[        R                  S:X  a!  U(       a  U	(       a  T[        R                  -  mSU ;  a  [
        R                  " U5      nS mUUUUUU4S jn
 [
        R                  " TXX2UU
S9n [        USU5      n[        USU5      nTUl        [        UTXy5      $ !   UR                  5         e = f!   Tb8  [        R                  S:X  a  U(       a  U	(       d  [        R                  " T5        e = f)NrV   bc                  ,   > [        TTTTT5      u  nmU$ r(   )r   )r"   r{   r-   r   rY   r.   r+   r,   s     r   opener"NamedTemporaryFile.<locals>.openerB  s    !#vvukJD	r&   	bufferingnewlineencodingr   r   bufferraw)r/   rl   r   rY   O_TEMPORARY_iotext_encodingrk   r7   r   rn   ro   )moder   r   r   r,   r+   r-   r   r   r   r   r   r   r   rY   r.   s       ```      @@@r   r   r     s    6 (8'L$FFCE xx4F 
$$$X.D xxT '6%'	$$/C#uc*CCH(tVMM	JJLHHOJJts   >C -C CC >Dposixcygwin	O_TMPFILEr   c          
        ^^^^^^ SU ;  a  [         R                  " U5      n[        TTT5      u  mmmm[        m[        (       aE  S mUUU4S jn [         R
                  " TXX2XxS9n	[        U	SU	5      n
[        U
SU
5      n
TU
l        U	$ S mUUUUUU4S jn[         R
                  " TXX2UUS9n	[        U	SU	5      n
[        U
SU
5      n
TU
l        U	$ ! [         a    Sq NV[         a     Naf = f)Nr   c                     > T[         R                  -  [         R                  ) -  n[         R                  " TUS5      mT$ )Nrg   )r   r   O_CREATrk   )r"   flags2r-   r{   r   s     r   r   TemporaryFile.<locals>.opener}  s3    #--/CKK<?XXc651	r&   r   r   r   Fc                     > [        TTTTT5      u  mn [        R                  " U5        T$ ! [         a  n[        R                  " T5        e S nAff = fr(   )r   r   ro   BaseExceptionrn   )	r"   rY   er-   r{   r   r.   r+   r,   s	      r   r   r     sQ    %c665+NHB

4  I ! 		"s   - 
AAA)
r   r   r/   rl   _O_TMPFILE_WORKSrk   r7   rY   IsADirectoryErrorr   )r   r   r   r   r,   r+   r-   r   r   r   r   r{   r   r.   s       ```    @@@r   r   r   c  s   $ d?((2H+;FFC+P([B
xxT(/'-> dHd3c5#.& 	 	 xxT '6%' dHd+c5#&E % ) $)   s   9C C-!	C-,C-c                   N   \ rS rSrSr   S&SS.S jjr\" \R                  5      r	S r
S rS rS	 rS
 rS rS r\S 5       r\S 5       r\S 5       rS rS rS r\S 5       r\S 5       r\S 5       rS rS rS rS rS rS r S r!S r"S r#S r$S'S  jr%S! r&S" r'S# r(S$ r)S%r*g)(r   i  FNr   c	          	          SU;   a  [         R                  " 5       U l        OD[         R                  " U5      n[         R                  " [         R                  " 5       XIUS9U l        Xl        SU l        X#XgXEXS.U l        g )Nr   )r   r   r   F)r   r   r,   r+   r   r   r-   r   )r   BytesIO_filer   TextIOWrapper	_max_size_rolled_TemporaryFileArgs)
r:   max_sizer   r   r   r   r,   r+   r-   r   s
             r   r   SpooledTemporaryFile.__init__  sm     $;DJ((2H**3;;=%-$+-DJ "+/-3/7*-#Ar&   c                     U R                   (       a  g U R                  nU(       a&  UR                  5       U:  a  U R                  5         g g g r(   )r  r  tellrollover)r:   r   r  s      r   _checkSpooledTemporaryFile._check  s4    <<>>		h.MMO /8r&   c                    U R                   (       a  g U R                  n[        S0 U R                  D6=o l        U ?UR	                  5       n[        US5      (       a8  UR                  R                  UR                  5       R                  5       5        OUR                  UR                  5       5        UR                  US5        SU l         g )Nr   r   Tr?   )r  r  r   r  r
  r   r   rm   detachgetvalueseek)r:   r   newfileposs       r   r  SpooledTemporaryFile.rollover  s    <<zz,Gt/F/FGG*#iik7H%%NN  !7!7!9:MM$--/*S!r&   c                 R    U R                   R                  (       a  [        S5      eU $ )Nz%Cannot enter context with closed file)r  closed
ValueErrorr@   s    r   r   SpooledTemporaryFile.__enter__  s     ::DEEr&   c                 8    U R                   R                  5         g r(   r  rn   r:   r   r   r   s       r   r   SpooledTemporaryFile.__exit__      

r&   c                 6    U R                   R                  5       $ r(   )r  rA   r@   s    r   rA   SpooledTemporaryFile.__iter__      zz""$$r&   c                     U R                   (       d;  [        R                  " SR                  U 5      [        SU S9  U R                  5         g g )NzUnclosed file {!r}   )
stacklevelsource)r  	_warningswarnformatResourceWarningrn   r@   s    r   r   SpooledTemporaryFile.__del__  s<    {{NN$++D1	 JJL r&   c                 8    U R                   R                  5         g r(   r  r@   s    r   rn   SpooledTemporaryFile.close  r  r&   c                 .    U R                   R                  $ r(   )r  r  r@   s    r   r  SpooledTemporaryFile.closed      zz   r&   c                 .    U R                   R                  $ r(   )r  r   r@   s    r   r   SpooledTemporaryFile.encoding       zz"""r&   c                 .    U R                   R                  $ r(   )r  r   r@   s    r   r   SpooledTemporaryFile.errors  r.  r&   c                 V    U R                  5         U R                  R                  5       $ r(   )r  r  filenor@   s    r   r5  SpooledTemporaryFile.fileno  s    zz  ""r&   c                 8    U R                   R                  5         g r(   )r  flushr@   s    r   r8  SpooledTemporaryFile.flush  r  r&   c                 6    U R                   R                  5       $ r(   )r  isattyr@   s    r   r;  SpooledTemporaryFile.isatty      zz  ""r&   c                 n     U R                   R                  $ ! [         a    U R                  S   s $ f = f)Nr   )r  r   r_   r  r@   s    r   r   SpooledTemporaryFile.mode  s5    	3::??" 	3**622	3s    44c                 P     U R                   R                  $ ! [         a     g f = fr(   )r  rY   r_   r@   s    r   rY   SpooledTemporaryFile.name  s'    	::??" 		s    
%%c                 .    U R                   R                  $ r(   )r  newlinesr@   s    r   rC  SpooledTemporaryFile.newlines   r1  r&   c                 6    U R                   R                  5       $ r(   )r  readabler@   s    r   rF  SpooledTemporaryFile.readable$  r   r&   c                 4    U R                   R                  " U6 $ r(   )r  readr:   r"   s     r   rI  SpooledTemporaryFile.read'      zz%%r&   c                 4    U R                   R                  " U6 $ r(   )r  read1rJ  s     r   rN  SpooledTemporaryFile.read1*  s    zz&&r&   c                 8    U R                   R                  U5      $ r(   )r  readintor:   r   s     r   rQ  SpooledTemporaryFile.readinto-  s    zz""1%%r&   c                 8    U R                   R                  U5      $ r(   )r  	readinto1rR  s     r   rU  SpooledTemporaryFile.readinto10  s    zz##A&&r&   c                 4    U R                   R                  " U6 $ r(   )r  readlinerJ  s     r   rX  SpooledTemporaryFile.readline3  s    zz""D))r&   c                 4    U R                   R                  " U6 $ r(   )r  	readlinesrJ  s     r   r[  SpooledTemporaryFile.readlines6  s    zz##T**r&   c                 6    U R                   R                  5       $ r(   )r  seekabler@   s    r   r^  SpooledTemporaryFile.seekable9  r   r&   c                 4    U R                   R                  " U6 $ r(   )r  r  rJ  s     r   r  SpooledTemporaryFile.seek<  rL  r&   c                 6    U R                   R                  5       $ r(   )r  r
  r@   s    r   r
  SpooledTemporaryFile.tell?  s    zz  r&   c                     Uc  U R                   R                  5       $ XR                  :  a  U R                  5         U R                   R                  U5      $ r(   )r  truncater  r  )r:   sizes     r   re  SpooledTemporaryFile.truncateB  sB    <::&&((nn$::&&t,,r&   c                 6    U R                   R                  5       $ r(   )r  writabler@   s    r   ri  SpooledTemporaryFile.writableJ  r   r&   c                 b    U R                   nUR                  U5      nU R                  U5        U$ r(   )r  rm   r  )r:   sr   rvs       r   rm   SpooledTemporaryFile.writeM  s)    zzZZ]D	r&   c                 "   U R                   S:X  d  U R                  (       a  U R                  R                  U5      $ [	        U5      nU HB  nU R                  U5        U R                  (       d  M'  U R                  R                  U5      s  $    g )Nr   )r  r  r  
writelinesiterrm   )r:   iterableitr   s       r   rp  SpooledTemporaryFile.writelinesS  sf    >>Q$,,::((22(^DJJt|||zz,,R00 r&   c                 6    U R                   R                  5       $ r(   )r  r  r@   s    r   r  SpooledTemporaryFile.detach]  r=  r&   )r  r  r  r  )r   w+bNNNNNr(   )+rL   rM   rN   rO   r  r   classmethod_typesGenericAlias__class_getitem__r  r  r   r   rA   r   rn   rP   r  r   r   r5  r8  r;  r   rY   rC  rF  rI  rN  rQ  rU  rX  r[  r^  r  r
  re  ri  rm   rp  r  rQ   r?   r&   r   r   r     s)   
 G9;(,/3A?CA" $F$7$78*
% ! ! # # ! !## 3 3   # #%&'&'*+%&!-%1#r&   r   c                       \ rS rSr  SSS.S jjr\SS j5       r\SS j5       rS rS	 r	S
 r
S r\" \R                  5      rSrg)r   ia  NT)r   c          	          [        XU5      U l        X@l        XPl        [        R
                  " X R                  U R                  SR                  U 5      U R                  U R                  S9U l        g )NzImplicitly cleaning up {!r})warn_messageignore_errorsr   )	r   rY   _ignore_cleanup_errors_delete_weakreffinalize_cleanupr'  
_finalizer)r:   r,   r+   r-   ignore_cleanup_errorsr   s         r   r   TemporaryDirectory.__init__u  sX    FC0	&;#"++--6==dC55dllLr&   c                 H   ^ ^^^ U UUU4S jn[         R                  " TUS9  g )Nc                 ~  > [        U[        5      (       ah  T(       a  UT:X  a	  T(       a  g e  UT:w  a(  [        [        R                  R                  U5      5        [        U5         [        R                  " U5        g [        U[        5      (       a  g T(       d  e g ! [         a    TR                  UTS9   g [         ai    [        R                  R                  U5      (       a$  [        R                  R                  U5      (       a
  T(       a   g e TR                  UTUT:H  S9   g f = f! [         a     g f = f)Nr  )r  repeated)r   rq   r   r   r[   rc   ro   r   _rmtreerr   
isjunctionru   )r   r[   r   clsr  rY   r  s      r   onexc)TemporaryDirectory._rmtree.<locals>.onexc  s   #//$t|#CHH$4$4T$:;%=

4(& C!233$ %+ - GDF* =  #xx~~d33sxx7J7J47P7P, &!D.2dl $ == ) sH   9D/ (B D,8D/ :AD,D/ D,)D/ +D,,D/ /
D<;D<)r  )_shutilrmtree)r  rY   r  r  r  s   ```` r   r  TemporaryDirectory._rmtree  s    $	 $	L 	t5)r&   c                 h    U(       a+  U R                  XS9  [        R                  " U[        5        g g Nr  )r  r%  r&  r(  )r  rY   r  r  r   s        r   r  TemporaryDirectory._cleanup  s&    KKK:NN<9 r&   c                 b    SR                  U R                  R                  U R                  5      $ )Nz	<{} {!r}>)r'  	__class__rL   rY   r@   s    r   __repr__TemporaryDirectory.__repr__  s#    !!$.."9"9499EEr&   c                     U R                   $ r(   )rY   r@   s    r   r   TemporaryDirectory.__enter__  s    yyr&   c                 H    U R                   (       a  U R                  5         g g r(   )r  r   r  s       r   r   TemporaryDirectory.__exit__  s    <<LLN r&   c                     U R                   R                  5       (       d.  [        R                  R	                  U R
                  5      (       a%  U R                  U R
                  U R                  S9  g g r  )r  r  r   r[   existsrY   r  r  r@   s    r   r   TemporaryDirectory.cleanup  sK    ??!!##sxxtyy'A'ALL$2M2MLN (Br&   )r  r  r  rY   NNNF)FF)FT)rL   rM   rN   rO   r   ry  r  r  r  r   r   r   rz  r{  r|  rQ   r?   r&   r   r   r   a  sk    ( 6:',L8<L '* '*R : :
FO $F$7$78r&   r   r(   r  )NNN)rw  rx  NNNNNT)rw  rx  NNNNN)B__all__	functoolsr   warningsr%  ior   osr   shutilr  errnorv   randomr   r8   sysr   typesrz  weakrefr  _threadallocate_lock_allocate_lockO_RDWRr   O_EXCLr   r   r   rl   r   r	   r)   r   r   r%   r/   r1   rd   r|   r~   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   rY   platformr   r   IOBaser   r   r?   r&   r   <module>r     s  4       $    &&**s{{*SZZ7
3s~~%O 
3
cll"N
3	kkGG  
:,$? ?06+%Z A:2"" 
''$CN&FP X4 @@( (V< <| ;?9=(,<8<'+<| 88w$--83 'M sK09=8<I*.IVp#3:: p#f\9 \9r&   