Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 AøªjUã@sÖddlZddlZddlmZddlmZmZmZdZdZ dZ dd„Z Gd d „d e ƒZ Gd d „d e ƒZGd d„deƒZeƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZeeƒZdd „ZeeƒZGd!d"„d"eƒZGd#d$„d$eƒZeed%ƒdƒZGd&d'„d'e ƒZGd(d)„d)eƒZ Gd*d+„d+e ƒZ!Gd,d-„d-e ƒZ"Gd.d/„d/eƒZ#déNé)Ú allocate_lock)Ú CDefErrorÚVerificationErrorÚVerificationMissingéécCs@|t@rd|jƒ}|t@r(d|jƒ}|t@r)r)r rrrÚ__repr__AszBaseTypeByIdentity.__repr__cs‡fdd„ˆjDƒS)Ncsg|]}|tˆ|ƒf‘qSr)Úgetattr)Ú.0Úname)r rrú Esz1BaseTypeByIdentity._get_items..)Ú_attrs_)r r)r rÚ _get_itemsDszBaseTypeByIdentity._get_itemsN)rrr)F) Ú__name__Ú __module__Ú __qualname__Ú is_array_typeÚis_raw_functionr#rr$r%r.r/r5rrrrrs  rc@s$eZdZdd„Zdd„Zdd„ZdS)ÚBaseTypecCs|j|jko|jƒ|jƒkS)N)Ú __class__r5)r ÚotherrrrÚ__eq__Js zBaseType.__eq__cCs ||k S)Nr)r r=rrrÚ__ne__NszBaseType.__ne__cCst|jt|jƒƒfƒS)N)Úhashr<Útupler5)r rrrÚ__hash__QszBaseType.__hash__N)r6r7r8r>r?rBrrrrr;Hsr;c@s eZdZfZdd„Zdd„ZdS)ÚVoidTypecCs d|_dS)Nzvoid&)r)r rrrÚ__init__XszVoidType.__init__cCs t||dƒS)NZ new_void_type)Ú global_cache)r r*r+rrrr([szVoidType.build_backend_typeN)r6r7r8r4rDr(rrrrrCUsrCc@seZdZdd„ZdS)ÚBasePrimitiveTypecCsdS)NFr)r rrrÚis_complex_typebsz!BasePrimitiveType.is_complex_typeN)r6r7r8rGrrrrrFasrFc4@s¬eZdZdZddddddddddddddddddddddddddddddddddddddddddddddddddddœ3Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dS)Ú PrimitiveTyper2ÚcÚiÚfÚj)3ÚcharÚshortÚintÚlongz long longz signed charz unsigned charzunsigned shortz unsigned intz unsigned longzunsigned long longÚfloatÚdoublez long doublezfloat _Complexzdouble _ComplexZ_BoolZwchar_tZchar16_tZchar32_tZint8_tZuint8_tZint16_tZuint16_tZint32_tZuint32_tZint64_tZuint64_tZ int_least8_tZ uint_least8_tZ int_least16_tZuint_least16_tZ int_least32_tZuint_least32_tZ int_least64_tZuint_least64_tZ int_fast8_tZ uint_fast8_tZ int_fast16_tZ uint_fast16_tZ int_fast32_tZ uint_fast32_tZ int_fast64_tZ uint_fast64_tZintptr_tZ uintptr_tZintmax_tZ uintmax_tZ ptrdiff_tZsize_tZssize_tcCs"||jkst‚||_|d|_dS)Nr)ÚALL_PRIMITIVE_TYPESrr2r)r r2rrrrD szPrimitiveType.__init__cCs|j|jdkS)NrI)rSr2)r rrrÚ is_char_type¥szPrimitiveType.is_char_typecCs|j|jdkS)NrJ)rSr2)r rrrr%§szPrimitiveType.is_integer_typecCs|j|jdkS)NrK)rSr2)r rrrÚ is_float_type©szPrimitiveType.is_float_typecCs|j|jdkS)NrL)rSr2)r rrrrG«szPrimitiveType.is_complex_typecCst||d|jƒS)NZnew_primitive_type)rEr2)r r*r+rrrr(®sz PrimitiveType.build_backend_typeN)r2) r6r7r8r4rSrDrTr%rUrGr(rrrrrHfstrHc@s(eZdZd Zdd„Zdd„Zdd„ZdS) ÚUnknownIntegerTyper2cCs||_|d|_dS)Nr)r2r)r r2rrrrDµszUnknownIntegerType.__init__cCsdS)NTr)r rrrr%¹sz"UnknownIntegerType.is_integer_typecCstd|jƒ‚dS)Nz4integer type '%s' can only be used after compilation)ÚNotImplementedErrorr2)r r*r+rrrr(¼sz%UnknownIntegerType.build_backend_typeN)r2)r6r7r8r4rDr%r(rrrrrV²srVc@s eZdZdZdd„Zdd„ZdS)ÚUnknownFloatTyper2cCs||_|d|_dS)Nr)r2r)r r2rrrrDÃszUnknownFloatType.__init__cCstd|jƒ‚dS)Nz2float type '%s' can only be used after compilation)rWr2)r r*r+rrrr(Çsz#UnknownFloatType.build_backend_typeN)r2)r6r7r8r4rDr(rrrrrXÀsrXc@seZdZdZd dd„ZdS) ÚBaseFunctionTypeÚargsr"ÚellipsisÚabiNcCs’||_||_||_||_dd„|jDƒ}|jr8|jdƒ|p@dg}|jdj|ƒf}|dk r||dd…|d|dd…}|jjjd|ƒ|_dS) NcSsg|] }|jƒ‘qSr)r)r1Úargrrrr3Õsz-BaseFunctionType.__init__..z...Úvoidz, rrr) rZr"r[r\ÚappendÚ _base_patternÚjoinrr)r rZr"r[r\ZreprargsrrrrrDÏs   zBaseFunctionType.__init__)rZr"r[r\)N)r6r7r8r4rDrrrrrYÌsrYc@s$eZdZdZdZdd„Zdd„ZdS)ÚRawFunctionTypez(&)(%s)TcCstd|fƒ‚dS)NzPcannot render the type %r: it is a function type, not a pointer-to-function type)r)r r*r+rrrr(çsz"RawFunctionType.build_backend_typecCst|j|j|j|jƒS)N)ÚFunctionPtrTyperZr"r[r\)r rrrÚas_function_pointerësz#RawFunctionType.as_function_pointerN)r6r7r8r`r:r(rdrrrrrbàsrbc@s eZdZdZdd„Zdd„ZdS)rcz(*&)(%s)cCsŠ|jj||ƒ}g}x |jD]}|j|j||ƒƒqWf}|jdkrl|jsly|jjf}Wntk rjYnXt ||dt |ƒ||jf|žŽS)NZ __stdcallZnew_function_type) r"r.rZr_r\r[Ú_backendZ FFI_STDCALLÚAttributeErrorrErA)r r*r+r"rZÚtpZabi_argsrrrr(òs  z"FunctionPtrType.build_backend_typecCst|j|j|j|jƒS)N)rbrZr"r[r\)r rrrÚas_raw_functionszFunctionPtrType.as_raw_functionN)r6r7r8r`r(rhrrrrrcïsrcc@s"eZdZd Zd dd„Zdd„ZdS) Ú PointerTypeÚtotyper rcCs>||_||_t|dƒ}|jr*d|jƒf}|jjd|ƒ|_dS)Nz *&z(%s)r)rjr rr9r rr)r rjr ÚextrarrrrDs  zPointerType.__init__cCs |jj||dd�}t||d|ƒS)NT)r,Únew_pointer_type)rjr.rE)r r*r+ZBItemrrrr(szPointerType.build_backend_typeN)rjr )r)r6r7r8r4rDr(rrrrris ricCs t|tƒS)N)rir )rjrrrÚConstPointerTypesrmc@seZdZdZddd„ZdS) ÚNamedPointerTyperjr2rcCs"tj|||ƒ||_|d|_dS)Nr)rirDr2r)r rjr2r rrrrDszNamedPointerType.__init__N)rjr2)r)r6r7r8r4rDrrrrrnsrnc@s4eZdZd ZdZdd„Zdd„Zdd „Zd d „Zd S)Ú ArrayTypeÚitemÚlengthTcCsF||_||_|dkrd}n|dkr(d}nd|}|jjjd|ƒ|_dS)Nz&[]z...z &[/*...*/]z&[%s]r)rprqrr)r rprqZbracketsrrrrD)szArrayType.__init__cCs t|jtƒS)N)Ú isinstancerqÚstr)r rrrÚlength_is_unknown6szArrayType.length_is_unknowncCs t|j|ƒS)N)rorp)r Z newlengthrrrÚresolve_length9szArrayType.resolve_lengthcCsH|jƒrtd|fƒ‚|jj||ƒt|jƒj||ƒ}t||d||jƒS)Nz)cannot render the type %r: unknown lengthZnew_array_type)rtrrpr.rirErq)r r*r+ZBPtrItemrrrr(<s  zArrayType.build_backend_typeN)rprq) r6r7r8r4r9rDrtrur(rrrrro%s  rorMc@s,eZdZd ZdZdd„Zdd„Zdd„ZdS) ÚStructOrUnionOrEnumr2NcCs$|jpd|j|jf}|d|_dS)Nz%s %sr)Ú forcenameÚkindr2r)r r2rrrÚbuild_c_name_with_markerKsz,StructOrUnionOrEnum.build_c_name_with_markercCs||_|jƒdS)N)rwry)r rwrrrÚforce_the_nameOsz"StructOrUnionOrEnum.force_the_namecCs|jjdƒst‚|jdd…S)Nrréÿÿÿÿ)rÚendswithr)r rrrÚget_official_nameSsz%StructOrUnionOrEnum.get_official_name)r2)r6r7r8r4rwryrzr}rrrrrvGs rvc@sjeZdZdZdZdZdZddd„Zdd„Zdd d „Z d d „Z dd d„Z dd„Z dd„Z dd„Zdd„ZdS)Ú StructOrUnionNrFcCs*||_||_||_||_||_|jƒdS)N)r2ÚfldnamesÚfldtypesÚ fldbitsizeÚfldqualsry)r r2rr€r�r‚rrrrD^s zStructOrUnion.__init__ccsB|jdk r>x2t|j|jƒD] \}}|dkrt|tƒr|VqWdS)Nr)r€Úziprrrr~)r r2ÚtyperrrÚanonymous_struct_fieldsfs z%StructOrUnion.anonymous_struct_fieldsTccs„|j}|dkrdt|jƒ}xbt|j|j|j|ƒD]J\}}}}|dkrnt|tƒrn|rnx&|jƒD] }|Vq^Wq2||||fVq2WdS)Nrr)r) r‚Úlenrrƒr€r�rrr~Ú enumfields)r Zexpand_anonymous_struct_unionr‚r2r„Úbitsizer r"rrrr‡ls  zStructOrUnion.enumfieldsc Cs~g}g}g}g}x@|jƒD]4\}}}}|j|ƒ|j|ƒ|j|ƒ|j|ƒqWt|ƒ|_t|ƒ|_t|ƒ|_t|ƒ|_dS)N)r‡r_rArr€r�r‚) r ÚnamesÚtypesZbitsizesr‚r2r„rˆr rrrÚ force_flattenzs      zStructOrUnion.force_flattencCs$tj||||ƒ}|s |j||ƒ|S)N)rvr.Úfinish_backend_type)r r*r+r,r-rrrr.Œs   zStructOrUnion.get_cached_btypecs6|jr$|jdkr td|jfƒ‚dSˆj|}d|_|jdkrB�nê|jdkr¸‡‡fdd„|jDƒ}tt|j||j ƒƒ}f}|j rš|j dkr�d }n d|j f}ˆj j |||d d f|žŽ�ntg}|j\}}} } �x4t t|jƒƒD�] } || } |j| } t| tƒ�rˆ| jƒ�rˆ| jjˆˆƒ}t| ˆj|ƒƒ\}}|dk�rV|jd|j|j| �pNd fƒ| j|ƒ} |jd| …| f|j| dd…|_| jˆˆƒ}t| tƒ�r¼| jdk�r¼| dk�sôt‚n8ˆj|ƒ}|| k�rô|jd |j|j| �pèd || fƒ|j|ƒqÜWtt|j||j |ƒƒ}ˆj j |||| | ƒd|_dS)Nrz(recursive structure declaration for '%s'rcsg|]}|jˆˆƒ‘qSr)r.)r1rg)r*r+rrr3¡sz5StructOrUnion.finish_backend_type..érzfield '%s.%s' has a bogus size?z{}z=field '%s.%s' is declared as %d bytes, but is really %d bytes)r�r{r{)Ú completedrWr2r&r€Ú fixedlayoutÚlistrƒrr�ÚpackedreZcomplete_struct_or_unionÚranger†rrrortrpr.ÚdivmodÚsizeofÚ_verification_errorrurqrr_)r r*r+r-r€ÚlstÚ extra_flagsZfieldofsZ fieldsizeZ totalsizeZtotalalignmentrJÚfsizeZftypeZ BItemTypeÚnlenZnrestZ BFieldTypeZ bitemsizer)r*r+rrŒ“sd                  z!StructOrUnion.finish_backend_typecCs t|ƒ‚dS)N)r)r Úmsgrrrr•Òsz!StructOrUnion._verification_errorcCs |jr|jdkrt|jƒƒ‚dS)N)Úpartialr�rr)r rrrÚcheck_not_partialÕszStructOrUnion.check_not_partialcCs.|jƒ|j|ƒt||d|j|jƒ|d�S)Nz new_%s_type)Úkey)rœr_rErxr})r r*r+rrrr(Ùs z StructOrUnion.build_backend_type)N)T)F)r6r7r8r�rŽr›r‘rDr…r‡r‹r.rŒr•rœr(rrrrr~Xs   ?r~c@seZdZdZdS)Ú StructTypeÚstructN)r6r7r8rxrrrrržásržc@seZdZdZdS)Ú UnionTypeÚunionN)r6r7r8rxrrrrr åsr c@sBeZdZdZdZdZddd„Zdd„Zdd „Zd d „Z d d „Z dS)ÚEnumTypeÚenumFNcCs$||_||_||_||_|jƒdS)N)r2Ú enumeratorsÚ enumvaluesÚ baseinttypery)r r2r¤r¥r¦rrrrDîs zEnumType.__init__cCs4tj||ƒ|jdkr0|jƒ}d|jddƒ|_dS)NrrÚ_)rvrzrwr}r)r rwr2rrrrzõs  zEnumType.force_the_namecCs|jr|j rt|jƒƒ‚dS)N)r›Úpartial_resolvedrr)r rrrrœûszEnumType.check_not_partialc Cs4|jƒ|j||ƒ}t||d|jƒ|j|j||d�S)NZ new_enum_type)r�)rœÚbuild_baseinttyperEr}r¤r¥)r r*r+Z base_btyperrrr(ÿs  zEnumType.build_backend_typec CsH|jdk r|jj||ƒS|jr4t|jƒ}t|jƒ}nDddl}y tjƒWntk r\YnX|j d|j ƒƒd}}|dkr–d}t dƒ}t dƒ}nd}t dƒ}t dƒ}|j||ƒ} |j||ƒ} |j | ƒ} |j | ƒ} |d d| d>koü|dd| |>k�r| S|d d| d>k�r4|dd| |>k�r4| St d |j ƒƒ‚dS) NrzU%r has no values explicitly defined; guessing that it is equivalent to 'unsigned int'rrOrPz unsigned intz unsigned longr�z=%s values don't all fit into either 'long' or 'unsigned long'r{r{)r¦r.r¥ÚminÚmaxÚwarningsÚ__warningregistry__ÚclearÚ NameErrorÚwarnrrHr”r) r r*r+Zsmallest_valueZ largest_valuer¬ÚsignZ candidate1Z candidate2Zbtype1Zbtype2Zsize1Zsize2rrrr©s@          zEnumType.build_baseinttype)N) r6r7r8rxr›r¨rDrzrœr(r©rrrrr¢és r¢cCs2|dkrd|}t|dddƒ}|j|ƒd|_|S)Nz$%sÚ unknown_type)ržrzÚorigin)r2Ú structnamergrrrr²0s  r²cCs(|dkrd|}t|dddƒ}t||ƒS)Nz$$%s)ržrn)r2r´rgrrrÚunknown_ptr_type8srµc CsFt|tjƒrtSt�(tt|ƒdƒs2tjƒt|ƒ_ t|ƒj SQRXdS)NÚ __typecache) rrrŠÚ ModuleTypeÚ_typecache_cffi_backendÚ global_lockÚhasattrr„ÚweakrefÚWeakValueDictionaryr¶)ÚbackendrrrÚ get_typecacheBs  r¾c OsÀ|jd||fƒ}| st‚y |j|Stk r8YnXyt|j|ƒ|Ž}Wn4tk r‚}ztd|||fƒ‚WYdd}~XnX|j}t�(|j|ƒ} | dkr®|||<|S| SWdQRXdS)Nr�z %s: %r: %s) ÚpoprZ _typecacher'r0rerWr¹Úget) Zsrctyper*ÚfuncnamerZÚkwdsr�ÚresÚeÚcacheZres1rrrrEMs"  $ rEcCstd|d|ƒS)Nú?rl)rE)r*r-rrrÚ pointer_cachedsrÇcCs@|jrsN  /  L   G