YL i%U|ddlZddlZddlmZddlmZmZmZdZdZ dZ dZ Gdd e Z Gd d e ZGd d eZeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZeeZdZeeZGdd eZGd!d"eZeed#dZGd$d%e ZGd&d'eZ Gd(d)e Z!Gd*d+e Z"Gd,d-eZ#d4d.Z$d4d/Z%eZ&ejNZ(d0Z)d1Z*d2Z+d3Z,y)5N) allocate_lock) CDefErrorVerificationErrorVerificationMissingc|tzrd|jz}|tzrd|jz}|tzrd|jz}|S)Nz const z volatile z __restrict )Q_CONSTlstrip Q_VOLATILE Q_RESTRICT)quals replace_withs P/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/cffi/model.pyqualifyr sZ w <#6#6#88  z#l&9&9&;;  z& (;(;(== cBeZdZdZdZd dZdZdZdZd dZ dZ dZ y ) BaseTypeByIdentityFc@|j}|jddk(sJ|j}|r'|jdr d|vrd|z}n |ddvrd|z}t ||}|j d|}d |vr t d |jd |d |S) N&r*z&[z(%s)rz[( $zcannot generate 'z' in z: unknown type name)c_name_with_markercountstrip startswithrreplacer _get_c_name)selfrcontextrresults r get_c_namezBaseTypeByIdentity.get_c_names((||C A%%%#))+ &&s+% 4 !!_,"\1 ul3 \2 &=###%w01 1 rc:|jjddS)Nr)rrr!s rr zBaseTypeByIdentity._get_c_name/s&&..sB77rc&d|jvS)Nrr r's r has_c_namezBaseTypeByIdentity.has_c_name2s$**,,,rcyNFr's ris_integer_typez"BaseTypeByIdentity.is_integer_type5rc |j|}|S#t$r8|j||}|jj||}||usJY|SwxYwN)_cached_btypesKeyErrorbuild_backend_type setdefault)r!ffi finishlist can_delayBTypeBType2s rget_cached_btypez#BaseTypeByIdentity.get_cached_btype8sj #&&t,E   #++Cr)r's r__repr__zBaseTypeByIdentity.__repr__As))+--rcX|jDcgc]}|t||fc}Scc}wr1)_attrs_getattrr!names r _get_itemszBaseTypeByIdentity._get_itemsDs&8< EwtT*+EEEs'N)r&za C filerF) __name__ __module__ __qualname__ is_array_typeis_raw_functionr$r r*r.r;r?rEr-rrrrs0MO$8-.FrrceZdZdZdZdZy)BaseTypecz|j|jk(xr!|j|jk(Sr1) __class__rEr!others r__eq__zBaseType.__eq__Js4%//18!U%5%5%77 9rc||k( Sr1r-rPs r__ne__zBaseType.__ne__Ns5=  rc^t|jt|jfSr1)hashrOtuplerEr's r__hash__zBaseType.__hash__Qs"T^^U4??+<%=>??rN)rGrHrIrRrTrXr-rrrMrMHs9!@rrMceZdZdZdZdZy)VoidTyper-cd|_y)Nzvoid&)rr's r__init__zVoidType.__init__Xs ")rct||dS)N new_void_type global_cacher!r6r7s rr4zVoidType.build_backend_type[sD#77rNrGrHrIrAr\r4r-rrrZrZUsG*8rrZceZdZdZy)BasePrimitiveTypecyr,r-r's ris_complex_typez!BasePrimitiveType.is_complex_typebr/rN)rGrHrIrfr-rrrdrdasrrdcreZdZdZiddddddddddd dd dd dd dd dddddddddddddddiddddddddddddddddddd dd!dd"dd#dd$dd%dd&dd'did(dd)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7dd8dZd9Zd:Zd;Zd<Zd=Z d>Z y?)@ PrimitiveTyperDcharcshortiintlongz long longz signed charz unsigned charzunsigned short unsigned int unsigned longzunsigned long longfloatfdoublez long double_cffi_float_complex_tj_cffi_double_complex_t_Boolwchar_tchar16_tchar32_tint8_tuint8_tint16_tuint16_tint32_tuint32_tint64_tuint64_t int_least8_t uint_least8_t int_least16_tuint_least16_t int_least32_tuint_least32_t int_least64_tuint_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_tintptr_t uintptr_tintmax_t uintmax_t ptrdiff_tsize_tssize_tcF||jvsJ||_|dz|_yNr)ALL_PRIMITIVE_TYPESrDrrCs rr\zPrimitiveType.__init__s)t///// "&*rc:|j|jdk(S)NrkrrDr's r is_char_typezPrimitiveType.is_char_type'' 2c99rc:|j|jdk(S)Nrmrr's rr.zPrimitiveType.is_integer_typerrc:|j|jdk(S)Nrsrr's r is_float_typezPrimitiveType.is_float_typerrc:|j|jdk(S)Nrvrr's rrfzPrimitiveType.is_complex_typerrc2t||d|jS)Nnew_primitive_type)r`rDras rr4z PrimitiveType.build_backend_typesD#';TYYGGrN) rGrHrIrArr\rr.rrfr4r-rrrhrhfsG5 c5 c5  c5  c 5 c 5 c 5  c5  c5  c5  c5  c5  c5  c5  c5  5 !#!5 " c#5 & c'5 ( c)5 * c+5 , c-5 . c/5 0 c15 2 c35 4 c55 6 c75 8 c95 : c;5 < c=5 > c?5 @ cA5 B cC5 D cE5 F cG5 H cI5 J cK5 L cM5 N cO5 P cQ5 R cS5 T cU5 V cW5 X cY5 Z c[5 \ c]5 ^ c_5 ` ca5 b cc5 d ce5 f cg5 h ci5 n- ::::Hrrhc"eZdZdZdZdZdZy)UnknownIntegerTyperic&||_|dz|_yrrDrrCs rr\zUnknownIntegerType.__init__ "&*rcy)NTr-r's rr.z"UnknownIntegerType.is_integer_typesrc2td|jz)Nz4integer type '%s' can only be used after compilationNotImplementedErrorrDras rr4z%UnknownIntegerType.build_backend_type !#026))#<= =rN)rGrHrIrAr\r.r4r-rrrrsG-=rrceZdZdZdZdZy)UnknownFloatTyperic&||_|dz|_yrrrCs rr\zUnknownFloatType.__init__rrc2td|jz)Nz2float type '%s' can only be used after compilationrras rr4z#UnknownFloatType.build_backend_typerrNrbr-rrrrsG-=rrceZdZdZddZy)BaseFunctionType)argsr#ellipsisabiNc||_||_||_||_|jDcgc]}|j }}|jr|j d|xsdg}|j dj|fz}||dd|zdz|ddz}|jjjd||_ycc}w)N...voidz, rrr) rr#rrr append _base_patternjoinrr)r!rr#rrargreprargsrs rr\zBaseFunctionType.__init__s    15;#COO%;; == OOE "'x))TYYx-@,BB ?'+c1C7,qr:JJL KK * * 2 23 E )) >B KK++C< = > 88{ "== # 8 8:HD#':!$KKAIK K&s/B** B65B6cnt|j|j|j|jSr1)rrr#rrr's ras_raw_functionzFunctionPtrType.as_raw_functionrrN)rGrHrIrr4rr-rrrrsM KPrrceZdZdZddZdZy) PointerType)totyperc||_||_d}|jrd|jd}t ||}|j j d||_y)Nz *&()r)rrrJr rrr)r!rrextras rr\zPointerType.__init__sS     #lln.Eu%"(";";"C"CC"OrcZ|jj||d}t||d|S)NT)r8new_pointer_type)rr;r`)r!r6r7BItems rr4zPointerType.build_backend_types/ ,,S*,MD#'95AArNrrbr-rrrrs!GPBrrc"t|tSr1)rr )rs rConstPointerTypers vw ''rceZdZdZddZy)NamedPointerType)rrDcTtj|||||_|dz|_yr)rr\rDr)r!rrDrs rr\zNamedPointerType.__init__ s'T651 "&*rNrrr-rrrrs  G-rrc,eZdZdZdZdZdZdZdZy) ArrayType)itemlengthTc||_||_|d}n |dk(rd}nd|z}|jjjd||_y)Nz&[]rz &[/*...*/]z&[%s]r)rrrr)r!rrbracketss rr\zArrayType.__init__*sR  >H u_#H'H II ( ( 0 0h ? rc6t|jtSr1) isinstancerstrr's rlength_is_unknownzArrayType.length_is_unknown7s$++s++rc.t|j|Sr1)rr)r! newlengths rresolve_lengthzArrayType.resolve_length:sI..rc|jrtd|d|jj||t |jj||}t ||d||j S)Nrz: unknown lengthnew_array_type)rrrr;rr`r)r!r6r7BPtrItems rr4zArrayType.build_backend_type=sj  ! ! #!$% % ""3 3tyy)::3 KD#'74;;OOrN) rGrHrIrArJr\rrr4r-rrrr&s" GM A,/Prrrjc&eZdZdZdZdZdZdZy)StructOrUnionOrEnumriNcj|jxs|jd|j}|dz|_y)Nrr) forcenamekindrDrrCs rbuild_c_name_with_markerz,StructOrUnionOrEnum.build_c_name_with_markerLs)~~ADIItyy!A"&*rc2||_|jyr1)rr)r!rs rforce_the_namez"StructOrUnionOrEnum.force_the_namePs" %%'rcZ|jjdsJ|jddS)Nr)rendswithr's rget_official_namez%StructOrUnionOrEnum.get_official_nameTs/&&//444&&s++r)rGrHrIrArrrrr-rrrrHsGI-(,rrcXeZdZdZdZdZdZd dZdZddZ dZ ddZ d Z d Z d Zd Zy) StructOrUnionNrFcj||_||_||_||_||_|j yr1)rDfldnamesfldtypes fldbitsizefldqualsr)r!rDrrrr s rr\zStructOrUnion.__init___s1     $   %%'rc#K|jDt|j|jD] \}}|dk(s t|ts|"yyw)Nr&)rziprrr)r!rDtypes ranonymous_struct_fieldsz%StructOrUnion.anonymous_struct_fieldsgsL == $!$--?  d2:*T="AJ  %s8AA Ac#6K|j}|dt|jz}t|j|j|j |D]@\}}}}|dk(r,t |tr|r|jD]}|9||||fByw)Nrr&) r lenrr rrrr enumfields)r!expand_anonymous_struct_unionr rDr bitsizerr#s rrzStructOrUnion.enumfieldsms==  c$--00H*-dmmT]].2oox+I 3 &D$ z$ >5"oo/!F L!T7E22 3sBBcRg}g}g}g}|jD]L\}}}}|j||j||j||j|Nt||_t||_t||_t||_yr1)rrrWrrrr ) r!namestypesbitsizesr rDr rrs r force_flattenzStructOrUnion.force_flatten{s*.//*; # &D$ LL  ELL  OOG $ OOE "  # e  e  /h rc^tj||||}|s|j|||Sr1)rr;finish_backend_type)r!r6r7r8r9s rr;zStructOrUnion.get_cached_btypes4#44T3 5>@  $ $S* 5 rc.|jr)|jdk7rtd|jdy|j|}d|_|j d|_y|j |jDcgc]}|j ||}}tt|j||j}d}|jr |jdk(rd}nd|jf}|jj|||ddg|d|_yg}|j \}} } } tt|jD]t} | | } |j| }t!|t"r|j%r|j&j ||}t)| |j+|\}}|dk7r3|j-d |jd |j| xsd d |j/|}|jd| |fz|j| dzdz|_|j ||}t!|t"r|j0| dk(sKJ|j+|}|| k7r3|j-d |j|j| xsd || fz|j3|wtt|j||j|}|jj|||| | d|_ycc}w)Nrz%recursive structure declaration for ''rr-)rrzfield '.z{}z' has a bogus size?z=field '%s.%s' is declared as %d bytes, but is really %d bytes) completedrrDr2r fixedlayoutr;listr rrpackedrcomplete_struct_or_unionrangerrrrrdivmodsizeof_verification_errorrrr)r!r6r7r9rrlst extra_flagsfieldofs fieldsize totalsizetotalalignmentrmfsizeftype BItemTypenlennrest BFieldType bitemsizes rrz!StructOrUnion.finish_backend_types >>~~")8< +DEE ""4( == da   %"&--1++C<1H1s4==(DOODECK{{;;!#"&K#$dkk"2K 1CLL 1 1%d24b H;F HLEH=A=M=M :HiN3t}}-. ,!!  a(eY/E4K4K4M % ; ;C LI"( 90E"FKD%z00 IIt}}Q'7'?4'?AB"006E%)]]2A%6%%A%)]]1Q34%8&9DM#33CD eY/ELL4H A:%: # : 6I E)00.1515q1A1IT1:E1CCD  +7 ,:s4==(DOOXNOC LL 1 1%d2;^ M_1s;Lct|r1)r)r!msgs rr&z!StructOrUnion._verification_errors $$rch|jr&|jt|jyyr1)partialrrr r's rcheck_not_partialzStructOrUnion.check_not_partials/ <> !))+D 4<<S#99DN "rch|jr&|jst|jyyr1)r7partial_resolvedrr r's rr8zEnumType.check_not_partials, << 5 5%d&6&6&89 9!6rs DD    ,F,F^ @! @8x8 J  IH%IHX =* = =( =GxG( P& PP&P,B(B  # ($I.-{-PP>M&148,,,"F@'F@R EC"ECN&o 5'557 ).=>r