
    h                        S SK Jr  S SKJr  S SKJr  S SKJrJrJ	r	  \(       a  S SK
Jr  \ SSSSSSSSSS	.                   SS
 jjj5       rg)    )annotations)contextmanager)Path)TYPE_CHECKINGAnycast)IteratorNT)	bufferingencodingnewlinesuffixprefixdirdeleteerrorsc             #    #    SSK Jn	  [        [        U UUUUUUSUS.	5      n
U	" S0 U
D6 n Uv   UR	                  5         U(       a"  [        UR                  5      R                  SS9  SSS5        g! UR	                  5         U(       a#  [        UR                  5      R                  SS9  f f = f! , (       d  f       g= f7f)	z
Slightly more resilient version of the standard `NamedTemporaryFile`.

Plays better with Windows when using the 'delete' option.
r   )NamedTemporaryFileF)	moder   r   r   r   r   r   r   r   T)
missing_okN )tempfiler   r   r   closer   nameunlink)r   r   r   r   r   r   r   r   r   r   paramstmps               V/home/james-whalen/.local/lib/python3.13/site-packages/polars/io/spreadsheet/_utils.pyPortableTemporaryFiler      s     $ ," 
	
F 
	%f	%	7IIIKSXX%%%6 
&	% IIKSXX%%%6  
&	%s2   )CB2A39B2*	C3<B//B22
C <C)zw+b)r   strr   intr   
str | Noner   r"   r   r"   r   r"   r   zstr | Path | Noner   boolr   r"   returnzIterator[Any])
__future__r   
contextlibr   pathlibr   typingr   r   r   collections.abcr	   r   r       r   <module>r+      s    " %  + +( (7 !(7
(7 (7 	(7
 (7 (7 (7 
(7 (7 (7 (7 (7r*   