
    gZ                     F   	 d dl Z d dlZd dlZd dlZd dlZd dlZe j        e j        gada	da
dad Zd Zd Zd Zd Zd ZddZd	 Zd
 Zd Zd Zd Zd ZddZddZd Zd Zd Zd Zd Zd Z d Z!d Z"e j#        j$        s
 e"             d Z%e&dk    r e%             dS dS )    Nc                 b    t           j        j        rt          | t           j                   d S d S )Nfile)sysflagsverboseprintstderr)messages    /usr/lib64/python3.11/site.py_tracer   \   s4    
y (gCJ''''''( (    c                      t          j        j        |  }	 t           j                            |          }n# t          $ r Y nw xY w|t           j                            |          fS N)ospathjoinabspathOSErrornormcase)pathsdirs     r   makepathr   a   se    
',
Cgooc""     %%%%s   5 
AAc                     	 t          t          j                                                  D ]} d }	 | j        j        }n3# t          $ r& 	 | j        j        j        }n# t          $ r Y nw xY wY nw xY w|dvrJ	 t          j
                            | j                  | _        n# t          t          t          f$ r Y nw xY w	 t          j
                            | j                  | _        # t          t          t          f$ r Y w xY wd S )N>   _frozen_importlib_frozen_importlib_external)setr   modulesvalues
__loader__
__module__AttributeError__spec__loaderr   r   r   __file__r   	TypeError
__cached__)mloader_modules     r   	abs_pathsr*   j   s6   O##%%&&  	L3MM 	 	 	 !
 1 <!   	
  SSS	44AJJ3 	 	 	D		7??1<88ALL3 	 	 	D	# sW   ?
A/
AA/
A)&A/(A))A/.A/8)B""B<;B< )C**DDc                      	 g } t                      }t          j        D ]B}t          |          \  }}||vr*|                     |           |                    |           C| t          j        d d <   |S r   )r   r   r   r   appendadd)Lknown_pathsr   dircases       r   removeduppathsr1      s{     	A%%Kx % %  }}W+%%HHSMMMOOG$$$CHQQQKr   c                      	 t                      } t          j        D ]Y}	 t          j                            |          r't          |          \  }}|                     |           J# t          $ r Y Vw xY w| S r   )r   r   r   r   existsr   r-   r&   )ditem_itemcases       r   _init_pathinfor8      s~    OA  	w~~d##  &tnn8h 	 	 	H	Hs   AA&&
A32A3c           	      r   	 |t                      }d}nd}t          j                            | |          }	 t          j        |          }n# t
          $ r Y d S w xY wt          |dd          t          j        z  st          |dd          t          j	        z  rt          d|           d S t          d|           	 t          j        t          j        |          d	          }n# t
          $ r Y d S w xY w|5  t          |          D ]\  }}|                    d
          r|                                dk    r5	 |                    d          rt#          |           [|                                }t'          | |          \  }	}
|
|vrSt          j                            |	          r4t*          j                            |	           |                    |
           # t0          $ r t3          d                    |dz   |          t*          j                   dd l} |j        t+          j                     D ]7}|                                D ] }t3          d|z   t*          j                   !8t3          dt*          j                   Y  nw xY wd d d            n# 1 swxY w Y   |rd }|S )NTFst_flagsr   st_file_attributeszSkipping hidden .pth file: zProcessing .pth file: localeencoding# )zimport zimport	z"Error processing line {:d} of {}:
   r   z  z
Remainder of file ignored) r8   r   r   r   lstatr   getattrstat	UF_HIDDENFILE_ATTRIBUTE_HIDDENr   ioTextIOWrapper	open_code	enumerate
startswithstripexecrstripr   r3   r   r,   r-   	Exceptionr	   formatr
   	tracebackformat_exceptionexc_info
splitlines)sitedirnamer/   resetfullnamestfnliner   r0   rQ   records                r   
addpackager^      s=    $&&w||GT**HXh   	Z	#	#dn	4 	)1	-	-0J	J9X99:::
0H00111 R\(33hGGG   	
   || 	 	GAts## zz||r!!??#:;; JJJ{{}}'66W+--"'..2E2E-HOOC(((OOG,,,   ;BB1Q3QQ:' ' ' '    8i8#,..I : :F & 1 1 3 3 : :d4icj99999:3#*EEEE              0  sh   A 
AA(C* *
C87C8=AJ($G''J((A>G'&J('B.JJ(JJ((J,/J,c                    	 t          d|            |t                      }d}nd}t          |           \  } }||vr4t          j                            |            |                    |           	 t          j        |           }n# t          $ r Y d S w xY wd |D             }t          |          D ]}t          | ||           |rd }|S )NzAdding directory: TFc                 f    g | ].}|                     d           |                    d          ,|/S )z.pth.)endswithrK   ).0rV   s     r   
<listcomp>zaddsitedir.<locals>.<listcomp>   sT     D D Ddf%%D.2ooc.B.BDT D D Dr   )r   r8   r   r   r   r,   r-   r   listdirr   sortedr^   )rU   r/   rW   sitedircasenamesrV   s         r   
addsitedirri      s   
+++,,,$&&#G,,G[+%%   $$$
7##   D De D D DEu / /7D+.... s   4B	 	
BBc                  ~   	 t           j        j        rdS t          t          d          r?t          t          d          r*t	          j                    t	          j                    k    rd S t          t          d          r?t          t          d          r*t	          j                    t	          j                    k    rd S dS )NFgetuidgeteuidgetgidgetegidT)	r   r   no_user_sitehasattrr   rl   rk   rn   rm    r   r   check_enableusersiterr      s     y ur8 Y!7!7 :<<29;;&&4r8 Y!7!7 :<<29;;&&44r   c            	         t           j                            dd           } | r| S t          j        dv rd S d }t           j        dk    r-t           j                            d          pd} ||d          S t          j        dk    r9t          j        r- |dd	t          j        d
t          j        d d         z            S  |dd          S )NPYTHONUSERBASE>   wasivxworks
emscriptenc                  b    t           j                            t          j        j        |            S r   )r   r   
expanduserr   )argss    r   joinuserz_getuserbase.<locals>.joinuser  s!    w!!"',"5666r   ntAPPDATA~PythondarwinLibraryz%d.%d   z.local)r   environgetr   platformrV   
_frameworkversion_info)env_baser{   bases      r   _getuserbaser     s    z~~.55H  |888t7 7 7 
w$z~~i((/Cxh'''
|xCNxY#"22A2"668 8 	8 8C"""r   c                     t           j        }t          j        dk    r(t           j                            dd          }|  d| dS t           j        dk    rt           j        r|  dS |  d|d	          d|d
          dS )Nr|   ra   r@   z\Pythonz\site-packagesr   z/lib/python/site-packagesz/lib/pythonr   rA   z/site-packages)r   r   r   rV   winverreplacer   r   )userbaseversion	ver_nodots      r   	_get_pathr   *  s    G	w$J&&sB//	>>I>>>>
|xCN5555JJ71:JJ
JJJJr   c                  <    	 t           t                      a t           S r   )	USER_BASEr   rq   r   r   getuserbaser   7  s      NN	r   c                  d    	 t                      } t          | dant          |           at          S )NF)r   	USER_SITEENABLE_USER_SITEr   )r   s    r   getusersitepackagesr   D  s:     }}H$!(++Ir   c                     	 t          d           t                      }t          r/t          j                            |          rt          ||            | S )NzProcessing user site-packages)r   r   r   r   r   isdirri   )r/   	user_sites     r   addusersitepackagesr   U  sV     *+++#%%I +BGMM)44 +9k***r   c           
      6   	 g }t                      }| t          } | D ]}|r||v r	|                    |           t          j        dk    rt
          j        g}t
          j        dk    r|                    d           |D ]N}t          j        	                    ||dt
          j
        d d         z  d          }|                    |           O|                    |           |                    t          j        	                    |dd                     |S )N/libzpython%d.%dr   zsite-packagesLib)r   PREFIXESr-   r   sepr   
platlibdirr,   r   r   r   )prefixessitepackagesseenprefixlibdirslibdirr   s          r   getsitepackagesr   d  s.    L55D N N 	46S==~&G~&&u%%%! * *w||FF$1C4DRaR4H$H$35 5 ##D))))	* '''VUO L LMMMMr   c                    	 t          d           t          r)dt          j        vrt                              dd           t          |          D ]1}t          j                            |          rt          ||            2| S )NzProcessing global site-packagesRPM_BUILD_ROOTr   z
/usr/local)
r   r   r   r   r   insertr   r   r   ri   )r/   r   rU   s      r   addsitepackagesr     s     ,--- ),BJ>><((("8,, - -7==!! 	-w,,,r   c                      	 t           j        dk    rd} nd} t          j        d|           t          _        t          j        d|           t          _        d S )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   r   _sitebuiltinsQuitterbuiltinsr   r   )eofs    r   setquitr     sL     
v~~"!!)&#66HM!)&#66HMMMr   c                     	 t          j        dt          j                  t          _        t          j        d d         dk    r t          j        dd          t          _        nt          j        dd          t          _        g g }} t          t          dd           }|s>t          t          d          r)t          j
                            t          j                  }|ra|                     d	d
g           |                    t          j
                            |t          j                  |t          j        g           t          j        dd| |          t          _        d S )N	copyright   javacreditsz?Jython is maintained by the Jython developers (www.jython.org).z    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information._stdlib_dirr%   zLICENSE.txtLICENSElicensez'See https://www.python.org/psf/license/)r   _Printerr   r   r   r   r   rC   rp   r   r   dirnamer%   extendr   pardircurdirr   )filesdirsheres      r   setcopyrightr     s2   3&/S]KKH
|BQB6!!(1MO O )1) >T U U b4E 3t,,D ,GB
++ ,wr{++ FmY/000RW\\$	22D")DEEE$-1t Hr   c                  @    t          j                    t          _        d S r   )r   _Helperr   helprq   r   r   	sethelperr     s    !)++HMMMr   c                  &    	 d } | t           _        d S )Nc                  J   dd l } 	 dd ldd l}n# t          $ r Y d S w xY wt	          dd          }|d|v r                    d           n                    d           	                                  n# t          $ r Y nw xY w                                dk    rt          j
                            t          j
                            d          d          	                                n# t          $ r Y nw xY wfd	}|                     |           d S d S )
Nr   __doc__r@   libeditzbind ^I rl_completeztab: completer~   z.python_historyc                  V    	                                  d S # t          $ r Y d S w xY wr   )write_history_filer   )historyreadlines   r   write_historyzCenablerlcompleter.<locals>.register_readline.<locals>.write_history  sF    //88888    DDs    
(()atexitr   rlcompleterImportErrorrC   parse_and_bindread_init_filer   get_current_history_lengthr   r   r   ry   read_history_fileregister)r   r   readline_docr   r   r   s       @@r   register_readlinez,enablerlcompleter.<locals>.register_readline  s   	OOO 	 	 	FF	
 xB77#	\(A(A##$9::::##O444	##%%%% 	 	 	
 D	 ..00A55 gll27#5#5c#:#:#46 6G**73333         OOM*****+ 65s0    
%A: :
BB C6 6
DD)r   __interactivehook__)r   s    r   enablerlcompleterr     s'    .+ .+ .+` 0Cr   c                 d   t           j        }t          j        dk    r#d|v rt           j        d         x}t          _        nt          j        }t           j                            t           j                            |                    \  }}t           j        	                    |          }d t          _
        d}d t           j                            ||          t           j                            ||          fD             }|r+|d         }d}	t          |d          5 }
|
D ]}d	|v r|                    d	          \  }}}|                                                                }|                                }|d
k    r|                                }	t|dk    r|t          _
        	 d d d            n# 1 swxY w Y   |xt          _        t          _        t%          | t          j        g           |	dk    r&t&                              dt          j                   nt          j        gada| S )Nr   __PYVENV_LAUNCHER__z
pyvenv.cfgc                 P    g | ]#}t           j                            |          !|$S rq   )r   r   isfile)rc   conffiles     r   rd   zvenv.<locals>.<listcomp>	  s>     
 
 
 7>>(##

 
 
r   r   truezutf-8r=   =zinclude-system-site-packageshomeF)r   r   r   r   _base_executable
executabler   splitr   r   _homer   open	partitionrL   lowerr   exec_prefixr   r   r   r   )r/   envr   exe_dirr6   site_prefixconf_basenamecandidate_confsvirtual_confsystem_siterZ   r\   keyvalues                 r   venvr     s3    *C
|x$9S$@$@,.J7L,MM
S))^
rwz::;;JGQ'//'**KCI M
 
GLL-00GLLm44"
 
 
O  %&q) ,111 		*Q * *$;;$(NN3$7$7MCE))++++--C!KKMME<<<&+kkmm$)	*		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* (32
S_ 	cj\222 &  OOAsz****
|H$s    B
F77F;>F;c                  \   	 	 	 dd l } d S # t          $ r}|j        dk    rn Y d }~d S d }~ww xY w# t          $ rr}t          j        j        r t	          j        t	          j                      n6t          j	        
                    d|j        j        d|d           Y d }~d S Y d }~d S d }~ww xY w)Nr   sitecustomizez9Error in sitecustomize; set PYTHONVERBOSE for traceback:
: 
)r   r   rV   rO   r   r   r   
excepthookrS   r
   write	__class____name__)r   excerrs      r   execsitecustomizer  1     6/	       	 	 	x?** 	
  / / /9 	/NCLNN+++J '''./ / / / / / / / / ,+++++/)   
 
,'/ ,/ 
B+A!B&&B+c                  \   	 	 	 dd l } d S # t          $ r}|j        dk    rn Y d }~d S d }~ww xY w# t          $ rr}t          j        j        r t	          j        t	          j                      n6t          j	        
                    d|j        j        d|d           Y d }~d S Y d }~d S d }~ww xY w)Nr   usercustomizez9Error in usercustomize; set PYTHONVERBOSE for traceback:
r   r   )r
  r   rV   rO   r   r   r   r   rS   r
   r  r  r  )r
  r  r  s      r   execusercustomizer  E  r  r  c                     	 t           j        d d          } t                      }| t           j        k    rt                       t	          |          }t
          t                      at          |          }t          |          }t                       t                       t                       t           j        j        st                       t                       t
          rt!                       d S d S r   )r   r   r1   r*   r   r   rr   r   r   r   r   r   r   isolatedr   r  r  )	orig_pathr/   s     r   mainr  Y  s     I ""KCH 	{##K/11%k22K!+..KIIINNNKKK9   r   c                  .   d} t           j        dd          }|st                      }t                      }t	          d           t           j        D ]}t	          d|d           t	          d           d }t	          d|d	 ||           d
           t	          d|d	 ||           d
           t	          dt                     t          j        d           g }d|v r|                    t                     d|v r|                    t                     |rt	          t          j                            |                     t          rt          j        d           d S t          du rt          j        d           d S t          t          j        d           d S t          j        d           d S dd l}t	          |                    | t           j        d         t          j        fz                       t          j        d           d S )Na      %s [--user-base] [--user-site]

    Without arguments print some useful information
    With arguments print the value of USER_BASE and/or USER_SITE separated
    by '%s'.

    Exit codes with --user-base or --user-site:
      0 - user site directory is enabled
      1 - user site directory is disabled by user
      2 - user site directory is disabled by super user
          or for security reasons
     >2 - unknown error
    rA   zsys.path = [z    ,]c                 L    | !t           j                            |           rdS dS )Nr3   zdoesn't exist)r   r   r   )r   s    r   r3   z_script.<locals>.exists  s%    BGMM$$7$7x&r   zUSER_BASE: z ()zUSER_SITE: zENABLE_USER_SITE: r   z--user-basez--user-siteFr      
   )r   argvr   r   r	   r   r   r   r,   r   r   r   pathsepr   textwrapdedent)r   rz   	user_baser   r   r3   bufferr  s           r   _scriptr  {  s   D 8ABB<D MM	'))	n8 	& 	&CEsss$%%%%c


	' 	' 	'
 	?I??66)+<+<???@@@?I??66)+<+<???@@@7#377888Fi   i    bjoof%%&&& 	HQKKKKK&&HQKKKKK%HQKKKKKHQKKKKKhoodchqk2:%>>??@@@r   __main__r   )'r   r   r   r   rG   rD   r   r   r   r   r   r   r   r   r*   r1   r8   r^   ri   rr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   no_siter  r  rq   r   r   <module>r      s)  EN 


 				      				  J(  
 		( ( (
& & &  .  &
 
 
4 4 4n   4  @# # #0
K 
K 
K
 
 
  "     B    7 7 7   4, , ,90 90 90v1 1 1h/ / /(/ / /(  > y DFFF4 4 4l zGIIIII r   