PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/opt/imunify360/venv/lib/python3.11/site-packages/cffi/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/cffi/__pycache__/vengine_gen.cpython-311.pyc
�

˺h<h��V�ddlZddlZddlZddlmZddlmZGd�de��ZdZ	dS)�N�)�model��VerificationErrorc�8�eZdZdZdZd�Zd�Zd�Zd�Zd1d�Z	d	�Z
d2d�Zd�Zd
�Z
d�Zd�Zd�ZeZeZeZd�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#		d3d"�Z$d#�Z%eZ&d4d$�Z'd%�Z(d&�Z)d'�Z*d(�Z+d5d*�Z,d5d+�Z-d,�Z.d-�Z/eZ0d.�Z1d/�Z2eZ3d0�Z4d S)6�VGenericEngine�gFc�H�||_|j|_g|_i|_dS�N)�verifier�ffi�export_symbols�_struct_pending_verification)�selfrs  �r/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/cffi/vengine_gen.py�__init__zVGenericEngine.__init__s(�� ��
��<��� ���,.��)�)�)�c�<�|�d|j��dS)Nr)�
setdefaultr)r�kwdss  r�patch_extension_kwdsz#VGenericEngine.patch_extension_kwdss"��	
���(�$�*=�>�>�>�>�>rc���|D]_}||z}|�tj}|D]G}tj�||��}tj�|��r|ccS�H�`dSr)�sys�path�os�join�isfile)r�module_namer�so_suffixes�	so_suffix�basename�dirname�filenames        r�find_modulezVGenericEngine.find_modules���$�	$�	$�I�"�Y�.�H��|��x���
$�
$���7�<�<���:�:���7�>�>�(�+�+�$�#�O�O�O�O�O�$�
$�		$�	$rc��dSr�)rs r�
collect_typeszVGenericEngine.collect_types%����r�c�@�|j�|dz��dS)N�
)�_f�write)r�whats  r�_prntzVGenericEngine._prnt(s ����
�
�d�T�k�"�"�"�"�"rc�*�|j}|t��||jj��|�d��t
jdkrAt
jdkrd}nd}|j���}|d|�|�d���dSdS)N�decl�win32���PyInit_�initzvoid 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�<�=�=�=�=�=�
#�"rrc�b�����jj}tj�tj�jj��}|�||�����	�d��G���fd�dtj����d��}��	�d|���|S)N�loadingc�0��eZdZ�Z�jZgZ�fd�ZdS)�/VGenericEngine.load_library.<locals>.FFILibraryc����jSr)�	_cffi_dir)r�
FFILibrarys �r�__dir__z7VGenericEngine.load_library.<locals>.FFILibrary.__dir__Ts���!�+�+rN)�__name__�
__module__�__qualname__�_cffi_generic_moduler
�	_cffi_ffirFrH)rG�modulers���rrGrDPs@�������#)� ���I��I�
,�
,�
,�
,�
,�
,�
,rrGr)�loaded)�library)r
�_backendrrr�curdirr�modulefilename�load_library�_load�types�
ModuleType)r�flags�backendr#rPrGrNs`    @@rrTzVGenericEngine.load_libraryAs�������(�#���7�<�<��	�4�=�+G�H�H���%�%�h��6�6��	
�
�
�6�9�%�%�%�	,�	,�	,�	,�	,�	,�	,�	,�	,��)�	,�	,�	,��*�R�.�.��	
�
�
�6�8�W�
�5�5�5��rc��d�|jjj���D��}|���|S)Nc�"�g|]\}\}}||f��
Sr&r&)�.0�key�tp�quals    r�
<listcomp>z4VGenericEngine._get_declarations.<locals>.<listcomp>^s7��H�H�H�.�c�:�B���R�y�H�H�Hr)r
�_parser�
_declarations�items�sort)r�lsts  r�_get_declarationsz VGenericEngine._get_declarations]sK��H�H� $�� 0� >� D� D� F� F�H�H�H�����
�
�
��
rc�F�|���D]�\}}|�dd��\}}	t|d|�d|����}n #t$rt	d|z���wxYw	|||���d#t
$r}t
j||���d}~wwxYwdS)N� r�_generate_gen_�_znot implemented in verify(): %r)rf�split�getattr�AttributeErrorr�	Exceptionr�attach_exception_info)r�	step_name�namer^�kind�realname�method�es        rr9zVGenericEngine._generatecs����.�.�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�Bc��|���D]h\}}|�dd��\}}t|d|�d|����}	||||fi|���A#t$r}	t	j|	|���d}	~	wwxYwdS)Nrhrrj�_gen_)rfrkrlrnrro)
rrNrprrqr^rrrsrtrus
          rrUzVGenericEngine._loadrs����.�.�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�6A;c��dSrr&�rr^rqs   r�_generate_nothingz VGenericEngine._generate_nothing|r(rc��dSrr&�rr^rqrNrs     r�_loaded_noopzVGenericEngine._loaded_noopr(rc	�d��t|tj��sJ�|jr|�d||��dS|j}t
|j��}g}t|j��D]=\}}d}t|tj	��rd}|�
d||fz���>d|z��fd�t|j|��D��}	|j}
t|
tj	��r6|	�
d|
�d�����tj}
d	�|	��pd
}	d|z}|j�
|��|jr|jdz}nd}d|�|�d
|	�d�}
d|z�||
�|
�����|d��t|jtj	��rd}n$t|jtj��sd}nd}|d|�|�d
d	�|���d���|d��|��dS)NFr)�*z%sx%dzargument of %sc�H��g|]\}}|�d|z�����S)z %s)�
get_c_name)r\�type�arg�contexts   �rr`z>VGenericEngine._generate_gen_function_decl.<locals>.<listcomp>�s?���<�<�<� �t�S��?�?�5�3�;��8�8�<�<�<rrz *r�, �void�
_cffi_f_%srh�(�)zresult of %s�{z*r = zreturn �  �);�})�
isinstancer�FunctionPtrType�ellipsis�_generate_gen_constr/�len�args�	enumerate�
StructOrUnion�append�zip�result�insertr��	void_typerr�abi�VoidType)rr^rqr=�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�	�	�	�������rc��t|tj��sJ�|jr|�d|||��}�n�g}|}td�|jD����s t|jtj���r9g}t|j��D]_\}	}
t|
tj��r+tj
|
��}
|�|	|
f��|�|
���`|j}t|tj��rz|j�%td|����d����tj
|��}|�d|��|�dd|f��tj}tjt#|��||j��}|j�|��}d|z}
|�||
��}|D]\}	}
|�||	|
|��}�t-|||��t/|��j�|��dS)NFc3�JK�|]}t|tj��V��dSr)r�rr�)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 opaquerr�r�)r�rr�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)rr^rqrNrP�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�,�,�,�,�,rc�������|jj�|j�|����dkr|j����fd�}n����fd�}||_|S)Nr�c�P�������}�|g|�R�|dS�Nr)�new)r��res�BTyper
�oldfuncs  ���r�newfuncz4VGenericEngine._make_struct_wrapper.<locals>.newfunc�s3����g�g�e�n�n�����#�d�#�#�#�#��1�v�
rc�z��|d�����|���fz|�dzd�z}�|�S)Nr)�newp)r�r�rYr�r�s ����rr�z4VGenericEngine._make_struct_wrapper.<locals>.newfunc�sG����B�Q�B�x�7�<�<��t�A�w�#?�#?�"A�A�D��1����J�N���w��~�%r)r
rQr��_cffi_base_type)	rr�r�r^r�r�r�rYr
s	 ``   @@@rr�z#VGenericEngine._make_struct_wrapper�s���������(�#����*�*�2�.�.����=�=��(�C�
�
�
�
�
�
�
�
�

&�
&�
&�
&�
&�
&�
&�
&�#*����rc�N�||jksJ�|�|d|��dS�N�struct�rq�_generate_struct_or_union_declrys   r�_generate_gen_struct_declz(VGenericEngine._generate_gen_struct_decl�s/���r�w������+�+�B��$�?�?�?�?�?rc�6�|�|d||��dSr���_loading_struct_or_union�rr^rqrNs    r�_loading_gen_structz"VGenericEngine._loading_gen_struct�s"���%�%�b�(�D�&�A�A�A�A�Arc�0�|�|��dSr��_loaded_struct_or_unionr|s     r�_loaded_gen_structz!VGenericEngine._loaded_gen_struct�����$�$�R�(�(�(�(�(rc�N�||jksJ�|�|d|��dS�N�unionr�rys   r�_generate_gen_union_declz'VGenericEngine._generate_gen_union_decl�s/���r�w������+�+�B���>�>�>�>�>rc�6�|�|d||��dSr�r�r�s    r�_loading_gen_unionz!VGenericEngine._loading_gen_unions"���%�%�b�'�4��@�@�@�@�@rc�0�|�|��dSrr�r|s     r�_loaded_gen_unionz VGenericEngine._loaded_gen_unionr�rc	���|j�dSd|�d|��}d|�d|��}|�d|�����}|j}|d|�d|�d���|d��|d	��|d
��|���D]�\}}	}
}t	|	t
j��r|	���s|
dkr|d|z���J	|d
|	�dd|z|����d|�d����w#t$r%}|dt|��z��Yd}~��d}~wwxYw|d��|j�|��|d|�d���|d��|d|z��|d��|d|z��|d��|���D]t\}}	}
}|
dkr�|d|�d|�d���t	|	t
j
��r(|	j�!|d|	���z���b|d|�d |�d����u|d!��|d"��|d#��|d$��|d%|�d&���|d��|��dS)'N�_cffi_check_rj�
_cffi_layout_rhzstatic void r�z *p)r�z8  /* only to generate compile-time warnings or errors */z
  (void)p;rz  (void)((p->%s) << 1);z  { z*tmpzfield %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�strrr��	ArrayType�lengthr�)
rr^r>rq�
checkfuncname�layoutfuncname�cnamer=�fname�ftype�fbitsize�fqualrus
             rr�z-VGenericEngine._generate_struct_or_union_declsd��
�;���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�dSd|�d|��}|j�d��d}|�||��}g}d}		||	��}
|
dkrn|�|
��|	dz
}	�-t|tj��r�|jr�|d}|d}|ddd�}
|ddd�}|�	��t|
��t|��cxkrt|j��ksnJ�|
|||f|_dS|�d	|�����}||f|j
|<dS)
Nr�rjzintptr_t(*)(intptr_t)rTr�r4rh)r�r
�_typeof_lockedr�r�r�rr��partial�
force_flattenr��fixedlayoutr�r)rr^r>rqrNr�r��function�layout�num�x�	totalsize�totalalignment�fieldofs�	fieldsizer�s                rr�z'VGenericEngine._loading_struct_or_union7s���
�;���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�1rc���|j�dS|j�|��||jv�rAd�}|j}|�|��}|j�|��\}}||d|�|��d��||d|�|��d��d}|���D]�\}}	}
}|
dkr�||||�||��d|����||dzdkrA|�|	��}|||dz|�|��d|����|dz
}��|t|��ksJ�dSdS)	Nc�<�||krtd|||fz���dS)Nz'%s (we have %d, but C compiler says %d)r)�	realvalue�
expectedvalue�msgs   r�checkz5VGenericEngine._loaded_struct_or_union.<locals>.checkZs9���
�-�-�+�A��
�y�9�:�;�;�;�.�-rrzwrong total sizerzwrong total alignmentr�zwrong offset for field zwrong size for field )
r�r
r�r�pop�sizeof�alignofr��offsetofr�)
rr^rr
�BStructr�r�r�r�r�r�r��BFields
             rr�z&VGenericEngine._loaded_struct_or_unionSs���
�;���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�.$�#rc��t|tj��r|�||d��dS|�|d|��dS�Nr))r�r�EnumType�_generate_gen_enum_declr�rys   r�_generate_gen_anonymous_declz+VGenericEngine._generate_gen_anonymous_declusR���b�%�.�)�)�	>��(�(��T�2�6�6�6�6�6��/�/��B��=�=�=�=�=rc��t|tj��r|�|||d��dS|�|d||��dSr)r�rr�_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�$��?�?�?�?�?rc��t|tj��r|j|||fi|��dS|�|��dSr)r�rr�_loaded_gen_enumr�r|s     r�_loaded_gen_anonymousz$VGenericEngine._loaded_gen_anonymous�sU���b�%�.�)�)�	-�!�D�!�"�d�F�;�;�d�;�;�;�;�;��(�(��,�,�,�,�,rN�constc��|j}d|�d|��}|j�|��|�R|sJ�|dksJ�|d|z��|d��|�||��|d��|d��n�|rK|dksJ�|d|z��|d��|d	|�d
���|d|�d���|d��n�|�J�|�J�|d
krd}nd}d}	|dkrt	|t
j��rd}	d}||�d|	�|�d�|����|d��|d|�|�d
���|d��|��dS)N�_cffi_rjr�int %s(char *out_error)r��  return 0;r�zint %s(long long *out_value)z  *out_value = (long long)(r�z
  return (z) <= 0;�var�&r)zconst *rhz(void))r/rr��_check_int_constant_valuer�rr�r�)
r�is_intrqr^�category�check_valuer=�funcname�	ampersand�extras
          rr�z"VGenericEngine._generate_gen_const�s����z���$,�H�H�d�d�3����"�"�8�,�,�,��"��M�M�6��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�������rc��t|tj��o|���}|�|||��dSr)r�rr�r�r�)rr^rqr!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�2rc�B�d|z}|�|sJ�|�||��|}�ny|r�|j�d��d}|j�d��d}	|�|	|��}
|j�|��}|
|��}t|d��}|dkrE|sC|j�d��d}
|dd|j�|
��zzz
}n�|�J�d}t|tj	��rd	|z}|j�|�
||����d}	|�|	|��}
|
��}t|tj	��r|d}|S)
Nz_cffi_const_%sz
long long*rzint(*)(long long*)z	long longr�z	(*)(void)r)�_load_known_int_constantr
r�r�r��intr	r�rr�r�)rr!r^rqrNr#r$�valuer�r�r��p�negative�	BLongLong�fntypeextras               rr�zVGenericEngine._load_constant�s���#�d�*���"��M�M�6��)�)�&�(�;�;�;��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����rc��t|tj��o|���}|�||||��}t|||��t
|��j�|��dSr)	r�rr�r�r�r�r�rFr�)rr^rqrNrPr!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�,�,�,�,�,rc�X�|j}|dkr|d|||fz��n|d|||fz��|d��|d|z��|d|z��|d��|d|z��|d	��|d
|dd�|fz��|d��|d
��dS)Nrz&  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");�dz    return -1;z  })r/)rrqr-r=s    rr 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�����rc��|j�d��d}|j�d��d}|�||��}|j�|d��}||��dkrI|j�|��}t
jdkrt|d��}t|���dS)Nzchar[]rz
int(*)(char*)�r3zutf-8)	r
r�r�r��stringrr;r�r)rrNr$r�r�r�r.�errors        rr+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�*�*�*�	�?rc�>�|�dd��}d|�d|��S)N�$�___D_�_cffi_e_rj)�replace)rr>rqs   r�_enum_funcnamezVGenericEngine._enum_funcname�s(���|�|�C��)�)���"(�&�&�$�$�/�/r�enumc��|jr"|jD]}|�d|���dS|�||��}|j�|��|j}|d|z��|d��t|j|j��D]\}}|�	||���|d��|d��|��dS)NTrr�rr�)
r��enumeratorsr�r?rr�r/r��
enumvaluesr )rr^rqr>�
enumeratorr$r=�	enumvalues        rrz&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�	�	�	�������rc�������jr2���fd��jD��}t|���_d�_dS��||��}���|��dS)Nc�@��g|]}��d�|�����S)T)r�)r\rDrNrr^s  ���rr`z4VGenericEngine._loading_gen_enum.<locals>.<listcomp>s=���<�<�<�(��-�-�d�B�
�F�K�K�<�<�<rT)r�rBr�rC�partial_resolvedr?r+)rr^rqrNr>rCr$s`` `   rrz VGenericEngine._loading_gen_enums������
�:�	<�<�<�<�<�<�<�,.�N�<�<�<�J�!�*�-�-�B�M�"&�B�����*�*�6�4�8�8�H��)�)�&�(�;�;�;�;�;rc��t|j|j��D]=\}}t|||��t	|��j�|���>dSr)r�rBrCr�r�rFr�)rr^rqrNrPrDrEs       rrzVGenericEngine._loaded_gen_enums`��%(�����%G�%G�	7�	7�!�J�	��G�Z��3�3�3���M�M�#�*�*�:�6�6�6�6�	7�	7rc�L�|dkrd}n|}|�d||���dS�Nz...T)r#)r�)rr^rqr#s    r�_generate_gen_macro_declz'VGenericEngine._generate_gen_macro_decl s8��
��;�;��K�K��K�� � ��t�� �E�E�E�E�Erc��|dkrd}n|}|�d||||���}t|||��t|��j�|��dSrK)r�r�r�rFr�)rr^rqrNrPr#r-s       r�_loaded_gen_macroz VGenericEngine._loaded_gen_macro)sq��
��;�;��K�K��K��#�#�D�"�d�F�0;�$�=�=�����u�%�%�%��W�
�
��&�&�t�,�,�,�,�,rc���t|tj��r�|���rY|j}d|��}|j�|��|d|z��|d��|d|�d���|d��tj|j��}|�	d||��dStj|��}|�	d||d�	��dS)
N�
_cffi_sizeof_zsize_t %s(void)r�z  return sizeof(r�r�Fr)r")
r�rr��length_is_unknownr/rr�r��itemr�)rr^rqr=r$�tp_ptrs      r�_generate_gen_variable_declz*VGenericEngine._generate_gen_variable_decl6s���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�Irc���t|tj���r|���r�d|��}|j�d��d}|�||��}|��}|j�|j��}	t||j�
|	����\}
}|dkrtd|�d|j�����|�|
��}tj
|j��}|�d|||��}
|j�5|j�|��}|j�||
��}
t#|||
��t%|��j�|��dSd|z}|j�|�d|����d}|�||��}|����fd	�}�fd
�}t#t%|��|t-||����t%|��j�|��dS)NrPzsize_t(*)(void)rz
bad size: z! does not seem to be an array of Fz_cffi_var_%sz
*(*)(void)c����dSr�r&)rP�ptrs �r�getterz3VGenericEngine._loaded_gen_variable.<locals>.gettergs����q�6�Mrc���|�d<dSr�r&)rPr-rWs  �r�setterz3VGenericEngine._loaded_gen_variable.<locals>.setteris����C��F�F�Fr)r�rr�rQr
r�r�r�rR�divmodr	r�resolve_lengthr�r�r��castr�r�rFr�r��property)rr^rqrNrPr$r�r��size�	BItemTyper��restrSr-�BArrayrXrZrWs                 @r�_loaded_gen_variablez#VGenericEngine._loaded_gen_variableHsP����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)NrNr)r@)5rIrJrK�
_class_key�_gen_python_modulerrr$r'r/r@rTrfr9rUrzr}�_generate_gen_typedef_decl�_loading_gen_typedef�_loaded_gen_typedefr��_loading_gen_functionr�r�r�r�r�r�r�r�r�r�r�rrrr�r(�_loading_gen_constantr�r3r r+r?rrrrL�_loading_gen_macrorNrT�_loading_gen_variablercr&rrrrs��������J���/�/�/�?�?�?�$�$�$�
�
�
�#�#�#�#�>�>�>�,����8���
�
�
����
�
�
�
�
�
�$5��#/��#/��
+�+�+�Z)��"-�"-�"-�H���&@�@�@�B�B�B�)�)�)�?�?�?�A�A�A�)�)�)�/�/�/�bB�B�B�8$�$�$�D>�>�>�@�@�@�-�-�-�CJ�(,�#�#�#�#�J3�3�3�)������8-�-�-����&	+�	+�	+�0�0�0�
����"<�<�<�<�7�7�7�F�F�F�&��-�-�-�J�J�J� )��$-�$-�$-�$-�$-rrad
#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
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
#endif
)
rrrVr)rr9r�objectrr7r&rr�<module>rns���������������������$�$�$�$�$�$�a	-�a	-�a	-�a	-�a	-�V�a	-�a	-�a	-�F5���r