Ë
    ±éäg%U  ã                   ó|  — d dl Z d dlZddlmZ ddlmZmZmZ dZdZ	dZ
d„ Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z e«       Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z ee«      Zd„ Z ee«      Z G d„ d e«      Z G d!„ d"e«      Z e ed#«      d«      Z G d$„ d%e«      Z G d&„ d'e«      Z  G d(„ d)e «      Z! G d*„ d+e «      Z" G d,„ d-e«      Z#d4d.„Z$d4d/„Z% e«       Z& ejN                  «       Z(d0„ Z)d1„ Z*d2„ Z+d3„ Z,y)5é    Né   )Úallocate_lock)Ú	CDefErrorÚVerificationErrorÚVerificationMissingé   é   c                 ó®   — | t         z  rd|j                  «       z   }| t        z  rd|j                  «       z   }| t        z  rd|j                  «       z   }|S )Nz const z
 volatile z __restrict )ÚQ_CONSTÚlstripÚ
Q_VOLATILEÚ
Q_RESTRICT)ÚqualsÚreplace_withs     úH/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/cffi/model.pyÚqualifyr      sZ   € ØŒw‚Ø  <×#6Ñ#6Ó#8Ñ8ˆØŒzÒØ# l×&9Ñ&9Ó&;Ñ;ˆØŒzÒð &¨×(;Ñ(;Ó(=Ñ=ˆØÐó    c                   óB   — e Zd ZdZdZd
d„Zd„ Zd„ Zd„ Zdd„Z	d„ Z
d„ Zy	)ÚBaseTypeByIdentityFc                 ó@  — | j                   }|j                  d«      dk(  sJ ‚|j                  «       }|r'|j                  d«      r
d|v rd|z  }n|d   dvrd|z   }t	        ||«      }|j                  d|«      }d	|v r t        d
| j                  «       ›d|›d�«      ‚|S )Nú&r   Ú*z&[z(%s)r   z[(ú ú$zcannot generate 'z' in z: unknown type name)Úc_name_with_markerÚcountÚstripÚ
startswithr   Úreplacer   Ú_get_c_name)Úselfr   Úcontextr   Úresults        r   Ú
get_c_namezBaseTypeByIdentity.get_c_name   s³   € Ø×(Ñ(ˆØ�|‰|˜CÓ  AÒ%Ð%Ð%à#×)Ñ)Ó+ˆÙØ×&Ñ& sÔ+°¸±Ø%¨Ñ4‘Ø! !‘_¨Ñ,Ø" \Ñ1�Ü˜u lÓ3ˆØ—‘  \Ó2ˆØ�&‰=Ý#à×#Ñ#Õ%¢wð0ó1ð 1ð ˆr   c                 ó:   — | j                   j                  dd«      S )Nr   Ú )r   r   ©r!   s    r   r    zBaseTypeByIdentity._get_c_name/   s   € Ø×&Ñ&×.Ñ.¨s°BÓ7Ð7r   c                 ó&   — d| j                  «       vS )Nr   ©r    r'   s    r   Ú
has_c_namezBaseTypeByIdentity.has_c_name2   s   € Ø˜$×*Ñ*Ó,Ð,Ð,r   c                  ó   — y©NF© r'   s    r   Úis_integer_typez"BaseTypeByIdentity.is_integer_type5   ó   € Ør   c                 ó®   — 	 |j                   |    }|S # t        $ r8 | j                  ||«      }|j                   j                  | |«      }||u sJ ‚Y |S w xY w©N)Ú_cached_btypesÚKeyErrorÚbuild_backend_typeÚ
setdefault)r!   ÚffiÚ
finishlistÚ	can_delayÚBTypeÚBType2s         r   Úget_cached_btypez#BaseTypeByIdentity.get_cached_btype8   sj   € ð	#Ø×&Ñ& tÑ,ˆEð
 ˆøô	 ò 	#Ø×+Ñ+¨C°Ó<ˆEØ×'Ñ'×2Ñ2°4¸Ó?ˆFØ˜U‘?Ð"‘?Øˆð		#ús   ‚ “=AÁAc                 ó*   — d| j                  «       ›d�S )Nú<ú>r)   r'   s    r   Ú__repr__zBaseTypeByIdentity.__repr__A   s   � Ø×)Ñ)Õ+Ð-Ð-r   c                 óX   — | j                   D �cg c]  }|t        | |«      f‘Œ c}S c c}w r1   )Ú_attrs_Úgetattr©r!   Únames     r   Ú
_get_itemszBaseTypeByIdentity._get_itemsD   s&   € Ø8<¿¹ÖE°�”w˜t TÓ*Ò+ÒEÐEùÒEs   �'N)r&   za C filer   ©F)Ú__name__Ú
__module__Ú__qualname__Úis_array_typeÚis_raw_functionr$   r    r*   r.   r;   r?   rE   r-   r   r   r   r      s0   „ Ø€MØ€Oóò$8ò-òóò.óFr   r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚBaseTypec                 óz   — | j                   |j                   k(  xr! | j                  «       |j                  «       k(  S r1   )Ú	__class__rE   ©r!   Úothers     r   Ú__eq__zBaseType.__eq__J   s4   € Ø—‘ %§/¡/Ñ1ò 8Ø—‘Ó! U×%5Ñ%5Ó%7Ñ7ð	9r   c                 ó   — | |k(   S r1   r-   rP   s     r   Ú__ne__zBaseType.__ne__N   s   € Ø˜5‘=Ð Ð r   c                 ó^   — t        | j                  t        | j                  «       «      f«      S r1   )ÚhashrO   ÚtuplerE   r'   s    r   Ú__hash__zBaseType.__hash__Q   s"   € Ü�T—^‘^¤U¨4¯?©?Ó+<Ó%=Ð>Ó?Ð?r   N)rG   rH   rI   rR   rT   rX   r-   r   r   rM   rM   H   s   „ ò9ò!ó@r   rM   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚVoidTyper-   c                 ó   — d| _         y )Nzvoid&)r   r'   s    r   Ú__init__zVoidType.__init__X   s
   € Ø")ˆÕr   c                 ó   — t        | |d«      S )NÚnew_void_type©Úglobal_cache©r!   r6   r7   s      r   r4   zVoidType.build_backend_type[   s   € Ü˜D # Ó7Ð7r   N©rG   rH   rI   rA   r\   r4   r-   r   r   rZ   rZ   U   s   „ Ø€Gò*ó8r   rZ   c                   ó   — e Zd Zd„ Zy)ÚBasePrimitiveTypec                  ó   — yr,   r-   r'   s    r   Úis_complex_typez!BasePrimitiveType.is_complex_typeb   r/   r   N)rG   rH   rI   rf   r-   r   r   rd   rd   a   s   „ ór   rd   c                   ór  — e Zd ZdZi dd“dd“dd“dd“dd“d	d“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“i dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d“d"d“d#d“d$d“d%d“d&d“d'd“¥i d(d“d)d“d*d“d+d“d,d“d-d“d.d“d/d“d0d“d1d“d2d“d3d“d4d“d5d“d6d“d7d“d8d“¥Zd9„ Zd:„ Zd;„ Zd<„ Zd=„ Z	d>„ Z
y?)@ÚPrimitiveType©rD   ÚcharÚcÚshortÚiÚintÚlongz	long longzsigned charzunsigned charzunsigned shortúunsigned intúunsigned longzunsigned long longÚfloatÚfÚdoublezlong doubleÚ_cffi_float_complex_tÚjÚ_cffi_double_complex_tÚ_BoolÚwchar_tÚchar16_tÚchar32_tÚint8_tÚuint8_tÚint16_tÚuint16_tÚint32_tÚuint32_tÚint64_tÚuint64_tÚint_least8_tÚuint_least8_tÚint_least16_tÚuint_least16_tÚint_least32_tÚuint_least32_tÚint_least64_tÚuint_least64_tÚint_fast8_tÚuint_fast8_tÚint_fast16_tÚuint_fast16_tÚint_fast32_tÚuint_fast32_tÚint_fast64_tÚuint_fast64_tÚintptr_tÚ	uintptr_tÚintmax_tÚ	uintmax_tÚ	ptrdiff_tÚsize_tÚssize_tc                 óF   — || j                   v sJ ‚|| _        |dz   | _        y ©Nr   )ÚALL_PRIMITIVE_TYPESrD   r   rC   s     r   r\   zPrimitiveType.__init__    s)   € Ø�t×/Ñ/Ñ/Ð/Ð/ØˆŒ	Ø"&¨¡*ˆÕr   c                 ó:   — | j                   | j                     dk(  S )Nrk   ©r�   rD   r'   s    r   Úis_char_typezPrimitiveType.is_char_type¥   ó   € Ø×'Ñ'¨¯	©	Ñ2°cÑ9Ð9r   c                 ó:   — | j                   | j                     dk(  S )Nrm   rŸ   r'   s    r   r.   zPrimitiveType.is_integer_type§   r¡   r   c                 ó:   — | j                   | j                     dk(  S )Nrs   rŸ   r'   s    r   Úis_float_typezPrimitiveType.is_float_type©   r¡   r   c                 ó:   — | j                   | j                     dk(  S )Nrv   rŸ   r'   s    r   rf   zPrimitiveType.is_complex_type«   r¡   r   c                 ó2   — t        | |d| j                  «      S )NÚnew_primitive_type)r`   rD   ra   s      r   r4   z PrimitiveType.build_backend_type®   s   € Ü˜D #Ð';¸T¿Y¹YÓGÐGr   N)rG   rH   rI   rA   r�   r\   r    r.   r¤   rf   r4   r-   r   r   rh   rh   f   s¹  „ Ø€Gð5
Ø˜cð5
à˜cð5
ð 	˜cð5
ð 	˜cð	5
ð
 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	˜cð5
ð 	  ð5
ð  	! #ð!5
ð" 	˜cñ#5
ð& 	˜cð'5
ð( 	˜cð)5
ð* 	˜cð+5
ð, 	˜cð-5
ð. 	˜cð/5
ð0 	˜cð15
ð2 	˜cð35
ð4 	˜cð55
ð6 	˜cð75
ð8 	˜cð95
ð: 	˜cð;5
ð< 	˜cð=5
ð> 	˜cð?5
ð@ 	˜cðA5
ðB 	˜cðC5
ðD 	˜cðE5
ðF 	˜còG5
ðH 	˜cðI5
ðJ 	˜cðK5
ðL 	˜cðM5
ðN 	˜cðO5
ðP 	˜cðQ5
ðR 	˜cðS5
ðT 	˜cðU5
ðV 	˜cðW5
ðX 	˜cðY5
ðZ 	˜cð[5
ð\ 	˜cð]5
ð^ 	˜cð_5
ð` 	˜cða5
ðb 	˜cðc5
ðd 	˜cðe5
ðf 	˜cðg5
ðh 	˜cñi5
Ðòn-ò
:ò:ò:ò:óHr   rh   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚUnknownIntegerTyperi   c                 ó&   — || _         |dz   | _        y rœ   ©rD   r   rC   s     r   r\   zUnknownIntegerType.__init__µ   ó   € ØˆŒ	Ø"&¨¡*ˆÕr   c                  ó   — y)NTr-   r'   s    r   r.   z"UnknownIntegerType.is_integer_type¹   s   € Ør   c                 ó2   — t        d| j                  z  «      ‚)Nz4integer type '%s' can only be used after compilation©ÚNotImplementedErrorrD   ra   s      r   r4   z%UnknownIntegerType.build_backend_type¼   ó    € Ü!ð #0Ø26·)±)ñ#<ó =ð 	=r   N)rG   rH   rI   rA   r\   r.   r4   r-   r   r   r©   r©   ²   s   „ Ø€Gò-òó=r   r©   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚUnknownFloatTyperi   c                 ó&   — || _         |dz   | _        y rœ   r«   rC   s     r   r\   zUnknownFloatType.__init__Ã   r¬   r   c                 ó2   — t        d| j                  z  «      ‚)Nz2float type '%s' can only be used after compilationr¯   ra   s      r   r4   z#UnknownFloatType.build_backend_typeÇ   r±   r   Nrb   r-   r   r   r³   r³   À   s   „ Ø€Gò-ó=r   r³   c                   ó   — e Zd ZdZdd„Zy)ÚBaseFunctionType)Úargsr#   ÚellipsisÚabiNc                 ó–  — || _         || _        || _        || _        | j                   D �cg c]  }|j	                  «       ‘Œ }}| j                  r|j                  d«       |xs dg}| j                  dj                  |«      fz  }|�|d d |z   dz   |dd  z   }| j                  j                  j                  d|«      | _        y c c}w )Nú...Úvoidz, r   r   r   )
r¸   r#   r¹   rº   r    ÚappendÚ_base_patternÚjoinr   r   )r!   r¸   r#   r¹   rº   ÚargÚreprargsr   s           r   r\   zBaseFunctionType.__init__Ï   sÅ   € ØˆŒ	ØˆŒØ ˆŒØˆŒà15·±Ö;¨#�C—O‘OÕ%Ð;ˆÐ;Ø�=Š=Ø�O‰O˜EÔ"ØÒ' ˜xˆØ×)Ñ)¨T¯Y©Y°xÓ-@Ð,BÑBˆØˆ?Ø'¨¨Ð+¨cÑ1°CÑ7¸,ÀqÀrÐ:JÑJˆLà�K‰K×*Ñ*×2Ñ2°3¸ÓEð 	Õùò <s   «Cr1   ©rG   rH   rI   rA   r\   r-   r   r   r·   r·   Ì   s   „ Ø3€GôGr   r·   c                   ó    — e Zd ZdZdZd„ Zd„ Zy)ÚRawFunctionTypez(&)(%s)Tc                 ó    — t        d| ›d�«      ‚)Núcannot render the type z7: it is a function type, not a pointer-to-function type)r   ra   s      r   r4   z"RawFunctionType.build_backend_typeç   s   € ÝÚBFðIó Jð 	Jr   c                 ón   — t        | j                  | j                  | j                  | j                  «      S r1   )ÚFunctionPtrTyper¸   r#   r¹   rº   r'   s    r   Úas_function_pointerz#RawFunctionType.as_function_pointerë   ó#   € Ü˜tŸy™y¨$¯+©+°t·}±}ÀdÇhÁhÓOÐOr   N)rG   rH   rI   r¿   rK   r4   rÊ   r-   r   r   rÅ   rÅ   à   s   „ ð €MØ€OòJóPr   rÅ   c                   ó   — e Zd ZdZd„ Zd„ Zy)rÉ   z(*&)(%s)c                 ór  — | j                   j                  ||«      }g }| j                  D ]#  }|j                  |j                  ||«      «       Œ% d}| j                  dk(  r$| j
                  s	 |j                  j                  f}t        | |dt        |«      || j
                  g|¢­Ž S # t        $ r Y Œ/w xY w)Nr-   Ú	__stdcallÚnew_function_type)r#   r;   r¸   r¾   rº   r¹   Ú_backendÚFFI_STDCALLÚAttributeErrorr`   rW   )r!   r6   r7   r#   r¸   ÚtpÚabi_argss          r   r4   z"FunctionPtrType.build_backend_typeò   s¼   € Ø—‘×-Ñ-¨c°:Ó>ˆØˆØ—)‘)ò 	>ˆBØ�K‰K˜×+Ñ+¨C°Ó<Õ=ð	>àˆØ�8‰8�{Ò"Ø—=’=ðØ #§¡× 8Ñ 8Ð:�Hô ˜D #Ð':Ü! $›K¨°·±ðKØAIòKð 	Køô &ò Ùðús   Á/B* Â*	B6Â5B6c                 ón   — t        | j                  | j                  | j                  | j                  «      S r1   )rÅ   r¸   r#   r¹   rº   r'   s    r   Úas_raw_functionzFunctionPtrType.as_raw_function  rË   r   N)rG   rH   rI   r¿   r4   rÖ   r-   r   r   rÉ   rÉ   ï   s   „ Ø€MòKóPr   rÉ   c                   ó   — e Zd ZdZdd„Zd„ Zy)ÚPointerType)Útotyper   c                 ó¾   — || _         || _        d}|j                  rd|j                  «       ›d�}t	        ||«      }|j
                  j                  d|«      | _        y )Nz *&ú(ú)r   )rÙ   r   rJ   r   r   r   r   )r!   rÙ   r   Úextras       r   r\   zPointerType.__init__  sS   € ØˆŒØˆŒ
ØˆØ×ÓØ#Ÿl™l�nÐ.ˆEÜ˜˜uÓ%ˆØ"(×";Ñ";×"CÑ"CÀCÈÓ"OˆÕr   c                 óZ   — | j                   j                  ||d¬«      }t        | |d|«      S )NT)r8   Únew_pointer_type)rÙ   r;   r`   )r!   r6   r7   ÚBItems       r   r4   zPointerType.build_backend_type  s/   € Ø—‘×,Ñ,¨S°*ÈÐ,ÓMˆÜ˜D #Ð'9¸5ÓAÐAr   N©r   rb   r-   r   r   rØ   rØ     s   „ Ø!€GóPóBr   rØ   c                 ó"   — t        | t        «      S r1   )rØ   r   )rÙ   s    r   ÚConstPointerTyperã     s   € Ü�vœwÓ'Ð'r   c                   ó   — e Zd ZdZdd„Zy)ÚNamedPointerType)rÙ   rD   c                 óT   — t         j                  | ||«       || _        |dz   | _        y rœ   )rØ   r\   rD   r   )r!   rÙ   rD   r   s       r   r\   zNamedPointerType.__init__   s'   € Ü×Ñ˜T 6¨5Ô1ØˆŒ	Ø"&¨¡*ˆÕr   Nrá   rÃ   r-   r   r   rå   rå     s   „ Ø €Gô-r   rå   c                   ó,   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ Zy)Ú	ArrayType)ÚitemÚlengthTc                 óš   — || _         || _        |€d}n|dk(  rd}nd|z  }| j                   j                  j                  d|«      | _        y )Nz&[]r¼   z
&[/*...*/]z&[%s]r   )ré   rê   r   r   )r!   ré   rê   Úbracketss       r   r\   zArrayType.__init__*  sR   € ØˆŒ	ØˆŒàˆ>Ø‰HØ�uŠ_Ø#‰Hà Ñ'ˆHà�I‰I×(Ñ(×0Ñ0°°hÓ?ð 	Õr   c                 ó6   — t        | j                  t        «      S r1   )Ú
isinstancerê   Ústrr'   s    r   Úlength_is_unknownzArrayType.length_is_unknown7  s   € Ü˜$Ÿ+™+¤sÓ+Ð+r   c                 ó.   — t        | j                  |«      S r1   )rè   ré   )r!   Ú	newlengths     r   Úresolve_lengthzArrayType.resolve_length:  s   € Ü˜Ÿ™ IÓ.Ð.r   c                 óô   — | j                  «       rt        d| ›d�«      ‚| j                  j                  ||«       t	        | j                  «      j                  ||«      }t        | |d|| j                  «      S )NrÇ   z: unknown lengthÚnew_array_type)rð   r   ré   r;   rØ   r`   rê   )r!   r6   r7   ÚBPtrItems       r   r4   zArrayType.build_backend_type=  sj   € Ø×!Ñ!Ô#ÝÚ!ð$ó %ð %à�	‰	×"Ñ" 3¨
Ô3Ü˜tŸy™yÓ)×:Ñ:¸3À
ÓKˆÜ˜D #Ð'7¸À4Ç;Á;ÓOÐOr   N)	rG   rH   rI   rA   rJ   r\   rð   ró   r4   r-   r   r   rè   rè   &  s"   „ Ø €GØ€MòAò,ò/óPr   rè   rj   c                   ó&   — e Zd ZdZdZd„ Zd„ Zd„ Zy)ÚStructOrUnionOrEnumri   Nc                 ój   — | j                   xs | j                  ›d| j                  ›�}|dz   | _        y )Nr   r   )Ú	forcenameÚkindrD   r   rC   s     r   Úbuild_c_name_with_markerz,StructOrUnionOrEnum.build_c_name_with_markerL  s)   € Ø�~‰~ÒA¨D¯I«I°t·y²yÐ!AˆØ"&¨¡*ˆÕr   c                 ó2   — || _         | j                  «        y r1   )rú   rü   )r!   rú   s     r   Úforce_the_namez"StructOrUnionOrEnum.force_the_nameP  s   € Ø"ˆŒØ×%Ñ%Õ'r   c                 óZ   — | j                   j                  d«      sJ ‚| j                   d d S )Nr   éÿÿÿÿ)r   Úendswithr'   s    r   Úget_official_namez%StructOrUnionOrEnum.get_official_nameT  s/   € Ø×&Ñ&×/Ñ/°Ô4Ð4Ð4Ø×&Ñ& s¨Ð+Ð+r   )rG   rH   rI   rA   rú   rü   rþ   r  r-   r   r   rø   rø   H  s   „ Ø€GØ€Iò-ò(ó,r   rø   c                   óX   — e Zd ZdZdZdZdZdd„Zd„ Zdd„Z	d„ Z
dd„Zd	„ Zd
„ Zd„ Zd„ Zy)ÚStructOrUnionNr   Fc                 ój   — || _         || _        || _        || _        || _        | j                  «        y r1   )rD   ÚfldnamesÚfldtypesÚ
fldbitsizeÚfldqualsrü   )r!   rD   r  r  r  r	  s         r   r\   zStructOrUnion.__init___  s1   € ØˆŒ	Ø ˆŒØ ˆŒØ$ˆŒØ ˆŒØ×%Ñ%Õ'r   c              #   ó¬   K  — | j                   �Dt        | j                  | j                   «      D ]   \  }}|dk(  sŒt        |t        «      sŒ|–— Œ" y y ­w)Nr&   )r  Úzipr  rî   r  )r!   rD   Útypes      r   Úanonymous_struct_fieldsz%StructOrUnion.anonymous_struct_fieldsg  sL   è ø€ Ø�=‰=Ð$Ü! $§-¡-°·±Ó?ò ‘
��dØ˜2“:¤*¨T´=Õ"AØ“Jñð %ùs   ‚8A»AÁAc              #   ó6  K  — | j                   }|€dt        | j                  «      z  }t        | j                  | j                  | j
                  |«      D ]@  \  }}}}|dk(  r,t        |t        «      r|r|j                  «       D ]  }|–— Œ Œ9||||f–— ŒB y ­w)Nrá   r&   )	r	  Úlenr  r  r  r  rî   r  Ú
enumfields)r!   Úexpand_anonymous_struct_unionr	  rD   r  Úbitsizer   r#   s           r   r  zStructOrUnion.enumfieldsm  sš   è ø€ Ø—=‘=ˆØÐØœc $§-¡-Ó0Ñ0ˆHÜ*-¨d¯m©m¸T¿]¹]Ø.2¯o©o¸xó+Iò 	3Ñ&ˆD�$˜ à˜’
œz¨$´Ô>Ù5à"Ÿo™oÓ/ò !�FØ “Lñ!ð ˜T 7¨EÐ2Ó2ñ	3ùs   ‚BBc                 óR  — g }g }g }g }| j                  «       D ]L  \  }}}}|j                  |«        |j                  |«       |j                  |«       |j                  |«       ŒN t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        y r1   )r  r¾   rW   r  r  r  r	  )	r!   ÚnamesÚtypesÚbitsizesr	  rD   r  r  r   s	            r   Úforce_flattenzStructOrUnion.force_flatten{  s—   € ð ˆØˆØˆØˆØ*.¯/©/Ó*;ò 	#Ñ&ˆD�$˜ Ø�L‰L˜ÔØˆE�L‰L˜ÔØ�O‰O˜GÔ$Ø�O‰O˜EÕ"ð		#ô
 ˜e›ˆŒÜ˜e›ˆŒÜ ›/ˆŒÜ˜h›ˆ�r   c                 ó^   — t         j                  | |||«      }|s| j                  ||«       |S r1   )rø   r;   Úfinish_backend_type)r!   r6   r7   r8   r9   s        r   r;   zStructOrUnion.get_cached_btype�  s4   € Ü#×4Ñ4°T¸3À
Ø5>ó@ˆáØ×$Ñ$ S¨*Ô5Øˆr   c                 ó.  — | j                   r)| j                   dk7  rt        d| j                  ›d�«      ‚y |j                  |    }d| _         | j                  €		 d| _         y | j
                  €ª| j                  D �cg c]  }|j                  ||«      ‘Œ }}t        t        | j                  || j                  «      «      }d}| j                  r | j                  dk(  rd}nd| j                  f} |j                  j                  ||| ddg|¢­Ž  d| _         y g }| j
                  \  }}	}
}t        t        | j                  «      «      D �]t  }|	|   }| j                  |   }t!        |t"        «      r¾|j%                  «       r®|j&                  j                  ||«      }t)        ||j+                  |«      «      \  }}|dk7  r3| j-                  d	| j                  ›d
| j                  |   xs d›d�«       |j/                  |«      }| j                  d | |fz   | j                  |dz   d  z   | _        |j                  ||«      }t!        |t"        «      r|j0                  €|dk(  sKJ ‚|j+                  |«      }||k7  r3| j-                  d| j                  | j                  |   xs d||fz  «       |j3                  |«       �Œw t        t        | j                  || j                  |«      «      }|j                  j                  ||| |
|«       d| _         y c c}w )Nr   z%recursive structure declaration for 'ú'r   r-   )é   r   r   zfield 'ú.z{}z' has a bogus size?z=field '%s.%s' is declared as %d bytes, but is really %d bytes)Ú	completedr°   rD   r2   r  Úfixedlayoutr;   Úlistr  r  r  ÚpackedrÐ   Úcomplete_struct_or_unionÚranger  rî   rè   rð   ré   ÚdivmodÚsizeofÚ_verification_errorró   rê   r¾   )r!   r6   r7   r9   rÓ   r  ÚlstÚextra_flagsÚfieldofsÚ	fieldsizeÚ	totalsizeÚtotalalignmentrm   ÚfsizeÚftypeÚ	BItemTypeÚnlenÚnrestÚ
BFieldTypeÚ	bitemsizes                       r   r  z!StructOrUnion.finish_backend_type”  s  € Ø�>Š>Ø�~‰~ Ò"Ý)Ø8<¿	»	ð+Dó Eð EàØ×"Ñ" 4Ñ(ˆàˆŒà�=‰=Ð Øðd ˆ�ða ×ÑÐ%à"&§-¡-ö1Øð ×+Ñ+¨C°Õ<ð 1ˆHð 1ä”s˜4Ÿ=™=¨(°D·O±OÓDÓEˆCØˆKØ�{Š{Ø—;‘; !Ò#Ø"&‘Kà#$ d§k¡kÐ"2�KØ1ˆC�L‰L×1Ñ1°%¸¸dØ24°bðHØ;FóHðL ˆ�ðE ˆHØ=A×=MÑ=MÑ:ˆH�i ¨NÜœ3˜tŸ}™}Ó-Ó.ó ,�Ø! !™�ØŸ™ aÑ(�ä˜e¤YÔ/°E×4KÑ4KÔ4Mà %§
¡
× ;Ñ ;¸CÀÓ L�IÜ"(¨°·
±
¸9Ó0EÓ"F‘K�D˜%Ø ’zØ×0Ò0à ŸI›I t§}¡}°QÑ'7Ò'?¸4Ñ'?ðAôBð "×0Ñ0°Ó6�EØ%)§]¡]°2°AÐ%6¸%¸Ñ%AØ%)§]¡]°1°Q±3°4Ð%8ñ&9�D”Mð #×3Ñ3°C¸ÓD�
Ü˜e¤YÔ/°E·L±LÐ4HØ  Aš:Ð%˜:à #§
¡
¨:Ó 6�IØ  EÒ)Ø×0Ñ0ð.Ø15·±Ø15·±¸qÑ1AÒ1IÀTØ1:¸Eð1CñCôDð
 —‘ 
Ö+ð7,ô: ”s˜4Ÿ=™=¨(°D·O±OÀXÓNÓOˆCØ�L‰L×1Ñ1°%¸¸dØ2;¸^ôMàˆ�ùò_1s   Á;Lc                 ó   — t        |«      ‚r1   )r   )r!   Úmsgs     r   r&  z!StructOrUnion._verification_errorÓ  s   € Ü Ó$Ð$r   c                 óh   — | j                   r&| j                  €t        | j                  «       «      ‚y y r1   )Úpartialr  r   r    r'   s    r   Úcheck_not_partialzStructOrUnion.check_not_partialÖ  s/   € Ø�<Š<˜D×,Ñ,Ð4Ü% d×&6Ñ&6Ó&8Ó9Ð9ð 5ˆ<r   c                 óš   — | j                  «        |j                  | «       t        | |d| j                  z  | j	                  «       | ¬«      S )Nznew_%s_type©Úkey)r8  r¾   r`   rû   r  ra   s      r   r4   z StructOrUnion.build_backend_typeÚ  sH   € Ø×ÑÔ Ø×Ñ˜$Ôä˜D # }°t·y±yÑ'@Ø ×2Ñ2Ó4¸$ô@ð 	@r   r1   )TrF   )rG   rH   rI   r  r  r7  r!  r\   r  r  r  r;   r  r&  r8  r4   r-   r   r   r  r  Y  sE   „ Ø€KØ€IØ€GØ€Fó(òó3ò(ó$ò=ò~%ò:ó@r   r  c                   ó   — e Zd ZdZy)Ú
StructTypeÚstructN©rG   rH   rI   rû   r-   r   r   r=  r=  â  s   „ Ø�Dr   r=  c                   ó   — e Zd ZdZy)Ú	UnionTypeÚunionNr?  r-   r   r   rA  rA  æ  s   „ Ø�Dr   rA  c                   ó8   — e Zd ZdZdZdZd	d„Zd„ Zd„ Zd„ Z	d„ Z
y)
ÚEnumTypeÚenumFNc                 ó\   — || _         || _        || _        || _        | j	                  «        y r1   )rD   ÚenumeratorsÚ
enumvaluesÚbaseinttyperü   )r!   rD   rG  rH  rI  s        r   r\   zEnumType.__init__ï  s,   € ØˆŒ	Ø&ˆÔØ$ˆŒØ&ˆÔØ×%Ñ%Õ'r   c                 óž   — t         j                  | |«       | j                  €+| j                  «       }d|j	                  dd«      z   | _        y y )Nr   r   Ú_)rø   rþ   rú   r  r   )r!   rú   rD   s      r   rþ   zEnumType.force_the_nameö  sF   € Ü×*Ñ*¨4°Ô;Ø�>‰>Ð!Ø×)Ñ)Ó+ˆDØ  4§<¡<°°SÓ#9Ñ9ˆD�Nð "r   c                 óh   — | j                   r&| j                  st        | j                  «       «      ‚y y r1   )r7  Úpartial_resolvedr   r    r'   s    r   r8  zEnumType.check_not_partialü  s,   € Ø�<Š< × 5Ò 5Ü% d×&6Ñ&6Ó&8Ó9Ð9ð !6ˆ<r   c           
      ó°   — | j                  «        | j                  ||«      }t        | |d| j                  «       | j                  | j
                  || ¬«      S )NÚnew_enum_typer:  )r8  Úbuild_baseinttyper`   r  rG  rH  )r!   r6   r7   Ú
base_btypes       r   r4   zEnumType.build_backend_type   sS   € Ø×ÑÔ Ø×+Ñ+¨C°Ó<ˆ
Ü˜D # Ø ×2Ñ2Ó4Ø ×,Ñ,¨d¯o©oØ&¨Dô2ð 	2r   c                 ó  — | j                   �| j                   j                  ||«      S | j                  r+t        | j                  «      }t	        | j                  «      }n?dd l}	 t        j                  «        |j                  d| j                  «       z  «       dx}}|dk  rd}t        d«      }t        d«      }nd}t        d«      }t        d«      }|j                  ||«      }	|j                  ||«      }
|j                  |	«      }|j                  |
«      }|dd	|z  dz
  z  k\  r|dd	|z  |z
  z  k  r|	S |dd	|z  dz
  z  k\  r|dd	|z  |z
  z  k  r|
S t        d
| j                  «       z  «      ‚# t        $ r Y �Œw xY w)Nr   zU%r has no values explicitly defined; guessing that it is equivalent to 'unsigned int'r   rn   ro   rp   rq   r   r  z=%s values don't all fit into either 'long' or 'unsigned long')rI  r;   rH  ÚminÚmaxÚwarningsÚ__warningregistry__ÚclearÚ	NameErrorÚwarnr    rh   r%  r   )r!   r6   r7   Úsmallest_valueÚlargest_valuerU  ÚsignÚ
candidate1Ú
candidate2Úbtype1Úbtype2Úsize1Úsize2s                r   rP  zEnumType.build_baseinttype  s£  € Ø×ÑÐ'Ø×#Ñ#×4Ñ4°S¸*ÓEÐEà�?Š?Ü  §¡Ó1ˆNÜ §¡Ó0‰Mãðô $×)Ñ)Ô+ð �M‰Mð Mà ×,Ñ,Ó.ñ/ô 0ð ./Ð.ˆN˜]Ø˜AÒØˆDÜ& uÓ-ˆJÜ& vÓ.‰JàˆDÜ& ~Ó6ˆJÜ& Ó7ˆJØ×,Ñ,¨S°*Ó=ˆØ×,Ñ,¨S°*Ó=ˆØ—
‘
˜6Ó"ˆØ—
‘
˜6Ó"ˆØ ¨¨%©°©	Ñ2Ò3Ø˜Q 1 U¡7¨4¡<Ñ0Ò1ØˆMØ ¨¨%©°©	Ñ2Ò3Ø˜Q 1 U¡7¨4¡<Ñ0Ò1ØˆMÜð -Ø/3×/?Ñ/?Ó/AñBó Cð 	Cøô1 ò Úðús   Á%E3 Å3	F Å?F r1   )rG   rH   rI   rû   r7  rM  r\   rþ   r8  r4   rP  r-   r   r   rD  rD  ê  s,   „ Ø€DØ€GØÐó(ò:ò:ò2ó'Cr   rD  c                 ó`   — |€d| z  }t        |d d d «      }|j                  | «       d|_        |S )Nz$%sÚunknown_type)r=  rþ   Úorigin©rD   Ú
structnamerÓ   s      r   rd  rd  1  s;   € ØÐØ˜T‘\ˆ
Ü	�J  d¨DÓ	1€BØ×Ñ�dÔØ€B„IØ€Ir   c                 óD   — |€d| z  }t        |d d d «      }t        || «      S )Nz$$%s)r=  rå   rf  s      r   Úunknown_ptr_typeri  9  s.   € ØÐØ˜d‘]ˆ
Ü	�J  d¨DÓ	1€BÜ˜B Ó%Ð%r   c                 ó  — t        | t        j                  «      rt        S t        5  t        t        | «      d«      s"t        j                  «       t        | «      _	        t        | «      j                  cd d d «       S # 1 sw Y   y xY w)NÚ__typecache)
rî   r  Ú
ModuleTypeÚ_typecache_cffi_backendÚglobal_lockÚhasattrr  ÚweakrefÚWeakValueDictionaryrk  )Úbackends    r   Úget_typecachers  C  sb   € ô �'œ5×+Ñ+Ô,Ü&Ð&Ü	ñ )Ü”t˜G“} mÔ4Ü(/×(CÑ(CÓ(EŒD�‹MÔ%Ü�G‹}×(Ñ(÷)÷ )ò )ús   §AA=Á=Bc                 óˆ  — |j                  d||f«      }|rJ ‚	 |j                  |   S # t        $ r Y nw xY w	  t        |j                  |«      |Ž }n$# t
        $ r}t        |›d| ›d|›�«      ‚d }~ww xY w|j                  }t        5  |j                  |«      }	|	€|||<   |cd d d «       S |	cd d d «       S # 1 sw Y   y xY w)Nr;  ú: )ÚpopÚ
_typecacher3   rB   rÐ   r°   rn  Úget)
Úsrctyper6   Úfuncnamer¸   Úkwdsr;  ÚresÚeÚcacheÚres1s
             r   r`   r`   N  sÕ   € Ø
�(‰(�5˜8 TÐ*Ó
+€CÙ€Oˆ8ðØ�~‰~˜cÑ"Ð"øÜò ÙðúðIØ-Œg�c—l‘l HÓ-¨tÐ4‰øÜò IÜ!²(ºGÁQÐ"GÓHÐHûðIúð
 �N‰N€EÜ	ñ Ø�y‰y˜‹~ˆØˆ<ØˆE�#‰JØ÷	ñ ð ÷÷ ò ús5   š) ©	5´5¹A Á	A4ÁA/Á/A4Â	B8Â-B8Â8Cc                 ó   — t        d| d|«      S )Nú?rß   r_   )r6   r9   s     r   Úpointer_cacher‚  e  s   € Ü˜˜SÐ"4°eÓ<Ð<r   c                 ó°   — | j                   rJt        | j                   d   «      t        u r+|›d| j                   d   ›�f| j                   dd  z   | _         y y y )Nr   ru  r   )r¸   r  rï   )r}  rD   s     r   Úattach_exception_infor„  h  sI   € Ø‡v‚v”$�q—v‘v˜a‘y“/¤SÑ(Ú" A§F¡F¨1¢IÐ.Ð0°1·6±6¸!¸"°:Ñ=ˆ�ð )€vr   r1   )-r  rp  Úlockr   Úerrorr   r   r   r   r   r   r   Úobjectr   rM   rZ   Ú	void_typerd   rh   r©   r³   r·   rÅ   rÉ   rØ   Ú
voidp_typerã   Úconst_voidp_typerå   rè   Úchar_array_typerø   r  r=  rA  rD  rd  ri  rn  rq  rm  rs  r`   r‚  r„  r-   r   r   ú<module>rŒ     s›  ðÛ Û å ß DÑ Dð €Ø€
Ø€
ò
ô,F˜ô ,Fô^
@Ð!ô 
@ô8ˆxô 8ñ ‹J€	ô˜ô ô
IHÐ%ô IHôX=Ð*ô =ô	=Ð(ô 	=ôG�xô Gô(PÐ&ô PôPÐ&ô Pô,B�(ô Bñ  ˜Ó#€
ò(ñ $ IÓ.Ð ô-�{ô -ôP�ô Pñ> ™M¨&Ó1°4Ó8€ô,Ð,ô ,ô"F@Ð'ô F@ôR�ô ô�ô ôECÐ"ô ECóNó&ñ ‹o€Ø5˜'×5Ñ5Ó7Ð ò	)òò.=ó>r   