Ë
    nûàg::  ã                  ó¨  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZmZmZ d dlZd dlmZ d dlmZ erd dlZnDe
j0                  j3                  d«      rd dlmc mc mc mZ ne
j8                  ej>                     Ze Z!erd dl"m#Z# g d	¢Z$d#d
„Z%ejL                  d#d„«       Z'ejL                  d„ «       Z(ejL                  d„ «       Z)ejL                  d„ «       Z* G d„ de+«      Z, G d„ d«      Z-ejL                  d„ «       Z.d„ Z/ejL                  d„ «       Z0ejL                  d„ «       Z1h d£Z2d„ Z3d„ Z4d„ Z5 G d„ d«      Z6 e7ed«      rejp                  gZ9ng Z9 G d„ de6«      Z: ejv                  ejx                  d j{                  «       D � cg c]  }  e>e| d «      ‘Œ c} «      Z? G d!„ d"e«      Z@yc c} w )$é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚClassVar)Úworking_set)ÚDistutilsErrorÚjava)ÚSelf)ÚAbstractSandboxÚDirectorySandboxÚSandboxViolationÚ	run_setupc                ó¦   — d}t        | |«      5 }|j                  «       }ddd«       |€|}t        | d«      }t        |||«       y# 1 sw Y   Œ(xY w)z.
    Python 3 implementation of execfile.
    ÚrbNÚexec)ÚopenÚreadÚcompiler   )ÚfilenameÚglobalsÚlocalsÚmodeÚstreamÚscriptÚcodes          úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/sandbox.pyÚ	_execfiler   *   sY   € ð €DÜ	ˆh˜Ó	ð  Ø—‘“ˆ÷à€~ØˆÜ�6˜8 VÓ,€DÜˆˆw˜Õ÷ð ús   �AÁAc              #  ó¼   K  — t         j                  d d  }| �| t         j                  d d  	 |–— |t         j                  d d  y # |t         j                  d d  w xY w­w©N)ÚsysÚargv)ÚreplÚsaveds     r   Ú	save_argvr%   7   sJ   è ø€ ä�H‰H‘QˆK€EØÐØŒ�‰‘ˆðØŠàŒ�‰‘‰ø�eŒ�‰‘‰üs   ‚)A¬A °AÁAÁAc               #  ó’   K  — t         j                  d d  } 	 | –— | t         j                  d d  y # | t         j                  d d  w xY w­wr    )r!   Úpath©r$   s    r   Ú	save_pathr)   B   s7   è ø€ ä�H‰H‘QˆK€EðØŠàŒ�‰‘‰ø�eŒ�‰‘‰üs   ‚A—/ ›A¯AÁAc              #  ó°   K  — t        j                  | d¬«       t        j                  }| t        _        	 d–— |t        _        y# |t        _        w xY w­w)zL
    Monkey-patch tempfile.tempdir with replacement, ensuring it exists
    T)Úexist_okN)ÚosÚmakedirsÚtempfileÚtempdir)Úreplacementr$   s     r   Úoverride_tempr1   K   sA   è ø€ ô
 ‡K�K� dÕ+ä×Ñ€Eà"„HÔð!Ûà ŒÕø˜5ŒÕüs   ‚3A¶A ºAÁAÁAc              #  óÆ   K  — t        j                  «       }t        j                  | «       	 |–— t        j                  |«       y # t        j                  |«       w xY w­wr    )r,   ÚgetcwdÚchdir)Útargetr$   s     r   Úpushdr6   \   s=   è ø€ ä�I‰I‹K€EÜ‡H�HˆVÔðØŠä
�‰��øŒ�‰��üs   ‚*A!­A ±A!ÁAÁA!c                  ó    — e Zd ZdZed„ «       Zy)ÚUnpickleableExceptionzP
    An exception representing another Exception that could not be pickled.
    c           	     óÄ   — 	 t        j                  | «      t        j                  |«      fS # t        $ r* ddlm} |j                  | |t        |«      «      «      cY S w xY w)z‰
        Always return a dumped (pickled) type and exc. If exc can't be pickled,
        wrap it in UnpickleableException first.
        r   )r8   )ÚpickleÚdumpsÚ	ExceptionÚsetuptools.sandboxr8   ÚdumpÚrepr)ÚtypeÚexcÚclss      r   r>   zUnpickleableException.dumpk   sO   € ð	1Ü—<‘< Ó%¤v§|¡|°CÓ'8Ð8Ð8øÜò 	1åGà—8‘8˜C¡¤T¨#£Y£Ó0Ò0ð		1ús   ‚), ¬0AÁAN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr>   © ó    r   r8   r8   f   s   „ ñð ñ1ó ñ1rI   r8   c                  ó6   — e Zd ZdZdd„Z	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚExceptionSaverz]
    A Context Manager that will save an exception, serialize, and restore it
    later.
    c                ó   — | S r    rH   ©Úselfs    r   Ú	__enter__zExceptionSaver.__enter__€   s   € ØˆrI   c                óN   — |syt         j                  ||«      | _        || _        y)NFT)r8   r>   Ú_savedÚ_tb)rN   r@   rA   Útbs       r   Ú__exit__zExceptionSaver.__exit__ƒ   s,   € ñ Øô ,×0Ñ0°°sÓ;ˆŒØˆŒð rI   c                ó¢   — dt        | «      vryt        t        j                  | j                  «      \  }}|j                  | j                  «      ‚)z"restore and re-raise any exceptionrQ   N)ÚvarsÚmapr:   ÚloadsrQ   Úwith_tracebackrR   )rN   Ú_typerA   s      r   ÚresumezExceptionSaver.resume“   s@   € ð œ4 ›:Ñ%ØäœŸ™ t§{¡{Ó3‰
ˆˆsØ× Ñ  §¡Ó*Ð*rI   N)Úreturnr   )r@   útype[BaseException] | NonerA   úBaseException | NonerS   úTracebackType | Noner\   Úbool)rC   rD   rE   rF   rO   rT   r[   rH   rI   r   rK   rK   z   s<   „ ñó
ðà(ðð "ðð !ð	ð
 
óó +rI   rK   c               #  ó6  ‡K  — t         j                  j                  «       Št        «       5 } ‰–— ddd«       t         j                  j	                  ‰«       ˆfd„t         j                  D «       }t        |«        j                  «        y# 1 sw Y   Œ]xY w­w)z 
    Context in which imported modules are saved.

    Translates exceptions internal to the context into the equivalent exception
    outside the context.
    Nc              3  óL   •K  — | ]  }|‰vr|j                  d «      s|–— Œ y­w)z
encodings.N©Ú
startswith)Ú.0Úmod_namer$   s     €r   ú	<genexpr>zsave_modules.<locals>.<genexpr>«   s/   øè ø€ ò àØ˜5Ñ à×#Ñ# LÔ1ô	 	ñùs   ƒ!$)r!   ÚmodulesÚcopyrK   ÚupdateÚ_clear_modulesr[   )Ú	saved_excÚdel_modulesr$   s     @r   Úsave_modulesrn   �   sy   øè ø€ ô �K‰K×ÑÓ€EÜ	Ó	ð ˜YØŠ÷ô ‡K�K×Ñ�uÔóäŸ™ô€Kô �;Ôà×ÑÕ÷ð üs   ƒ)B¬B±ABÂBÂBc                óF   — t        | «      D ]  }t        j                  |= Œ y r    )Úlistr!   rh   )Úmodule_namesrf   s     r   rk   rk   ·   s"   € Ü˜Ó&ò "ˆÜ�K‰K˜Ñ!ñ"rI   c               #  óœ   K  — t        j                  «       } 	 | –— t        j                  | «       y # t        j                  | «       w xY w­wr    )Úpkg_resourcesÚ__getstate__Ú__setstate__r(   s    r   Úsave_pkg_resources_staterv   ¼   s:   è ø€ ä×&Ñ&Ó(€Eð*ØŠä×"Ñ" 5Õ)øŒ×"Ñ" 5Õ)üs   ‚A˜2 œA²A	Á	Ac              #  óö  K  — t         j                  j                  | d«      }t        «       5  t	        «       5  t        «       5  t        «        t        «       5  t        |«      5  t        | «      5  t        d«       d –— d d d «       d d d «       d d d «       d d d «       d d d «       d d d «       y # 1 sw Y   Œ2xY w# 1 sw Y   Œ6xY w# 1 sw Y   Œ:xY w# 1 sw Y   Œ>xY w# 1 sw Y   ŒBxY w# 1 sw Y   y xY w­w)NÚtempÚ
setuptools)r,   r'   Újoinrv   rn   r)   Úhide_setuptoolsr%   r1   r6   Ú
__import__)Ú	setup_dirÚtemp_dirs     r   Úsetup_contextr   Å   sÒ   è ø€ ä�w‰w�|‰|˜I vÓ.€HÜ	!Ó	#ñ 	"Ü‹^ñ 	"Ü“ñ "ÜÔ!Ü“[ñ "Ü& xÓ0ñ "Ü" 9Ó-ñ "ä& |Ô4Û!÷"÷"÷"÷"÷	"÷	"ð 	"÷"ð "ú÷"ð "ú÷"ð "ú÷"ð "ú÷	"ð 	"ú÷	"ð 	"üs“   ‚+C9­C-¸C!ÁCÁC		Á$B=Á0B1Â B=ÂC		ÂCÂC!Â C-Â(	C9Â1B:Â6B=Â=CÃC		Ã	CÃCÃCÃC!Ã!C*	Ã&C-Ã-C6Ã2C9>   ÚCythonÚ	distutilsry   rs   Ú_distutils_hackc                ó<   — | j                  dd«      d   }|t        v S )aH  
    >>> _needs_hiding('setuptools')
    True
    >>> _needs_hiding('pkg_resources')
    True
    >>> _needs_hiding('setuptools_plugin')
    False
    >>> _needs_hiding('setuptools.__init__')
    True
    >>> _needs_hiding('distutils')
    True
    >>> _needs_hiding('os')
    False
    >>> _needs_hiding('Cython')
    True
    ú.é   r   )ÚsplitÚ_MODULES_TO_HIDE)rf   Úbase_modules     r   Ú_needs_hidingr‰   Ý   s%   € ð" —.‘.  aÓ(¨Ñ+€KØÔ*Ð*Ð*rI   c                 óº   — t         j                  j                  dd«      } | �| j                  «        t	        t
        t         j                  «      }t        |«       y)a%  
    Remove references to setuptools' modules from sys.modules to allow the
    invocation to import the most appropriate setuptools. This technique is
    necessary to avoid issues such as #315 where setuptools upgrading itself
    would fail to find a function declared in the metadata.
    r‚   N)r!   rh   ÚgetÚ_remove_shimÚfilterr‰   rk   )r‚   rh   s     r   r{   r{   ò   sC   € ô —k‘k—o‘oÐ&7¸Ó>€OØÐ"Ø×$Ñ$Ô&ä”]¤C§K¡KÓ0€GÜ�7ÕrI   c                ó|  — t         j                  j                  t         j                  j                  | «      «      }t	        |«      5  	 | gt        |«      z   t        j                  dd t        j                  j                  d|«       t        j                  «        t        j                  j                  d„ «       t        |«      5  t        | d¬«      }t        | |«       ddd«       ddd«       y# 1 sw Y   ŒxY w# t         $ r&}|j"                  r|j"                  d   r‚ Y d}~Œ?d}~ww xY w# 1 sw Y   yxY w)z8Run a distutils setup script, sandboxed in its directoryNr   c                ó"   — | j                  «       S r    )Úactivate)Údists    r   ú<lambda>zrun_setup.<locals>.<lambda>
  s   € °d·m±m³o€ rI   Ú__main__)Ú__file__rC   )r,   r'   ÚabspathÚdirnamer   rp   r!   r"   Úinsertr   Ú__init__Ú	callbacksÚappendr   Údictr   Ú
SystemExitÚargs)Úsetup_scriptr�   r}   ÚnsÚvs        r   r   r     sì   € ä—‘—‘¤§¡§¡°Ó =Ó>€IÜ	�yÓ	!ñ ð	Ø'˜.¬4°«:Ñ5ŒC�H‰H‘QˆKÜ�H‰H�O‰O˜A˜yÔ)ä× Ñ Ô"Ü×!Ñ!×(Ñ(Ñ)EÔFä! )Ó,ñ ,Ü <¸*ÔE�Ü˜,¨Ô+÷,÷ð ÷,ð ,ûô ò 	Ø�vŠv˜!Ÿ&™& š)Øÿøð	ú÷ð úsI   ÁD2Á
A?D Ã	C4Ã#D Ã4C=	Ã9D Ä 	D/Ä	D*Ä%D2Ä*D/Ä/D2Ä2D;c                  ó¦  — e Zd ZdZdZdd„Zd„ Zdd„Z	 	 	 	 	 	 dd„Zd„ Z	dd„Z
d	D ]  Z eee«      sŒ e
e«       e«       e<   Œ ddd„Z ede«      ZdD ]  Z eee«      sŒ ee«       e«       e<   Œ dd„ZdD ]  Z eee«      sŒ ee«       e«       e<   Œ dd„ZdD ]  Z eee«      sŒ ee«       e«       e<   Œ d„ Zd„ Zd„ Zd„ Zerdd„Zy
y
)r   zDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFc                óŒ   — t        t        «      D �cg c]!  }|j                  d«      st        | |«      r|‘Œ# c}| _        y c c}w )NÚ_)ÚdirÚ_osrd   ÚhasattrÚ_attrs©rN   Únames     r   r˜   zAbstractSandbox.__init__  s<   € ô œC›ö
àØ—?‘? 3Ô'¬G°D¸$Ô,?ò ò
ˆ�ùò 
s   ’&Ac           	     ó\   — | j                   D ]  }t        t        |t        ||«      «       Œ y r    )r§   Úsetattrr,   Úgetattr)rN   Úsourcer©   s      r   Ú_copyzAbstractSandbox._copy!  s(   € Ø—K‘Kò 	5ˆDÜ”B˜œg f¨dÓ3Õ4ñ	5rI   c                ó^   — | j                  | «       | j                  t        _        d| _        y )NT)r®   Ú_openÚbuiltinsr   Ú_activerM   s    r   rO   zAbstractSandbox.__enter__%  s    € Ø�
‰
�4ÔØŸ
™
ŒŒØˆ�rI   c                óZ   — d| _         t        t        _        | j	                  t
        «       y ©NF)r²   r°   r±   r   r®   r¥   )rN   Úexc_typeÚ	exc_valueÚ	tracebacks       r   rT   zAbstractSandbox.__exit__*  s   € ð ˆŒÜŒŒØ�
‰
”3�rI   c                ó@   — | 5   |«       cddd«       S # 1 sw Y   yxY w)zRun 'func' under os sandboxingNrH   )rN   Úfuncs     r   ÚrunzAbstractSandbox.run4  s   € àñ 	Ù“6÷	÷ 	ò 	ús   ƒ”c                ó6   ‡ ‡— t        t        ‰ «      Šˆ ˆfd„}|S )Nc                ól   •— | j                   r | j                  ‰||g|¢­i |¤Ž\  }} ‰||g|¢­i |¤ŽS r    )r²   Ú_remap_pair)rN   ÚsrcÚdstr�   Úkwr©   Úoriginals        €€r   Úwrapz3AbstractSandbox._mk_dual_path_wrapper.<locals>.wrap<  sE   ø€ Ø�|Š|Ø+˜4×+Ñ+¨D°#°sÐH¸TÒHÀRÑH‘��SÙ˜C Ð2 tÒ2¨rÑ2Ð2rI   ©r¬   r¥   ©r©   rÂ   rÁ   s   ` @r   Ú_mk_dual_path_wrapperz%AbstractSandbox._mk_dual_path_wrapper9  s   ù€ Üœ3 Ó%ˆõ	3ð
 ˆrI   )ÚrenameÚlinkÚsymlinkNc                ó>   ‡ ‡— ‰xs t        t        ‰ «      Šˆ ˆfd„}|S )Nc                ób   •— | j                   r | j                  ‰|g|¢­i |¤Ž} ‰|g|¢­i |¤ŽS r    )r²   Ú_remap_input©rN   r'   r�   rÀ   r©   rÁ   s       €€r   rÂ   z5AbstractSandbox._mk_single_path_wrapper.<locals>.wrapJ  s=   ø€ Ø�|Š|Ø(�t×(Ñ(¨¨tÐA°dÒA¸bÑA�Ù˜DÐ. 4Ò.¨2Ñ.Ð.rI   rÃ   )r©   rÁ   rÂ   s   `` r   Ú_mk_single_path_wrapperz'AbstractSandbox._mk_single_path_wrapperG  s    ù€ ØÒ1œw¤s¨DÓ1ˆõ	/ð
 ˆrI   r   )ÚstatÚlistdirr4   r   ÚchmodÚchownÚmkdirÚremoveÚunlinkÚrmdirÚutimeÚlchownÚchrootÚlstatÚ	startfileÚmkfifoÚmknodÚpathconfÚaccessc                ó6   ‡ ‡— t        t        ‰ «      Šˆ ˆfd„}|S )Nc                óš   •— | j                   r3 | j                  ‰|g|¢­i |¤Ž}| j                  ‰ ‰|g|¢­i |¤Ž«      S  ‰|g|¢­i |¤ŽS r    )r²   rË   Ú_remap_outputrÌ   s       €€r   rÂ   z4AbstractSandbox._mk_single_with_return.<locals>.wrapm  s_   ø€ Ø�|Š|Ø(�t×(Ñ(¨¨tÐA°dÒA¸bÑA�Ø×)Ñ)¨$±¸Ð0KÀÒ0KÈÑ0KÓLÐLÙ˜DÐ. 4Ò.¨2Ñ.Ð.rI   rÃ   rÄ   s   ` @r   Ú_mk_single_with_returnz&AbstractSandbox._mk_single_with_returnj  s   ù€ Üœ3 Ó%ˆõ	/ð ˆrI   )ÚreadlinkÚtempnamc                ó6   ‡ ‡— t        t        ‰ «      Šˆ ˆfd„}|S )Nc                óT   •—  ‰|i |¤Ž}| j                   r| j                  ‰|«      S |S r    )r²   rá   )rN   r�   rÀ   Úretvalr©   rÁ   s       €€r   rÂ   z'AbstractSandbox._mk_query.<locals>.wrap|  s1   ø€ Ù˜tÐ* rÑ*ˆFØ�|Š|Ø×)Ñ)¨$°Ó7Ð7ØˆMrI   rÃ   rÄ   s   ` @r   Ú	_mk_queryzAbstractSandbox._mk_queryy  s   ù€ Üœ3 Ó%ˆõ	ð ˆrI   )r3   Útmpnamc                ó   — |S )z=Called to remap or validate any path, whether input or outputrH   )rN   r'   s     r   Ú_validate_pathzAbstractSandbox._validate_pathˆ  s   € àˆrI   c                ó$   — | j                  |«      S ©zCalled for path inputs©rë   ©rN   Ú	operationr'   r�   rÀ   s        r   rË   zAbstractSandbox._remap_inputŒ  ó   € à×"Ñ" 4Ó(Ð(rI   c                ó$   — | j                  |«      S )zCalled for path outputsrî   )rN   rð   r'   s      r   rá   zAbstractSandbox._remap_output�  rñ   rI   c                ój   —  | j                   |dz   |g|¢­i |¤Ž | j                   |dz   |g|¢­i |¤ŽfS )ú?Called for path pairs like rename, link, and symlink operationsz-fromz-to)rË   ©rN   rð   r¾   r¿   r�   rÀ   s         r   r½   zAbstractSandbox._remap_pair”  sP   € ð ˆD×Ñ˜i¨'Ñ1°3ÐD¸ÒDÀÑDØˆD×Ñ˜i¨%Ñ/°ÐB°tÒB¸rÑBð
ð 	
rI   c                 ó   — y r    rH   r¨   s     r   Ú__getattribute__z AbstractSandbox.__getattribute__ž  s   � rI   ©r\   ÚNone)rµ   r]   r¶   r^   r·   r_   )r©   Ústrr    )r©   rú   r\   r   )rC   rD   rE   rF   r²   r˜   r®   rO   rT   rº   rÅ   Ú_AbstractSandbox__namer¦   r¥   r   rÍ   r°   râ   rè   rë   rË   rá   r½   r   r÷   rH   rI   r   r   r     s6  „ ÙNà€Gó
ò5óð
à,ðð (ðð (ó	òó
ð 0ò =ˆÙ�3˜ÕÙ4°VÓ<‰F‹H�VÒð=ôñ $ F¨EÓ2€Eðò ?ˆñ* �3˜ÕÙ6°vÓ>‰F‹H�VÒð-?ó0	ð *ò >ˆÙ�3˜ÕÙ5°fÓ=‰F‹H�VÒð>ó	ð 'ò 1ˆÙ�3˜ÕÙ(¨Ó0‰F‹H�VÒð1òò)ò)ò
ñ ô 	:ð rI   r   Údevnullc                  ó–   — e Zd ZU dZej                  g d¢«      Zded<   g Zded<   	 e	fdd„Z
d„ Zdd	„Zdd
„Zd„ Zd„ Zd„ Zd„ Zddd„Zy)r   z<Restrict operations to a single subdirectory - pseudo-chroot)r   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÛ   rÜ   rä   zClassVar[dict[str, None]]Ú	write_opszlist[str | re.Pattern]Ú_exception_patternsc                ó¶  — t         j                  j                  t         j                  j                  |«      «      | _        t         j                  j                  | j                  d«      | _        |D �cg c]>  }t         j                  j                  t         j                  j                  |«      «      ‘Œ@ c}| _        t        j                  | «       y c c}w )NÚ )
r,   r'   ÚnormcaseÚrealpathÚ_sandboxrz   Ú_prefixÚ_exceptionsr   r˜   )rN   ÚsandboxÚ
exceptionsr'   s       r   r˜   zDirectorySandbox.__init__½  sŒ   € ÜŸ™×(Ñ(¬¯©×)9Ñ)9¸'Ó)BÓCˆŒÜ—w‘w—|‘| D§M¡M°2Ó6ˆŒàAKö
Ø9=ŒB�G‰G×ÑœRŸW™W×-Ñ-¨dÓ3Õ4ò
ˆÔô 	× Ñ  Õ&ùò
s   Á5ACc                ó"   — ddl m}  ||||«      ‚)Nr   )r   )r=   r   )rN   rð   r�   rÀ   r   s        r   Ú
_violationzDirectorySandbox._violationÅ  s   € Ý7á˜y¨$°Ó3Ð3rI   c                ó|   — |dvr)| j                  |«      s | j                  d||g|¢­i |¤Ž t        ||g|¢­i |¤ŽS )N)ÚrÚrtr   ÚrUÚUr   )Ú_okr
  r°   )rN   r'   r   r�   rÀ   s        r   r°   zDirectorySandbox._openÊ  sH   € ØÐ3Ñ3¸D¿H¹HÀT¼NØˆD�O‰O˜F D¨$Ð<°Ò<¸Ò<Ü�T˜4Ð- $Ò-¨"Ñ-Ð-rI   c                ó&   — | j                  d«       y )Nré   )r
  rM   s    r   ré   zDirectorySandbox.tmpnamÏ  s   € Ø�‰˜Õ!rI   c                óH  — | j                   }	 d| _         t        j                  j                  t        j                  j	                  |«      «      }| j                  |«      xs, || j                  k(  xs |j                  | j                  «      	 || _         S # || _         w xY wr´   )	r²   r,   r'   r  r  Ú	_exemptedr  rd   r  )rN   r'   Úactiver  s       r   r  zDirectorySandbox._okÒ  s„   € Ø—‘ˆð		"Ø ˆDŒLÜ—w‘w×'Ñ'¬¯©×(8Ñ(8¸Ó(>Ó?ˆHà—‘˜xÓ(ò 5Ø˜tŸ}™}Ñ,ò5à×&Ñ& t§|¡|Ó4ðð "ˆD�Lø˜6ˆD�Lús   ŽBB Â	B!c                óš   ‡— ˆfd„| j                   D «       }ˆfd„| j                  D «       }t        j                  ||«      }t	        |«      S )Nc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr    rc   )re   Ú	exceptionÚfilepaths     €r   rg   z-DirectorySandbox._exempted.<locals>.<genexpr>à  s!   øè ø€ ò 
Ø/8ˆH×Ñ 	×*ñ
ùs   ƒc              3  óJ   •K  — | ]  }t        j                  |‰«      –— Œ y ­wr    )ÚreÚmatch)re   Úpatternr  s     €r   rg   z-DirectorySandbox._exempted.<locals>.<genexpr>ã  s!   øè ø€ ò 
Ø,3ŒB�H‰H�W˜h×'ñ
ùs   ƒ #)r  rÿ   Ú	itertoolsÚchainÚany)rN   r  Ústart_matchesÚpattern_matchesÚ
candidatess    `   r   r  zDirectorySandbox._exemptedß  sI   ø€ ó
Ø<@×<LÑ<Lô
ˆó
Ø7;×7OÑ7Oô
ˆô —_‘_ ]°OÓDˆ
Ü�:‹ÐrI   c                ó¬   — || j                   v rE| j                  |«      s4 | j                  |t        j                  j                  |«      g|¢­i |¤Ž |S rí   )rþ   r  r
  r,   r'   r  rï   s        r   rË   zDirectorySandbox._remap_inputé  sF   € à˜Ÿ™Ñ&¨t¯x©x¸¬~ØˆD�O‰O˜I¤r§w¡w×'7Ñ'7¸Ó'=ÐKÀÒKÈÒKØˆrI   c                ó~   — | j                  |«      r| j                  |«      s | j                  |||g|¢­i |¤Ž ||fS )rô   )r  r
  rõ   s         r   r½   zDirectorySandbox._remap_pairï  s=   € à�x‰x˜Œ} D§H¡H¨S¤MØˆD�O‰O˜I s¨CÐ=°$Ò=¸"Ò=Ø�SˆzÐrI   c                óž   — |t         z  r*| j                  |«      s | j                  d|||g|¢­i |¤Ž t        j                  |||g|¢­i |¤ŽS )zCalled for low-level os.open()zos.open)ÚWRITE_FLAGSr  r
  r¥   r   )rN   ÚfileÚflagsr   r�   rÀ   s         r   r   zDirectorySandbox.openõ  sO   € à”;Ò t§x¡x°¤~ØˆD�O‰O˜I t¨U°DÐF¸4ÒFÀ2ÒFÜ�x‰x˜˜e TÐ7¨DÒ7°BÑ7Ð7rI   Nrø   )r  )iÿ  )r   Úintr\   r)  )rC   rD   rE   rF   r›   Úfromkeysrþ   Ú__annotations__rÿ   Ú_EXCEPTIONSr˜   r
  r°   ré   r  r  rË   r½   r   rH   rI   r   r   r   §  sa   … ÙFà+/¯=©=ò :ó ,€IÐ(ó ð  35ÐÐ/Ó4Ø4à+6ô 'ò4ó
.ó
"ò"òòòõ8rI   r   z4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc                  óX   — e Zd ZdZ ej
                  d«      j                  «       Zdd„Zy)r   zEA setup script attempted to modify the filesystem outside the sandboxa  
        SandboxViolation: {cmd}{args!r} {kwargs}

        The package setup script has attempted to modify files on your system
        that are not within the EasyInstall build area, and has been aborted.

        This package cannot be safely installed by EasyInstall, and may not
        support alternate installation locations even if you run its setup
        script by hand.  Please inform the package's author and the EasyInstall
        maintainers to find out if a fix or workaround is available.
        c                ój   — | j                   \  }}} | j                  j                  di t        «       ¤ŽS )NrH   )r�   ÚtmplÚformatr   )rN   Úcmdr�   Úkwargss       r   Ú__str__zSandboxViolation.__str__  s.   € Ø ŸI™IÑˆˆT�6Øˆt�y‰y×ÑÑ+¤&£(Ñ+Ð+rI   N)r\   rú   )	rC   rD   rE   rF   ÚtextwrapÚdedentÚlstripr/  r3  rH   rI   r   r   r     s+   „ ÙOàˆ8�?‰?ð
	ó÷ �fƒhð 	ô,rI   r   r    )AÚ
__future__r   r±   Ú
contextlibÚ	functoolsr  Úoperatorr,   r:   r  r!   r.   r4  Útypesr   Útypingr   r   r   rs   r   Údistutils.errorsr	   r¥   Úplatformrd   Ú$org.python.modules.posix.PosixModuleÚpythonrh   ÚposixÚPosixModuler©   r   r°   Útyping_extensionsr   Ú__all__r   Úcontextmanagerr%   r)   r1   r6   r<   r8   rK   rn   rk   rv   r   r‡   r‰   r{   r   r   r¦   rü   r,  r   ÚreduceÚor_r†   r¬   r&  r   )Úas   0r   ú<module>rI     sü  ðÝ "ã Û Û Û Û Û 	Û Û 	Û 
Û Û Ý ß /Ñ /ã Ý %å +áÜØ‡\�\×Ñ˜VÔ$ß6×6à
�+‰+�b—g‘gÑ
€CØ€ñ Ý&ò€ó
 ð ×Ñòó ðð ×Ññó ðð ×Ññ!ó ð!ð  ×Ññó ðô1˜Iô 1÷( +ñ  +ðF ×Ññó ðò2"ð
 ×Ññ*ó ð*ð ×Ññ"ó ð"òÐ ò+ò*ò÷(I:ñ I:ñX ˆ2ˆyÔØ—:‘:�,�Kà€KôR8�ô R8ðj ˆi×ÑØ‡L�Lð H×MÑMÓOöàñ 	��Q˜Õòó€ô,�~õ ,ùòs   Æ+G
