§
    cÒ³g;i  ã                   óV   — d dl Z d dlZd dlZddlmZ ddlmZ  G d„ de¦  «        ZdZ	dS )é    Né   )Úmodel©ÚVerificationErrorc                   ó8  — e Zd ZdZdZd„ Zd„ Zd„ Zd„ Zd1d„Z	d	„ Z
d2d„Zd„ Zd„ Zd„ Zd„ Zd„ ZeZeZeZd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#	 	 d3d"„Z$d#„ Z%eZ&d4d$„Z'd%„ Z(d&„ Z)d'„ Z*d(„ Z+d5d*„Z,d5d+„Z-d,„ Z.d-„ Z/eZ0d.„ Z1d/„ Z2eZ3d0„ Z4d S )6ÚVGenericEngineÚgFc                 óH   — || _         |j        | _        g | _        i | _        d S ©N)ÚverifierÚffiÚexport_symbolsÚ_struct_pending_verification)Úselfr   s     úN/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/cffi/vengine_gen.pyÚ__init__zVGenericEngine.__init__   s(   € Ø ˆŒØ”<ˆŒØ ˆÔØ,.ˆÔ)Ð)Ð)ó    c                 ó<   — |                      d| j        ¦  «         d S )Nr   )Ú
setdefaultr   )r   Úkwdss     r   Úpatch_extension_kwdsz#VGenericEngine.patch_extension_kwds   s"   € ð 	�ŠÐ(¨$Ô*=Ñ>Ô>Ð>Ð>Ð>r   c                 óÊ   — |D ]_}||z   }|€t           j        }|D ]G}t          j                             ||¦  «        }t          j                             |¦  «        r|c c S ŒHŒ`d S r   )ÚsysÚpathÚosÚjoinÚisfile)r   Úmodule_namer   Úso_suffixesÚ	so_suffixÚbasenameÚdirnameÚfilenames           r   Úfind_modulezVGenericEngine.find_module   s‚   € Ø$ð 	$ð 	$ˆIØ" YÑ.ˆHØˆ|Ý”x�Øð $ð $�Ýœ7Ÿ<š<¨°Ñ:Ô:�Ý”7—>’> (Ñ+Ô+ð $Ø#�O�O�O�O�Oð$ð$ð		$ð 	$r   c                 ó   — d S r   © )r   s    r   Úcollect_typeszVGenericEngine.collect_types%   ó   € Øˆr   Ú c                 ó@   — | j                              |dz   ¦  «         d S )Nú
)Ú_fÚwrite)r   Úwhats     r   Ú_prntzVGenericEngine._prnt(   s    € ØŒ�Š�d˜T‘kÑ"Ô"Ð"Ð"Ð"r   c                 ó*  — | j         } |t          ¦  «          || j        j        ¦  «         |                      d¦  «         t
          j        dk    rAt
          j        dk    rd}nd}| j                             ¦   «         } |d|›|›d�¦  «         d S d S )NÚdeclÚwin32©é   ÚPyInit_Úinitzvoid z(void) { }
)	r/   Úcffimod_headerr   ÚpreambleÚ	_generater   ÚplatformÚversion_infoÚget_module_name)r   ÚprntÚprefixÚmodnames       r   Úwrite_source_to_fz VGenericEngine.write_source_to_f+   s©   € ØŒzˆàˆ�^ÑÔÐàˆˆTŒ]Ô#Ñ$Ô$Ð$ð 	�Š�vÑÔÐõ
 Œ<˜7Ò"Ð"ÝÔ 4Ò'Ð'Ø"��à�Ø”m×3Ò3Ñ5Ô5ˆGØˆDˆD¨F¨F°G°G°GÐ<Ñ=Ô=Ð=Ð=Ð=ð #Ð"r   r   c                 ób  ‡ ‡‡— ‰ j         j        }t          j                             t          j        ‰ j        j        ¦  «        }|                     ||¦  «        Š‰  	                    ‰d¦  «          G ˆˆˆ fd„dt          j        ¦  «        Š ‰d¦  «        }‰  	                    ‰d|¬¦  «         |S )NÚloadingc                   ó0   •— e Zd Z”Z”j        Zg Zˆ fd„ZdS )ú/VGenericEngine.load_library.<locals>.FFILibraryc                 ó   •— ‰j         S r   )Ú	_cffi_dir)r   Ú
FFILibrarys    €r   Ú__dir__z7VGenericEngine.load_library.<locals>.FFILibrary.__dir__T   s   ø€ Ø!Ô+Ð+r   N)Ú__name__Ú
__module__Ú__qualname__Ú_cffi_generic_moduler   Ú	_cffi_ffirF   rH   )rG   Úmoduler   s   €€€r   rG   rD   P   s@   ø€ € € € € Ø#)Ð ØœˆIØˆIð,ð ,ð ,ð ,ð ,ð ,ð ,r   rG   r)   Úloaded)Úlibrary)r   Ú_backendr   r   r   Úcurdirr   ÚmodulefilenameÚload_libraryÚ_loadÚtypesÚ
ModuleType)r   ÚflagsÚbackendr#   rP   rG   rN   s   `    @@r   rT   zVGenericEngine.load_libraryA   sÅ   øøø€ à”(Ô#ˆå”7—<’<¥¤	¨4¬=Ô+GÑHÔHˆØ×%Ò% h°Ñ6Ô6ˆð 	�
Š
�6˜9Ñ%Ô%Ð%ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,�Ô)ñ 	,ô 	,ð 	,ð �*˜R‘.”.ˆð 	�
Š
�6˜8¨Wˆ
Ñ5Ô5Ð5Øˆr   c                 óˆ   — d„ | j         j        j                             ¦   «         D ¦   «         }|                     ¦   «          |S )Nc                 ó"   — g | ]\  }\  }}||f‘ŒS r&   r&   )Ú.0ÚkeyÚtpÚquals       r   ú
<listcomp>z4VGenericEngine._get_declarations.<locals>.<listcomp>^   s7   € ð Hð Hð HÑ.˜c¡: B¨��Rˆyð Hð Hð Hr   )r   Ú_parserÚ_declarationsÚitemsÚsort)r   Úlsts     r   Ú_get_declarationsz VGenericEngine._get_declarations]   sK   € ðHð HØ $¤Ô 0Ô >× DÒ DÑ FÔ FðHñ Hô Hˆà�Š‰
Œ
ˆ
Øˆ
r   c                 óF  — |                       ¦   «         D ]‹\  }}|                     dd¦  «        \  }}	 t          | d|›d|›�¦  «        }n # t          $ r t	          d|z  ¦  «        ‚w xY w	  |||¦  «         Œd# t
          $ r}t          j        ||¦  «         ‚ d }~ww xY wd S )Nú r   Ú_generate_gen_Ú_znot implemented in verify(): %r)rf   ÚsplitÚgetattrÚAttributeErrorr   Ú	Exceptionr   Úattach_exception_info)r   Ú	step_nameÚnamer^   ÚkindÚrealnameÚmethodÚes           r   r9   zVGenericEngine._generatec   só   € Ø×.Ò.Ñ0Ô0ð 	ð 	‰HˆD�"Ø!ŸZšZ¨¨QÑ/Ô/‰NˆD�(ð>Ý   ÀÀÀØ@IÀ	ð(Kñ Lô L��øå!ð >ð >ð >Ý'Ø5¸Ñ<ñ>ô >ð >ð>øøøðØ��r˜8Ñ$Ô$Ð$Ð$øÝð ð ð ÝÔ+¨A¨tÑ4Ô4Ð4Øøøøøðøøøð	ð 	s#   ´AÁA(Á,A9Á9
BÂBÂBc                 ó   — |                       ¦   «         D ]h\  }}|                     dd¦  «        \  }}t          | d|›d|›�¦  «        }	  ||||fi |¤Ž ŒA# t          $ r}	t	          j        |	|¦  «         ‚ d }	~	ww xY wd S )Nrh   r   rj   Ú_gen_)rf   rk   rl   rn   r   ro   )
r   rN   rp   r   rq   r^   rr   rs   rt   ru   s
             r   rU   zVGenericEngine._loadr   s·   € Ø×.Ò.Ñ0Ô0ð 	ð 	‰HˆD�"Ø!ŸZšZ¨¨QÑ/Ô/‰NˆD�(Ý˜T˜T°9°9°9¸d¸dÐ#CÑDÔDˆFðØ��r˜8 VÐ4Ð4¨tÐ4Ð4Ð4Ð4øÝð ð ð ÝÔ+¨A¨tÑ4Ô4Ð4Øøøøøðøøøð	ð 	s   Á
AÁ
A;Á A6Á6A;c                 ó   — d S r   r&   ©r   r^   rq   s      r   Ú_generate_nothingz VGenericEngine._generate_nothing|   r(   r   c                 ó   — d S r   r&   ©r   r^   rq   rN   r   s        r   Ú_loaded_noopzVGenericEngine._loaded_noop   r(   r   c           	      ód  ‡— t          |t          j        ¦  «        sJ ‚|j        r|                      d||¦  «         d S | j        }t          |j        ¦  «        }g }t          |j        ¦  «        D ]=\  }}d}t          |t          j	        ¦  «        rd}| 
                    d||fz  ¦  «         Œ>d|z  Šˆfd„t          |j        |¦  «        D ¦   «         }	|j        }
t          |
t          j	        ¦  «        r6|	                     d|
                     d‰¦  «        ¦  «         t          j        }
d	                     |	¦  «        pd
}	d|z  }| j         
                    |¦  «         |j        r|j        dz   }nd}d|›|›d|	›d�}d|z  Š ||
                     |‰¦  «        ¦  «          |d¦  «         t          |j        t          j	        ¦  «        rd}n$t          |j        t          j        ¦  «        sd}nd} |d|›|›dd	                     |¦  «        ›d�¦  «          |d¦  «          |¦   «          d S )NFr)   Ú*z%sx%dzargument of %sc                 óH   •— g | ]\  }}|                      d |z  ‰¦  «        ‘ŒS )z %s)Ú
get_c_name)r\   ÚtypeÚargÚcontexts      €r   r`   z>VGenericEngine._generate_gen_function_decl.<locals>.<listcomp>�   s?   ø€ ð <ð <ð <Ù �t˜Sð —?’? 5¨3¡;°Ñ8Ô8ð <ð <ð <r   r   z *rú, Úvoidú
_cffi_f_%srh   ú(ú)zresult of %sÚ{z*r = zreturn ú  ú);Ú})Ú
isinstancer   ÚFunctionPtrTypeÚellipsisÚ_generate_gen_constr/   ÚlenÚargsÚ	enumerateÚStructOrUnionÚappendÚzipÚresultÚinsertr�   Ú	void_typer   r   ÚabiÚVoidType)r   r^   rq   r=   ÚnumargsÚargnamesÚir‚   ÚindirectionÚarglistÚtpresultÚwrappernamer›   ÚfuncdeclÚresult_coder„   s                  @r   Ú_generate_gen_function_declz*VGenericEngine._generate_gen_function_declŒ   sl  ø€ Ý˜"�eÔ3Ñ4Ô4Ð4Ð4Ð4ØŒ;ð 	ð ×$Ò$ U¨D°"Ñ5Ô5Ð5ØˆFØŒzˆÝ�b”g‘,”,ˆØˆÝ  ¤Ñ)Ô)ð 	8ð 	8‰GˆAˆtØˆKÝ˜$¥Ô 3Ñ4Ô4ð "Ø!�Ø�OŠO˜G {°AÐ&6Ñ6Ñ7Ô7Ð7Ð7Ø" TÑ)ˆð<ð <ð <ð <Ý$'¨¬°Ñ$:Ô$:ð<ñ <ô <ˆà”9ˆÝ�h¥Ô 3Ñ4Ô4ð 	'Ø�NŠN˜1˜h×1Ò1°%¸ÑAÔAÑBÔBÐBÝ”ˆHØ—)’)˜GÑ$Ô$Ð.¨ˆØ" TÑ)ˆØÔ×"Ò" ;Ñ/Ô/Ð/ØŒ6ð 	Ø”&˜3‘,ˆCˆCàˆCøØ"% # { { {°G°G°GÐ<ˆØ  4Ñ'ˆØˆˆX× Ò  ¨7Ñ3Ô3Ñ4Ô4Ð4ØˆˆS‰	Œ	ˆ	å�b”i¥Ô!4Ñ5Ô5ð 	Ø!ˆKˆKÝ˜BœI¥u¤~Ñ6Ô6ð 	Ø#ˆKˆKàˆKØˆˆ˜k˜k¨4¨4¨4°·²¸8Ñ1DÔ1DÐ1DÐ1DÐEÑFÔFÐFØˆˆS‰	Œ	ˆ	Øˆ‰Œˆˆˆr   c                 ó�  — t          |t          j        ¦  «        sJ ‚|j        r|                      d|||¦  «        }�nÐg }|}t          d„ |j        D ¦   «         ¦  «        s t          |j        t          j        ¦  «        �r9g }t          |j        ¦  «        D ]_\  }	}
t          |
t          j        ¦  «        r+t          j
        |
¦  «        }
|                     |	|
f¦  «         |                     |
¦  «         Œ`|j        }t          |t          j        ¦  «        rz|j        €%t          d|                     ¦   «         ›d�¦  «        ‚t          j
        |¦  «        }|                     d|¦  «         |                     dd|f¦  «         t          j        }t          j        t#          |¦  «        ||j        ¦  «        }| j                             |¦  «        }d|z  }|                     ||¦  «        }|D ]\  }	}
|                      ||	|
|¦  «        }Œt-          |||¦  «         t/          |¦  «        j                             |¦  «         d S )NFc              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S r   )rŽ   r   r•   )r\   Útyps     r   ú	<genexpr>z6VGenericEngine._loaded_gen_function.<locals>.<genexpr>Â   s/   è è € ÐLÐL¸S•J˜s¥EÔ$7Ñ8Ô8ÐLÐLÐLÐLÐLÐLr   ú'z'' is used as result type, but is opaquer   r˜   r‡   )rŽ   r   r�   r�   Ú_load_constantÚanyr“   r˜   r•   r”   ÚPointerTyper–   ÚfldtypesÚ	TypeErrorÚ_get_c_namer™   rš   Útupler   Ú_get_cached_btypeÚload_functionÚ_make_struct_wrapperÚsetattrr‚   rF   )r   r^   rq   rN   rP   ÚnewfunctionÚindirectionsÚbase_tpÚindirect_argsrŸ   r©   Úindirect_resultÚBFuncr£   s                 r   Ú_loaded_gen_functionz#VGenericEngine._loaded_gen_function»   sa  € Ý˜"�eÔ3Ñ4Ô4Ð4Ð4Ð4ØŒ;ð 	AØ×-Ò-¨e°R¸¸vÑFÔFˆK‰KàˆLØˆGÝÐLÐLÀBÄGÐLÑLÔLÑLÔLð IÝ! "¤)­UÔ-@ÑAÔAñIà "�Ý'¨¬Ñ0Ô0ð .ð .‘F�A�sÝ! #¥uÔ':Ñ;Ô;ð 6Ý#Ô/°Ñ4Ô4˜Ø$×+Ò+¨Q°¨HÑ5Ô5Ð5Ø!×(Ò(¨Ñ-Ô-Ð-Ð-Ø"$¤)�Ý˜o­uÔ/BÑCÔCð 6Ø&Ô/Ð7Ý'˜ià,;×,GÒ,GÑ,IÔ,IÐ,IÐ,Ið)Lñ Mô Mð Mõ ',Ô&7¸Ñ&HÔ&H�OØ!×(Ò(¨¨OÑ<Ô<Ð<Ø ×'Ò'¨¨H°oÐ+FÑGÔGÐGÝ&+¤o�OÝÔ*­5°Ñ+?Ô+?Ø+:¸B¼KñIô I�à”H×.Ò.¨rÑ2Ô2ˆEØ&¨Ñ-ˆKØ ×.Ò.¨u°kÑBÔBˆKØ&ð Að A‘��3Ø"×7Ò7¸ÀQÈØ8?ñAô A��å�˜˜{Ñ+Ô+Ð+ÝˆW‰ŒÔ×&Ò& tÑ,Ô,Ð,Ð,Ð,r   c                 ó¤   ‡‡‡‡‡— | j         j        Š| j                              |¦  «        Š‰dk    r| j         Šˆˆˆfd„}nˆˆˆˆfd„}||_        |S )Nr˜   c                  óP   •— ‰                      ‰¦  «        } ‰|g| ¢R Ž  |d         S ©Nr   )Únew)r“   ÚresÚBTyper   Úoldfuncs     €€€r   Únewfuncz4VGenericEngine._make_struct_wrapper.<locals>.newfuncä   s3   ø€ Ø—g’g˜e‘n”n�Ø�˜Ð#˜dÐ#Ð#Ð#Ð#Ø˜1”v�r   c                  óz   •— | d ‰…         ‰                      ‰| ‰         ¦  «        fz   | ‰dz   d …         z   }  ‰| Ž S )Nr   )Únewp)r“   rÃ   rY   rŸ   rÄ   s    €€€€r   rÅ   z4VGenericEngine._make_struct_wrapper.<locals>.newfuncé   sG   ø€ Ø˜B˜Q˜B”x 7§<¢<°°t¸A´wÑ#?Ô#?Ð"AÑAÀDÈÈ1ÉÈÈÄJÑN�Ø�w �~Ð%r   )r   rQ   r³   Ú_cffi_base_type)	r   rÄ   rŸ   r^   r¹   rÅ   rÃ   rY   r   s	    ``   @@@r   rµ   z#VGenericEngine._make_struct_wrapperß   s•   øøøøø€ Ø”(Ô#ˆØ”×*Ò*¨2Ñ.Ô.ˆØ�Š=ˆ=Ø”(ˆCðð ð ð ð ð ð ð ð
&ð &ð &ð &ð &ð &ð &ð &ð #*ˆÔØˆr   c                 óN   — ||j         k    sJ ‚|                      |d|¦  «         d S ©NÚstruct©rq   Ú_generate_struct_or_union_declry   s      r   Ú_generate_gen_struct_declz(VGenericEngine._generate_gen_struct_declò   s/   € Ø�r”wŠˆˆˆØ×+Ò+¨B°¸$Ñ?Ô?Ð?Ð?Ð?r   c                 ó6   — |                       |d||¦  «         d S rÊ   ©Ú_loading_struct_or_union©r   r^   rq   rN   s       r   Ú_loading_gen_structz"VGenericEngine._loading_gen_structö   s"   € Ø×%Ò% b¨(°D¸&ÑAÔAÐAÐAÐAr   c                 ó0   — |                       |¦  «         d S r   ©Ú_loaded_struct_or_unionr|   s        r   Ú_loaded_gen_structz!VGenericEngine._loaded_gen_structù   ó   € Ø×$Ò$ RÑ(Ô(Ð(Ð(Ð(r   c                 óN   — ||j         k    sJ ‚|                      |d|¦  «         d S ©NÚunionrÌ   ry   s      r   Ú_generate_gen_union_declz'VGenericEngine._generate_gen_union_declü   s/   € Ø�r”wŠˆˆˆØ×+Ò+¨B°¸Ñ>Ô>Ð>Ð>Ð>r   c                 ó6   — |                       |d||¦  «         d S rÚ   rÐ   rÒ   s       r   Ú_loading_gen_unionz!VGenericEngine._loading_gen_union   s"   € Ø×%Ò% b¨'°4¸Ñ@Ô@Ð@Ð@Ð@r   c                 ó0   — |                       |¦  «         d S r   rÕ   r|   s        r   Ú_loaded_gen_unionz VGenericEngine._loaded_gen_union  rØ   r   c           	      óì  — |j         €d S d|›d|›�}d|›d|›�}|›d|›�                     ¦   «         }| j        } |d|›d|›d�¦  «          |d¦  «          |d	¦  «          |d
¦  «         |                     ¦   «         D ]¨\  }}	}
}t	          |	t
          j        ¦  «        r|	                     ¦   «         s|
dk    r |d|z  ¦  «         ŒJ	  |d|	                     dd|z  |¬¦  «        ›d|›d�¦  «         Œw# t          $ r%} |dt          |¦  «        z  ¦  «         Y d }~Œ¡d }~ww xY w |d¦  «         | j                             |¦  «          |d|›d�¦  «          |d¦  «          |d|z  ¦  «          |d¦  «          |d|z  ¦  «          |d¦  «         |                     ¦   «         D ]t\  }}	}
}|
dk    rŒ |d|›d|›d�¦  «         t	          |	t
          j        ¦  «        r(|	j        €! |d|	                     ¦   «         z  ¦  «         Œb |d|›d |›d�¦  «         Œu |d!¦  «          |d"¦  «          |d#¦  «          |d$¦  «          |d%|›d&�¦  «          |d¦  «          |¦   «          d S )'NÚ_cffi_check_rj   Ú_cffi_layout_rh   zstatic void rˆ   z *p)rŠ   z8  /* only to generate compile-time warnings or errors */z
  (void)p;r   z  (void)((p->%s) << 1);z  { z*tmpzfield %r)Úqualsz = &p->z; (void)tmp; }z
  /* %s */r�   z	intptr_t z(intptr_t i)z,  struct _cffi_aligncheck { char x; %s y; };z  static intptr_t nums[] = {z    sizeof(%s),z)    offsetof(struct _cffi_aligncheck, y),z    offsetof(r…   z),z    0,  /* %s */z    sizeof(((z *)0)->z    -1z  };z  return nums[i];z3  /* the next line is not executed, but compiled */r‹   z(0);)ÚfldnamesÚstripr/   Ú
enumfieldsrŽ   r   ÚPrimitiveTypeÚis_integer_typer�   r   Ústrr   r–   Ú	ArrayTypeÚlengthr±   )r   r^   r>   rq   ÚcheckfuncnameÚlayoutfuncnameÚcnamer=   ÚfnameÚftypeÚfbitsizeÚfqualru   s                r   rÍ   z-VGenericEngine._generate_struct_or_union_decl  sd  € ØŒ;ÐØˆFð à/5¨v¨v°t°tÐ<ˆˆØ17°°¸¸Ð>ˆØ"˜F˜F D DÐ)×0Ò0Ñ2Ô2ˆàŒzˆØˆˆ¨¨¨°u°u°uÐ=Ñ>Ô>Ð>ØˆˆS‰	Œ	ˆ	ØˆÐGÑHÔHÐHØˆˆ\ÑÔÐØ-/¯]ª]©_¬_ð 	0ð 	0Ñ)ˆE�5˜( EÝ˜5¥%Ô"5Ñ6Ô6ð 0Ø×)Ò)Ñ+Ô+ð0Ø08¸A²°à�Ð.°Ñ6Ñ7Ô7Ð7Ð7ð0Ø�D�DØ×(Ò(¨°¸EÑ1AÈÐ(ÑOÔOÐOÐOØ˜˜ðñ  ô  ð  ð  øõ )ð 0ð 0ð 0Ø�D˜­¨A©¬Ñ.Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/øøøøð0øøøàˆˆS‰	Œ	ˆ	ØÔ×"Ò" >Ñ2Ô2Ð2Øˆˆ¨.¨.¨.Ð:Ñ;Ô;Ð;ØˆˆS‰	Œ	ˆ	ØˆÐ;¸eÑCÑDÔDÐDØˆÐ+Ñ,Ô,Ð,ØˆÐ Ñ&Ñ'Ô'Ð'ØˆÐ8Ñ9Ô9Ð9Ø-/¯]ª]©_¬_ð 	Dð 	DÑ)ˆE�5˜( EØ˜1Š}ˆ}ØØˆDˆD¨E¨E¨E°5°5°5Ð9Ñ:Ô:Ð:Ý˜%¥¤Ñ1Ô1ð D°e´lÐ6JØ�Ð'¨%×*;Ò*;Ñ*=Ô*=Ñ=Ñ>Ô>Ð>Ð>à��°U°U°U¸E¸E¸EÐBÑCÔCÐCÐCØˆˆX‰ŒˆØˆˆV‰ŒˆØˆÐ Ñ!Ô!Ð!ØˆÐBÑCÔCÐCØˆˆ˜=˜=˜=Ð*Ñ+Ô+Ð+ØˆˆS‰	Œ	ˆ	Øˆ‰Œˆˆˆs   Ã+C8Ã8
D'ÄD"Ä"D'c                 óŒ  — |j         €d S d|›d|›�}| j                             d¦  «        d         }|                     ||¦  «        }g }d}		  ||	¦  «        }
|
dk     rn|                     |
¦  «         |	dz  }	Œ-t          |t          j        ¦  «        r‹|j        r„|d         }|d         }|dd d…         }|dd d…         }| 	                    ¦   «          t          |¦  «        t          |¦  «        cxk    rt          |j         ¦  «        k    sn J ‚||||f|_        d S |›d	|›�                     ¦   «         }||f| j        |<   d S )
Nrã   rj   zintptr_t(*)(intptr_t)r   Tr   é   r4   rh   )rå   r   Ú_typeof_lockedr´   r–   rŽ   r   r•   ÚpartialÚforce_flattenr’   Úfixedlayoutræ   r   )r   r^   r>   rq   rN   rî   r¼   ÚfunctionÚlayoutÚnumÚxÚ	totalsizeÚtotalalignmentÚfieldofsÚ	fieldsizerï   s                   r   rÑ   z'VGenericEngine._loading_struct_or_union7  sƒ  € ØŒ;ÐØˆFð à17°°¸¸Ð>ˆà”×'Ò'Ð(?Ñ@Ô@ÀÔCˆØ×'Ò'¨¨~Ñ>Ô>ˆØˆØˆð	Ø�˜‘”ˆAØ�1Šuˆu�eØ�MŠM˜!ÑÔÐØ�1‰HˆCð		õ
 �b�%Ô-Ñ.Ô.ð 	B°2´:ð 	Bð ˜qœ	ˆIØ# AœYˆNØ˜a˜d ˜d”|ˆHØ˜q˜t !˜tœˆIØ×ÒÑÔÐÝ�x‘=”=¥C¨	¡N¤NÐFÐFÒFÐFµc¸"¼+Ñ6FÔ6FÒFÐFÐFÐFÐFÐFØ% y°)¸^ÐKˆBŒNˆNˆNà &  ¨¨Ð-×4Ò4Ñ6Ô6ˆEØ4:¸E°MˆDÔ-¨bÑ1Ð1Ð1r   c                 óæ  — |j         €d S | j                             |¦  «         || j        v �rAd„ }| j        }|                     |¦  «        }| j                             |¦  «        \  }} ||d         |                     |¦  «        d¦  «          ||d         |                     |¦  «        d¦  «         d}|                     ¦   «         D ]�\  }}	}
}|
dk    rŒ |||         |                     ||¦  «        d|›�¦  «         ||dz            dk    rA|                     |	¦  «        } |||dz            |                     |¦  «        d|›�¦  «         |dz  }ŒŽ|t          |¦  «        k    sJ ‚d S d S )	Nc                 ó<   — | |k    rt          d||| fz  ¦  «        ‚d S )Nz'%s (we have %d, but C compiler says %d)r   )Ú	realvalueÚexpectedvalueÚmsgs      r   Úcheckz5VGenericEngine._loaded_struct_or_union.<locals>.checkZ  s9   € Ø Ò-Ð-Ý+ØAØ ¨yÐ9ñ:ñ;ô ;ð ;ð .Ð-r   r   zwrong total sizer   zwrong total alignmentrõ   zwrong offset for field zwrong size for field )
rå   r   r³   r   ÚpopÚsizeofÚalignofrç   Úoffsetofr’   )r   r^   r  r   ÚBStructrû   rï   rŸ   rð   rñ   rò   ró   ÚBFields                r   rÖ   z&VGenericEngine._loaded_struct_or_unionS  sº  € ØŒ;ÐØˆFØŒ×"Ò" 2Ñ&Ô&Ð&à�Ô2Ð2Ñ2ð;ð ;ð ;ð
 ”(ˆCØ×+Ò+¨BÑ/Ô/ˆGØ Ô=×AÒAÀ"ÑEÔE‰MˆF�EØˆE�&˜”)˜SŸZšZ¨Ñ0Ô0Ð2DÑEÔEÐEØˆE�&˜”)˜SŸ[š[¨Ñ1Ô1Ð3JÑKÔKÐKØˆAØ13·²±´ð 	ð 	Ñ-��u˜h¨Ø˜q’=�=ØØ��f˜Q”i §¢¨g°uÑ!=Ô!=Ð!=Ø5:°UÐ<ñ>ô >ð >à˜!˜A™#”; !Ò#Ð#Ø ×2Ò2°5Ñ9Ô9�FØ�E˜&  1¡œ+ s§z¢z°&Ñ'9Ô'9Ð'9Ø7<°uÐ>ñ@ô @ð @à�Q‘��Ø�˜F™œÒ#Ð#Ð#Ð#ð/ 3Ð2ð. $Ð#r   c                 óš   — t          |t          j        ¦  «        r|                      ||d¦  «         d S |                      |d|¦  «         d S ©Nr)   )rŽ   r   ÚEnumTypeÚ_generate_gen_enum_declrÍ   ry   s      r   Ú_generate_gen_anonymous_declz+VGenericEngine._generate_gen_anonymous_declu  sR   € Ý�b�%œ.Ñ)Ô)ð 	>Ø×(Ò(¨¨T°2Ñ6Ô6Ð6Ð6Ð6à×/Ò/°°B¸Ñ=Ô=Ð=Ð=Ð=r   c                 óž   — t          |t          j        ¦  «        r|                      |||d¦  «         d S |                      |d||¦  «         d S r  )rŽ   r   r  Ú_loading_gen_enumrÑ   rÒ   s       r   Ú_loading_gen_anonymousz%VGenericEngine._loading_gen_anonymous{  sW   € Ý�b�%œ.Ñ)Ô)ð 	@Ø×"Ò" 2 t¨V°RÑ8Ô8Ð8Ð8Ð8à×)Ò)¨"¨b°$¸Ñ?Ô?Ð?Ð?Ð?r   c                 óˆ   — t          |t          j        ¦  «        r | j        |||fi |¤Ž d S |                      |¦  «         d S r   )rŽ   r   r  Ú_loaded_gen_enumrÖ   r|   s        r   Ú_loaded_gen_anonymousz$VGenericEngine._loaded_gen_anonymous�  sU   € Ý�b�%œ.Ñ)Ô)ð 	-Ø!ˆDÔ! " d¨FÐ;Ð;°dÐ;Ð;Ð;Ð;Ð;à×(Ò(¨Ñ,Ô,Ð,Ð,Ð,r   NÚconstc                 ó¸  — | j         }d|›d|›�}| j                             |¦  «         |�R|sJ ‚|dk    sJ ‚ |d|z  ¦  «          |d¦  «         |                      ||¦  «          |d¦  «          |d¦  «         nÒ|rK|dk    sJ ‚ |d|z  ¦  «          |d¦  «          |d	|›d
�¦  «          |d|›d�¦  «          |d¦  «         n…|€J ‚|�J ‚|dk    rd}nd}d}	|dk    rt	          |t
          j        ¦  «        rd}	d} ||                     d|	›|›d�|¦  «        ¦  «          |d¦  «          |d|›|›d
�¦  «          |d¦  «          |¦   «          d S )NÚ_cffi_rj   r  úint %s(char *out_error)rŠ   ú  return 0;r�   zint %s(long long *out_value)z  *out_value = (long long)(rŒ   z
  return (z) <= 0;Úvarú&r)   zconst *rh   z(void))r/   r   r–   Ú_check_int_constant_valuerŽ   r   r•   r�   )
r   Úis_intrq   r^   ÚcategoryÚcheck_valuer=   ÚfuncnameÚ	ampersandÚextras
             r   r‘   z"VGenericEngine._generate_gen_constŠ  sð  € àŒzˆˆØ$, H H¨d¨dÐ3ˆØÔ×"Ò" 8Ñ,Ô,Ð,ØÐ"ØˆMˆMˆMØ˜wÒ&Ð&Ð&Ð&ØˆDÐ*¨XÑ5Ñ6Ô6Ð6ØˆD�‰IŒIˆIØ×*Ò*¨4°Ñ=Ô=Ð=ØˆD�ÑÔÐØˆD�‰IŒIˆIˆIØð 	Ø˜wÒ&Ð&Ð&Ð&ØˆDÐ/°(Ñ:Ñ;Ô;Ð;ØˆD�‰IŒIˆIØˆDˆD°d°d°dÐ<Ñ=Ô=Ð=ØˆDˆD¨$¨$¨$Ð0Ñ1Ô1Ð1ØˆD�‰IŒIˆIˆIà�>�>�>ØÐ&Ð&Ð&Ø˜5Ò Ð Ø�	�	à�	ØˆEØ˜7Ò"Ð"¥z°"µeÔ6IÑ'JÔ'JÐ"Ø!�Ø�	ØˆD�—’�°°°x°x°xÐ@À$ÑGÔGÑHÔHÐHØˆD�‰IŒIˆIØˆDˆD y y°$°$°$Ð7Ñ8Ô8Ð8ØˆD�‰IŒIˆIØˆ‰Œˆˆˆr   c                 ó�   — t          |t          j        ¦  «        o|                     ¦   «         }|                      |||¦  «         d S r   )rŽ   r   rè   ré   r‘   )r   r^   rq   r!  s       r   Ú_generate_gen_constant_declz*VGenericEngine._generate_gen_constant_decl¯  sC   € Ý˜B¥Ô 3Ñ4Ô4ÐM¸×9KÒ9KÑ9MÔ9MˆØ× Ò  ¨¨rÑ2Ô2Ð2Ð2Ð2r   c                 óB  — d|z  }|�|sJ ‚|                       ||¦  «         |}�ny|rÜ| j                             d¦  «        d         }| j                             d¦  «        d         }	|                     |	|¦  «        }
| j                             |¦  «        } |
|¦  «        }t          |d         ¦  «        }|dk     rE|sC| j                             d¦  «        d         }|dd| j                             |¦  «        z  z  z  }n›|�J ‚d}t          |t          j	        ¦  «        rd	|z   }| j                             | 
                    ||¦  «        ¦  «        d         }	|                     |	|¦  «        }
 |
¦   «         }t          |t          j	        ¦  «        r|d         }|S )
Nz_cffi_const_%sz
long long*r   zint(*)(long long*)z	long longr   é   z	(*)(void)r   )Ú_load_known_int_constantr   rö   r´   rÁ   Úintr	  rŽ   r   r•   r�   )r   r!  r^   rq   rN   r#  r$  ÚvaluerÃ   r¼   rú   ÚpÚnegativeÚ	BLongLongÚfntypeextras                  r   r¬   zVGenericEngine._load_constantµ  sž  € Ø# dÑ*ˆØÐ"ØˆMˆMˆMØ×)Ò)¨&°(Ñ;Ô;Ð;ØˆE‰EØð 	!Ø”H×+Ò+¨LÑ9Ô9¸!Ô<ˆEØ”H×+Ò+Ð,@ÑAÔAÀ!ÔDˆEØ×+Ò+¨E°8Ñ<Ô<ˆHØ”—’˜UÑ#Ô#ˆAØ�x ‘{”{ˆHÝ˜˜!œ‘I”IˆEØ�qŠyˆy ˆyØ œH×3Ò3°KÑ@Ô@ÀÔC�	Ø˜!  $¤(§/¢/°)Ñ"<Ô"<Ñ <Ñ=Ñ>�øàÐ&Ð&Ð&Ø%ˆKÝ˜"�eÔ1Ñ2Ô2ð 0Ø! KÑ/�Ø”H×+Ò+¨B¯MªM¸+ÀtÑ,LÔ,LÑMÔMÈaÔPˆEØ×+Ò+¨E°8Ñ<Ô<ˆHØ�H‘J”JˆEÝ˜"�eÔ1Ñ2Ô2ð !Ø˜aœ�Øˆr   c                 ó  — t          |t          j        ¦  «        o|                     ¦   «         }|                      ||||¦  «        }t          |||¦  «         t          |¦  «        j                             |¦  «         d S r   )	rŽ   r   rè   ré   r¬   r¶   r‚   rF   r–   )r   r^   rq   rN   rP   r!  r-  s          r   Ú_loaded_gen_constantz#VGenericEngine._loaded_gen_constantÑ  ss   € Ý˜B¥Ô 3Ñ4Ô4ÐM¸×9KÒ9KÑ9MÔ9MˆØ×#Ò# F¨B°°fÑ=Ô=ˆÝ�˜˜uÑ%Ô%Ð%ÝˆW‰ŒÔ×&Ò& tÑ,Ô,Ð,Ð,Ð,r   c                 óX  — | j         }|dk    r |d|||fz  ¦  «         n |d|||fz  ¦  «          |d¦  «          |d|z  ¦  «          |d|z  ¦  «          |d¦  «          |d|z  ¦  «          |d	¦  «          |d
|d d…         |fz  ¦  «          |d¦  «          |d¦  «         d S )Nr   z&  if ((%s) > 0 || (long)(%s) != %dL) {z1  if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {z    char buf[64];z    if ((%s) <= 0)z)        sprintf(buf, "%%ld", (long)(%s));z    elsez2        sprintf(buf, "%%lu", (unsigned long)(%s));z:    sprintf(out_error, "%s has the real value %s, not %s",z            "%s", buf, "%d");éd   z    return -1;z  })r/   )r   rq   r-  r=   s       r   r   z(VGenericEngine._check_int_constant_valueÚ  s,  € ØŒzˆØ�AŠ:ˆ:ØˆDÐ9Ø�d˜Eð=#ñ #ñ $ô $ð $ð $ð ˆDÐDØ�d˜EðH#ñ #ñ $ô $ð $àˆÐ Ñ!Ô!Ð!ØˆÐ! DÑ(Ñ)Ô)Ð)ØˆÐ8¸4Ñ?Ñ@Ô@Ð@ØˆˆZÑÔÐØˆÐAØññ 	ô 	ð 	àˆÐIÑJÔJÐJØˆÐ,°°T°c°T´
¸EÐ/BÑBÑCÔCÐCØˆÐÑÔÐØˆˆU‰Œˆˆˆr   c                 ó˜  — | j                              d¦  «        d         }| j                              d¦  «        d         }|                     ||¦  «        }| j                              |d¦  «        } ||¦  «        dk     rI| j                              |¦  «        }t
          j        dk    rt          |d¦  «        }t          |¦  «        ‚d S )Nzchar[]r   zint(*)(char*)é   r3   zutf-8)	r   rö   r´   rÁ   Ústringr   r;   rê   r   )r   rN   r$  rÃ   r¼   rú   r.  Úerrors           r   r+  z'VGenericEngine._load_known_int_constantí  s¶   € Ø”×'Ò'¨Ñ1Ô1°!Ô4ˆØ”×'Ò'¨Ñ8Ô8¸Ô;ˆØ×'Ò'¨¨xÑ8Ô8ˆØŒH�LŠL˜ Ñ$Ô$ˆØˆ8�A‰;Œ;˜Š?ˆ?Ø”H—O’O AÑ&Ô&ˆEÝÔ 4Ò'Ð'Ý˜E 7Ñ+Ô+�Ý# EÑ*Ô*Ð*ð	 ˆ?r   c                 ó>   — |                      dd¦  «        }d|›d|›�S )Nú$Ú___D_Ú_cffi_e_rj   )Úreplace)r   r>   rq   s      r   Ú_enum_funcnamezVGenericEngine._enum_funcnameø  s(   € à�|Š|˜C Ñ)Ô)ˆˆØ"( & &¨$¨$Ð/Ð/r   Úenumc                 ó¤  — |j         r"|j        D ]}|                      d|¦  «         Œd S |                      ||¦  «        }| j                             |¦  «         | j        } |d|z  ¦  «          |d¦  «         t          |j        |j        ¦  «        D ]\  }}|  	                    ||¦  «         Œ |d¦  «          |d¦  «          |¦   «          d S )NTr  rŠ   r  r�   )
r÷   Úenumeratorsr‘   r?  r   r–   r/   r—   Ú
enumvaluesr   )r   r^   rq   r>   Ú
enumeratorr$  r=   Ú	enumvalues           r   r  z&VGenericEngine._generate_gen_enum_declý  sú   € ØŒ:ð 	Ø œnð ;ð ;�
Ø×(Ò(¨¨zÑ:Ô:Ð:Ð:ØˆFà×&Ò& v¨tÑ4Ô4ˆØÔ×"Ò" 8Ñ,Ô,Ð,ØŒzˆØˆÐ&¨Ñ1Ñ2Ô2Ð2ØˆˆS‰	Œ	ˆ	Ý%(¨¬¸¼Ñ%GÔ%Gð 	Bð 	BÑ!ˆJ˜	Ø×*Ò*¨:°yÑAÔAÐAÐAØˆˆ]ÑÔÐØˆˆS‰	Œ	ˆ	Øˆ‰Œˆˆˆr   c                 óÖ   ‡ ‡‡— ‰j         r2ˆˆ ˆfd„‰j        D ¦   «         }t          |¦  «        ‰_        d‰_        d S ‰                      ||¦  «        }‰                      ‰|¦  «         d S )Nc                 ó@   •— g | ]}‰                      d ‰|‰¦  «        ‘ŒS )T)r¬   )r\   rD  rN   r   r^   s     €€€r   r`   z4VGenericEngine._loading_gen_enum.<locals>.<listcomp>  s=   ø€ ð <ð <ð <Ø(ð ×-Ò-¨d°B¸
ÀFÑKÔKð <ð <ð <r   T)r÷   rB  r²   rC  Úpartial_resolvedr?  r+  )r   r^   rq   rN   r>   rC  r$  s   `` `   r   r  z VGenericEngine._loading_gen_enum  s‘   øøø€ ØŒ:ð 	<ð<ð <ð <ð <ð <ð <Ø,.¬Nð<ñ <ô <ˆJå! *Ñ-Ô-ˆBŒMØ"&ˆBÔÐÐà×*Ò*¨6°4Ñ8Ô8ˆHØ×)Ò)¨&°(Ñ;Ô;Ð;Ð;Ð;r   c                 ó¶   — t          |j        |j        ¦  «        D ]=\  }}t          |||¦  «         t	          |¦  «        j                             |¦  «         Œ>d S r   )r—   rB  rC  r¶   r‚   rF   r–   )r   r^   rq   rN   rP   rD  rE  s          r   r  zVGenericEngine._loaded_gen_enum  s`   € Ý%(¨¬¸¼Ñ%GÔ%Gð 	7ð 	7Ñ!ˆJ˜	Ý�G˜Z¨Ñ3Ô3Ð3Ý�‰MŒMÔ#×*Ò*¨:Ñ6Ô6Ð6Ð6ð	7ð 	7r   c                 óL   — |dk    rd }n|}|                       d||¬¦  «         d S ©Nz...T)r#  )r‘   )r   r^   rq   r#  s       r   Ú_generate_gen_macro_declz'VGenericEngine._generate_gen_macro_decl   s8   € Ø�Š;ˆ;ØˆKˆKàˆKØ× Ò   t¸Ð ÑEÔEÐEÐEÐEr   c                 óÀ   — |dk    rd }n|}|                       d||||¬¦  «        }t          |||¦  «         t          |¦  «        j                             |¦  «         d S rK  )r¬   r¶   r‚   rF   r–   )r   r^   rq   rN   rP   r#  r-  s          r   Ú_loaded_gen_macroz VGenericEngine._loaded_gen_macro)  sq   € Ø�Š;ˆ;ØˆKˆKàˆKØ×#Ò# D¨"¨d°FØ0;ð $ñ =ô =ˆå�˜˜uÑ%Ô%Ð%ÝˆW‰ŒÔ×&Ò& tÑ,Ô,Ð,Ð,Ð,r   c                 óÒ  — t          |t          j        ¦  «        rŸ|                     ¦   «         rY| j        }d|›�}| j                             |¦  «          |d|z  ¦  «          |d¦  «          |d|›d�¦  «          |d¦  «         t          j        |j        ¦  «        }|  	                    d||¦  «         d S t          j        |¦  «        }|  	                    d||d¬	¦  «         d S )
NÚ_cffi_sizeof_zsize_t %s(void)rŠ   z  return sizeof(rŒ   r�   Fr  )r"  )
rŽ   r   rë   Úlength_is_unknownr/   r   r–   r®   Úitemr‘   )r   r^   rq   r=   r$  Útp_ptrs         r   Ú_generate_gen_variable_declz*VGenericEngine._generate_gen_variable_decl6  s  € Ý�b�%œ/Ñ*Ô*ð 	JØ×#Ò#Ñ%Ô%ð Ø”z��Ø04°Ð6�ØÔ#×*Ò*¨8Ñ4Ô4Ð4Ø�Ð&¨Ñ1Ñ2Ô2Ð2Ø��S‘	”	�	Ø��¨t¨t¨tÐ5Ñ6Ô6Ð6Ø��S‘	”	�	ÝÔ& r¤wÑ/Ô/ˆFØ×$Ò$ U¨D°&Ñ9Ô9Ð9Ð9Ð9åÔ& rÑ*Ô*ˆFØ×$Ò$ U¨D°&À5Ð$ÑIÔIÐIÐIÐIr   c                 ó¨  ‡— t          |t          j        ¦  «        �r|                     ¦   «         rÄd|›�}| j                             d¦  «        d         }|                     ||¦  «        } |¦   «         }| j                             |j        ¦  «        }	t          || j         
                    |	¦  «        ¦  «        \  }
}|dk    rt          d|›d|j        ›�¦  «        ‚|                     |
¦  «        }t          j        |j        ¦  «        }|                      d|||¦  «        }|j        �5| j                             |¦  «        }| j                             ||¦  «        }t#          |||¦  «         t%          |¦  «        j                             |¦  «         d S d|z  }| j                             |                     d|¦  «        ¦  «        d         }|                     ||¦  «        } |¦   «         Šˆfd	„}ˆfd
„}t#          t%          |¦  «        |t-          ||¦  «        ¦  «         t%          |¦  «        j                             |¦  «         d S )NrP  zsize_t(*)(void)r   z
bad size: z! does not seem to be an array of Fz_cffi_var_%sz
*(*)(void)c                 ó   •— ‰d         S rÀ   r&   )rP   Úptrs    €r   Úgetterz3VGenericEngine._loaded_gen_variable.<locals>.getterg  s   ø€ Ø�q”6ˆMr   c                 ó   •— |‰d<   d S rÀ   r&   )rP   r-  rW  s     €r   Úsetterz3VGenericEngine._loaded_gen_variable.<locals>.setteri  s   ø€ ØˆC�‰FˆFˆFr   )rŽ   r   rë   rQ  r   rö   r´   r³   rR  Údivmodr	  r   Úresolve_lengthr®   r¬   rì   Úcastr¶   r‚   rF   r–   r�   Úproperty)r   r^   rq   rN   rP   r$  r¼   rú   ÚsizeÚ	BItemTyperì   ÚrestrS  r-  ÚBArrayrX  rZ  rW  s                    @r   Ú_loaded_gen_variablez#VGenericEngine._loaded_gen_variableH  sP  ø€ Ý�b�%œ/Ñ*Ô*ñ 	à×#Ò#Ñ%Ô%ð /ð /Ø04°Ð6�Øœ×/Ò/Ð0AÑBÔBÀ1ÔE�Ø!×/Ò/°°xÑ@Ô@�Ø�x‘z”z�Ø œH×6Ò6°r´wÑ?Ô?�	Ý% d¨D¬H¯OªO¸IÑ,FÔ,FÑGÔG‘�˜Ø˜1’9�9Ý+Ð+à˜˜˜rœw˜wð(ñ)ô )ð )ð ×&Ò& vÑ.Ô.�ÝÔ& r¤wÑ/Ô/ˆFØ×'Ò'¨¨v°t¸VÑDÔDˆEð ŒyÐ$Øœ×3Ò3°BÑ7Ô7�ØœŸš f¨eÑ4Ô4�Ý�G˜T 5Ñ)Ô)Ð)Ý�‰MŒMÔ#×*Ò*¨4Ñ0Ô0Ð0ØˆFð " DÑ(ˆØ”×'Ò'¨¯ª°lÀDÑ(IÔ(IÑJÔJÈ1ÔMˆØ×'Ò'¨¨xÑ8Ô8ˆØˆh‰jŒjˆð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	å•�W‘”˜t¥X¨f°fÑ%=Ô%=Ñ>Ô>Ð>ÝˆW‰ŒÔ×&Ò& tÑ,Ô,Ð,Ð,Ð,r   )r)   )r   )Nr  Nr   )r@  )5rI   rJ   rK   Ú
_class_keyÚ_gen_python_moduler   r   r$   r'   r/   r@   rT   rf   r9   rU   rz   r}   Ú_generate_gen_typedef_declÚ_loading_gen_typedefÚ_loaded_gen_typedefr¦   Ú_loading_gen_functionr½   rµ   rÎ   rÓ   r×   rÜ   rÞ   rà   rÍ   rÑ   rÖ   r  r  r  r‘   r(  Ú_loading_gen_constantr¬   r3  r   r+  r?  r  r  r  rL  Ú_loading_gen_macrorN  rT  Ú_loading_gen_variablerc  r&   r   r   r   r      sü  € € € € € Ø€JØÐð/ð /ð /ð?ð ?ð ?ð$ð $ð $ðð ð ð#ð #ð #ð #ð>ð >ð >ð,ð ð ð ð8ð ð ðð ð ðð ð ðð ð ðð ð ð $5ÐØ#/ÐØ#/Ðð
+ð +ð +ðZ )Ðð"-ð "-ð "-ðHð ð ð&@ð @ð @ðBð Bð Bð)ð )ð )ð?ð ?ð ?ðAð Að Að)ð )ð )ð/ð /ð /ðbBð Bð Bð8$ð $ð $ðD>ð >ð >ð@ð @ð @ð-ð -ð -ð CJØ(,ð#ð #ð #ð #ðJ3ð 3ð 3ð )Ððð ð ð ð8-ð -ð -ðð ð ð&	+ð 	+ð 	+ð0ð 0ð 0ð
ð ð ð ð"<ð <ð <ð <ð7ð 7ð 7ðFð Fð Fð &Ðð-ð -ð -ðJð Jð Jð  )Ðð$-ð $-ð $-ð $-ð $-r   r   ac  
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <errno.h>
#include <sys/types.h>   /* XXX for ssize_t on some platforms */

/* this block of #ifs should be kept exactly identical between
   c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py
   and cffi/_cffi_include.h */
#if defined(_MSC_VER)
# include <malloc.h>   /* for alloca() */
# if _MSC_VER < 1600   /* MSVC < 2010 */
   typedef __int8 int8_t;
   typedef __int16 int16_t;
   typedef __int32 int32_t;
   typedef __int64 int64_t;
   typedef unsigned __int8 uint8_t;
   typedef unsigned __int16 uint16_t;
   typedef unsigned __int32 uint32_t;
   typedef unsigned __int64 uint64_t;
   typedef __int8 int_least8_t;
   typedef __int16 int_least16_t;
   typedef __int32 int_least32_t;
   typedef __int64 int_least64_t;
   typedef unsigned __int8 uint_least8_t;
   typedef unsigned __int16 uint_least16_t;
   typedef unsigned __int32 uint_least32_t;
   typedef unsigned __int64 uint_least64_t;
   typedef __int8 int_fast8_t;
   typedef __int16 int_fast16_t;
   typedef __int32 int_fast32_t;
   typedef __int64 int_fast64_t;
   typedef unsigned __int8 uint_fast8_t;
   typedef unsigned __int16 uint_fast16_t;
   typedef unsigned __int32 uint_fast32_t;
   typedef unsigned __int64 uint_fast64_t;
   typedef __int64 intmax_t;
   typedef unsigned __int64 uintmax_t;
# else
#  include <stdint.h>
# endif
# if _MSC_VER < 1800   /* MSVC < 2013 */
#  ifndef __cplusplus
    typedef unsigned char _Bool;
#  endif
# endif
# define _cffi_float_complex_t   _Fcomplex    /* include <complex.h> for it */
# define _cffi_double_complex_t  _Dcomplex    /* include <complex.h> for it */
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
# define _cffi_float_complex_t   float _Complex
# define _cffi_double_complex_t  double _Complex
#endif
)
r   r   rV   r)   r   r9  r   Úobjectr   r7   r&   r   r   ú<module>rn     sƒ   ðð €€€€€€€Ø €€€à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $ða	-ð a	-ð a	-ð a	-ð a	-�Vñ a	-ô a	-ð a	-ðF9€€€r   