a
    c5                     @   s  d dl Z d dlZd dlZd dlZejddZde Zej	e j
Zejededejededejededejeded	ejedejedejedejed	gZeD ]Zejeree _
 qqejeded
ejededejed
ejedgZeD ] Zejeree _ q:qd dlZG dd deZe je  d dlZG dd dejZe Ze jdu rejeddde _e jdu rejeddde _edrd dlZG dd deZ e   e _e _e!d edr
d dl"Z"e j#d  dkr$dd Z$ndd Z$d dl%Z%d dl&Z&G dd de%j'Z(G dd de%j'Z)d d! Z*d,d#d$Z+d%d& Z,ej	e-Z.e.d' e.ge _e je.d( e  ed)re jej	e j
 d*d+ e jD e _dZ/dS )-    NRENPY_PLATFORMzunknown-unknownzpy3-libZpythonwZpythonzpythonw.exez
python.exeZrenpyz	renpy.exec                   @   s   e Zd ZdddZdd ZdS )BuiltinSubmoduleImporterNc                 C   s*   |d u rd S d|vrd S |t jv r&| S d S )N.)sysbuiltin_module_names)selfnamepath r   (/home/tom/ab/renpy/lib/python3.9/site.pyfind_moduleP   s    
z$BuiltinSubmoduleImporter.find_modulec                 C   s"   t |d \}}}t ||||S N)impr   load_module)r   r	   fpathnamedescr   r   r   r   \   s    z$BuiltinSubmoduleImporter.load_module)N)__name__
__module____qualname__r   r   r   r   r   r   r   N   s   
r   c                   @   sH   e Zd Zdd ZdddZdddZd	d
 Zdd Zdd Zdd Z	dS )
NullIOBasec                 C   s   dS Nr   r   r   r   r   r   filenoh   s    zNullIOBase.filenor   c                 C   s   dS r   r   )r   offsetwhencer   r   r   seekk   s    zNullIOBase.seekNc                 C   s   dS r   r   )r   sizer   r   r   truncaten   s    zNullIOBase.truncatec                 C   s   dS r   r   r   br   r   r   readintoq   s    zNullIOBase.readintoc                 C   s   dS NTr   r   r   r   r   readablet   s    zNullIOBase.readablec                 C   s   t |S r   )lenr    r   r   r   writew   s    zNullIOBase.writec                 C   s   dS r#   r   r   r   r   r   writablez   s    zNullIOBase.writable)r   )N)
r   r   r   r   r   r   r"   r$   r&   r'   r   r   r   r   r   g   s   

r   utf-8T)encodingline_bufferingzandroid-c                   @   s$   e Zd Zdd Zdd Zdd ZdS )LogFilec                 C   s
   d| _ d S )N )bufferr   r   r   r   __init__   s    zLogFile.__init__c                 C   sJ   | dd}| j| }|d}|d d D ]}t| q,|d | _d S )N z\0
)replacer-   splitandroidembedlog)r   slineslr   r   r   r&      s    

zLogFile.writec                 C   s   d S r   r   r   r   r   r   flush   s    zLogFile.flushN)r   r   r   r.   r&   r9   r   r   r   r   r+      s   r+   zLogging start.zios-   c                 C   s
   |  dS )Nascii)encodevaluer   r   r   B   s    r?   c                 C   s   | S r   r   r=   r   r   r   r?      s    c                   @   s    e Zd ZdejfdejfgZdS )AEDescZdescKeyZdescContentN)r   r   r   ctypesc_intc_void_p_fields_r   r   r   r   r@      s   r@   c                   @   s    e Zd ZdejfdejfgZdS )EventTypeSpec
eventClass	eventKindN)r   r   r   rA   rB   c_uintrD   r   r   r   r   rE      s   rE   c                  C   sx  t d} t d t jt j}t t jt jt jt j}t jt j|t jt jg| j_t jt j|t jg| j	_t j| j
_t jg| j
_t j| j_t jt tt jt jt t jg| j_t j| j_t jt jt jt tg| j_t j| j_t tt t jg| j_t j| j_t jt jt jt jt jg| j_t j| j_t tg| j_t j| j_t tt jt jg| j_t j| j_t jt jt jg| j_| S )Nz'/System/Library/Carbon.framework/Carbon)rA   ZCDLLZ	CFUNCTYPErC   c_longrB   Zc_charAEInstallEventHandlerargtypesAERemoveEventHandlerAEProcessEventZrestypeReceiveNextEventZPOINTERrE   Zc_doubleAEGetParamDescr@   AECountItemsAEGetNthDescAEGetDescDataSizeAEGetDescDataFSRefMakePathrH   )carbonZ
timer_funcae_callbackr   r   r   _ctypes_setup   sT    













rW   <   c              	      s8  t   dg jjd }tdtd\}tdtd\}tdtd\}tdtd\}tdtd\}tdtd\tdtd	\tdtd
\tdtd\td}td}tdtd\}	d}
|fdd} |||d| | fdd} |||d| | fdd} |||d| t }t }t }|	|_|
|_	d r|| | k rt
 } dt
|||  | |t
|}|dkrtdtjd q |}|dkrxtdtjd qqx ||||  ||||  |||| d S )NT   z>iZGURLZaevtZoappZodocz----listZTEXTZfsrfr/   Zeppc   c                    s   d d< dS )NFr   r   )messagereplyrefcon)runningr   r   open_app_handler  s    z+_run_argvemulator.<locals>.open_app_handlerr   c              
      s  t  } | t|}|dkr>tdtjd dd< d S t } t|t|}|dkrtdtjd dd< d S t  }t	|j
D ]"} t||d dt|}|dkrtdtjd dd<  d S  t|}t|}	 t||	|}|dkr$tdtjd q|	}
td}	 t|
|	d}|dkr`tdtjd qtd	t|	j
d
f tjd tjd dkrtj|	j
d
 qtj|	j
 qdd< dS )Nr   7argvemulator warning: cannot unpack open document eventfileFr\   z8argvemulator warning: cannot extract open document eventi   i  z
Adding: %sr(   rY   )r@   rO   rA   byrefprintr   stderrrI   rP   ranger>   rQ   rR   create_string_bufferrS   rT   reprdecodeversion_infoargvappend)r]   r^   r_   listdescsts
item_countr   iszbufZfsref)rU   keyDirectObjectr`   
typeAEList	typeFSRefr   r   open_file_handler   sN    
"



 z,_run_argvemulator.<locals>.open_file_handlerc              
      sd  t  } | t|}|dkr>tdtjd dd< d S t } t|t|}|dkrtdtjd dd< d S t  }t	|j
D ]} t||d dt|}|dkrtdtjd dd<  d S  t|}	t|	}
 t||
|	}|dkr"tdtjd qtjd d	krHtj|
j
d
 qtj|
j
 qdd< dS )Nr   rb   rc   Fz2argvemulator warning: cannot unpack open url eventr\   z2argvemulator warning: cannot unpack open URL eventz3argvemulator warning: cannot extract open URL eventrY   r(   )r@   rO   rA   re   rf   r   rg   rI   rP   rh   r>   rQ   rR   ri   rS   rl   rm   rn   rk   )r]   r^   r_   ro   okrq   rp   r   rr   rs   rt   )rU   ru   r`   rv   typeCharr   r   open_url_handlerU  s>    
"

z+_run_argvemulator.<locals>.open_url_handlerz,argvemulator warning: fetching events failedrc   z.argvemulator warning: processing events failed)rW   rJ   rK   structunpackr?   timerE   rF   rG   rA   rC   rN   re   rf   r   rg   rM   rL   )timeoutrV   ZkAEInternetSuiteZkAEISGetURLZkCoreEventClassZkAEOpenApplicationZkAEOpenDocumentsZFALSEZTRUEZkEventClassAppleEventZkEventAppleEventra   rx   r{   startZnowZ	eventTypeZeventrp   r   )rU   ru   r`   rv   rz   rw   r   _run_argvemulator   sr    1'


r   c                  C   sj   t jdd  D ]V} | drz
t  W n   Y n0 tt jdkr`t jd d d dkr`t jd=  qfqd S )Nr\   z-psn   )r   rm   
startswithr   r%   )argr   r   r   _renpy_argv_emulation  s    

$r   z/site-packagesz/../zmac-c                 C   s   g | ]}t j|qS r   )osr
   abspath).0rr   r   r   r   
<listcomp>      r   )rX   )0r   r   r~   localeenvirongetr   ZPY_RENPY_PLATFORMr
   dirname
executablebasejoinZPYTHON_SEARCHfnisfileZRENPY_SEARCHZrenpy_executabler   objectr   	meta_pathrn   io	RawIOBaser   Znull_iostdoutTextIOWrapperrg   r   r4   r+   rf   Z
iossupportrl   r?   rA   r|   Z	Structurer@   rE   rW   r   r   __file__Z	pythonlibZrenpy_build_officialr   r   r   r   <module>   s~   

7
 