U
    ¦y^þz  ã                   @   s8  d dl mZ d dlZd dlZd dlZddlmZmZ ddlm	Z	 dd„ Z
G dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZdd„ Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZeddƒZedd ƒZedd!ƒZedd"d#d$iƒZejeejeejeejeiZG d%d&„ d&eƒZeƒ Z G d'd(„ d(eƒZ!dS ))é    )Úunicode_literalsNé   )Ú
compat_strÚcompat_struct_unpack)ÚExtractorErrorc                 c   sP  | dd… dkr$t d| d d…  ƒ‚| d d… dkrHt | dd … ¡}ntd| d d…  ƒ‚td|d d… ƒd	 d? }d
d|  d d }|d d }|t|ƒk �rLtd|||d … ƒd	 }|d7 }|d? }|d@ }|dk�rtd|||d … ƒd	 }|d7 }|| t|ƒk�s,td|||t|ƒf ƒ‚||||| … fV  ||7 }q–d S )Nr   é   s   WSzNot an SWF file; header is %ró   Cé   z!Unsupported compression format %rz!Br   é   é   é   é   z<Hé   é?   z<Iz7Tag %d ends at %d+%d - that's longer than the file (%d))r   ÚzlibÚ
decompressÚNotImplementedErrorr   ÚlenÚAssertionError)Úfile_contentsÚcontentZframesize_nbitsZframesize_lenÚposZheader16Útag_codeZtag_len© r   úGC:\Users\TaGoRe\Desktop\beinconnect-dl\binaries\youtube_dl\swfinterp.pyÚ_extract_tags   s:    ÿ
ÿÿ
ÿÿr   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú_AVMClass_Objectc                 C   s
   || _ d S ©N)Ú	avm_class©Úselfr   r   r   r   Ú__init__0   s    z_AVMClass_Object.__init__c                 C   s   d| j jt| ƒf S )Nz%s#%x)r   ÚnameÚid©r    r   r   r   Ú__repr__3   s    z_AVMClass_Object.__repr__N©Ú__name__Ú
__module__Ú__qualname__r!   r%   r   r   r   r   r   /   s   r   c                       s(   e Zd Z‡ fdd„Z‡ fdd„Z‡  ZS )Ú
_ScopeDictc                    s   t t| ƒ ¡  || _d S r   )Úsuperr*   r!   r   r   ©Ú	__class__r   r   r!   8   s    z_ScopeDict.__init__c                    s   d| j jtt| ƒ ¡ f S )Nz%s__Scope(%s))r   r"   r+   r*   r%   r$   r,   r   r   r%   <   s    þz_ScopeDict.__repr__)r'   r(   r)   r!   r%   Ú__classcell__r   r   r,   r   r*   7   s   r*   c                   @   s.   e Zd Zd
dd„Zdd„ Zdd„ Zdd	„ ZdS )Ú	_AVMClassNc                 C   sF   || _ || _i | _i | _i | _i | _|r,|ni | _t| ƒ| _i | _	d S r   )
Úname_idxr"   Úmethod_namesÚmethod_idxsÚmethodsÚmethod_pyfunctionsÚstatic_propertiesr*   Ú	variablesÚ	constants)r    r0   r"   r5   r   r   r   r!   C   s    
z_AVMClass.__init__c                 C   s   t | ƒS r   )r   r$   r   r   r   Úmake_objectO   s    z_AVMClass.make_objectc                 C   s
   d| j  S )Nz_AVMClass(%s)©r"   r$   r   r   r   r%   R   s    z_AVMClass.__repr__c                 C   s2   | j  | ¡ ¡ | j tdd„ | ¡ D ƒƒ¡ d S )Nc                 s   s   | ]\}}||fV  qd S r   r   )Ú.0r"   Úidxr   r   r   Ú	<genexpr>W   s   ÿz-_AVMClass.register_methods.<locals>.<genexpr>)r1   ÚupdateÚitemsr2   Údict)r    r3   r   r   r   Úregister_methodsU   s    þz_AVMClass.register_methods)N)r'   r(   r)   r!   r8   r%   r@   r   r   r   r   r/   B   s   
r/   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
_Multinamec                 C   s
   || _ d S r   ©Úkind)r    rC   r   r   r   r!   ]   s    z_Multiname.__init__c                 C   s
   d| j  S )Nz[MULTINAME kind: 0x%x]rB   r$   r   r   r   r%   `   s    z_Multiname.__repr__Nr&   r   r   r   r   rA   \   s   rA   c                 C   sj   d}d}t dƒD ]T}|  d¡}t|ƒdks.t‚td|ƒd }||d@ |> B }|d@ dkr\ qf|d7 }q|S )Nr   r
   r   ú<Bé   é€   r   )ÚrangeÚreadr   r   r   )ÚreaderÚresÚshiftÚ_ÚbufÚbr   r   r   Ú	_read_intd   s    

rO   c                 C   s   t | ƒ}|d@ dkst‚|S )Nl      ` r   )rO   r   )rI   rJ   r   r   r   Ú_u30r   s    rP   c                 C   s&   t | ƒ}|d@ dkr"|dA d  }|S )Nl        r   l   ÿÿ r   )rO   )rI   Úvr   r   r   Ú_s32{   s    rR   c                 C   sH   |   d¡}t|ƒdkst‚t|dd… ƒdkr2dnd}td|| ƒd S )Nr   r   rF   ó   ÿó    z<ir   )rH   r   r   Úordr   )rI   ÚbsZ	last_byter   r   r   Ú_s24‚   s    
rW   c                 C   s,   t | ƒ}|  |¡}t|ƒ|ks"t‚| d¡S )Nzutf-8)rP   rH   r   r   Údecode)rI   ZslenÚresbr   r   r   Ú_read_string‰   s    
rZ   c                 C   s*   | dkst ‚| | ¡}t|ƒ| ks&t ‚|S ©Nr   )r   rH   r   )ÚcountrI   rY   r   r   r   Ú_read_bytes�   s    
r]   c                 C   s   t d| d�}td|ƒd }|S )Nr   )rI   rD   r   )r]   r   )rI   rY   rJ   r   r   r   Ú
_read_byte—   s    r^   z(no name idx)ÚStringZ	ByteArrayÚTimerZ
TimerEventZTIMERZtimerc                   @   s,   e Zd Zdd„ ZeZdd„ Zdd„ ZeZdS )Ú
_Undefinedc                 C   s   dS )NFr   r$   r   r   r   Ú__bool__ª   s    z_Undefined.__bool__c                 C   s   dS r[   r   r$   r   r   r   Ú__hash__®   s    z_Undefined.__hash__c                 C   s   dS )NÚ	undefinedr   r$   r   r   r   Ú__str__±   s    z_Undefined.__str__N)r'   r(   r)   rb   Z__nonzero__rc   re   r%   r   r   r   r   ra   ©   s
   ra   c                   @   s.   e Zd Zdd„ Zdd„ Zddd„Zdd	„ Zd
S )ÚSWFInterpreterc           4         sò  t dfdd„ iˆ_tdd„ t|ƒD ƒƒ}| dd¡d }t ||d … ¡‰ ‡ fd	d„‰‡ fd
d„}‡ fdd„}‡ fdd„}‡ fdd„‰|dƒ ˆƒ }dgˆ_td|ƒD ]}ˆj 	|ƒ ¡ q¦dgˆ_
ˆƒ }	td|	ƒD ]}ˆj
 	|ƒ ¡ qÒˆƒ }
|td|
d ƒd ƒ ˆƒ }dgˆ_td|ƒD ]}tˆ ƒ}ˆj 	|¡ �qˆƒ }td|ƒD ]}|dƒ ˆƒ  �qFˆƒ }td|ƒD ]"}ˆƒ }t|ƒD ]}ˆƒ  �q~�qlˆƒ }dddddddddddœ
}dgˆ_td|ƒD ] }ˆƒ }||k�sâtd| ƒ‚|dk�rˆƒ  ˆƒ }ˆj 	ˆj| ¡ nT|dk�r6ˆƒ }ˆƒ  ˆj 	ˆj| ¡ n*ˆj 	t|ƒ¡ t|| ƒD ]}ˆƒ  �qR�qÂˆƒ }t dddg¡}g }t|ƒD ]®}ˆƒ }ˆƒ  t|ƒD ]}ˆƒ  �qžˆƒ  ˆƒ }|d@ dk�rêˆƒ }t|ƒD ]}ˆƒ  |dƒ �qÔ|d@ dk�rt|ƒD ]}ˆƒ  �q ||d@ dk|d@ dkƒ}| 	|¡ �q†ˆƒ }t|ƒD ].}ˆƒ  ˆƒ } t| ƒD ]}ˆƒ  ˆƒ  �q\�qD‡‡‡fdd„}!ˆƒ }"g }#t|"ƒD ]¨}$ˆƒ }ˆj| }%t||%ƒ}&|# 	|&¡ ˆƒ  ˆƒ }|d@ dk�rÞˆƒ  ˆƒ }'t|'ƒD ]}ˆƒ  �qìˆƒ  ˆƒ }(t|(ƒD ],}|!ƒ \})}*|& |)¡ |*�r|&j |*¡ �q�q–t|#ƒ|"k�sRt‚tdd„ |#D ƒƒˆ_|#D ]J}&ˆƒ |&_ˆƒ }(t|(ƒD ],}|!ƒ \})}*|& |)¡ |*�r„|&j |*¡ �q„�qjˆƒ }+t|+ƒD ](}ˆƒ  ˆƒ }(t|(ƒD ]}|!ƒ  �qÜ�qÄˆƒ },t dddg¡}-g ˆ_t|,ƒD ]À}ˆƒ }.ˆƒ  ˆƒ }/ˆƒ  ˆƒ  ˆƒ }0||0ƒ}1|-|1|/ƒ}2ˆj 	|2¡ |#D ]"}&|.|&jk�r\|2|&j|&j|. < �q\ˆƒ }3t|3ƒD ]$}ˆƒ  ˆƒ  ˆƒ  ˆƒ  ˆƒ  �qŽˆƒ }(t|(ƒD ]}|!ƒ  �qÂ�q|ˆ  ¡  t|ƒk�sît‚d S ) NZaddEventListenerc                 S   s   t S r   )rd   )Úparamsr   r   r   Ú<lambda>¼   ó    z)SWFInterpreter.__init__.<locals>.<lambda>c                 s   s   | ]\}}|d kr|V  qdS )éR   Nr   )r:   r   Útagr   r   r   r<   ¾   s   þz*SWFInterpreter.__init__.<locals>.<genexpr>rT   r   r   c                     s   t | dˆ iŽS ©NrI   ©rP   ©Úargs©Úcode_readerr   r   rh   Ç   ri   c                     s   t | dˆ iŽS rl   )rR   rn   rp   r   r   rh   È   ri   c                     s   t | dˆ iŽS rl   )Ú_u32rn   rp   r   r   rh   É   ri   c                     s   t | dˆ iŽS rl   )r]   rn   rp   r   r   rh   Ê   ri   c                     s   t | dˆ iŽS rl   )r^   rn   rp   r   r   rh   Ë   ri   r   r	   Ú r   )
r   é   é   é   é   é   é	   é   é   é   zInvalid multiname kind %rr   ry   Ú
MethodInfoZNEED_ARGUMENTSZ	NEED_RESTrF   c                     sX  ˆƒ } ˆ ƒ }|d@ }|d? }i }d }|dkrNˆƒ  ˆƒ  ˆƒ }|dkrLˆ ƒ  nØ|dkrºˆƒ  ˆƒ  ˆƒ }d}|dkrzˆ ƒ }|dkrŽˆj | }n|dkr¢ˆj| }ni d fS ˆj|  |i}nl|dkrÞˆƒ  ˆƒ }	|	|ˆj|  < nH|dkrôˆƒ  ˆƒ  n2|dk�rˆƒ  ˆƒ }
ˆj|  ||
< ntd	| ƒ‚|d@ dk�rPˆƒ }t|ƒD ]}ˆƒ  �qB||fS )
Nru   r   r   r   Úanyr   )r   r   r   r
   zUnsupported trait kind %d)Úconstant_intsÚconstant_uintsÚ
multinamesr   rG   )Ztrait_name_idxZ	kind_fullrC   Úattrsr3   r7   ZvindexZvkindÚvalueÚ
method_idxZfunction_idxÚmetadata_countZ_c3)Ú	read_byter    Úu30r   r   Úparse_traits_info*  sT    

z2SWFInterpreter.__init__.<locals>.parse_traits_infoc                 s   s   | ]}|j |fV  qd S r   r9   )r:   Úcr   r   r   r<   t  s     ÚMethodÚcodeÚlocal_count)Ú
TimerClassÚ_patched_functionsÚnextr   ÚindexÚioÚBytesIOr   rG   Úappendr€   ÚmaxÚconstant_stringsrZ   r�   r   rA   ÚcollectionsÚ
namedtupler/   r@   r7   r=   r   r?   Ú_classes_by_nameÚ	cinit_idxÚ_all_methodsr2   r3   Útell)4r    r   Zcode_tagÚpÚs32Úu32Ú
read_bytesZ	int_countZ_cZ
uint_countZdouble_countZstring_countÚsZnamespace_countZns_set_countr\   Z_c2Zmultiname_countZMULTINAME_SIZESrC   r0   Zmethod_countr}   Zmethod_infosZ	method_idZparam_countrL   ÚflagsZoption_countr‰   Úmir…   Z
item_countrˆ   Zclass_countZclassesZclass_idZcnamer   Zintrf_countZtrait_countZtrait_methodsZtrait_constantsZscript_countZmethod_body_countrŠ   r„   rŒ   Zcode_lengthr‹   ÚmZexception_countr   )rq   r†   r    r‡   r   r!   º   s@    ÿÿ
ö

þ

1









zSWFInterpreter.__init__c                 C   s   || j ||f< d S r   )rŽ   )r    r   Ú	func_nameÚfr   r   r   Úpatch_function¥  s    zSWFInterpreter.patch_functionTc                 C   sx   z| j | }W n  tk
r.   td| ƒ‚Y nX |rtt|dƒrt| d|ji¡ | j|j |jd< |  |d¡}|g ƒ |S )NzClass %r not foundr™   z$cinit)	r˜   ÚKeyErrorr   Úhasattrr@   r™   rš   r3   Úextract_function)r    Ú
class_nameZ
call_cinitrJ   Zcinitr   r   r   Úextract_class¨  s    zSWFInterpreter.extract_classc                    sˆ   ˆj  ˆ |f¡}|r|S |ˆ jkr,ˆ j| S |ˆjkrDˆj|  ¡ S |ˆ jkr`tdˆ j|f ƒ‚ˆ j| ‰‡ ‡‡fdd„}|ˆ j|< |S )NzCannot find function %s.%sc                    sR  t  ˆj¡‰ ‡ fdd„}‡ fdd„}ˆjgt| ƒ d gˆj  }g ‰t ˆjˆj	ˆjg¡}t
ˆ ƒ}|dkrlqZ|dkrŽ|ƒ }ˆ  ˆ  ¡ | ¡ qZ|dkr¼|ƒ }ˆ ¡ }|rºˆ  ˆ  ¡ | ¡ qZ|dkrê|ƒ }ˆ ¡ }|sèˆ  ˆ  ¡ | ¡ qZ|dk�r(|ƒ }ˆ ¡ }ˆ ¡ }	||	k�rLˆ  ˆ  ¡ | ¡ qZ|d	k�rf|ƒ }ˆ ¡ }ˆ ¡ }	||	k�rLˆ  ˆ  ¡ | ¡ qZ|d
k�r¤|ƒ }ˆ ¡ }ˆ ¡ }	|	|k �rLˆ  ˆ  ¡ | ¡ qZ|dk�rºˆ d ¡ qZ|dk�rÐˆ t¡ qZ|dk�rît
ˆ ƒ}
ˆ |
¡ qZ|dk�r
|ƒ }
ˆ |
¡ qZ|dk�r ˆ d¡ qZ|dk�r6ˆ d¡ qZ|dk�rPˆ tdƒ¡ qZ|dk�rnˆd }ˆ |¡ qZ|dk�r�|ƒ }ˆ ˆj| ¡ qZ|dk�r®ˆ ¡ }| |¡ qZ|dk�rú|ƒ }tt‡fdd„t|ƒD ƒƒƒ} ˆ ¡ }|j ¡ }ˆ |¡ qZ|dk�rð|ƒ }ˆj| }|ƒ }tt‡fdd„t|ƒD ƒƒƒ} ˆ ¡ }|tk�r¾|dk�r®t| ƒdk�sft‚t| d  tttfƒ�s€t‚| d  tk�r”d!}nt| d  ƒ}ˆ |¡ qZntd"| ƒ‚�n t|tƒ�rðˆ  |j|¡}|| ƒ}ˆ |¡ qZ�nît|t!ƒ�r ˆ  ||¡}|| ƒ}ˆ |¡ qZ�n¾t|t"ƒ�rj||jj#k�rRˆ  |j|¡}|| ƒ}n|| }ˆ |¡ qZ�ntt|tƒ�r:|d#k�rÚt| ƒdk�s’t‚t| d  tƒ�s¦t‚| d  d$k�r¾t|ƒ}n| $| d  ¡}ˆ |¡ qZn^|d%k�rÞt| ƒdk�söt‚t| ƒd k�rd n| d  }t|tƒ�s t‚t%|| ƒ}ˆ |¡ qZn¤t|tƒ�rÞ|d&k�r”t| ƒdk�sbt‚t| d  tƒ�svt‚|| d  d … }ˆ |¡ qZnJ|d'k�rÞt| ƒdk�s°t‚t| d  tƒ�sÄt‚| d   &|¡}ˆ |¡ qZtd(||f ƒ‚qZ|d)k�rt}|S |d*k�rˆ ¡ }|S |d+k�rP|ƒ }tt‡fd,d„t|ƒD ƒƒƒ} ˆ ¡ }qZ|d-k�r¶|ƒ }|ƒ }tt‡fd.d„t|ƒD ƒƒƒ} ˆ ¡ }ˆj| }t|t!ƒ�s¦t‚ˆ | ¡ ¡ qZ|d/k�r¤|ƒ }ˆj| }|ƒ }tt‡fd0d„t|ƒD ƒƒƒ} ˆ ¡ }t|tƒ�r,ˆ  |j|¡}|| ƒ}|tksZt‚qZt|t"ƒ�rn||jj#k�sJt‚ˆ  |j|¡}|| ƒ}|tksZt‚qZ|d1k�r’t|tƒ�sˆt‚| '¡  ntd2||f ƒ‚qZ|d3k�rð|ƒ }g }t|ƒD ]}| ˆ ¡ ¡ �qÀ|d d d… }ˆ |¡ qZ|d4k�rj|ƒ }ˆj| }t|ƒD ]}||k�r|} �q6�q|d  }||k�rZ|t(k�rZˆ t(| ¡ nˆ || ¡ qZ|d5k�rº|ƒ }ˆj| }t|ƒD ]}||k�rŒ|} �q®�qŒˆj}ˆ |¡ qZ|d6k�	r6|ƒ }ˆj| }t|ƒD ]}||k�rÜ|} �qþ�qÜˆj}||k�	r|| }n|t(k�	r&t(| }nt}ˆ |¡ qZ|d7k�	r~|ƒ }ˆ ¡ }ˆj| }t|t)ƒ�	rlˆ ¡ }ˆ ¡ }|||< qZ|d8k�	rž|ƒ }ˆ || ¡ qZ|d9k�	rÀ|ƒ }ˆ ¡ }|||< qZ|d:k�
r¾|ƒ }ˆj| }|d;k�
rˆ ¡ }t|ttfƒ�
s t‚ˆ t|ƒ¡ n¬t|tƒ�
r~ˆ ¡ }t|t!ƒ�
rF|j*| }ˆ |¡ qZt|t+t"fƒ�
sftd<||f ƒ‚| ,|t¡}ˆ |¡ n>ˆ ¡ }t|tƒ�
s–t‚ˆ ¡ }t|tƒ�
s®t‚ˆ || ¡ qZ|d=k�r|ƒ }ˆ ¡ }ˆj| }t|t)ƒ�
rôˆ ¡ }ˆ ¡ }|||< qZ|d>k�r,ˆ ¡ }t|ƒ}ˆ |¡ qZ|d?k�r>|ƒ  qZ|d@k�r\ˆ ¡ }ˆ |¡ qZ|dAk�r„tˆd t-d ƒtfƒ�sLt‚qZ|dBk�r¶ˆ ¡ }t|tƒ�s¦t‚ˆ |d ¡ qZ|dCk�räˆ ¡ }td!tdtdDtdDit-|ƒ S |dEk�rˆ ¡ }ˆ ¡ }	|	| }ˆ |¡ qZ|dFk�r@ˆ ¡ }ˆ ¡ }	|	| }ˆ |¡ qZ|dGk�rnˆ ¡ }ˆ ¡ }	|	| }ˆ |¡ qZ|dHk�rœˆ ¡ }ˆ ¡ }	|	| }ˆ |¡ qZ|dIk�rêˆ ¡ }ˆ ¡ }	t|	tƒ�sÆt‚t|tƒ�sÖt‚|	|@ }ˆ |¡ qZ|dJk�rˆ ¡ }ˆ ¡ }	|	|k}ˆ |¡ qZ|dKk�rFˆ ¡ }ˆ ¡ }	|	|k}ˆ |¡ qZ|dLk�rxˆ ¡ }t|tƒ�sht‚ˆ |d ¡ qZ|dMk�r’ˆ |d  ¡ qZ|dNk�r¬ˆ |d ¡ qZ|dOk�rÆˆ |dP ¡ qZ|dQk�ràˆ |dR ¡ qZ|dSk�røˆ ¡ |d < qZ|dTk�rˆ ¡ |d< qZ|dUk�r(ˆ ¡ |dP< qZ|dVk�r@ˆ ¡ |dR< qZtdW| ƒ‚qZd S )XNc                      s   t ˆ ƒS r   )rW   r   ©Úcoderr   r   rh   Æ  ri   zBSWFInterpreter.extract_function.<locals>.resfunc.<locals>.<lambda>c                      s   t ˆ ƒS r   rm   r   r¬   r   r   rh   Ç  ri   ry   rv   rw   rx   é   é   é   é    é!   é$   é%   é&   Té'   Fé(   ÚNaNé*   éÿÿÿÿé,   é0   éB   c                    s   g | ]}ˆ   ¡ ‘qS r   ©Úpop©r:   rL   ©Ústackr   r   Ú
<listcomp>  s     zDSWFInterpreter.extract_function.<locals>.resfunc.<locals>.<listcomp>éF   c                    s   g | ]}ˆ   ¡ ‘qS r   r¾   rÀ   rÁ   r   r   rÃ     s     r_   r   r   rd   z)Function String.%s is not yet implementedÚsplitrs   Z
charCodeAtÚsliceÚjoinzUnsupported property %r on %réG   éH   éI   c                    s   g | ]}ˆ   ¡ ‘qS r   r¾   rÀ   rÁ   r   r   rÃ   d  s     éJ   c                    s   g | ]}ˆ   ¡ ‘qS r   r¾   rÀ   rÁ   r   r   rÃ   j  s     éO   c                    s   g | ]}ˆ   ¡ ‘qS r   r¾   rÀ   rÁ   r   r   rÃ   x  s     Úreversez$Unsupported (void) property %r on %réV   é]   é^   é`   éa   éb   éc   éf   ÚlengthzAccessing member %r on %réh   és   rF   é‚   é…   é“   é•   ÚNumberé    é¡   é¢   é¤   é¨   é«   é¯   éÀ   éÐ   éÑ   éÒ   r   éÓ   r   éÔ   éÕ   éÖ   é×   zUnsupported opcode %d).r‘   r’   r‹   r6   ÚlistrŒ   r–   Údequer˜   r7   r^   Úseekr›   r¿   r“   rd   Úfloatr•   ÚreversedrG   r   r8   r�   ÚStringClassr   r   Ú
isinstanceÚintr   ra   r   r   r©   r/   r*   r1   rÅ   rU   rÇ   rÍ   Ú_builtin_classesrA   r5   r?   ÚgetÚtype)ro   Zs24r‡   Z	registersZscopesZopcodeÚoffsetrƒ   Zvalue2Zvalue1rQ   r;   Z	new_scopeZ	arg_countÚobjrJ   r�   ÚmnameÚfuncZarrÚir    ZscopeZpnameZintvalueÚresult©r   r£   r    )r­   rÂ   r   ÚresfuncÃ  sô     ÿ
















ÿ


ÿ

  ÿ
ÿÿ












ÿÿ


ÿ

ÿ


ÿ

ÿÿ




























ÿ








    üû















ÿz0SWFInterpreter.extract_function.<locals>.resfunc)rŽ   r÷   r4   r˜   r8   r3   r   r"   )r    r   r¤   rœ   r   r   rÿ   r   r©   ¶  s&    



 ÿ
   
zSWFInterpreter.extract_functionN)T)r'   r(   r)   r!   r¦   r«   r©   r   r   r   r   rf   ¹   s
    l
rf   )"Ú
__future__r   r–   r‘   r   Úcompatr   r   Úutilsr   r   Úobjectr   r?   r*   r/   rA   rO   rP   rr   rR   rW   rZ   r]   r^   ró   ZByteArrayClassr�   ZTimerEventClassr"   rö   ra   rd   rf   r   r   r   r   Ú<module>   sD   


    ü