+
    lhP              	       
   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht . ROtRR ltRRRRRRRR	R/R
 lltRRRRRRRR	R/R lltRR ltR t]R8X  d'   ]! ]! 4       '       * 4      t]P*                  ! ]4       R# R# )a  Module/script to byte-compile all .py files to .pyc files.

When called as a script with arguments, this compiles the directories
given as arguments recursively; the -l option prevents it from
recursing into directories.

Without arguments, it compiles all modules on sys.path, without
recursing into subdirectories.  (Even though it should do so for
packages -- for now, you'll have to deal with packages separately.)

See module py_compile for details of the actual byte-compilation.
N)partial)Pathc              #     "   V^8  d7   \        V \        P                  4      '       d   \        P                  ! V 4      p V'       g   \	        RP                  V 4      4        \        P                  ! V 4      pVP                  4        V F  pVR8X  d   K  \        P                  P                  W4      p\        P                  P                  V4      '       g   Vx  KV  V^ 8  g   K_  V\        P                  8w  g   Kv  V\        P                  8w  g   K  \        P                  P                  V4      '       g   K  \        P                  P                  V4      '       d   K  \        WQ^,
          VR7       Rj  xL
  K  	  R#   \         d(    T^8  d   \	        RP                  T 4      4       . p EL@i ; i L?5i)   zListing {!r}...zCan't list {!r}__pycache__)	maxlevelsquietN)
isinstanceosPathLikefspathprintformatlistdirOSErrorsortpathjoinisdircurdirpardirislink	_walk_dir)dirr   r   namesnamefullnames   &&&   lib/python3.14/compileall.pyr   r      s/    qyZR[[11iin&&s+,

3
 
JJL= 77<<*ww}}X&&N!m		 1dbii6GggmmH%%bggnnX.F.F ]',. . .   19#**3/0.s[   AF?F?#F 9A,F?*F?F?"F??"F?&F?=F=>
F?.F:6F?9F::F?Fstripdir
prependdirlimit_sl_desthardlink_dupesc
                  RpVe   V
f   Ve   \        R4      hVe   T p
TpRpV^ 8  d   \        R4      hV^8w  d   ^ RIHp  V! 4        ^ RIHp Vf   \        P                  ! 4       p\        WVR7      pRpV^8w  d   Ve   ^ RI	pVP                  4       R8X  d   VP                  R	4      pMRpT;'       g    RpV! VVR
7      ;_uu_ 4       pVP                  \        \        W#WEVVV	V
VVVR7      V^R7      p\        VRR7      pRRR4       V# V F   p\        VW#WEWgV	WVVR7      '       d   K  RpK"  	  V#   \
         d    ^p Li ; i  + '       g   i     T# ; i)a  Byte-compile all modules in the given directory tree.

Arguments (only dir is required):

dir:       the directory to byte-compile
maxlevels: maximum recursion level (default `sys.getrecursionlimit()`)
ddir:      the directory that will be prepended to the path to the
           file as it is compiled into each byte-code file.
force:     if True, force compilation, even if timestamps are up-to-date
quiet:     full output with False or 0, errors only with 1,
           no output with 2
legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
optimize:  int or list of optimization levels or -1 for level of
           the interpreter. Multiple levels leads to multiple compiled
           files each with one optimization level.
workers:   maximum number of parallel workers
invalidation_mode: how the up-to-dateness of the pyc will be checked
stripdir:  part of path to left-strip from source file path
prependdir: path to prepend to beginning of original file path, applied
           after stripdir
limit_sl_dest: ignore symlinks if they are pointing outside of
               the defined path
hardlink_dupes: hardlink duplicated pyc files
NPDestination dir (ddir) cannot be used in combination with stripdir or prependdirz%workers must be greater or equal to 0)_check_system_limits)ProcessPoolExecutor)r   r   Tfork
forkserver)max_workers
mp_context)ddirforcerxr   legacyoptimizeinvalidation_moder   r   r    r!   )	chunksize)default)r   r   r    r!   F)
ValueErrorconcurrent.futures.processr$   concurrent.futuresr%   NotImplementedErrorsysgetrecursionlimitr   multiprocessingget_start_methodget_contextmapr   compile_filemin)r   r   r*   r+   r,   r   r-   r.   workersr/   r   r   r    r!   r%   r$   filessuccessr8   r)   executorresultsfiles   &&&&&&&&&&$$$$         r   compile_dirrD   0   s   8 X1Z5K G I 	I
{@AA!|C	? " ?))+	c)<EG!|+7++-7(44\BJJ//T W,68 8;Cll7<04.0284<=N4<6@9F:H	$J $)-. # 0G '40G8. N Dd2 &2C)1.;/=	? ?
    NO # 	G	 8 8. Ns   D: 9E:E
	E
E	c          
     j   Ve   Vf   V	e   \        R4      hRp\        P                  ! V 4      p Ve   \        P                  ! V4      MRp\        P                  P	                  V 4      pRpVe    \        P                  P                  W4      pVe   V P                  \        P                  P                  4      pVP                  \        P                  P                  4      pVVR\        V4       8w  d#   V^8  d   \        RP                  W4      4       M*\        P                  P
                  ! V\        V4      R !  pV	eD   Vf!   \        P                  P                  W4      pM\        P                  P                  W4      p\        V\        4      '       d   V.p\        \        V4      4      pV'       d   \        V4      ^8  d   \        R4      hVe   VP                  V 4      pV'       d   V# V
eg   \        P                  P!                  V 4      '       dB   \#        V
4      P%                  4       \#        V 4      P%                  4       P&                  9  d   V# / p\        P                  P)                  V 4      '       Ed*   V Fw  pV'       d   V R,           VV&   K  V^ 8  d4   V^8  d   TMRp\*        P,                  P/                  V VR7      pVVV&   KS  \*        P,                  P/                  V 4      pVVV&   Ky  	  VRR VRR ppVR	8X  Ed   V'       g    \        \        P0                  ! V 4      P2                  4      p\4        P6                  ! R
\*        P,                  P8                  ^ VR,          4      pVP;                  4        F:  p\=        VR4      ;_uu_ 4       pVP?                  ^4      pRRR4       VX8w  g   K:   M	  V# V'       g   \        RP                  V 4      4        \C        V4       F  w  ppVV,          p\D        PF                  ! V VVRVVR7      pV^ 8  g   K4  V'       g   K>  VVV^,
          ,          ,          p\H        PJ                  ! VVRR7      '       g   Kv  \        PL                  ! V4       \        PN                  ! VV4       K  	  X^ 8X  d   RpV# V#   + '       g   i     EL; i  \@         d     ELi ; i  \D        PP                   d   pRpT^8  d   Tu Rp?# T'       d   \        RP                  T 4      4       M\        RRR7       \R        PT                  PV                  ;'       g    \R        PX                  ! 4       p TPZ                  P]                  T RR7      P_                  T 4      p!\        T!4        Rp?T# Rp?i\`        \b        \@        3 ds   p"RpT^8  d   Tu Rp"?"# T'       d   \        RP                  T 4      4       M\        RRR7       \        T"Pd                  Pf                  R,           T"4        Rp"?"T# Rp"?"ii ; i)a  Byte-compile one file.

Arguments (only fullname is required):

fullname:  the file to byte-compile
ddir:      if given, the directory name compiled in to the
           byte-code file.
force:     if True, force compilation, even if timestamps are up-to-date
quiet:     full output with False or 0, errors only with 1,
           no output with 2
legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
optimize:  int or list of optimization levels or -1 for level of
           the interpreter. Multiple levels leads to multiple compiled
           files each with one optimization level.
invalidation_mode: how the up-to-dateness of the pyc will be checked
stripdir:  part of path to left-strip from source file path
prependdir: path to prepend to beginning of original file path, applied
           after stripdir
limit_sl_dest: ignore symlinks if they are pointing outside of
               the defined path.
hardlink_dupes: hardlink duplicated pyc files
Nr#   TzKThe stripdir path {!r} is not a valid prefix for source path {!r}; ignoringzXHardlinking of duplicated bytecode makes sense only for more than one optimization levelc )optimizationz.pyz<4sLLl    rbzCompiling {!r}...)r.   r/   F)shallowz*** Error compiling {!r}...z*** )endbackslashreplace)errors:)4r2   r
   r   r   basenamer   splitseplenr   r   r	   intsortedsetsearchr   r   resolveparentsisfile	importlibutilcache_from_sourcestatst_mtimestructpackMAGIC_NUMBERvaluesopenreadr   	enumerate
py_compilecompilefilecmpcmpunlinklinkPyCompileErrorr6   stdoutencodinggetdefaultencodingmsgencodedecodeSyntaxErrorUnicodeError	__class____name__)#r   r*   r+   r,   r   r-   r.   r/   r   r   r    r!   r@   r   dfilefullname_partsstripdir_partsmo
opt_cfiles	opt_leveloptcfileheadtailmtimeexpectchandleactualindexokprevious_cfileerrro   rq   es#   &&&&&&&&$$$$                       r   r<   r<      s   6 X1Z5K G I 	I Gyy"H&.&:ryy"H77H%DET(!4!4^,@S-@AAqy 3396(3MO GGLL.^1D1E"FGE=GGLL6EGGLL3E(C  : c(m$H#h-!+ F G 	G 
~YYx N RWW^^H%=%=&&(X0F0F0H0P0PPNJ	ww~~h!I(03
9%>'0A~)2C&^^==%C > 9E,1Jy)%NN<<XFE,1Jy) " #2YRS	d5= 1 : :;E#[[)..2M2M)*EK,?AF!+!2!2!4!%..'%,\\"%5F /!V+!	 "5  ' )00:;"$(1((;$E9&y1E#++HeUD5>>OQB qy^^)3HUQY4G)H";;uneLLIIe,GGNE: )<@ 7#GN7N[ /..   ,, A:"N7>>xHI&b)::..JJ#2H2H2JggnnX6HnIPPQYZc

 N  w7 5A:"N7>>xHI&b)akk**S0!44 N5s   %BS -R8?S S S 9:S 8S 3S :1S 8S		S SSX23
V'=X2V'AV'AV''X2?X2 
X-
X2X-AX--X2c                    Rp\         P                   F[  pV'       d   V\        P                  8X  d   V '       d   V^8  d   \	        R4       K<  K>  T;'       d    \        VVRVVVVVR7      pK]  	  V# )a  Byte-compile all module on sys.path.

Arguments (all optional):

skip_curdir: if true, skip current directory (default True)
maxlevels:   max recursion level (default 0)
force: as for compile_dir() (default False)
quiet: as for compile_dir() (default 0)
legacy: as for compile_dir() (default False)
optimize: as for compile_dir() (default -1)
invalidation_mode: as for compiler_dir()
TzSkipping current directoryN)r   r-   r.   r/   )r6   r   r
   r   r   rD   )	skip_curdirr   r+   r   r-   r.   r/   r@   r   s	   &&&&&&&  r   compile_pathr     ss     Gxxsbii'[qy23   	 	+!"3	#G  N    c                    ^ RI p V P                  RRR7      pVP                  RR^ RRRR	7       VP                  R
\        RRR7       VP                  RRRRR7       VP                  RRR^ RR7       VP                  RRRRR7       VP                  RRRRRR7       VP                  R R!R"RR#R7       VP                  R$R%R&RR'R7       VP                  R(R)R*RR+R7       VP                  R,R-R.R/R07       VP                  R1R2R3R4R57       VP                  R6R7^\        R8R97       \        P
                   Uu. uF-  pVP                  P                  4       P                  R:R;4      NK/  	  ppVP                  R<\        V4      R=R>7       VP                  R?R@\        RARBRC7       VP                  RDRERFRGR07       VP                  RHRRIRJR7       VP                  4       pVP                  pVP                  '       d%   ^ RIpVP                  VP                  4      Vn        VP                  RK8X  d   RVn        VP                   e   VP                   pMVP"                  pVP$                  f	   RV.Vn        \'        VP$                  4      ^8X  d$   VP(                  '       d   VP+                  RL4       VP,                  e.   VP.                  f   VP0                  e   VP+                  RM4       VP2                  '       ds    VP2                  R;8X  d   \4        P6                  M\9        VP2                  RNRO7      ;_uu_ 4       pV F"  p	VP;                  V	P=                  4       4       K$  	  RRR4       VPF                  '       dC   VPF                  P                  R;R:4      PI                  4       p
\        P
                  V
,          pMRpRp V'       EdJ   V EF@  p\J        PL                  PO                  V4      '       d   \Q        WP,                  VPR                  VP                  VP@                  VPT                  VVP.                  VP0                  VP$                  VP                  VP(                  RR7      '       g   RQpK  K  \W        WVP,                  VPR                  VP                  VP@                  VPT                  VPX                  VVP.                  VP0                  VP$                  VP                  VP(                  RS7      '       d   EK>  RQpEKC  	  V# \[        VPT                  VPR                  VP@                  VRT7      # u upi   + '       g   i     EL; i  \>         d:    TP@                  ^8  d%   \C        RPPE                  TP2                  4      4        RQ# i ; i  \\         d!    TP@                  ^8  d   \C        RU4        RQ# i ; i)WzScript main program.Nz1Utilities to support installing Python libraries.T)descriptioncolorz-lstore_constr   z!don't recurse into subdirectories)actionconstr1   desthelpz-r	recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)typer   r   z-f
store_truer+   z/force rebuild even if timestamps are up to date)r   r   r   z-qcountr   zIoutput only error messages; -qq will suppress the error messages as well.)r   r   r1   r   z-br-   z0use legacy (pre-PEP3147) compiled file locationsz-dDESTDIRr*   zdirectory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)metavarr   r1   r   z-sSTRIPDIRr   zpart of path to left-strip from path to source file - for example buildroot. `-d` and `-s` options cannot be specified together.z-p
PREPENDDIRr   zpath to add as prefix to path to source file - for example / to make it absolute when some part is removed by `-s` option. `-d` and `-p` options cannot be specified together.z-xREGEXPr,   zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-iFILEflistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)r   r   r   compile_destzFILE|DIR*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)r   nargsr   z-jz	--workerszRun compileall concurrently)r1   r   r   _-z--invalidation-modezset .pyc invalidation mode; defaults to "checked-hash" if the SOURCE_DATE_EPOCH environment variable is set, and "timestamp" otherwise.)choicesr   z-oappend
opt_levelszOptimization levels to run compilation with. Default is -1 which uses the optimization level of the Python interpreter itself (see -O).)r   r   r   r   z-eDIRr    z+Ignore symlinks pointing outsite of the DIRz--hardlink-dupesr!   zHardlink duplicated pyc filesrG   zYHardlinking of duplicated bytecode makes sense only for more than one optimization level.z.-d cannot be used in combination with -s or -pzutf-8)ro   zError reading file list {}F)r/   r   r   r.   r    r!   )r>   r/   r   r   r.   r    r!   )r-   r+   r   r/   z
[interrupted])/argparseArgumentParseradd_argumentrT   rg   PycInvalidationModer   lowerreplacerU   
parse_argsr   r,   rerh   r    r   r   r   rS   r!   errorr*   r   r   r   r6   stdinrd   r   stripr   r   r   r   r/   upperr
   r   rZ   r<   r+   r-   rD   r>   r   KeyboardInterrupt)r   parsermodeinvalidation_modesargscompile_destsr   r   flineivl_moder/   r@   r   s                 r   mainr   ;  s   $$G % F ]! $;@  B 3[<  > \N  P
W7A;  < \O  Q
ivt,  .
 j
 $4  6 l, $4  6 hT4H  J f7B  D 
#A  C k1 'D  F '1&D&DF&Dd ))//+33C=&D  F
- &'9 :7  9 XClK  M e/J  L
*<-<  > D%%Mwww**TWW%R!~~!NN	NN	$
4??q T%8%8%8 C 	E yy!T__%@EF zzz	#zz3#))g67 7;<D!((6 7 ))11#s;AAC&::8D G =%77>>$'''iiTWW(,

DKK:K1537??156:6H6H7;7J7JL L #(L 't		'+zz477DJJ'+{{DLL9J0426//04595G5G6:6I6IK K #(+ &, Nt{{$**&*jj2CE EuF`7 7 7  	zzA~299$**EF	R  ::>#$s]   63U>A U  >)U'U  V' D:V' V' ,V' U	U  U   A V$#V$''WW__main__)rD   r<   r   )    )	NNFNr   Fr      N)NFNr   Fr   N)r   r   Fr   Fr   N)__doc__r
   r6   importlib.utilr[   rg   r`   ri   	functoolsr   pathlibr   __all__r   rD   r<   r   r   rw   rT   exit_statusexit r   r   <module>r      s    
 
      
7..R48R  R 04R EJRhS59SFJS  $S 5:SjDXv z$&j/KHH[ r   