+
    NV-jö®  ã                   ó  € ^RI Ht ^RIHtHt ^RIHtHt  ^RI Ht	 ^ RIt^ RIt^ RIt ]P                  R"8  d   ^ RItM^ RIt]P"                  ! 4       tR tRt]P*                  ! R]P,                  ]P.                  ,          4      t]P*                  ! R	]P,                  ]P.                  ,          4      t]P*                  ! R
]P.                  4      t]P*                  ! R4      t]P*                  ! R4      t]P*                  ! R4      t]P*                  ! R4      tRs]P*                  ! R]P@                  4      t!]P*                  ! R4      t"]P*                  ! R4      t#]P*                  ! R4      t$]P*                  ! R4      t%]P*                  ! R4      t&]P*                  ! R4      t']P*                  ! R4      t(R t)R t*R t+R t,R t-R t.R t/R t0R t1 ! R  R!]24      t3R#   ]
 d	    ^ RI	t	 ELÑi ; i  ]
 d    Rt EL©i ; i)#é   )Úmodel)ÚCOMMON_TYPESÚresolve_common_type)ÚFFIErrorÚ	CDefError)Ú
_pycparserNc                  ó   € ^ RI p ^ RIp R# ©é    N)Úpycparser.yacctabÚpycparser.lextab)Ú	pycparsers    Ú]/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/cffi/cparser.pyÚ%_workaround_for_static_import_findersr      s
   € ó Ýó    z<cdef source string>z/\*.*?\*/|//([^\n\\]|\\.)*?$z?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$z^[ \t]*#[ \t]*(?:line|\d+)\b.*$z=\s*\.\.\.\s*[,}]|\.\.\.\s*\}z__dotdotdot\d+__$z\[\s*\.\.\.\s*\]z\w+|\Sz-?0?x?[0-9a-f]+[lu]*$z\b(__stdcall|WINAPI)\bz[(]\s*(__stdcall|WINAPI)\bz\b__cdecl\bz9\bextern\s*"(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.z'[*]\s*((const|volatile|restrict)\b\s*)+z3(\b(int|long|short|signed|unsigned|char)\s*)+\.\.\.z\b(double|float)\s*\.\.\.c                  óH   € \         f   \        P                  ! 4       s \         # ©N)Ú_parser_cacher   ÚCParser© r   r   Ú_get_parserr   2   s   € äÒÜ!×)Ò)Ó+ˆÜÐr   c                 ó¤  € . p \         P                  V 4      pV'       g   EMVP                  V RVP                  4        4       VP                  R4       RpVP                  VP	                  4       4       VP                  4       pV P                  RV4      '       d   VP                  R4       VR,          p^ pTpV\        V 4      8  dM   W,          pVR8X  d   V^,          pM(VR8X  d   V^ 8X  d   M$V^,          pMVR9   d	   V^ 8X  d   MV^,          pK\  WV V,           WR ,           p EK-  VP                  V 4       RP                  V4      # )TNÚ(Ú)Ú*z,;=Ú )	Ú_r_star_const_spaceÚsearchÚappendÚstartÚgroupÚendÚ
startswithÚlenÚjoin)ÚcsourceÚpartsÚmatchÚclosingÚendposÚlevelÚiÚcs   &       r   Ú_workaround_for_old_pycparserr.   8   s"  € ð €EØ
Ü#×*Ñ*¨7Ó3ˆßÙà�‰�W˜^˜eŸk™k›mÐ,Ô-Ø�‰�SÔ S˜7Ø�‰�U—[‘[“]Ô#Ø—‘“ˆØ×Ñ˜c 6×*Ò*Ø�L‰L˜Ô˜w¨#�~˜wØˆØˆØ”#�g“,ÔØ•
ˆAØ�CŒxØ˜•
‘Ø�c”Ø˜A”:ØØ˜•
‘Ø�e”Ø˜A”:ØØ��FŠAØ Ð# gÕ-°¸°Õ;‹à	‡L�L�ÔØ�7‰7�5‹>Ðr   c                 ó*  € . p \         P                  V 4      pV'       g   EMPVP                  4       ^,
          pVP                  V RVP	                  4        4       RVP                  ^4      9   d   VP                  R4       MVP                  R4       W,          R8X  du   V P                  RV4      pV^ 8  d   \        R4      hV P                  RV^,           V4      ^ 8¼  d   \        R4      hVP                  W^,           V 4       W^,           R p MIV P                  R	V4      pV^ 8  d   \        R
4      hVP                  WV^,            4       W^,           R p VP                  R4       EKp  VP                  V 4       RP                  V4      # )TNÚCz(void __cffi_extern_python_plus_c_start; z!void __cffi_extern_python_start; Ú{Ú}z!'extern "Python" {': no '}' foundz7cannot use { } inside a block 'extern "Python" { ... }'Ú;z'extern "Python": no ';' foundz  void __cffi_extern_python_stop;r   )
Ú_r_extern_pythonr   r"   r   r    r!   Úfindr   ÚNotImplementedErrorr%   )r&   r'   r(   r*   r)   Ú	semicolons   &     r   Ú_preprocess_extern_pythonr8   b   se  € ð €EØ
Ü ×'Ñ'¨Ó0ˆßÙØ—‘“˜q•ˆð 	�‰�W˜^˜eŸk™k›mÐ,Ô-Ø�%—+‘+˜a“.Ô Ø�L‰LÐCÕDà�L‰LÐ<Ô=Ø�?˜cÔ!à—l‘l 3¨Ó/ˆGØ˜Œ{ÜÐ EÓFÐFØ�|‰|˜C ¨!¥¨WÓ5¸Ô:Ü)ð +Hó Ið Ià�L‰L˜¨¥¨'Ð2Ô3Ø a�i˜jÐ)‰Gð  Ÿ™ S¨&Ó1ˆIØ˜1Œ}ÜÐ BÓCÐCØ�L‰L˜¨	°!­Ð4Ô5Ø¨�k˜lÐ+ˆGØ�‰Ð7×8ð 
‡L�L�ÔØ�7‰7�5‹>Ðr   c                 óÒ   € R V 9  d   R# V P                  4        FI  pR V9   g   K  VP                  4       P                  R4      '       d   K3  ^ RIpVP	                  R4        R# 	  R# )Ú"NÚ#z¨String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.)Ú
splitlinesÚlstripr#   ÚwarningsÚwarn)r&   Úliner>   s   &  r   Ú_warn_for_string_literalrA   ”   sV   € Ø
�'ÔÙØ×"Ñ"Ö$ˆØ�$Ž;˜tŸ{™{›}×7Ñ7¸×<Ô<ÛØ�M‰Mð 1ô 2ò ó %r   c                 óv   € V P                   '       g'   ^ RIpVP                  RV P                  : R24       R# R# )r   NzGlobal variable 'z_' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern'))Ústorager>   r?   Úname)Údeclr>   s   & r   Ú/_warn_for_non_extern_non_static_global_variablerF       s+   € Ø�<�<ˆ<ÛØ�Šà.2¯i¬ið:ö 	;ñ r   c                 óF   a€ . oV3R  lp\         P                  W4      p V S3# )c                 ój   <€ \        S4      pSP                  V P                  4       4       R V,          # )z#line@%d)r$   r   r!   )Úmr,   Úline_directivess   & €r   ÚreplaceÚ(_remove_line_directives.<locals>.replace­   s+   ø€ Ü�Ó ˆØ×Ñ˜qŸw™w›yÔ)Ø˜A�~Ðr   ©Ú_r_line_directiveÚsub)r&   rK   rJ   s   & @r   Ú_remove_line_directivesrP   §   s,   ø€ ð
 €Oõô  ×#Ñ# GÓ5€GØ�OÐ#Ð#r   c                 ó:   a€ V3R  lp\         P                  W 4      # )c                 óš   <€ V P                  4       pVP                  R 4      '       g   \        R4      hS\        VR,          4      ,          # )z#line@zBunexpected #line directive (should have been processed and removed:é   NN)r!   r#   ÚAssertionErrorÚint)rI   ÚsrJ   s   & €r   rK   Ú*_put_back_line_directives.<locals>.replaceµ   sE   ø€ Ø�G‰G‹IˆØ�|‰|˜H×%Ò%Ü ð "Kó Lð Làœs 1 R¥5›zÕ*Ð*r   rM   )r&   rJ   rK   s   &f r   Ú_put_back_line_directivesrX   ´   s   ø€ õ+ô × Ñ  Ó2Ð2r   c                 ó\  € \        V 4      w  rR  p\        P                  W 4      p / p\        P	                  V 4       F9  pVP                  4       w  rVVP                  RR4      P                  4       pWcV&   K;  	  \        P                  RV 4      p \        P                  R8  d   \        V 4      p \        P                  RV 4      p \        P                  RV 4      p \        P                  RV 4      p \        V 4      p \        V 4       \         P                  RV 4      p \#        \$        P	                  V 4      4      p\'        \)        V4      4       FŽ  w  r„VP+                  4       p	W	,          R8X  dC   V P-                  R	W”P/                  4       4      p
W©8”  g   Q hR
V RV	 VW
^,           R 3,          p Kd  W	V	^,            R	8X  g   Q hRV RV	 VW	^,           R 3,          p K�  	  \0        P                  RV 4      p \2        P                  RV 4      p V P                  R	R4      p \5        W4      p W3# )c                 ó\   € R V P                  4       P                  R4      R,          ,           # )Ú Ú
)r!   Úcount)rI   s   &r   Úreplace_keeping_newlinesÚ-_preprocess.<locals>.replace_keeping_newlinesÃ   s!   € Ø�Q—W‘W“Y—_‘_ TÓ*¨TÕ1Õ1Ð1r   z\
r   z2.14z volatile volatile const(z volatile volatile const r[   z[__dotdotdotarray__]Ú=ú...z%s,__dotdotdot%d__ %sNz%s __dotdotdot%d__ %sz __dotdotdotint__ z __dotdotdotfloat__ z __dotdotdot__ )rP   Ú
_r_commentrO   Ú	_r_defineÚfinditerÚgroupsrK   Ústripr   Ú__version__r.   Ú_r_stdcall2Ú_r_stdcall1Ú_r_cdeclr8   rA   Ú_r_partial_arrayÚlistÚ_r_partial_enumÚ	enumerateÚreversedr    r5   r"   Ú_r_int_dotdotdotÚ_r_float_dotdotdotrX   )r&   rJ   r^   Úmacrosr(   Ú	macronameÚ
macrovalueÚmatchesÚnumberÚpÚp2s   &          r   Ú_preprocessry   ½   s  € ô  7°wÓ?Ñ€Gò2ä�n‰nÐ5Ó?€Gà€FÜ×#Ñ# GÖ,ˆØ %§¡£Ñˆ	Ø×'Ñ'¨°Ó3×9Ñ9Ó;ˆ
Ø&ˆyÓñ -ô �m‰m˜B Ó(€Gä×Ñ˜vÔ%Ü/°Ó8ˆô �o‰oÐ9¸7ÓC€GÜ�o‰oÐ9¸7ÓC€GÜ�l‰l˜3 Ó(€Gô (¨Ó0€Gô ˜WÔ%ô ×"Ñ"Ð#9¸7ÓC€Gô ”?×+Ñ+¨GÓ4Ó5€GÜ"¤8¨GÓ#4Ö5‰ˆØ�K‰K‹MˆØ�:˜ÔØ—‘˜e Q¯	©	«Ó4ˆBØ”6ˆM�6Ø-°¸¸!°¸fØ18¸A½¸°ð1Aõ AŠGð ˜Q˜q�S�> UÔ*Ð*Ð*Ø-°¸¸!°¸fØ18¸1½¸°ð1@õ @ŠGñ 6ô ×"Ñ"Ð#7¸ÓA€Gä ×$Ñ$Ð%;¸WÓE€Gð �o‰o˜eÐ%6Ó7€Gä'¨ÓA€GØˆ?Ðr   c                 óŽ  € \        \        4      pVP                  R 4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       \        4       pRp^ pRp\        P	                  V 4       F·  pWa9   d­   VR 8X  d.   V'       d%   VP                  V4       VP                  V4       RpMxVR8X  d   Rp^ pMlVR8X  d   V^,          pM[VR8X  d   V^,          pMJVR8X  d3   V'       d*   V^ 8X  d#   VP                  V4       VP                  V4       MVP                  V4       TpK¹  	  V# )r3   Ú,r   r   ÚtypedefFr   T)Úsetr   ÚaddÚ_r_wordsÚfindallÚdiscard)r&   Úlook_for_wordsÚ
words_usedÚ
is_typedefÚparenÚprevious_wordÚwords   &      r   Ú_common_type_namesrˆ   ÿ   s)  € ô œÓ&€NØ×Ñ�sÔØ×Ñ�sÔØ×Ñ�sÔØ×Ñ�sÔØ×Ñ�yÔ!Ü“€JØ€JØ€EØ€MÜ× Ñ  Ö)ˆØÔ!Ø�sŒ{ßØ×&Ñ& }Ô5Ø"×*Ñ*¨=Ô9Ø!&�JøØ˜Ô"Ø!�
Ø‘Ø˜”Ø˜•
‘Ø˜”Ø˜•
‘Ø˜”ß %¨1¤*Ø×&Ñ& }Ô5Ø"×*Ñ*¨=Ô9øà—‘˜tÔ$ØŠñ) *ð* Ðr   c                   óÞ   a € ] tR tRt o R tR tR tR tRR ltR t	R	 t
R
 tR tR tR tR tR tR R ltR tR!R ltR"R ltR!R ltR tR#R ltR tR$R ltR tR tR tR tR tRtV t R# )%ÚParseri'  c                ó¬   € / V n         \        4       V n        ^ V n        \        P
                  ! 4       V n        / V n        / V n        . V n	        RV n
        R# r
   )Ú_declarationsr}   Ú_included_declarationsÚ_anonymous_counterÚweakrefÚWeakKeyDictionaryÚ_structnode2typeÚ_optionsÚ_int_constantsÚ_recompleteÚ_uses_new_feature)Úselfs   &r   Ú__init__ÚParser.__init__)  sL   € ØˆÔÜ&)£eˆÔ#Ø"#ˆÔÜ '× 9Ò 9Ó ;ˆÔØˆŒØ ˆÔØˆÔØ!%ˆÖr   c                ó¨  € \        V4      w  r\        V4      p. p\        V P                  4       FG  pVP	                  R 4      '       g   K  VR,          pVP                  V4       VP                  V4       KI  	  V\        V4      ,          p. pVP                  R4       V F  pVP                  RV,          4       K  	  VP                  R4       VP                  R\        : R24       VP                  V4       VP                  R4       RP                  V4      p\        e   \        P                  4         \        4       P                  V4      p	\        e   \        P#                  4        X	Y!3#   \        P                  P                   d   p
T P!                  Y¡4        R	p
?
LUR	p
?
ii ; i  \        e   \        P#                  4        i i ; i)
útypedef :é   NNz*# 1 "<cdef automatic initialization code>"ztypedef int %s;z@typedef int __dotdotdotint__, __dotdotdotfloat__, __dotdotdot__;z# 1 "r:   r   r\   N)ry   rˆ   ÚsortedrŒ   r#   r   r�   ÚCDEF_SOURCE_STRINGr%   ÚlockÚacquirer   Úparser   Úc_parserÚ
ParseErrorÚconvert_pycparser_errorÚrelease)r–   r&   rr   ÚctnÚ	typenamesrD   ÚcsourcelinesÚtypenameÚfullcsourceÚastÚes   &&         r   Ú_parseÚParser._parse3  s�  € Ü% gÓ.‰ˆô
 ! Ó)ˆØˆ	Ü˜4×-Ñ-Ö.ˆDØ�‰˜z×*Ô*Ø˜B•x�Ø× Ñ  Ô&Ø—‘˜DÖ!ñ	 /ð
 	”V˜C“[Õ ˆ	àˆØ×ÑÐHÔIÛ!ˆHØ×ÑÐ 1°HÕ <Ö=ñ "à×Ñð .ô 	/ð 	×Ò×*<Ð>Ô?Ø×Ñ˜GÔ$Ø×Ñ˜BÔØ—i‘i Ó-ˆÜÒÜ�L‰LŒNð	Ü“-×%Ñ% kÓ2ˆCô ÒÜ—‘”à�FÐ#Ð#øô ×!Ñ!×,Ñ,ô 	5Ø×(Ñ(¨×4Ñ4ûð	5ûô ÒÜ—‘•ð  ús*   Ä<E5 Å5F/ÆF*Æ%F2 Æ*F/Æ/F2 Æ2Gc                ó  € R p\        V4      p\        P                  ! \        : R2V4      pV'       dW   \	        VP                  ^4      ^
4      pVP                  4       p^Tu;8:  d   \        V4      8:  d   M V# Wv^,
          ,          pV# )Nz:(\d+):)ÚstrÚrer(   r�   rU   r!   r<   r$   )r–   r«   r&   r@   Úmsgr(   Úlinenumr§   s   &&&     r   Ú_convert_pycparser_errorÚParser._convert_pycparser_errorZ  su   € ð ˆÜ�!‹fˆÜ—’×);Ð=¸sÓCˆßÜ˜%Ÿ+™+ a›.¨"Ó-ˆGØ"×-Ñ-Ó/ˆLØ�GÖ0œs <Ó0Ö0àˆð $¨A¥IÕ.�Øˆr   c                óž   € V P                  W4      p\        V4      pV'       d   R VP                  4       : RV: 2pMRV: 2p\        V4      h)zcannot parse "z"
zparse error
)r³   r¯   rf   r   )r–   r«   r&   r@   r±   s   &&&  r   r£   ÚParser.convert_pycparser_errorh  sI   € Ø×,Ñ,¨QÓ8ˆä�!‹fˆßˆ4Ø-1¯Z©Z®\º3Ð?‰Cð ò (+Ð,ˆCÜ˜‹nÐr   Nc                ó<  € V'       d)   VR 8w  d   \        R4      hV'       d   \        R4      h^pM/V'       d&   WD^,
          ,          '       d   \        RV: 24      hM^ pV P                  p RVRVRV/V n        V P                  V4       W`n        R#   Y`n        i ; i)TzB'packed' should be False or True; use 'pack' to give another valuez$cannot give both 'pack' and 'packed'z#'pack' must be a power of two, not ÚoverrideÚpackedÚ	dllexportN)Ú
ValueErrorr’   Ú_internal_parse)r–   r&   r¸   r¹   Úpackrº   Úprev_optionss   &&&&&& r   r    ÚParser.parser  s§   € çØ˜Œ~Ü ð "@ó Að AçÜ Ð!GÓHÐHØ‰DßØ˜a•x× Ô Ý Úð"ó ð ð !ð ˆDØ—}‘}ˆð	)Ø'¨Ø% tØ(¨)ð5ˆDŒMð × Ñ  Ô)à(ŽMø˜L�Mús   Á-B ÂBc           	     óÎ  € V P                  V4      w  r#pV P                  V4       \        VP                  4      pV F  pVP                  R 8X  g   K   M	  Q hRp RV n        V EFå  pTp\        V\        P                  P                  4      '       d   V P                  V4       KC  \        V\        P                  P                  4      '       Ed!   VP                  '       g   \        RV4      h^ p\        VP                  P                  \        P                  P                  4      '       dP   VP                  P                  P                  R,          P!                  R4      '       d   V P#                  V4      pEML\        VP                  \        P                  P$                  4      '       dß   \        VP                  P                  \        P                  P&                  4      '       d¡   \        VP                  P                  P                  \        P                  P                  4      '       dY   VP                  P                  P                  P                  R,          P!                  R4      '       d   V P)                  V4      pM:V P+                  VP                  VP                  RRVP                  : R2R7      w  r‡V P-                  R	VP                  ,           W‡R
7       EKŽ  VP.                  P0                  R8X  d   ^ RIp	V	P5                  R4       EKÁ  \        RVP.                  P0                  ,          V4      h	  R#   \         d:   p
\7        T
P8                  4      ^8X  d   T
P8                  T3,           T
n        h Rp
?
i\:         dG   p
T P=                  Y¡4      pT'       d(   T
P8                  ^ ,          RT,          ,           3T
n        h Rp
?
ii ; i)Ú__dotdotdot__NÚ__cffi_extern_python_stopz!typedef does not declare any nameÚ__dotdotdotTz*(z *)0)rD   Úpartial_length_okÚtypedef_examplerš   ©ÚqualsÚPragmaa  #pragma in cdef() are entirely ignored. They should be removed for now, otherwise your code might behave differently in a future version of CFFI if #pragma support gets added. Note that '#pragma pack' needs to be replaced with the 'packed' keyword argument to cdef().zBunexpected <%s>: this construct is valid C but not valid in cdef()z
    *** Err: %séÿÿÿÿ)r¬   Ú_process_macrosÚiterÚextrD   Ú_inside_extern_pythonÚ
isinstancer   Úc_astÚDeclÚ_parse_declÚTypedefr   ÚtypeÚIdentifierTypeÚnamesr#   Ú_get_unknown_typeÚPtrDeclÚTypeDeclÚ_get_unknown_ptr_typeÚ_get_type_and_qualsÚ_declareÚ	__class__Ú__name__r>   r?   r$   Úargsr   r³   )r–   r&   rª   rr   ÚiteratorrE   Úcurrent_declrÇ   Úrealtyper>   r«   r±   s   &&          r   r¼   ÚParser._internal_parseŠ  sØ  € Ø#Ÿ{™{¨7Ó3Ñˆ�Wà×Ñ˜VÔ$ô ˜Ÿ™“=ˆÛˆDØ�y‰y˜OÖ+Ùñ ð �1Øˆð/	Ø)DˆDÔ&Ü �Ø#�Ü˜d¤I§O¡O×$8Ñ$8×9Ò9Ø×$Ñ$ TÖ*Ü ¤i§o¡o×&=Ñ&=×>Ó>ØŸ9Ÿ9˜9Ü'Ð(KØ(,ó.ð .à�EÜ" 4§9¡9§>¡>´9·?±?×3QÑ3Q×RÒRØ ŸI™IŸN™N×0Ñ0°Õ4×?Ñ?À×NÒNØ#'×#9Ñ#9¸$Ó#?šÜ$ T§Y¡Y´	·±×0GÑ0G×HÒHÜ$ T§Y¡Y§^¡^´Y·_±_×5MÑ5M×NÒNÜ$ T§Y¡Y§^¡^×%8Ñ%8Ü%.§_¡_×%CÑ%C÷Eò EàŸ)™)Ÿ.™.×-Ñ-×3Ñ3°BÕ7×BÑBÀ=×QÒQØ#'×#=Ñ#=¸dÓ#C™à*.×*BÑ*BØ ŸI™I¨D¯I©IÉØ:>¿)¼)Ð,Eð +Có +G™˜ð —M‘M *¨t¯y©yÕ"8¸(�M×PØ—^‘^×,Ñ,°Ô8ã#Ø—M‘Mð?÷@ô $ð %@à$(§N¡N×$;Ñ$;õ%<à=AóCð CóE !øôJ ô 	Ü�1—6‘6‹{˜aÔØŸ™ < /Õ1�”ØûÜô 	Ø×/Ñ/°Ó;ˆCßØŸ&™& �)Ð&9¸CÕ&?Õ?ÐA�”Øûð		ús3   ÁBM Ã%I*M ÍO$Í4NÎO$ÎO$ÎAOÏO$c                ó”   € WP                   9   d*   V P                   V,          V8X  d   R # \        RV: 24      hW P                   V&   R # )Nz#multiple declarations of constant: )r“   r   )r–   ÚkeyÚvals   &&&r   Ú_add_constantsÚParser._add_constantsÉ  sG   € Ø×%Ñ%Ô%Ø×"Ñ" 3Õ'¨3Ô.ÙÝÚ;>Ð@óBð Bà#&×Ñ˜CÓ r   c                ó”  € VP                  4       P                  R 4      pVP                  R4      pV'       d
   VR,          pVP                  R4      '       d/   VR8w  d(   VP                  R4      '       g   RVR,          ,           p\        V^ 4      pV'       d   V) pV P	                  W4       V P                  RV,           V4       R# )ÚulÚ-ºr   NNÚ0Ú0xÚ0oúmacro N)ÚlowerÚrstripr#   rU   ræ   rÛ   )r–   rD   Úint_strÚnegÚpyvalues   &&&  r   Ú_add_integer_constantÚParser._add_integer_constantÑ  sŸ   € Ø—-‘-“/×(Ñ(¨Ó.ˆØ× Ñ  Ó%ˆßØ˜b•kˆGà×Ñ˜s×#Ò#¨°3¬Ø×*Ñ*¨4×0Ò0Ø˜W R�[Õ(ˆGÜ�g˜q“/ˆßØ�hˆGØ×Ñ˜DÔ*Ø�‰�h •o wÖ/r   c                ó*  € VP                  4        F~  w  r#VP                  4       p\        P                  V4      '       d   V P	                  W#4       KC  VR 8X  d   V P                  RV,           V4       Ke  \        RV: RV: RV: RV: 24      h	  R# )ra   rï   z5only supports one of the following syntax:
  #define z+ ...     (literally dot-dot-dot)
  #define zM NUMBER  (with NUMBER an integer constant, decimal/hex/octal)
got:
  #define r[   N)Úitemsrf   Ú_r_int_literalr(   rõ   rÛ   r   )r–   rr   rä   Úvalues   &&  r   rÊ   ÚParser._process_macrosà  st   € Ø Ÿ,™,ž.‰JˆCØ—K‘K“MˆEÜ×#Ñ# E×*Ò*Ø×*Ñ*¨3Ö6Ø˜%”Ø—‘˜h¨�n¨eÖ4åó ›C£¢eð-ó.ð .ó )r   c                ó  € V P                  W4      pV P                  P                  R 4      '       d   RpM*V P                  R8X  d   RpMV P                  R8X  d   RpMRpV P	                  WCP
                  ,           V4       R# )rº   zdllexport_python Ú__cffi_extern_python_startzextern_python Ú!__cffi_extern_python_plus_c_startzextern_python_plus_c z	function N)Ú_get_type_pointerr’   ÚgetrÍ   rÛ   rD   )r–   ÚtprÇ   rE   Útags   &&&& r   Ú_declare_functionÚParser._declare_functionñ  sm   € Ø×#Ñ# BÓ.ˆØ�=‰=×Ñ˜[×)Ò)Ø%‰CØ×'Ñ'Ð+GÔGØ"‰CØ×'Ñ'Ð+NÔNØ)‰CàˆCØ�‰�cŸI™I•o rÖ*r   c                óŒ  € VP                   p\        V\        P                  P                  4      '       dU   V P                  W!P                  R 7      w  r4\        V\        P                  4      '       g   Q hV P                  W4V4       R# \        V\        P                  P                  4      '       d   V P                  RV4       M˜\        V\        P                  P                  4      '       d   V P                  RV4       M[\        V\        P                  P                  4      '       d   V P                  RV4       MVP                  '       g   \        RV4      hVP                  '       EdÒ   V P                  VRR7      w  r4VP                  '       d   V P                  W4V4       R# VP!                  4       '       d�   \#        VR4      '       d~   \#        VP$                  R4      '       db   \&        P)                  VP$                  P*                  4      '       d3   V P-                  VP                  VP$                  P*                  4       R# VP!                  4       '       dò   \        VP$                  \        P                  P.                  4      '       d¾   VP$                  P0                  R	8X  d£   \#        VP$                  P2                  R4      '       d}   \&        P)                  VP$                  P2                  P*                  4      '       dD   V P-                  VP                  R	VP$                  P2                  P*                  ,           4       R# V\        P4                  J d5   VP                  P7                  R
4      '       d   VP                  V n        R# V P8                  R8w  d   \        R4      hV\        P:                  ,          '       d9   VP<                  '       g'   V P?                  RVP                  ,           W4R7       R# \A        V4       V P?                  RVP                  ,           W4R7       R# R# ))rD   ÚstructÚunionÚenumz'construct does not declare any variableT©rÄ   Úinitrú   rê   Ú__cffi_extern_python_rÂ   z<cannot declare constants or variables with 'extern "Python"'z	constant rÆ   z	variable N)!rÓ   rÎ   r   rÏ   ÚFuncDeclrÚ   rD   r   ÚRawFunctionTyper  ÚStructÚ_get_struct_union_enum_typeÚUnionÚEnumr   Úis_raw_functionÚis_integer_typeÚhasattrr
  rù   r(   rú   rõ   ÚUnaryOpÚopÚexprÚ	void_typer#   rÍ   ÚQ_CONSTÚis_array_typerÛ   rF   )r–   rE   Únoder  rÇ   s   &&   r   rÑ   ÚParser._parse_declý  sä  € Ø�y‰yˆÜ�dœIŸO™O×4Ñ4×5Ò5Ø×0Ñ0°¿I¹IÐ0ÓF‰IˆBÜ˜b¤%×"7Ñ"7×8Ò8Ð8Ð8Ø×"Ñ" 2¨dÖ3ä˜$¤	§¡× 6Ñ 6×7Ò7Ø×0Ñ0°¸4Õ@Ü˜D¤)§/¡/×"7Ñ"7×8Ò8Ø×0Ñ0°¸$Õ?Ü˜D¤)§/¡/×"6Ñ"6×7Ò7Ø×0Ñ0°¸Õ>Ø—Y—Y�YÜÐ IØ $ó&ð &ð �y�y‰yØ ×4Ñ4°TØGKð 5ó M‘	�à×%×%Ð%Ø×*Ñ*¨2°dÖ;Ø×(Ñ(×*Ò*Ü  f×-Ò-Ü §	¡	¨7×3Ò3Ü&×,Ñ,¨T¯Y©Y¯_©_×=Ò=Ø×.Ñ.¨t¯y©y¸$¿)¹)¿/¹/ÖJØ×(Ñ(×*Ò*Ü" 4§9¡9¬i¯o©o×.EÑ.E×FÒFØŸ	™	Ÿ™¨Ô+Ü §	¡	§¡°×8Ò8Ü&×,Ñ,¨T¯Y©Y¯^©^×-AÑ-A×BÒBØ×.Ñ.¨t¯y©yØ/2°T·Y±Y·^±^×5IÑ5IÕ/IöKàœEŸO™OÓ+Ø—i‘i×*Ñ*Ð+B×CÒCð 26·±�DÖ.à×1Ñ1Ð4OÔOÜ'ðAóBð Bð ¤§¡×-Ô-°r×7G×7GÐ7GØŸ™ k°D·I±IÕ&=¸r˜ÖOäGÈÔMØŸ™ k°D·I±IÕ&=¸r˜ÖOñA r   c                ó2   € V P                  V4      ^ ,          # ©r   )Úparse_type_and_quals)r–   Úcdecls   &&r   Ú
parse_typeÚParser.parse_type0  s   € Ø×(Ñ(¨Ó/°Õ2Ð2r   c                ó†  € V P                  R V,          4      R,          w  r#V'       d   Q hVP                  R,          P                  P                  P                  ^ ,          p\        V\        P                  P                  4      '       d   \        RVP                  : R24      hV P                  VP                  4      # )zvoid __dummy(
%s
);:Né   Nzunknown identifier 'Ú'rÉ   )r¬   rÌ   rÓ   rÞ   ÚparamsrÎ   r   rÏ   ÚIDr   rD   rÚ   )r–   r   rª   rr   Úexprnodes   &&   r   r  ÚParser.parse_type_and_quals3  s‡   € Ø—k‘kÐ"9¸EÕ"AÓBÀ2ÕF‰ˆßÐˆzØ—7‘7˜2•;×#Ñ#×(Ñ(×/Ñ/°Õ2ˆÜ�h¤	§¡× 2Ñ 2×3Ò3Ý¸¿¼ÐHÓIÐIØ×'Ñ'¨¯©Ó6Ð6r   c                ód  € WP                   9   dT   V P                   V,          w  rVWRJ d	   Wd8X  d   R # V P                  P                  R4      '       g   \        RV: R24      hRVP	                  4       9  g   Q hW$3V P                   V&   V'       d   V P
                  P                  V4       R # R # )Nr¸   zmultiple declarations of z5 (for interactive usage, try cdef(xx, override=True))rÁ   )rŒ   r’   r   r   Úsplitr�   r~   )r–   rD   ÚobjÚincludedrÇ   ÚprevobjÚ	prevqualss   &&&&&  r   rÛ   ÚParser._declare;  sœ   € Ø×%Ñ%Ô%Ø!%×!3Ñ!3°DÕ!9ÑˆGØ‹~ )Ô"4ÙØ—=‘=×$Ñ$ Z×0Ò0Ýã6:ð=ó>ð >ð  d§j¡j£lÔ2Ð2Ð2Ø$' <ˆ×Ñ˜4Ñ ßØ×'Ñ'×+Ñ+¨CÖ0ñ r   c                ó‚  € ^ p\        V\        P                  P                  \        P                  P                  34      '       dy   RVP
                  9   d   V\        P                  ,          pRVP
                  9   d   V\        P                  ,          pRVP
                  9   d   V\        P                  ,          pV# )r   ÚconstÚvolatileÚrestrict)
rÎ   r   rÏ   rØ   r×   rÇ   r   r  Ú
Q_VOLATILEÚ
Q_RESTRICT©r–   rÓ   rÇ   s   && r   Ú_extract_qualsÚParser._extract_qualsI  s‹   € ØˆÜ�dœYŸ_™_×5Ñ5Ü&Ÿ_™_×4Ñ4ð6÷ 7ò 7à˜$Ÿ*™*Ô$ØœŸ™Õ&�Ø˜TŸZ™ZÔ'Øœ×)Ñ)Õ)�Ø˜TŸZ™ZÔ'Øœ×)Ñ)Õ)�Øˆr   c                ó°  € \        V\        P                  4      '       d   VP                  4       # \        V\        P                  4      '       dr   VP
                  P                  R 4      '       dQ   VP
                  R,          P                  4       '       d*   VP                  f   Ve   \        P                  ! WV4      # \        P                  ! W4      # )Ú$rë   )rÎ   r   r  Úas_function_pointerÚStructOrUnionOrEnumrD   r#   ÚisdigitÚ	forcenameÚNamedPointerTypeÚPointerType)r–   rÓ   rÇ   Údeclnames   &&&&r   rÿ   ÚParser._get_type_pointerU  s•   € Ü�dœE×1Ñ1×2Ò2Ø×+Ñ+Ó-Ð-Ü�tœU×6Ñ6×7Ò7Ø—	‘	×$Ñ$ S×)Ò)¨d¯i©i¸­m×.CÑ.C×.EÒ.EØ—‘Ò&¨8Ò+?Ü×)Ò)¨$¸%Ó@Ð@Ü× Ò  Ó-Ð-r   c                óÌ
  € \        V\        P                  P                  4      '       dÝ   \        VP                  \        P                  P
                  4      '       d©   \        VP                  P                  4      ^8X  d…   RVP                  P                  ^ ,          ,           V P                  9   dR   V P                  RVP                  P                  ^ ,          ,           ,          w  rVW`P                  V4      ,          pWV3# \        V\        P                  P                  4      '       d‚   VP                  f   RpMV P                  VP                  VR7      pVe   VR8X  d   RV: R2pRV,           pV P                  VP                  VVR7      w  rV\        P                  ! WW4      V3# \        V\        P                  P                   4      '       dE   V P                  VP                  4      w  r‰V P#                  W‰VR	7      pV P                  V4      pWV3# \        V\        P                  P                  4      '       Ed9   V P                  V4      pVP                  p
\        V
\        P                  P
                  4      '       Ed4   \%        V
P                  4      pVR
R.8w  d¥   / pV'       d2   V^ ,          pVR9   d!   VP'                  V^ 4      ^,           WÂ&   V^  K8   . pR F6  p\)        VP'                  V^ 4      4       F  pVP+                  V4       K  	  K8  	  V'       g   R.pVR.8X  d   RV9   g   RV9   d   . pWÛ,           pRP-                  V4      pVR8X  d   \        P.                  V3# VR8X  d'   \1        RVP2                  P4                  ,          4      h\7        V V4      w  ppVVV,          3# \        V
\        P                  P8                  4      '       d   V P;                  RW¢4      pWV3# \        V
\        P                  P<                  4      '       d   V P;                  RW¢4      pWV3# \        V
\        P                  P>                  4      '       d   V P;                  RW¢4      pWV3# \        V\        P                  P@                  4      '       d   V PC                  W4      ^ 3# \        V\        P                  P8                  4      '       d   V P;                  RWRR7      ^ 3# \        V\        P                  P<                  4      '       d   V P;                  RWRR7      ^ 3# \1        RVP2                  P4                  ,          4      h)r   rš   Nr	  ra   z_cffi_array_len(r   r   )rÄ   rÅ   )rB  ÚsignedÚcharÚshortÚlongrU   r[   ÚvoidrÁ   z:%d: bad usage of "..."r  r  r  T)Únestedz(:%d: bad or unsupported type declaration)rG  rH  rE  Úunsigned)rK  rG  rH  )"rÎ   r   rÏ   rØ   rÓ   rÔ   r$   rÕ   rŒ   r8  Ú	ArrayDeclÚdimÚ_parse_constantrÚ   r   Ú	ArrayTyper×   rÿ   rl   r   Úranger   r%   r  r   Úcoordr@   r   r  r  r  r  r  Ú_parse_function_type)r–   ÚtypenoderD   rÄ   rÅ   r  rÇ   ÚlengthÚitemtypeÚ	itemqualsrÓ   rÕ   ÚprefixesÚnewnamesÚprefixr,   ÚidentÚtp0Úquals0s   &&&&&              r   rÚ   ÚParser._get_type_and_quals^  sˆ  € ô �x¤§¡×!9Ñ!9×:Ò:Ü�x—}‘}¤i§o¡o×&DÑ&D×EÒEÜ�—‘×#Ñ#Ó$¨Ô)Ø˜(Ÿ-™-×-Ñ-¨aÕ0Õ0°T×5GÑ5GÔGØ×*Ñ*¨:¸¿¹×8KÑ8KÈAÕ8NÕ+NÕO‰IˆBØ×(Ñ(¨Ó2Õ2ˆEØ�9Ðä�h¤	§¡× 9Ñ 9×:Ò:à�|‰|Ò#Ø‘à×-Ñ-Ø—L‘LÐ4Eð .ó G�ð Ò*Ø˜U•?Û6EÐG�FØ"%¨Õ"7�à×0Ñ0°·±Ø2CØ0?ð 1ó A‰IˆBô —?’? 2Ó.°Ð5Ð5ä�h¤	§¡× 7Ñ 7×8Ò8à"&×":Ñ":¸8¿=¹=Ó"IÑˆHØ×'Ñ'¨ÀdÐ'ÓKˆBØ×'Ñ'¨Ó1ˆEØ�9Ðä�h¤	§¡× 8Ñ 8×9Ó9Ø×'Ñ'¨Ó1ˆEØ—=‘=ˆDÜ˜$¤	§¡× >Ñ >×?Ó?ô ˜TŸZ™ZÓ(�Ø˜X vÐ.Ô.Ø!�HßØ$ Q�x˜ØÐ#JÔJØ-5¯\©\¸$ÀÓ-BÀQÕ-F˜H™NØ % a¢à!à!�HÛ"?˜Ü!& x§|¡|°F¸AÓ'>Ö!?˜AØ$ŸO™O¨FÖ3ó "@ñ #@÷ !Ø!& ˜Ø  Ô'Ø" hÔ.°&¸HÔ2DØ$&˜EØ$Õ,�EØŸ™ ›�Ø˜F”?Ü Ÿ?™?¨EÐ1Ð1Ø˜OÔ+Ü"Ð#<Ø$ŸN™N×/Ñ/õ$0ó 1ð 1ä1°$¸Ó>‘��VØ˜U V�^Ð,Ð,ä˜$¤	§¡× 6Ñ 6×7Ò7à×5Ñ5°hÀÓK�Ø�yÐ ä˜$¤	§¡× 5Ñ 5×6Ò6à×5Ñ5°g¸tÓJ�Ø�yÐ ä˜$¤	§¡× 4Ñ 4×5Ò5à×5Ñ5°f¸dÓI�Ø�yÐ ä�h¤	§¡× 8Ñ 8×9Ò9à×,Ñ,¨XÓ<¸aÐ?Ð?ô �h¤	§¡× 6Ñ 6×7Ò7Ø×3Ñ3°H¸hØ;?ð 4ó AØBCðDð Dä�h¤	§¡× 5Ñ 5×6Ò6Ø×3Ñ3°G¸XØ;?ð 4ó AØBCðDð Dô ÐAØ—‘×#Ñ#õ$ó %ð 	%r   c                ó¨  € \        \        VP                  R . 4      4      p\        V4       FH  w  rE\	        VR4      '       d   K  \        RT;'       g    RV^,           \        VRR4      3,          4      h	  \        V4      ^ 8„  ;'       d°    \        VR,          P                  \        P                  P                  4      ;'       ds    \        VR,          P                  P                  \        P                  P                  4      ;'       d,    VR,          P                  P                  P                  R.8H  pV'       d5   VP                  4        V'       g   \        RT;'       g    R,          4      hV Uu. uF,  pV P                  ! V P!                  VP                  4      !  NK.  	  ppV'       g   V\"        P$                  .8X  d   . pV P!                  VP                  4      w  ršRp\	        VP                  R	4      '       d#   VP                  P&                  RR . RO8X  d   R
p\"        P(                  ! \+        V4      W–V4      # u upi )r&  rÓ   zt%s arg %d: unknown type '%s' (if you meant to use the old C syntax of giving untyped arguments, it is not supported)zin expressionrD   Ú?rÁ   z=%s: a function with only '(...)' as argument is not correct CNrÇ   Ú	__stdcallrÉ   éýÿÿÿ)r3  r3  r2  )rl   ÚgetattrrÞ   rn   r  r   r$   rÎ   rÓ   r   rÏ   rØ   rÔ   rÕ   ÚpopÚ_as_func_argrÚ   r   r  rÇ   r  Útuple)r–   rS  Úfuncnamer&  r,   ÚargÚellipsisÚargdeclnoderÞ   ÚresultrÇ   Úabis   &&&         r   rR  ÚParser._parse_function_typeÇ  sù  € Ü”g˜hŸm™m¨X°rÓ:Ó;ˆÜ Ö'‰FˆAÜ˜3 ×'Ô'Üð !?ð  ×2Ð2 ?°A¸µEÜ˜s F¨CÓ0ð2õ!2ó 3ð 3ñ (ô �‹K˜!‰O÷ <ð <Ü�v˜b•z—‘¬	¯©×(@Ñ(@ÓA÷<ð <ä�v˜b•z—‘×+Ñ+Ü —‘×5Ñ5ó7÷<ð <ð �2�J�O‰O× Ñ ×&Ñ&¨?Ð*;Ñ;ð 	÷ Ø�J‰JŒLßÜð(Ø+3×+FÐ+F°õHóIð Iñ $*ó+Ù#)�Kð ×!Ò! 4×#;Ñ#;¸K×<LÑ<LÓ#MÔNÙ#)ð 	ð +ç˜D¤U§_¡_Ð$5Ô5ØˆDØ×0Ñ0°·±Ó?‰ˆð ˆÜ�8—=‘= '×*Ò*Ø�}‰}×"Ñ" 2 3Ð'Ò+LÔLØ!�Ü×$Ò$¤U¨4£[°&ÀCÓHÐHùò+s   Å=2Ic                óè   € \        V\        P                  4      '       d"   \        P                  ! VP                  V4      # \        V\        P
                  4      '       d   VP                  4       # V# r   )rÎ   r   rO  rA  Úitemr  r<  r7  s   &&&r   rd  ÚParser._as_func_argê  sQ   € Ü�dœEŸO™O×,Ò,Ü×$Ò$ T§Y¡Y°Ó6Ð6Ü˜œe×3Ñ3×4Ò4Ø×+Ñ+Ó-Ð-àˆKr   c                óH	  €  V P                   V,          #   \         d     Mi ; iTpTP                  pTf>   Te   RT,          pM,T ;P                  ^,          un        RT P                  ,          pR pM)TpT: RT: 2pT P                  P                  TR4      w  ryTfž   TR8X  d   \        P                  ! TR R R 4      pMeTR8X  d   \        P                  ! TR R R 4      pMDTR8X  d/   TR8X  d   \        R4      hT P                  YbP                  4      pM\        R	T: 24      hTe   T P                  XT4       M'TR8X  d!   TP                  e   \        R
T,          4      hTP                  '       g   TP!                  T4       TP                  '       d5   RTP                  9   d$   T P                  RTP                  ,          T4       YpP                   T&   TR8X  d   T# TP"                  f   T# TP$                  e   \        RT,          4      h. p
. p. p. pTP"                   EF†  p\'        TP(                  \*        P,                  P.                  4      '       d>   RP1                  TP(                  P2                  4      R8X  d   T P5                  Yt4       Ku  TP6                  f   RpMT P9                  TP6                  4      pRT n        T P=                  TP(                  RR7      w  ppT P:                  '       d   T P5                  Yt4       \'        T\        P                  4      '       d$   TP>                  '       d   T P5                  Yt4       T
PA                  TP                  ;'       g    R4       TPA                  T4       TPA                  T4       TPA                  T4       EK‰  	  \C        T
4      Tn        \C        T4      Tn"        \C        T4      Tn#        \C        T4      Tn$        TR.\K        T4      ,          8w  dB   \'        T\        P                  4      '       d"   TP>                  '       d   \        T: R24      hT PL                  P                  R4      Tn'        TPP                  '       d#   ^ Tn(        T PR                  PA                  T4       T# )Nz$%sz$%dr[   r  r  r  rÁ   z!Enums cannot be declared with ...zkind = z^enum %s: the '{}' declaration should appear on the first time the enum is mentioned, not laterr;  zanonymous %sz"duplicate declaration of struct %sr   FTr	  z!: using both bitfields and '...;'r¹   )NNrÉ   )*r‘   ÚKeyErrorrD   rŽ   rŒ   r   r   Ú
StructTypeÚ	UnionTyper   Ú_build_enum_typeÚvaluesrT   rÛ   r6   r?  Úforce_the_nameÚdeclsÚfldnamesrÎ   rÓ   r   rÏ   rÔ   r%   rÕ   Ú_make_partialÚbitsizerN  Ú_partial_lengthrÚ   Úpartialr   re  ÚfldtypesÚ
fldbitsizeÚfldqualsr$   r’   r¹   Ú	completedr”   )r–   ÚkindrÓ   rD   rJ  Ú
force_nameÚexplicit_namer  rä   Ú_rx  r}  r~  r  rE   rz  Úfquals   &&&&&            r   r  Ú"Parser._get_struct_union_enum_typeò  sÑ  € ð	Ø×(Ñ(¨Õ.Ð.øÜô 	Ùð	úð ˆ
Ø�y‰yˆð Š<ð Ò%Ø %¨
Õ 2‘à×'Ò'¨1Õ,Õ'Ø %¨×(?Ñ(?Õ ?�Ø‰Bà ˆMÛ!¢4Ð(ˆCØ×&Ñ&×*Ñ*¨3°Ó=‰EˆBàŠ:Ø�xÔÜ×%Ò% m°T¸4ÀÓF‘Ø˜”Ü—_’_ ]°D¸$ÀÓE‘Ø˜”Ø  OÔ3Ü#Ð$GÓHÐHØ×*Ñ*¨=¿+¹+ÓF‘å$²DÐ%:Ó;Ð;ØÒØ—‘˜c 2Ô&øà�vŒ~ $§+¡+Ò"9Ü)ð<Ø>KõLóMð Mð �|�|ˆ|Ø×Ñ˜jÔ)Ø�<�<ˆ<˜C 2§7¡7œNØ�M‰M˜.¨2¯<©<Õ7¸Ô<à&(×Ñ˜dÑ#ð �6Œ>ØˆIð
 �:‰:ÒØˆIà�;‰;Ò"ÜÐ@À4ÕGÓHÐHØˆØˆØˆ
ØˆØ—J•JˆDÜ˜4Ÿ9™9¤i§o¡o×&DÑ&D×EÒEØ—G‘G˜DŸI™IŸO™OÓ,°Ô?ð ×"Ñ" 2Ô.ÙØ�|‰|Ò#Ø‘à×.Ñ.¨t¯|©|Ó<�Ø#(ˆDÔ Ø×2Ñ2°4·9±9ØEIð 3ó K‰KˆD�%à×#×#Ð#Ø×"Ñ" 2Ô.Ü˜$¤× 0Ñ 0×1Ò1°d·l·l°lØ×"Ñ" 2Ô.Ø�O‰O˜DŸI™IŸO˜O¨Ô,Ø�O‰O˜DÔ!Ø×Ñ˜gÔ&Ø�O‰O˜E×"ñ- ô. ˜H“oˆŒÜ˜H“oˆŒÜ˜jÓ)ˆŒÜ˜H“oˆŒØ˜"˜¤ J£Õ/Ô/Ü˜"œe×.Ñ.×/Ò/°B·J·J°JÜ)Û-/ð+2ó 3ð 3à—M‘M×%Ñ% hÓ/ˆŒ	Ø�<�<ˆ<ØˆBŒLØ×Ñ×#Ñ# BÔ'Øˆ	s   ‚ •#¢#c                óÌ   € \        V\        P                  4      '       g   \        V: R 24      hVP	                  4       '       g   V'       g   \        V: R24      hRVn        R# )z cannot be partialz is partial but has no C nameTN)rÎ   r   ÚStructOrUnionr   Ú
has_c_namer6   r|  )r–   r  rJ  s   &&&r   ry  ÚParser._make_partialh  sE   € Ü˜"œe×1Ñ1×2Ò2Ü³bÐ:Ó;Ð;Ø�}‰}�Š§vÜ%Ë"Ð&NÓOÐOØˆŽ
r   c                óB	  € \        V\        P                  P                  4      '       dÒ   VP                  pR V^ ,          u;8:  d   R8:  dE   M MAVP                  R4      p VP                  R 4      '       d   \        V^4      # \        V^
4      # V^ ,          R8X  dO   VR,          R8X  dA   \        V4      ^8X  g   \        V4      ^8X  d!   V^,          R8X  d   \        VR,          4      # \        RV: 24      h\        V\        P                  P                  4      '       d-   VP                  R	8X  d   V P                  VP                   4      # \        V\        P                  P                  4      '       d.   VP                  R
8X  d   V P                  VP                   4      ) # \        V\        P                  P"                  4      '       d9   VP$                  V P&                  9   d   V P&                  VP$                  ,          # \        V\        P                  P"                  4      '       dI   VP$                  R8X  d8   V'       d
   RV n        R# \+        RVP,                  P.                  ,          4      h\        V\        P                  P0                  4      '       EdP   V P                  VP2                  4      pV P                  VP4                  4      pVP                  R	8X  d	   WE,           # VP                  R
8X  d	   WE,
          # VP                  R8X  d	   WE,          # VP                  R8X  d   V P7                  WE4      # VP                  R8X  d   W@P7                  WE4      V,          ,
          # VP                  R8X  d	   WE,          # VP                  R8X  d	   WE,	          # VP                  R8X  d	   WE,          # VP                  R8X  d	   WE,          # VP                  R8X  d	   WE,          # \+        RVP,                  P.                  ,          4      h  \         dh    \        T4      ^8”  dU   TP                  4       R,          R8X  d   \        T^4      u # TP                  4       R,          R8X  d   \        T^4      u #  Mi ; i\        RT: 24      h)rì   Ú9ÚuUlL:r   r$  Nrí   Ú0bzinvalid constant r%  Ú\Ú+rê   Ú__dotdotdotarray__Tra   zT:%d: unsupported '[...]' here, cannot derive the actual array length in this contextr   Ú/Ú%z<<z>>Ú&Ú|Ú^z?:%d: unsupported expression: expected a simple numeric constantrÉ   éþÿÿÿ)rÎ   r   rÏ   ÚConstantrú   rñ   r#   rU   r»   r$   rð   r   Úordr  r  rN  r  r'  rD   r“   r{  r   rQ  r@   ÚBinaryOpÚleftÚrightÚ_c_div)r–   r(  rÄ   rV   r›  rœ  s   &&&   r   rN  ÚParser._parse_constanto  sy  € ô �h¤	§¡× 8Ñ 8×9Ò9Ø—‘ˆAØ�a˜•dÖ!˜c×!Ø—H‘H˜VÓ$�ð
-Ø—|‘| C×(Ò(Ü" 1 a›yÐ(ä" 1 b›zÐ)ð �1•˜”  2¥¨#¤Ü˜“F˜a”K¤C¨£F¨a¤K°A°aµD¸D´LÜ˜1˜R�5“zÐ!åºÐ <Ó=Ð=ä�x¤§¡×!8Ñ!8×9Ò9Ø—‘˜sÔ"Ø×'Ñ'¨¯©Ó6Ð6ä�x¤§¡×!8Ñ!8×9Ò9Ø—‘˜sÔ"Ø×(Ñ(¨¯©Ó7Ð7Ð7ä�x¤§¡×!3Ñ!3×4Ò4Ø—‘ ×!4Ñ!4Ô4Ø×&Ñ& x§}¡}Õ5Ð5ä�x¤§¡×!3Ñ!3×4Ò4Ø—M‘MÐ%9Ô9ß Ø'+�Ô$ÙÜð Eà%Ÿ^™^×0Ñ0õ1ó 2ð 2ô �h¤	§¡× 8Ñ 8×9Ó9Ø×'Ñ'¨¯©Ó6ˆDØ×(Ñ(¨¯©Ó8ˆEØ�{‰{˜cÔ!Ø•|Ð#Ø—‘ Ô#Ø•|Ð#Ø—‘ Ô#Ø•|Ð#Ø—‘ Ô#Ø—{‘{ 4Ó/Ð/Ø—‘ Ô#ØŸk™k¨$Ó6¸Õ>Õ>Ð>Ø—‘ Ô$Ø•}Ð$Ø—‘ Ô$Ø•}Ð$Ø—‘ Ô#Ø•|Ð#Ø—‘ Ô#Ø•|Ð#Ø—‘ Ô#Ø•|Ð#äð 1Ø3;·>±>×3FÑ3FõGó Hð 	Høôu "ô -Ü˜1“v ”zØŸ7™7›9 S�>¨TÔ1Ü#& q¨"£:Ò-ØŸW™W›Y s�^¨tÔ3Ü#& q¨!£9Ò,ùð-úõ  ºÐ <Ó=Ð=s%   Á"P Á9P ÂP ÐARÑ"(RÒRc                ól   € W,          pV^ 8  V^ 8  ,          '       d   W,          ^ 8w  d
   V^,          pV# r  r   )r–   ÚaÚbrj  s   &&& r   r�  ÚParser._c_div¸  s2   € Ø•ˆØ�‰U�q˜1‘u×Ô A¥E¨a¤<Ø�a�KˆFØˆr   c                ó$  € Veô   Rp. p. p^ pVP                    F¦  p\        P                  VP                  4      '       d   RpK,  VP                  e   V P                  VP                  4      pVP                  VP                  4       VP                  V4       V P                  VP                  V4       V^,          pK¨  	  \        V4      p\        V4      p\        P                  ! WV4      pW8n        V# \        P                  ! VRR4      pV# )NFTr   )ÚenumeratorsÚ_r_enum_dotdotdotr(   rD   rú   rN  r   ræ   re  r   ÚEnumTyper|  )	r–   rƒ  rw  r|  r¤  Ú
enumvaluesÚnextenumvaluer  r  s	   &&&      r   rt  ÚParser._build_enum_type¾  sð   € ØÒØˆGØˆKØˆJØˆMØ×)Ô)�Ü$×*Ñ*¨4¯9©9×5Ò5Ø"�GÙØ—:‘:Ò)Ø$(×$8Ñ$8¸¿¹Ó$D�MØ×"Ñ" 4§9¡9Ô-Ø×!Ñ! -Ô0Ø×#Ñ# D§I¡I¨}Ô=Ø Õ"’ñ *ô   Ó,ˆKÜ˜zÓ*ˆJÜ—’ ¸JÓGˆBØ ŒJð ˆ	ô —’ ¨r°2Ó6ˆBØˆ	r   c                óX  € VP                   P                  4        FW  w  pw  r4VP                  R 4      '       d   K!  VP                  R^4      ^ ,          pVR9   g   KC  V P	                  W#RVR7       KY  	  VP
                  P                  4        F  w  rgV P                  Wg4       K  	  R# )zanonymous $enum_$r[   T)r-  rÇ   N)r  r  r  Ú	anonymousr|   )rŒ   rø   r#   r+  rÛ   r“   ræ   )r–   ÚotherrD   r  rÇ   r�  ÚkÚvs   &&      r   ÚincludeÚParser.includeÖ  s�   € Ø!&×!4Ñ!4×!:Ñ!:Ö!<ÑˆD‘+�2Ø�‰Ð2×3Ò3ÙØ—:‘:˜c 1Ó% aÕ(ˆDØÐJÖJØ—‘˜d°¸U�ÖCñ "=ð ×(Ñ(×.Ñ.Ö0‰DˆAØ×Ñ Ö%ó 1r   c                ó  € VP                   P                   P                  pVR .8X  d!   \        P                  ! VP                  4      # VR.8X  dG   V P
                  f   RVP                  ,          V n        \        P                  ! VP                  4      # VR.8X  dG   V P
                  f   RVP                  ,          V n        \        P                  ! VP                  4      # \        RVP                  P                  ,          4      h)rÁ   Ú__dotdotdotint__z'typedef int... %s'Ú__dotdotdotfloat__z'typedef float... %s'ú*:%d: unsupported usage of "..." in typedef)rÓ   rÕ   r   Úunknown_typerD   r•   ÚUnknownIntegerTypeÚUnknownFloatTyper   rQ  r@   )r–   rE   r¦   s   && r   rÖ   ÚParser._get_unknown_typeà  sÑ   € Ø—I‘I—N‘N×(Ñ(ˆ	Ø˜Ð)Ô)Ü×%Ò% d§i¡iÓ0Ð0àÐ+Ð,Ô,Ø×%Ñ%Ò-Ø)>ÀÇÁÕ)J�Ô&Ü×+Ò+¨D¯I©IÓ6Ð6àÐ-Ð.Ô.à×%Ñ%Ò-Ø)@À4Ç9Á9Õ)L�Ô&Ü×)Ò)¨$¯)©)Ó4Ð4äÐCØŸ™Ÿ™õ)ó *ð 	*r   c                óî   € VP                   P                   P                   P                  R .8X  d!   \        P                  ! VP                  4      # \        RVP                  P                  ,          4      h)rÁ   r´  )rÓ   rÕ   r   Úunknown_ptr_typerD   r   rQ  r@   )r–   rE   s   &&r   rÙ   ÚParser._get_unknown_ptr_typeó  sV   € Ø�9‰9�>‰>×Ñ×$Ñ$¨Ð(9Ô9Ü×)Ò)¨$¯)©)Ó4Ð4ÜÐCØŸ™Ÿ™õ)ó *ð 	*r   )
rŽ   rŒ   r�   rÍ   r“   r’   r{  r”   r‘   r•   )FFNF)Fr   r   )NFN)NF)F)!rÝ   Ú
__module__Ú__qualname__Ú__firstlineno__r—   r¬   r³   r£   r    r¼   ræ   rõ   rÊ   r  rÑ   r!  r  rÛ   r8  rÿ   rÚ   rR  rd  r  ry  rN  r�  rt  r¯  rÖ   rÙ   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   rŠ   rŠ   '  sž   ø‡ € ò&ò%$òNòô)ò0=ò~'ò0ò.ò"
+ò1Pòf3ò7ô1ò
ô.ôg%ôR!IòFôtòlôGHòRòò0&ò*÷&*ð *r   rŠ   )é   )4r   r   Úcommontypesr   r   Úerrorr   r   r   r   ÚImportErrorr�   r°   ÚsysÚversion_infoÚthreadÚ_threadÚallocate_lockrž   r   r�   ÚcompileÚDOTALLÚ	MULTILINErb   rc   rN   rm   r¥  rk   r   r   Ú
IGNORECASErù   ri   rh   rj   r4   r   rp   rq   r   r.   r8   rA   rF   rP   rX   ry   rˆ   ÚobjectrŠ   r   r   r   Ú<module>rÐ     sç  ðÝ ß :ß &ðÝ)÷ Ó ðØ
×Ñ˜$ÔÜ ãØ× Ò Ó"€Dòð ,Ð Ø�ZŠZÐ7ØŸ	™	 B§L¡LÕ0ó2€
à�ZŠZð 2àŸ	™	 B§L¡LÕ0ó2€	ð —J’JÐAÀ2Ç<Á<ÓPÐ Ø—*’*Ð=Ó>€Ø—J’JÐ3Ó4Ð Ø—:’:Ð1Ó2Ð Ø�:Š:�iÓ €Ø€Ø—’Ð4°b·m±mÓD€Ø�jŠjÐ2Ó3€Ø�jŠjÐ6Ó7€Ø�:Š:�nÓ%€Ø—:’:ð Oó PÐ à—j’jØ.ó0Ð à—:’:ð (ó )Ð à—Z’ZÐ <Ó=Ð òò(òT0òd
ò;ò$ò3ò@òD%ôPP*ˆVö P*øðC	 ô Þðûð ô ØƒDðús"   ˜G! «+G3 Ç!G0Ç/G0Ç3	H Ç?H 