ó
    F±‰j 6  ã                   ó
  • S SK rS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  SSK
JrJr  SSKJr  SSKJr   S SKrS	 rS
 rS\4S jr\	S 5       rS rS rSS jrS rS rS rSS jr\S:X  a  \" 5         gg! \ a    Sr NGf = f)é    N)Údefaultdict)Úcontextmanageré   )Ú	cythonizeÚextended_iglobé   )Úis_package_dir)ÚOptionsc                 óâ   • [         R                  R                  U 5      u  p[        U5      (       a<  [         R                  R                  U5      u  pU< SU< 3n[        U5      (       a  M<  X4$ )NÚ/)ÚosÚpathÚsplitr	   )r   Úbase_dirÚpackage_pathÚparents       Ú¤C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\Cython/Build/Cythonize.pyÚfind_package_baser      sY   € ÜŸW™WŸ]™]¨4Ó0Ñ€HÜ
˜×
"Ñ
"ÜŸ7™7Ÿ=™=¨Ó2ÑˆÛ"(ª,Ð7ˆô ˜×
"Ó
"ð Ð!Ð!ó    c                 óÎ   • [        [        R                  R                  [	        U 5      5      n[        X!5      n[        [        UR                  5       5      UR                  5        g ©N)
Úmapr   r   Úabspathr   Ú_cython_compile_filesÚ_buildÚlistÚitemsÚparallel)Úpath_patternÚoptionsÚ	all_pathsÚext_modules_by_basedirs       r   Úcython_compiler#      sE   € Ü”B—G‘G—O‘O¤^°LÓ%AÓB€IÜ2°9ÓFÐÜ
Œ4Ð&×,Ñ,Ó.Ó/°×1AÑ1AÕBr   Úreturnc                 óx  • [        [        5      nU  GHš  nUR                  (       aŽ  Un[        R                  R                  U5      (       a  [        U5      (       aW  [        R                  R                  U5      n[        R                  R                  U5      (       d  ME  [        U5      (       a  MW  OS n[        R                  R                  U5      (       a#  [        R                  R                  USS5      /nOU/n[        U4UR                  UR                  UR                  UR                  UR                  UR                  UR                   UR"                  UR$                  S.	UR&                  D6nU(       d  GMs  UR(                  (       d  GM‡  X$   R+                  U5        GM�     [-        U5      $ )Nz**z
*.{py,pyx})	ÚnthreadsÚexclude_failuresÚexcludeÚcompiler_directivesÚcompile_time_envÚforceÚquietÚdepfileÚlanguage)r   r   Úbuild_inplacer   r   Úisdirr	   ÚdirnameÚjoinr   r   Ú
keep_goingÚexcludesÚ
directivesr*   r+   r,   r-   r.   r    ÚbuildÚextendÚdict)r!   r    Úext_modules_to_buildr   r   ÚpathsÚext_moduless          r   r   r   !   sI  € Ü&¤tÓ,ÐäˆØ× × ØˆHÜ—g‘g—m‘m H×-Ñ-´À×1IÑ1IÜŸ7™7Ÿ?™?¨8Ó4�ô —g‘g—m‘m H×-Ó-´À×1IÓ1Iøð ˆHä�7‰7�=‰=˜×Ñä—W‘W—\‘\ $¨¨lÓ;Ð<‰Eð �FˆEäØðà×%Ñ%Ø$×/Ñ/Ø×$Ñ$Ø '× 2Ñ 2Ø$×5Ñ5Ø—-‘-Ø—-‘-Ø—O‘OØ×%Ñ%ñð �o‰oñˆ÷ ‰;˜7Ÿ=Ÿ=š=Ø Ñ*×1Ñ1°+×>ñ; ô> Ð$Ó%Ð%r   c              #   ó¬   #   • U  n Uv •   S S S 5        g ! [          a!    UR                  5         UR                  SS9  e f = f! , (       d  f       g = f7f)NT)Úcancel_futures)ÚKeyboardInterruptÚterminate_workersÚshutdown)Úpool_cmÚ	proc_pools     r   Ú_interruptible_poolrC   F   sS   é € á	�Ið	Ø‹O÷ 
ˆøô !ó 	Ø×'Ñ'Ô)Ø×Ñ¨dÐÑ3Øð	ú÷ 
�üs*   ‚A…A‡Œ	A•+A Á AÁ
AÁAc                 ó  • [        S U  5       5      nU(       d  g US:H  =(       d    US L=(       a    US:  n U(       a  S O[        R                  R                  US9nU(       a  U  H  n[        U5        M     g [        W5       nU  VVVs/ s H'  u  pxU  H  nUR                  [        Xu/45      PM     M)     n	nnn[        R                  R                  U	[        R                  R                  S9  / n
U	 H  n UR                  5         M     U
(       aŽ  SnUSR                  S	/[        [         U
5      Q75      -  nUS
-  nU
 Vs/ s H  n[#        U[$        5      (       d  M  UPM     nn[&        R(                  S S S:¼  a  U(       a  [+        Xß5      e[-        U5      U
S   e S S S 5        g ! [        [
        4 a    Sn GNff = fs  snnnf ! [         a  nU
R                  U5         S nAMø  S nAff = fs  snf ! , (       d  f       g = f)Nc              3   ó<   #   • U  H  u  p[        U5      v •  M     g 7fr   )Úlen)Ú.0Ú_Úmoduless      r   Ú	<genexpr>Ú_build.<locals>.<genexpr>R   s   é € Ð>²+¡J A”3�w—<�<²+ùs   ‚r   r   )Úmax_workersT)Úreturn_whenz4Compiling Cython modules failed with these errors:

z
	* Ú z

)é   é   r   )ÚsumÚ
concurrentÚfuturesÚProcessPoolExecutorÚOSErrorÚImportErrorÚrun_distutilsrC   ÚsubmitÚwaitÚFIRST_EXCEPTIONÚresultÚBaseExceptionÚappendr2   r   ÚstrÚ
isinstanceÚ	ExceptionÚsysÚversion_infoÚExceptionGroupÚRuntimeError)r;   r   ÚmodcountÚserial_execution_moderA   ÚextrB   r   rI   Úcompiler_tasksÚworker_exceptionsÚtaskÚproc_errÚexc_msgÚexcÚnon_base_exceptionss                   r   r   r   Q   s  € ÜÑ>±+Ó>Ó>€HÞØà$¨™M÷ /Ø˜Ð×- ¨A¡ð ð%æ)‰DÜ×#Ñ#×7Ñ7ÀHÐ7ÐMð 	ö ÛˆCÜ˜#Öñ àä	˜WÔ	%¨ñ &1õ
â%0Ñ!�Ü�ð ×Ñœ]¨X°uÐ,=Ö>áñ ?Ù%0ð 	ò 
ô 	×Ñ×Ñ ¼J×<NÑ<N×<^Ñ<^ÐÑ_àÐÛ"ˆDð3Ø—‘–ñ #ö ØNˆGØ�x—}‘} bÐ%G¬3¬sÐ4EÓ+FÑ%GÓHÑHˆGØ�vÑˆGñ  1ó#Ú0˜Ü˜c¤9×-÷ Ñ0ð  ð #ô ×Ñ  Ð# wÓ.Ö3FÜ$ WÓBÐBä" 7Ó+Ð1BÀ1Ñ1EÐEð ÷! 
&Ð	%øô ”[Ð!ó %ð !%Óð%üô
øô !ó 3Ø!×(Ñ(¨×2Ò2ûð3üò#÷+ 
&Õ	%úsl   ¸&F/ ÂG=Â.G
Â:AG=Ã<GÄ<G=ÅG8Å%G8Å+:G=Æ/GÇGÇG=Ç
G5ÇG0Ç*G=Ç0G5Ç5G=Ç=
Hc                 óØ  •  SSK Jn  U u  p#SS/n[        R
                  " 5       nS n U(       a=  [        R                  " U5        [        R                  " US9nUR                  SU/5        U" SUUS	9  U(       aZ  [        R                  " U5        U(       a<  [        R                  R                  U5      (       a  [        R                  " U5        g g g g ! [         a#     SSKJn   Ná! [         a    [        S5      ef = ff = f! U(       aZ  [        R                  " U5        U(       a<  [        R                  R                  U5      (       a  [        R                  " U5        f f f f = f)
Nr   )ÚsetupzL'distutils' is not available. Please install 'setuptools' for binary builds.Ú	build_extú-i)Údirz--build-tempzsetup.py)Úscript_nameÚscript_argsr;   )Údistutils.corerp   rV   Ú
setuptoolsr   ÚgetcwdÚchdirÚtempfileÚmkdtempr7   r   r0   ÚshutilÚrmtree)Úargsrp   r   r;   ru   ÚcwdÚtemp_dirs          r   rW   rW   ‡   s+  € ðnÝ(ð !Ñ€HØ Ð%€KÜ
�)Š)‹+€CØ€Hð(ÞÜ�HŠH�XÔÜ×'Ò'¨HÑ5ˆHØ×Ñ °Ð9Ô:ÙØ"Ø#Ø#ò	
ö Ü�HŠH�SŒMÞœBŸG™GŸM™M¨(×3Ñ3Ü—’˜hÕ'ð 4ˆxð øô+ ó nð	nß(øÜó 	nÜÐlÓmÐmð	núðnûö* Ü�HŠH�SŒMÞœBŸG™GŸM™M¨(×3Ñ3Ü—’˜hÕ'ð 4ˆxð ús*   ‚C ¨AD Ã
DÃ!C)Ã)C?Ã?DÄA#E)c                 óÌ  ^• SSK Jn  U" XX#SS9u  pVSSSSS	.n[        UR                  5       5       VV	s/ s H  u  p‰X˜4PM
     sn	nmU4S
 jn
UR	                  5         [        U5      S-  S:X  d   eUS   U[        U5      S-     US   pÜn[        U S[        U5       SU
" U5       SU
" U5       S35        XÛS-  :”  a  [        SU
" U5       SU
" U5       S35        g g s  sn	nf )Nr   )Úcymeité	   )Úrepeatg•Ö&è.>g�íµ ÷Æ°>gü©ñÒMbP?g      ð?)ÚnsecÚusecÚmsecÚsecc                 óR   >• T H  u  pX:¼  d  M    O   [        S5      eX-  S SU 3$ )Nz"Timing is below nanoseconds: {t:f}z.3fÚ )rd   )ÚtÚscaleÚunitÚscaless      €r   Úformat_timeÚbenchmark.<locals>.format_time®   s;   ø€ Û!‰KˆEØ�zÙñ "ô ÐCÓDÐDØ‘)˜SÐ!  4 &Ð)Ð)r   r   r   éÿÿÿÿz loops, best of z: z per loop (median: Ú)é   z3The timings are likely unreliable. The worst time (z6) was more than four times slower than the best time (z).)ÚCython.Build.Inliner‚   Úreversedr   ÚsortrF   Úprint)ÚcodeÚ
setup_codeÚimport_moduler5   r‚   ÚtimingsÚnumberÚunitsr�   rŒ   r�   ÚfastestÚmedianÚslowestrŽ   s                 @r   Ú	benchmarkr¡   ¥   s  ø€ Ý*á˜T¨}ÐQRÑS�O€Gð  4°¸cÑB€EÜ/7¸¿¹»Ô/FÔGÒ/F¡ ˆu‹mÑ/FÒG€Fõ*ð ‡L�L„NÜˆw‹<˜!Ñ˜qÓ Ð Ð Ø& q™z¨7´3°w³<À1Ñ3DÑ+EÀwÈrÁ{�W€Gä	ˆVˆHÐ$¤S¨£\ N°"±[ÀÓ5IÐ4JÐJ]Ñ^iÐjpÓ^qÐ]rÐrsÐ
tÔuà˜1‘ÓÜðÙ*¨7Ó3Ð4ð 5*Ù*5°gÓ*>Ð)?¸rðCõ	Dð ùó! Hs   µC c                  óÔ  • SSK Jn Jn  SSKJnJnJn  U " USS9nUR                  SSS	S
0 [        USS9  UR                  SSS	S0 [        USS9  UR                  SSSS0 [        USS9  UR                  SSSSS SS9  UR                  SSSSSS9  UR                  SSSSS S9  UR                  S!S"S#SS$S S%S9  UR                  S&S'SS(S)S*S+9  UR                  S,SS-S)S.S+9  UR                  S/S0S1S2S3/ S4S59  UR                  S6S7S8S9S S:S;9  UR                  S<S=S>S9S S?S;9  UR                  S@SASB[        S SCSD9  UR                  SESFSB[        S SGSD9  UR                  SHSISJSK[        S SLSD9  UR                  SMSNSOS9S SPS;9  UR                  SQSRSSS9S STS;9  UR                  SUSVS9S SWS;9  UR                  SXSYSZS9S S[S;9  UR                  S\S]S9S S^S;9  UR                  S_S`S9SaSb9  UR                  ScSdSe9  U$ )fNr   )ÚArgumentParserÚRawDescriptionHelpFormatterr   )ÚParseDirectivesActionÚParseOptionsActionÚParseCompileTimeEnvActiona¤  Environment variables:
  CYTHON_FORCE_REGEN: if set to 1, forces cythonize to regenerate the output files regardless
        of modification times and changes.
  CYTHON_CACHE_DIR: the base directory containing Cython's caches.
  Environment variables accepted by setuptools are supported to configure the C compiler and build:
  https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#compiler-and-linker-options)Úformatter_classÚepilogz-Xz--directivezNAME=VALUE,...r5   zset a compiler directive)ÚmetavarÚdestÚdefaultÚtypeÚactionÚhelpz-Ez--compile-time-envr*   z'set a compile time environment variablez-sz--optionz
NAME=VALUEr    zset a cythonize optionz-2Úlanguage_levelÚstore_constz#use Python 2 syntax mode by default)r«   r®   Úconstr¬   r¯   z-3rO   z#use Python 3 syntax mode by default)r«   r®   r²   r¯   z--3strz=use Python 3 syntax mode by default (deprecated alias for -3)z-+z--cplusr.   zc++zCompile as C++ rather than Cz-az
--annotater¬   Úannotatez/Produce a colorized HTML version of the source.)r®   r²   r«   r¯   z--annotate-fullcÚfullczZProduce a colorized HTML version of the source which includes entire generated C/C++-code.z-xz	--excludeÚPATTERNr4   r]   z2exclude certain file patterns from the compilation)rª   r«   r®   r¬   r¯   z-bz--buildr6   Ú
store_truez2build extension modules using distutils/setuptools)r«   r®   r¬   r¯   rr   z	--inplacer/   zHbuild extension modules in place using distutils/setuptools (implies -b)z--timeitr¡   Ú
CODESTRINGzabuild in place, then compile+run CODESTRING as benchmark in first module's namespace (implies -i))r«   rª   r­   r¬   r¯   z--setupÚbenchmark_setupz6use CODESTRING as pre-benchmark setup code for --benchz-jz
--parallelr   ÚNz2run builds in N parallel jobs (default: CPU count)z-fz--forcer+   zforce recompilationz-qz--quietr,   z"be less verbose during compilationz	--lenientÚlenientzBincrease Python compatibility by ignoring some compile time errorsz-kz--keep-goingr3   z8compile as much as possible, ignore compilation failuresz--no-docstringsÚno_docstringszstrip docstringsz-Mz	--depfilez produce depfiles for the sources)r®   r¯   ÚsourcesÚ*)Únargs)
Úargparser£   r¤   ÚCompiler.CmdLiner¥   r¦   r§   Úadd_argumentr^   Úint)r£   r¤   r¥   r¦   r§   Úparsers         r   Úcreate_args_parserrÄ   Ã   s   € ßDßgÑgáØ3ðañ	€Fð ×Ñ˜˜mÐ5EØ'°¼#Ø2Ø5ð ñ 7ð ×Ñ˜Ð2Ð<LØ-°rÄØ6ØDð ñ Fð ×Ñ˜˜j°,Ø$¨b´sØ/Ø3ð ñ 5ð ×Ñ˜Ð#3¸MÐQRÐ\`Ø@ð ñ Bà
×Ñ˜Ð#3¸MÐQRØ@ð ñ Bà
×Ñ˜Ð'7ÀÐUVØZð ñ \à
×Ñ˜˜i¨jÀÐV[ÐeiØ;ð ñ =à
×Ñ˜˜l°=È	ÐXbØLð ñ Nà
×ÑÐ*°=ÈÐV`ðIð ñ Jð ×Ñ˜˜k°9À:Ø%¨rØOð ñ Qð ×Ñ˜˜i¨g¸lÐTXØOð ñ Qà
×Ñ˜˜k°ÈÐ^bØeð ñ gð ×Ñ˜
¨¸lÔQTÐ^bØ~ð ñ @à
×Ñ˜	Ð(9À<ÔVYÐcgØSð ñ Uð ×Ñ˜˜l°ÀSÜ¨ØOð ñ Qð ×Ñ˜˜i¨g¸lÐTXØ0ð ñ 2à
×Ñ˜˜i¨g¸lÐTXØ?ð ñ Að ×Ñ˜¨)¸LÐRVØ_ð ñ aà
×Ñ˜˜n°<ÈÐ^bØUð ñ Wà
×ÑÐ)°ÈÐ^bØ-ð ñ /à
×Ñ˜˜k°,ÐEgÐÑhØ
×Ñ˜	¨ÐÑ-Ø€Mr   c                 óÖ   • U R                  U5      u  p#UR                  nU H@  nUR                  S5      (       a  U R                  SU-   5        M/  UR	                  U5        MB     U?X$4$ )NÚ-zunknown option )Úparse_known_argsr¼   Ú
startswithÚerrorr]   )rÃ   r~   r    Úunknownr¼   Úoptions         r   Úparse_args_rawrÌ     si   € Ø×.Ñ.¨tÓ4Ñ€GØ�o‰o€Gó ˆØ×Ñ˜S×!Ñ!Ø�L‰LÐ*¨6Ñ1Ö2à�N‰N˜6Ö"ñ	 ð
 	ˆØÐÐr   c                 ó&  • [        5       n[        X5      u  p UR                  b  SUl        OU (       d  UR	                  S5        UR                  (       a  SUl        [        c  SUl        UR                  (       a+  UR                  S;   d   eUR                  UR                  S'   UR                  (       a  S[        l        S[        l        UR                  (       a  UR                  [        l        UR                  (       a  S[        l        X 4$ )NTzno source files providedr   )r   rO   Ú3strr°   F)rÄ   rÌ   r¡   r/   rÉ   r6   Úmultiprocessingr   r°   r    rº   r
   Úerror_on_unknown_namesÚerror_on_uninitializedr³   r»   Ú
docstrings)r~   rÃ   r    s      r   Ú
parse_argsrÓ     sÑ   € ÜÓ!€FÜ" 6Ó0�M€Gà×ÑÑ$Ø $ˆÕÞØ�‰Ð/Ô0à××ØˆŒÜÑØˆÔØ××Ø×%Ñ%¨Ó7Ð7Ð7Ø,3×,BÑ,Bˆ�‰Ð(Ñ)à‡‡à).ŒÔ&Ø).ŒÔ&à××Ø"×+Ñ+ŒÔà××Ø"ŒÔàˆ=Ðr   c                 óf  • [        U 5      u  p/ nU H¢  n[        U5       Vs/ s H"  n[        R                  R	                  U5      PM$     nnU(       dO  [        SR                  [        R                  S   U5      [        R                  S9  [        R                  " S5        UR                  U5        M¤     [        X15      nU(       a>  UR                  (       a-  [        [        UR!                  5       5      UR"                  5        UR$                  b˜  S =p‰U(       a(  UR'                  5       u  pŠU
(       a  U
S   R(                  n	Ub   [        R                  R+                  SU5        [%        UR$                  UR,                  U	S9  Ub   [        R                  R/                  U5        g g g s  snf )Nz#{}: No such file or directory: '{}'r   )Úfiler   )rš   )rÓ   r   r   r   r   r—   Úformatra   ÚargvÚstderrÚexitr7   r   r6   r   r   r   r   r¡   ÚpopitemÚnameÚinsertr¸   Úremove)r~   r    r:   r!   r   ÚpÚexpanded_pathr"   r   rš   Úfirst_extensionss              r   Úmainrá   9  sT  € Ü Ó%�N€Gà€IÛˆÜ5CÀDÔ5IÓJÒ5I°œŸ™Ÿ™¨Ö+Ñ5IˆÐJÞÜÐ7×>Ñ>¼s¿x¹xÈ¹{ÈDÓQÔX[×XbÑXbÒcÜ�HŠH�QŒKØ×Ñ˜Ö'ñ ô 3°9ÓFÐæ '§-§-ÜŒtÐ*×0Ñ0Ó2Ó3°W×5EÑ5EÔFà×ÑÑ$Ø#'Ð'ˆÞ!Ø)?×)GÑ)GÓ)IÑ&ˆHÞØ 0°Ñ 3× 8Ñ 8�àÑÜ�H‰H�O‰O˜A˜xÔ(äØ×Ñ˜w×6Ñ6Ø'ò	
ð
 ÑÜ�H‰H�O‰O˜HÕ%ð  ð %ùò Ks   ¢)F.Ú__main__)NNNr   ) Úconcurrent.futuresrR   r   r|   ra   rz   Úcollectionsr   Ú
contextlibr   ÚDependenciesr   r   ÚUtilsr	   ÚCompilerr
   rÏ   rV   r   r#   r8   r   rC   r   rW   r¡   rÄ   rÌ   rÓ   rá   Ú__name__© r   r   Ú<module>rë      s«   ðÛ Û 	Û Û 
Û Ý #Ý %ç 3Ý "Ý ðÛò
"òCð"&°ô "&ðJ ñó ðò3Fòl(ô<Dò<FòRòô> &ðF ˆzÓÙ…Fð øð[
 ó Ø‚Oðús   ¶A7 Á7BÂB