
    6h                       S SK Jr  S SKrS SKrS SKrS SKJr  SSKJr  \R                  (       a  S SKJ	r	Jr  S r
\
" 5       (       a;  \" \SS5      S	:w  a-  \R                  R                  \R                  5      r\rSS
 jrOd\R                  R                  \R                  R                  \R$                  " \5      5      5      r\R                  R                  \5      rSS jr S SKJr  \" \S5      (       a  \R.                    O\R0                    \" \SS5      S;   a  \e SSKJr  SS jrSS jrSS jrg! \\4 a    SS jrSS jrSS jr gf = f)    )annotationsN)Iterator   )pycompat)BinaryIOr   c                     [        [        S5      =(       dO    [        [        S5      =(       d8    [        [        [        R                  R	                  S5      SS5      SS5      S:H  $ )zreturn True if we are a frozen executable.

The code supports py2exe (most common, Windows only) and tools/freeze
(portable, not much used).
frozen	importers__main____spec__Norigin)hasattrsysgetattrmodulesget     >/usr/lib/python3/dist-packages/mercurial/utils/resourceutil.py
mainfrozenr      sX     	X 	3$	CKKOOJ/TB

 	r   r	   
macosx_appc                    U R                  S5      nUS   S:X  d   e[        R                  R                  " [        /USS  Q76 $ )N   .r   s	   mercurial   )splitospathjoin	_rootpath)packagedirss     r   _package_pathr"   9   s@    }}T"Aw,&&&ww||I1QR11r   c                j    [         R                  R                  " [        /U R	                  S5      Q76 $ )Nr   )r   r   r   r   r   )r    s    r   r"   r"   B   s#    ww||I<d(;<<r   )	resourcesfiles)console_exewindows_exe)encodingc                b   [        [        S5      (       a\  [        R                  " [        R                  " U 5      5      R                  [        R                  " U5      5      R                  S5      $ [        R                  " [        R                  " U 5      [        R                  " U5      5      $ )Nr%   rb)r   r$   r%   r   sysstrjoinpathopenopen_binaryr    names     r   open_resourcer1   n   sv    9g&&OOG, (//$/0d ((((//$*? r   c                `   [        [        S5      (       a[  [        R                  " [        R                  " U 5      5      R                  [        R                  " U5      5      R                  5       $ [        R                  " [        R                  " U 5      [        R                  " U5      5      $ Nr%   )
r   r$   r%   r   r+   r,   r(   strfromlocalis_fileis_resourcer/   s     r   r6   r6   |   ss    9g&& 89(//56 ((((*?*?*E r   c              #    #    [        [        S5      (       ay  [        R                  " [        R                  " U 5      5      R                  5        H<  nUR                  5       (       d  M  [        R                  " UR                  5      v   M>     g [        R                  " [        R                  " U 5      5       H  n[        R                  " U5      v   M     g 7fr3   )r   r$   r%   r   r+   iterdirr5   r(   
strtolocalr0   contents)r    r   rs      r   r:   r:      s     9g&&!(@AIIK<<>>"--dii88 L
 ''(@A))!,, Bs   A$C*A1Cc                l    [         R                  R                  [        U 5      U5      n[	        US5      $ )Nr*   )r   r   r   r"   r-   r    r0   r   s      r   r1   r1   Y   s(    ww||M'2D9D$r   c                    [         R                  R                  [        U 5      U5      n [         R                  R	                  [
        R                  " U5      5      $ ! [         a     gf = f)NF)r   r   r   r"   isfiler   fsdecodeOSErrorr=   s      r   r6   r6   ]   sP    ww||M'2D9	77>>("3"3D"9:: 		s   2A 
A+*A+c              #     #    [         R                  " [        U 5      5      n[        R                  " U5       H  n[         R
                  " U5      v   M     g 7f)N)r   r@   r"   r   listdirfsencode)r    r   ps      r   r:   r:   e   s>       w!78D!A##A&& "s   AA)r    bytesreturnrF   )r    rF   r0   rF   rG   r   )r    rF   r0   rF   rG   bool)r    rF   rG   zIterator[bytes])
__future__r   r   r   typingr    r   TYPE_CHECKINGr   r   r   r   dirnamesysexecutabledatapathr   r"   rD   __file__	importlibr$   r   r%   r.   ImportErrorr(   r1   r6   r:   AttributeErrorr   r   r   <module>rT      s0   # 	 
    
& <<GC40L@wwx556HI2 wwrwwx/@/@/JKLH)I=K- $ y'"" sHd#'EE F4 
	-g 	^$ ' '!'s   '=D; ;EE