ó
    F\hð\  ã                   óî   • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSr	Sr
SrSrSrSrSr0 rS	 r0 rS
 rSS jr " S S5      r " S S5      rS r\S:X  a	   \" 5       rgg! \ a    \" S5         gf = f)z3Find modules used by a script, using introspection.é    Né   é   é   é   é   é   c                 óN   • [         R                  U / 5      R                  U5        g ©N)ÚpackagePathMapÚ
setdefaultÚappend)ÚpackagenameÚpaths     Ú#/usr/lib/python3.13/modulefinder.pyÚAddPackagePathr      s   € Ü×Ñ˜k¨2Ó.×5Ñ5°dÕ;ó    c                 ó   • U[         U '   g r
   )ÚreplacePackageMap)ÚoldnameÚnewnames     r   ÚReplacePackager   )   s   € Ø!(Ô�gÒr   c                 ót  • [         R                  R                  R                  5         [         R                  R                  R	                  X5      nUc  [        SR                  U S9U S9eUR                  [         R                  R                  L a  SSSS[        44$ UR                  [         R                  R                  L a  SSSS[        44$ UR                  nUR                  R                  U 5      (       a)  S[        R                  R!                  U5      SS["        44$ [%        UR                  [         R                  R&                  5      (       a  [(        nOš[%        UR                  [         R                  R*                  [         R                  R,                  45      (       a  [.        nOF[%        UR                  [         R                  R0                  5      (       a  [2        nOSSSS[4        44$ [6        R8                  " U5      n[        R                  R;                  U5      S   nXSUSU44$ )zDAn importlib reimplementation of imp.find_module (for our purposes).NzNo module named {name!r})ÚnameÚ éÿÿÿÿÚrb)Ú	importlibÚ	machineryÚ
PathFinderÚinvalidate_cachesÚ	find_specÚImportErrorÚformatÚloaderÚBuiltinImporterÚ
_C_BUILTINÚFrozenImporterÚ
_PY_FROZENÚoriginÚ
is_packageÚosr   ÚdirnameÚ_PKG_DIRECTORYÚ
isinstanceÚSourceFileLoaderÚ
_PY_SOURCEÚExtensionFileLoaderÚAppleFrameworkLoaderÚ_C_EXTENSIONÚSourcelessFileLoaderÚ_PY_COMPILEDÚ_SEARCH_ERRORÚioÚ	open_codeÚsplitext)r   r   ÚspecÚ	file_pathÚkindÚfileÚsuffixs          r   Ú_find_moduler?   -   sÃ  € ô ×Ñ×"Ñ"×4Ñ4Ô6ä×Ñ×)Ñ)×3Ñ3°DÓ?€Dà�|ÜÐ4×;Ñ;ÀÐ;ÐFÈTÑRÐRð ‡{�{”i×)Ñ)×9Ñ9Ò9Ø�T˜B ¤JÐ/Ð/Ð/à‡{�{”i×)Ñ)×8Ñ8Ò8Ø�T˜B ¤JÐ/Ð/Ð/à—‘€Ià‡{�{×Ñ˜d×#Ñ#Ø”R—W‘W—_‘_ YÓ/°"°b¼.Ð1IÐIÐIä�$—+‘+œy×2Ñ2×CÑC×DÑDÜ‰ä	Ø�‰Ü×Ñ×3Ñ3Ü×Ñ×4Ñ4ð
÷
ñ 
ô ‰ä	�D—K‘K¤×!4Ñ!4×!IÑ!I×	JÑ	JÜ‰ð �T˜B ¤MÐ2Ð2Ð2ä�<Š<˜	Ó"€DÜ�W‰W×Ñ˜iÓ(¨Ñ,€Fà˜V T¨4Ð0Ð0Ð0r   c                   ó$   • \ rS rSrSS jrS rSrg)ÚModuleé_   Nc                 óR   • Xl         X l        X0l        S U l        0 U l        0 U l        g r
   )Ú__name__Ú__file__Ú__path__Ú__code__ÚglobalnamesÚstarimports)Úselfr   r=   r   s       r   Ú__init__ÚModule.__init__a   s,   € ØŒØŒØŒØˆŒð ˆÔð ˆÕr   c                 ó°   • SU R                   < 3nU R                  b  USU R                  < 3-   nU R                  b  USU R                  < 3-   nUS-   nU$ )NzModule(ú, Ú))rD   rE   rF   )rJ   Úss     r   Ú__repr__ÚModule.__repr__n   sR   � ØŸ=›=Ð*ˆØ�=‰=Ñ$Ù˜dŸm›mÐ-Ñ-ˆAØ�=‰=Ñ$Ù˜dŸm›mÐ-Ñ-ˆAØ�‰GˆØˆr   )rG   rE   rD   rF   rH   rI   )NN)rD   Ú
__module__Ú__qualname__Ú__firstlineno__rK   rQ   Ú__static_attributes__© r   r   rA   rA   _   s   † ôõr   rA   c                   óÂ   • \ rS rSrSS jrS rS rS rS rS r	SS	 jr
SS
 jrS rS rS S jrS rS rS rS rSS jrS rS rS rS rS!S jrS rS rS rS rSrg)"ÚModuleFinderéw   Nc                 óª   • Uc  [         R                  nXl        0 U l        0 U l        X l        SU l        Ub  UO/ U l        Ub  UO/ U l        / U l        g )Nr   )	Úsysr   ÚmodulesÚ
badmodulesÚdebugÚindentÚexcludesÚreplace_pathsÚprocessed_paths)rJ   r   r_   ra   rb   s        r   rK   ÚModuleFinder.__init__y   sT   € Ø‰<Ü—8‘8ˆDØŒ	ØˆŒØˆŒØŒ
ØˆŒØ$,Ñ$8™¸bˆŒØ.;Ñ.G™]ÈRˆÔØ!ˆÕr   c                 óÐ   • XR                   ::  aW  [        U R                  5       H  n[        SSS9  M     [        USS9  U H  n[        [	        U5      SS9  M     [        5         g g )Nú   Ú ©Úend)r_   Úranger`   ÚprintÚrepr)rJ   ÚlevelÚstrÚargsÚiÚargs         r   ÚmsgÚModuleFinder.msg…   sU   € Ø—J‘JÓÜ˜4Ÿ;™;Ö'�Ü�e Ô%ñ (ä�#˜3ÒÛ�Ü”d˜3“i SÔ)ñ ä�Gð r   c                 ót   • US   nX R                   ::  a$  U R                  S-   U l        U R                  " U6   g g ©Nr   r   ©r_   r`   rr   ©rJ   ro   rm   s      r   ÚmsginÚModuleFinder.msginŽ   ó4   € Ø�Q‘ˆØ—J‘JÓØŸ+™+¨™/ˆDŒKØ�HŠH�dŠOð r   c                 ót   • US   nX R                   ::  a$  U R                  S-
  U l        U R                  " U6   g g ru   rv   rw   s      r   ÚmsgoutÚModuleFinder.msgout”   rz   r   c                 óÂ   • U R                  SSU5        [        R                  " U5       nSS[        4nU R	                  SX!U5        S S S 5        g ! , (       d  f       g = f)Nr   Ú
run_scriptr   r   Ú__main__)rr   r7   r8   r0   Úload_module)rJ   ÚpathnameÚfpÚstuffs       r   r   ÚModuleFinder.run_scriptš   sJ   € Ø�‰��L (Ô+Ü�\Š\˜(Ô# rØ˜œzÐ*ˆEØ×Ñ˜Z¨°uÔ=÷ $×#Ö#ús   ªAÁ
Ac                 ó  • [         R                  R                  U5      u  p#[         R                  R                  U5      u  p4[        R
                  " U5       nUS[        4nU R                  X5X5        S S S 5        g ! , (       d  f       g = f)Nr   )r+   r   Úsplitr9   r7   r8   r0   r�   )rJ   r‚   Údirr   Úextrƒ   r„   s          r   Ú	load_fileÚModuleFinder.load_file    sb   € Ü—G‘G—M‘M (Ó+‰	ˆÜ—G‘G×$Ñ$ TÓ*‰	ˆÜ�\Š\˜(Ô# rØ˜$¤
Ð+ˆEØ×Ñ˜T xÔ7÷ $×#Ö#ús   ÁA>Á>
Bc                 óè   • U R                  SSXX45        U R                  X$S9nU R                  XQ5      u  pgU R                  Xg5      nU(       d  U$ UR                  (       a  U R                  Xƒ5        g )Nr   Úimport_hook©rm   )rr   Údetermine_parentÚfind_head_packageÚ	load_tailrF   Úensure_fromlist)	rJ   r   ÚcallerÚfromlistrm   ÚparentÚqÚtailÚms	            r   r�   ÚModuleFinder.import_hook§   sg   € Ø�‰��M 4°ÔAØ×&Ñ& vÐ&Ð;ˆØ×(Ñ(¨Ó6‰ˆØ�N‰N˜1Ó#ˆÞØˆHØ�:�:Ø× Ñ  Ô-Ør   c                 ó(  • U R                  SSX5        U(       a  US:X  a  U R                  SS5        g UR                  nUS:¼  a®  UR                  (       a  US-  nUS:X  a*  U R                  U   nXAL d   eU R                  SSU5        U$ UR                  S5      U:  a  [        S5      eSR                  UR                  S5      S U*  5      nU R                  U   nU R                  SSU5        U$ UR                  (       a*  U R                  U   nXL d   eU R                  SSU5        U$ SU;   aL  UR                  S5      nUS U nU R                  U   nUR                  U:X  d   eU R                  SSU5        U$ U R                  SS5        g )	Né   r�   r   zdetermine_parent -> Noner   zdetermine_parent ->Ú.zrelative importpath too deep)
rx   r|   rD   rF   r]   Úcountr"   Újoinr‡   Úrfind)rJ   r“   rm   Úpnamer•   rp   s         r   r�   ÚModuleFinder.determine_parent²   s…  € Ø�
‰
�1Ð(¨&Ô8Þ˜ !›Ø�K‰K˜Ð5Ô6ØØ—‘ˆØ�A‹:Ø��Ø˜‘
�Ø˜‹zØŸ™ eÑ,�ØÒ'Ð'Ð'Ø—‘˜AÐ4°fÔ=Ø�Ø�{‰{˜3Ó %Ó'Ü!Ð"@ÓAÐAØ—H‘H˜UŸ[™[¨Ó-¨g°¨vÐ6Ó7ˆEØ—\‘\ %Ñ(ˆFØ�K‰K˜Ð0°&Ô9ØˆMØ�?�?Ø—\‘\ %Ñ(ˆFØÒ#Ð#Ð#Ø�K‰K˜Ð0°&Ô9ØˆMØ�%‹<Ø—‘˜CÓ ˆAØ˜"˜1�IˆEØ—\‘\ %Ñ(ˆFØ—?‘? eÓ+Ð+Ð+Ø�K‰K˜Ð0°&Ô9ØˆMØ�‰�AÐ1Ô2Ør   c                 óÊ  • U R                  SSX5        SU;   a  UR                  S5      nUS U nX#S-   S  nOUnSnU(       a  UR                  < SU< 3nOUnU R                  XFU5      nU(       a  U R	                  SSXu45        Xu4$ U(       a4  UnS nU R                  XFU5      nU(       a  U R	                  SSXu45        Xu4$ U R	                  SSU5        [        SU-   5      e)	Nr›   r�   rœ   r   r   zfind_head_package ->ú"raise ImportError: No module namedúNo module named )rx   ÚfindrD   Úimport_moduler|   r"   )rJ   r•   r   rp   Úheadr—   Úqnamer–   s           r   r�   ÚModuleFinder.find_head_packageÕ   sì   € Ø�
‰
�1Ð)¨6Ô8Ø�$‹;Ø—	‘	˜#“ˆAØ˜˜�8ˆDØ˜!™˜�:‰DàˆDØˆDÞØ%Ÿœ²Ð5‰EàˆEØ×Ñ˜t¨FÓ3ˆÞØ�K‰K˜Ð1°A°9Ô=Ø�7ˆNÞØˆEØˆFØ×"Ñ" 4°Ó7ˆAÞØ—‘˜AÐ5¸°yÔAØ�w�Ø�‰�AÐ;¸UÔCÜÐ,¨uÑ4Ó5Ð5r   c                 ój  • U R                  SSX5        UnU(       aƒ  UR                  S5      nUS:  a  [        U5      nUS U X$S-   S  p%UR                  < SU< 3nU R	                  XVU5      nU(       d!  U R                  SSU5        [        SU-   5      eU(       a  Mƒ  U R                  SSU5        U$ )	Nr›   r‘   rœ   r   r   r£   r¤   zload_tail ->)rx   r¥   ÚlenrD   r¦   r|   r"   )rJ   r–   r—   r˜   rp   r§   Úmnames          r   r‘   ÚModuleFinder.load_tailð   s®   € Ø�
‰
�1�k 1Ô+ØˆÞØ—	‘	˜#“ˆAØ�1‹uœ#˜d›)�aØ˜b˜q˜ 4¨!©¨ :�$Ø Ÿzœzª4Ð0ˆEØ×"Ñ" 4°Ó2ˆAÞØ—‘˜AÐCÀUÔKÜ!Ð"4°uÑ"<Ó=Ð=÷ ˆdð 	�‰�A�~ qÔ)Øˆr   c                 óP  • U R                  SSXU5        U HŒ  nUS:X  a7  U(       d.  U R                  U5      nU(       a  U R                  XS5        M<  M>  M@  [        X5      (       a  MR  UR                  < SU< 3nU R                  XFU5      nU(       a  M€  [        SU-   5      e   g )Nr›   r’   Ú*r   rœ   r¤   )rr   Úfind_all_submodulesr’   ÚhasattrrD   r¦   r"   )rJ   r˜   r”   Ú	recursiveÚsubÚallÚsubnameÚsubmods           r   r’   ÚModuleFinder.ensure_fromlistÿ   s—   € Ø�‰�Ð% q°IÔ>ÛˆCØ�c‹zÞ Ø×2Ñ2°1Ó5�CÞØ×,Ñ,¨Q°QÖ7ñ ñ !ô ˜Q—_“_Ø%&§Z¤Z²Ð5�Ø×+Ñ+¨C¸!Ó<�ß�vÜ%Ð&8¸7Ñ&BÓCÐCò r   c                 ó4  • UR                   (       d  g 0 n/ nU[        R                  R                  S S  -  nU[        R                  R                  S S  -  nU[        R                  R
                  S S  -  nUR                    H_  n [        R                  " U5      nU H?  nS nU H  n[        U5      n	Xi* S  U:X  d  M  US U	*  n  O   U(       d  M3  US:w  d  M;  XrU'   MA     Ma     UR                  5       $ ! [         a    U R                  SSU5         M“  f = f)Nr   zcan't list directoryrK   )rF   r   r   ÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXESr+   ÚlistdirÚOSErrorrr   r«   Úkeys)
rJ   r˜   r]   Úsuffixesrˆ   Únamesr   ÚmodÚsuffÚns
             r   r°   Ú ModuleFinder.find_all_submodules  s  € Ø�z�zØØˆð ˆØ”I×'Ñ'×:Ñ:¹1Ð=Ñ=ˆØ”I×'Ñ'×7Ñ7¹Ð:Ñ:ˆØ”I×'Ñ'×9Ñ9¹!Ð<Ñ<ˆØ—:”:ˆCðÜŸ
š
 3›�ó �Ø�Û$�DÜ˜D›	�AØ˜B˜C�y DÕ(Ø" 3 Q B˜i˜Ùñ	 %÷
 �3˜3 *Õ,Ø#&˜C“Ló ñ ð �|‰|‹~Ðøô ó Ø—‘˜Ð2°CÔ8Úðús   ÂC6Ã6DÄDc                 ó¢  • U R                  SSXU5         U R                  U   nU R                  SSU5        U$ ! [         a     Of = fX R                  ;   a  U R                  SS5        g U(       a   UR
                  c  U R                  SS5        g  U R                  UU=(       a    UR
                  U5      u  pVnO#! [         a    U R                  SSS 5         g f = f U R                  X%Xg5      nU(       a  UR                  5         O! U(       a  UR                  5         f f = fU(       a  [        X1U5        U R                  SSU5        U$ )Nr   r¦   zimport_module ->zimport_module -> None)rx   r]   r|   ÚKeyErrorr^   rF   Úfind_moduler"   r�   ÚcloseÚsetattr)rJ   ÚpartnameÚfqnamer•   r˜   rƒ   r‚   r„   s           r   r¦   ÚModuleFinder.import_module)  s8  € Ø�
‰
�1�o x¸Ô@ð	Ø—‘˜VÑ$ˆAð �K‰K˜Ð-¨qÔ1ØˆHøô	 ó 	Ùð	úð
 —_‘_Ó$Ø�K‰K˜Ð2Ô3ØÞ�f—o‘oÑ-Ø�K‰K˜Ð2Ô3Øð	Ø"&×"2Ñ"2°8Ø39×3M¸f¿o¹oÈvó#WÑˆB™%øäó 	Ø�K‰K˜Ð-¨tÔ4Ùð	úð	Ø× Ñ  ¨XÓ=ˆAæØ—‘”
ùö Ø—‘•
ð úæÜ�F aÔ(Ø�‰�AÐ)¨1Ô-Øˆs-   –: º
AÁAÂ)B> Â>CÃCÃ"D ÄD&c                 óî  • Uu  pVnU R                  SSX=(       a    SU5        U[        :X  a&  U R                  X5      nU R                  SSU5        U$ U[        :X  a  [        UR                  5       US5      n	O`U[        :X  aT   UR                  5       n
[        R                  R                  X¡0 5        [        R                  " [        U
5      SS  5      n	OS n	U R!                  U5      nX8l        U	(       a9  U R$                  (       a  U R'                  U	5      n	X˜l        U R+                  X˜5        U R                  SSU5        U$ ! [         a%  nU R                  SS[        U5      -   U5        e S nAff = f)Nr   r�   rƒ   zload_module ->Úexeczraise ImportError: é   )rx   r-   Úload_packager|   r0   ÚcompileÚreadr5   r   Ú_bootstrap_externalÚ_classify_pycr"   rn   ÚmarshalÚloadsÚ
memoryviewÚ
add_modulerE   rb   Úreplace_paths_in_coderG   Ú	scan_code)rJ   rË   rƒ   r‚   Ú	file_infor>   ÚmodeÚtyper˜   ÚcoÚdataÚexcs               r   r�   ÚModuleFinder.load_moduleI  s@  € Ø&Ñˆ�dØ�
‰
�1�m V¯[°D¸(ÔCØ”>Ó!Ø×!Ñ! &Ó3ˆAØ�K‰K˜Ð+¨QÔ/ØˆHØ”:ÓÜ˜Ÿ™› H¨fÓ5‰BØ”\Ó!ðØ—w‘w“y�Ü×-Ñ-×;Ñ;¸DÈ"ÔMô —’œz¨$Ó/°°Ð4Ó5‰BàˆBØ�O‰O˜FÓ#ˆØŒ
ÞØ×!×!Ø×/Ñ/°Ó3�ØŒJØ�N‰N˜2Ô!Ø�‰�AÐ'¨Ô+Øˆøô ó Ø—‘˜AÐ4´s¸3³xÑ?ÀÔJØûðús   Â0E Å
E4Å E/Å/E4c                 ó¬   • XR                   ;  a  0 U R                   U'   U(       a  SU R                   U   UR                  '   g SU R                   U   S'   g )Nr   Ú-)r^   rD   )rJ   r   r“   s      r   Ú_add_badmoduleÚModuleFinder._add_badmodulef  sG   € Ø—‘Ó&Ø$&ˆD�O‰O˜DÑ!ÞØ56ˆD�O‰O˜DÑ! &§/¡/Ò2à)*ˆD�O‰O˜DÑ! #Ò&r   c           	      ó”  • XR                   ;   a  U R                  X5        g  U R                  XUS9  U(       aG  U H@  nUS-   U-   nX`R                   ;   a  U R                  Xb5        M-   U R                  XU/US9  MB     g g ! [         a8  nU R	                  SS[        U5      5        U R                  Xb5         S nAMƒ  S nAff = f! [         a7  nU R	                  SS[        U5      5        U R                  X5         S nAg S nAf[         a7  nU R	                  SS[        U5      5        U R                  X5         S nAg S nAff = f)NrŽ   rœ   r   zImportError:zSyntaxError:)r^   rä   r�   r"   rr   rn   ÚSyntaxError)rJ   r   r“   r”   rm   r³   Úfullnamerr   s           r   Ú_safe_import_hookÚModuleFinder._safe_import_hookn  s)  € à—?‘?Ó"Ø×Ñ Ô-Øð	>Ø×Ñ˜T°ÐÑ7ö Û#�CØ# c™z¨CÑ/�HØ§?¡?Ó2Ø×+Ñ+¨HÔ=Ù ð>Ø×(Ñ(¨¸°uÀEÐ(ÓJò $ð øô 'ó >ØŸ™  N´C¸³HÔ=Ø×+Ñ+¨H×=Ò=ûð>ûô ó 	.Ø�H‰H�Q˜¬¨C«Ô1Ø×Ñ ×-Ñ-ûÜó 	.Ø�H‰H�Q˜¬¨C«Ô1Ø×Ñ ×-Ñ-ûð	.ús;   £C Á*BÂ
CÂ-B?Â?CÃ
EÃ-DÄEÄ-EÅEc              #   óÂ   #   • [         R                  " U5       H
  nSU44v •  M     [         R                  " U5       H  u  p#nUS:X  a	  SXB44v •  M  SX4U44v •  M     g 7f)NÚstorer   Úabsolute_importÚrelative_import)ÚdisÚ_find_store_namesÚ_find_imports)rJ   rÞ   r   rm   r”   s        r   Úscan_opcodesÚModuleFinder.scan_opcodesˆ  sf   é € ä×)Ò)¨"Ö-ˆDØ˜D˜7Ð"Ô"ñ .ä%(×%6Ò%6°rÖ%:Ñ!ˆD˜Ø˜‹zØ'¨(Ð)9Ð9Ô9à'¨%¸4Ð)@Ð@Ô@ò	 &;ùs   ‚AAc                 ó"  • UR                   nU R                  nU" U5       GH¥  u  pVUS:X  a  Uu  nSUR                  U'   M!  US:X  Ga"  Uu  p‡Sn	Ub!  SU;   a  Sn	U V
s/ s H  oªS:w  d  M
  U
PM     nn
U R                  XrUSS9  U	(       aÝ  S nUR                  (       a+  U R
                  R                  UR                  S-   U-   5      nUc  U R
                  R                  U5      nUbl  UR                  R                  UR                  5        UR                  R                  UR                  5        UR                  c  SUR                  U'   GM2  GM5  SUR                  U'   GMG  GMJ  US:X  aM  Uu  pÈnU(       a  U R                  XrXŒS9  GMo  U R                  X,S9nU R                  UR                  S USS9  GM�  [        U5      e   UR                   H0  n[        U[        U5      5      (       d  M  U R!                  Xâ5        M2     g s  sn
f )	Nrì   r   rí   r   r¯   rŽ   rœ   rî   )Úco_coderò   rH   ré   rF   r]   ÚgetrD   ÚupdaterI   rG   r�   ÚRuntimeErrorÚ	co_constsr.   rÝ   rÚ   )rJ   rÞ   r˜   ÚcodeÚscannerÚwhatro   r   r”   Ú	have_starÚfÚmmrm   r•   Úcs                  r   rÚ   ÚModuleFinder.scan_code’  sä  € Ø�z‰zˆØ×#Ñ#ˆÙ! "Ÿ+‰JˆDØ�w‹Ø‘�Ø&'�—‘˜dÓ#ØÐ*Ô*Ø!%‘�Ø�	ØÑ'Ø˜h“Ø$%˜	Ù+3Ó@ª8 a¸C±x§©8�HÐ@Ø×&Ñ& t°ÀÐ&ÑBÞð �BØ—z—zð "Ÿ\™\×-Ñ-¨a¯j©j¸3Ñ.>ÀÑ.EÓF˜Ø‘zØ!Ÿ\™\×-Ñ-¨dÓ3˜Ø‘~ØŸ™×,Ñ,¨R¯^©^Ô<ØŸ™×,Ñ,¨R¯^©^Ô<ØŸ;™;Ñ.Ø23˜AŸM™M¨$Ô/ò /ð /0˜Ÿ™ dÔ+ò% ð& Ð*Ó*Ø(,Ñ%� ÞØ×*Ñ*¨4°HÐ*ÔJà!×2Ñ2°1Ð2ÐB�FØ×*Ñ*¨6¯?©?¸DÀ(ÐRSÐ*ÔTô # 4Ó(Ð(ñQ &ðT —”ˆAÜ˜!œT "›X×&Ó&Ø—‘˜qÖ$ò ùòA  As   Á	HÁ+Hc                 óê  • U R                  SSX5        [        R                  U5      nU(       a  UnU R                  U5      nX$l        U/Ul        UR
                  [        R                  U/ 5      -   Ul        U R                  SUR
                  5      u  pVn U R                  XXg5        U R                  SSU5        UU(       a  UR                  5         $ $ ! U(       a  UR                  5         f f = f)Nr   rÐ   rK   zload_package ->)rx   r   rö   rØ   rE   rF   r   rÇ   r�   r|   rÈ   )rJ   rË   r‚   r   r˜   rƒ   Úbufr„   s           r   rÐ   ÚModuleFinder.load_packageÃ  sË   € Ø�
‰
�1�n fÔ7Ü#×'Ñ'¨Ó/ˆÞØˆFØ�O‰O˜FÓ#ˆØŒ
Ø�ZˆŒ
ð —Z‘Z¤.×"4Ñ"4°V¸RÓ"@Ñ@ˆŒ
à×)Ñ)¨*°a·j±jÓA‰ˆ�ð	Ø×Ñ˜V¨Ô4Ø�K‰K˜Ð,¨aÔ0ØæØ—‘•
ð øŽrØ—‘•
ð ús   Â&C ÃC2c                 óv   • XR                   ;   a  U R                   U   $ [        U5      =U R                   U'   nU$ r
   )r]   rA   )rJ   rË   r˜   s      r   rØ   ÚModuleFinder.add_moduleØ  s7   € Ø—\‘\Ó!Ø—<‘< Ñ'Ð'Ü#)¨&£>Ð1ˆ�‰�VÑ˜qØˆr   c                 ó   • Ub  UR                   S-   U-   nOUnX@R                  ;   a  U R                  SSU5        [        U5      eUc,  U[        R
                  ;   a  S S SS[        44$ U R                  n[        X5      $ )Nrœ   r   zfind_module -> Excludedr   )	rD   ra   r|   r"   r\   Úbuiltin_module_namesr&   r   r?   )rJ   r   r   r•   rè   s        r   rÇ   ÚModuleFinder.find_moduleÞ  s�   € ØÑà—‘ sÑ*¨4Ñ/‰HàˆHØ—}‘}Ó$Ø�K‰K˜Ð4°hÔ?Ü˜dÓ#Ð#à‰<Ø”s×/Ñ/Ó/Ø˜d R¨¬ZÐ$8Ð9Ð9à—9‘9ˆDä˜DÓ'Ð'r   c           	      ó0  • [        5         [        SS-  5        [        SS-  5        [        U R                  R                  5       5      nU HZ  nU R                  U   nUR                  (       a  [        SSS9  O
[        SSS9  [        SU-  UR
                  =(       d    S	5        M\     U R                  5       u  pEU(       aa  [        5         [        S
5        U HF  n[        U R                  U   R                  5       5      n[        SUSSR                  U5      5        MH     U(       al  [        5         [        SSS9  [        S5        U HF  n[        U R                  U   R                  5       5      n[        SUSSR                  U5      5        MH     gg)z‚Print a report to stdout, listing the found modules with their
paths, as well as modules that are missing, or seem to be missing.
z
  %-25s %s)ÚNameÚFile)ú----r  ÚPrg   rh   r˜   z%-25sr   zMissing modules:Ú?zimported fromrN   z7Submodules that appear to be missing, but could also bez#global names in the parent package:N)	rk   Úsortedr]   r¾   rF   rE   Úany_missing_mayber^   rž   )rJ   r¾   Úkeyr˜   ÚmissingÚmayber   Úmodss           r   ÚreportÚModuleFinder.reportð  sE  € ô 	ŒÜˆlÐ-Ñ-Ô.ÜˆlÐ-Ñ-Ô.ä�d—l‘l×'Ñ'Ó)Ó*ˆÛˆCØ—‘˜SÑ!ˆAØ�z�zÜ�c˜sÓ#ä�c˜sÒ#Ü�'˜C‘- §¡×!1¨rÖ2ñ ð ×/Ñ/Ó1‰ˆÞÜŒGÜÐ$Ô%Û�Ü˜dŸo™o¨dÑ3×8Ñ8Ó:Ó;�Ü�c˜4 °$·)±)¸D³/ÖBñ  ö ÜŒGÜÐKÐQTÒUÜÐ7Ô8Û�Ü˜dŸo™o¨dÑ3×8Ñ8Ó:Ó;�Ü�c˜4 °$·)±)¸D³/ÖBò ð	 r   c                 ó.   • U R                  5       u  pX-   $ )z¥Return a list of modules that appear to be missing. Use
any_missing_maybe() if you want to know which modules are
certain to be missing, and which *may* be missing.
)r  )rJ   r  r  s      r   Úany_missingÚModuleFinder.any_missing  s   € ð
 ×/Ñ/Ó1‰ˆØ‰Ðr   c                 ó<  • / n/ nU R                    Hæ  nX0R                  ;   a  M  UR                  S5      nUS:  a  UR                  U5        M>  X4S-   S nUSU nU R                  R                  U5      nUbm  X`R                   U   ;   a  UR                  U5        M�  XWR                  ;   a  Mž  UR                  (       a  UR                  U5        MÂ  UR                  U5        MÕ  UR                  U5        Mè     UR                  5         UR                  5         X4$ )a~  Return two lists, one with modules that are certainly missing
and one with modules that *may* be missing. The latter names could
either be submodules *or* just global names in the package.

The reason it can't always be determined is that it's impossible to
tell which names are imported when "from module import *" is done
with an extension module, short of actually importing it.
rœ   r   r   N)	r^   ra   rŸ   r   r]   rö   rH   rI   Úsort)rJ   r  r  r   rp   rµ   ÚpkgnameÚpkgs           r   r  ÚModuleFinder.any_missing_maybe  sò   € ð ˆØˆØ—O”OˆDØ—}‘}Ó$ÙØ—
‘
˜3“ˆAØ�1‹uØ—‘˜tÔ$ÙØ˜Q™3˜4�jˆGØ˜2˜A�hˆGØ—,‘,×"Ñ" 7Ó+ˆCØ‰ØŸo™o¨dÑ3Ó3ð —N‘N 4Ö(Ø§¡Ó/áØ—_—_ð —L‘L Ö&ð —N‘N 4Ö(à—‘˜tÖ$ñ= $ð> 	�‰ŒØ�
‰
ŒØˆ~Ðr   c                 ó¬  • [         R                  R                  UR                  5      =p#U R                   H-  u  pEUR                  U5      (       d  M  XS[        U5      S  -   n  O   U R                  (       aa  X0R                  ;  aR  X#:w  a  U R                  SSU< SU< 35        OU R                  SSU< S35        U R                  R                  U5        [        UR                  5      n[        [        U5      5       H6  n[        Xg   [        U5      5      (       d  M!  U R!                  Xg   5      Xg'   M8     UR#                  [%        U5      US9$ )Nr   zco_filename z changed to z remains unchanged)rù   Úco_filename)r+   r   Únormpathr!  rb   Ú
startswithr«   r_   rc   r|   r   Úlistrù   rj   r.   rÝ   rÙ   ÚreplaceÚtuple)rJ   rÞ   Únew_filenameÚoriginal_filenamerþ   ÚrÚconstsrp   s           r   rÙ   Ú"ModuleFinder.replace_paths_in_codeH  s  € Ü+-¯7©7×+;Ñ+;¸B¿N¹NÓ+KÐKˆØ×&Ô&‰DˆAØ ×+Ñ+¨A×.Ó.Ø ´S¸³V°WÐ#=Ñ=�Ùñ 'ð
 �:�:Ð+×3GÑ3GÓGØÓ0Ø—‘™AÛ'8ºð Hõ Ið —‘™AÛ'8ð ;ô <à× Ñ ×'Ñ'Ð(9Ô:ä�b—l‘lÓ#ˆÜ”s˜6“{Ö#ˆAÜ˜&™)¤T¨"£X×.Ó.Ø ×6Ñ6°v±yÓA�“	ñ $ð �z‰z¤E¨&£M¸|ˆzÐLÐLr   )r^   r_   ra   r`   r]   r   rc   rb   )Nr   NN)NNr   )r   )r   r
   )rD   rS   rT   rU   rK   rr   rx   r|   r   rŠ   r�   r�   r�   r‘   r’   r°   r¦   r�   rä   ré   rò   rÚ   rÐ   rØ   rÇ   r  r  r  rÙ   rV   rW   r   r   rY   rY   w   sˆ   † ô
"òòòò>ò8ô	ô!òF6ò6ôDòò8ò@ò:+ô>ò4Aò/%òbò*ô(ò$ CòDò,õ\Mr   rY   c                  ó”  • SS K n  U R                  [        R                  SS  S5      u  pSnSn/ n/ nU H`  u  p‰US:X  a  US-   nUS:X  a  SnUS:X  a!  XiR                  [        R                  5      -   nUS:X  a  SnUS:X  d  MO  UR                  U	5        Mb     U(       d  S	n
OUS   n
[        R                  S S  n[        R                  R                  U
5      US'   Xk-   nUS:”  a)  [	        S
5        U H  n[	        S[        U5      5        M     [        X´U5      nUSS   HZ  nUS:X  a  SnM  U(       a5  USS  S:X  a  UR                  US S S S/5        M6  UR                  U5        MI  UR                  U5        M\     UR                  U
5        UR!                  5         U$ ! U R                   a  n[	        U5         S nAg S nAff = f)Nr   r   zdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:rf   éþÿÿÿz.*r¯   )Úgetoptr\   ÚargvÚerrorrk   r‡   r+   Úpathsepr   r   r,   rl   rY   r�   rŠ   r   r  )r.  Úoptsro   rr   r_   ÚdomodsÚaddpathÚexcludeÚoÚaÚscriptr   ÚitemÚmfrq   s                  r   Útestr;  `  s¯  € ãðØ—]‘]¤3§8¡8¨A¨B <°Ó;‰
ˆð €EØ€FØ€GØ€GÛ‰ˆØ�‹9Ø˜A‘IˆEØ�‹9ØˆFØ�‹9Ø§¡¬¯
©
Ó 3Ñ3ˆGØ�‹9ØˆEØ��9Ø�N‰N˜1Öñ ö Ø‰à�a‘ˆô �8‰8‘Aˆ;€DÜ�g‰g�o‰o˜fÓ%€Dˆ�GØ‰>€DØˆqƒyÜˆgŒÛˆDÜ�%œ˜d›Ö$ñ ô 
�d 7Ó	+€BØ�A�B‹xˆØ�$‹;ØˆFÙÞØ�2�3ˆx˜4ÓØ—‘˜s 3 B˜x¨°¨uÖ5à—‘˜sÖ#à�L‰L˜Öñ ð ‡M�M�&ÔØ‡I�I„KØ€Iøðg �<‰<ó ÜˆcŒ
Üûðús   †%F" Æ"GÆ2GÇGr€   z
[interrupted]r
   )Ú__doc__rï   Úimportlib._bootstrap_externalr   Úimportlib.machineryrÕ   r+   r7   r\   r6   r0   r5   r3   r-   r&   r(   r   r   r   r   r?   rA   rY   r;  rD   r:  ÚKeyboardInterruptrk   rW   r   r   Ú<module>r@     sµ   ðÙ 9ã 
Û $Û Û Û 	Û 	Û 
ð €Ø€
Ø€Ø€Ø€Ø€
Ø€
ð €ò<ð Ð ò)ô/1÷dñ ÷0fMñ fMòR8ðv ˆzÓð!Ù‹V‰ð øð ó !ÙÐÖ ð!ús   ÁA# Á#A4Á3A4