o
    &æÑgõ
  ã                   @   sÌ   d dl Z ddlmZ ddlmZ i Zzd dlmZ eeƒ W n	 ey'   Y nw e 	dd¡ed< ded	< d
ed< ded< ej
jD ]Ze d¡rKeee< q@[i Zdd„ Zdd„ Ze jdkrde eƒ ¡ dS dS )é    Né   )Úmodel)ÚFFIError)Ú_get_common_typesÚFILEÚ_IO_FILEÚ_BoolÚboolÚ_cffi_float_complex_tzfloat _ComplexÚ_cffi_double_complex_tzdouble _ComplexÚ_tc                 C   s¼   zt | W S  ty]   t ||¡}t|tƒs|d}}n,|tjjv r,t |¡d}}n|dkr7t	d|f ƒ‚||krBt	d|f ƒ‚|  
|¡\}}t|tjƒsQJ ‚||ft |< ||f Y S w )Nr   úset-unicode-neededzFThe Windows type %r is only available after you call ffi.set_unicode()z®Unsupported type: %r.  Please look at http://cffi.readthedocs.io/en/latest/cdef.html#ffi-cdef-limitations and file an issue if you think this type should really be supported.)Ú_CACHEÚKeyErrorÚCOMMON_TYPESÚgetÚ
isinstanceÚstrr   ÚPrimitiveTypeÚALL_PRIMITIVE_TYPESr   Úparse_type_and_qualsÚBaseTypeByIdentity)ÚparserÚ
commontypeÚcdeclÚresultÚquals© r   úO/root/parts/websockify/install/lib/python3.10/site-packages/cffi/commontypes.pyÚresolve_common_type   s.   

ÿýÿìr   c                   C   sN   t  dg d¢t  d¡t  d¡t  t  d¡¡gg d¢¡ddddddddddd	œS )
NÚ_UNICODE_STRING)ÚLengthÚMaximumLengthÚBufferzunsigned shortÚwchar_t)éÿÿÿÿr%   r%   zUNICODE_STRING *zconst UNICODE_STRING *r   )ÚUNICODE_STRINGÚPUNICODE_STRINGÚPCUNICODE_STRINGÚTBYTEÚTCHARÚLPCTSTRÚPCTSTRÚLPTSTRÚPTSTRÚPTBYTEÚPTCHAR)r   Ú
StructTyper   ÚPointerTyper   r   r   r   Úwin_common_types9   s(   þø	ìr3   Úwin32)ÚsysÚ r   Úerrorr   r   Ú_cffi_backendr   ÚImportErrorÚunknown_typer   r   Ú_typeÚendswithr   r   r3   ÚplatformÚupdater   r   r   r   Ú<module>   s2    ÿ
€
ÿ