§
    ÷¢±j=W  ã                  ó´  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	dZ
dZdddddddddd	d
ddddœZe	j        e	j        z  e	j        e	j        e	j        e	j        z  e	j        e	j        e	j        e	j        e	j        dœ	Ze	j        e	j        z  ZdZ G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Zd„ Zd&d„Z d&d„Z!e"dk    �r| e#ej$        ¦  «        dk    r- e%e ¦  «          e%¦   «           e%d¦  «          e%d¦  «         dS ej$        d         Z&dej$        v rde_'         e%d e&z  ¦  «          e e&¦  «        Z(e(j)         *                    ¦   «         D ]8\  Z+Z, e%d!e+ e#e,¦  «        fz  ¦  «          ej        e,¦  «          e%¦   «          Œ9e(j-         *                    ¦   «         D ]%\  Z+Z. e%d"e+› d#e.j/        ›�¦  «          e%¦   «          Œ&e(j0         *                    ¦   «         D ] \  Z+Z. e%d$e+› d#e.›�¦  «          e%¦   «          Œ!e(j1         *                    ¦   «         D ]"\  Z+Z. e%d%e+› d#e.›�¦  «          e%¦   «          Œ!dS dS )'zs
This is a parser for Windows .rc files, which are text files which define
dialogs and other Windows UI resources.
é    )ÚannotationsNzAdam Walkerz0.11é€   é‚   éƒ   é„   é…   é�   ÚRichEdit20A)ÚDEFPUSHBUTTONÚ
PUSHBUTTONÚButtonÚGROUPBOXÚStaticÚCTEXTÚRTEXTÚLTEXTÚLISTBOXÚ	SCROLLBARÚCOMBOBOXÚEDITTEXTÚICONÚRICHEDIT)	r   r   r   r   r   r   r   r   r   c                  óJ   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZd„ Zd„ ZdS )Ú	DialogDefÚ r   NzMS Sans Serifé   c                óL   — || _         || _        g | _        g | _        g | _        d S ©N)ÚnameÚidÚstylesÚstylesExÚcontrols)ÚselfÚnÚis      úcC:\Users\johnn\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32/lib/win32rcparser.pyÚ__init__zDialogDef.__init__M   s)   € ØˆŒ	ØˆŒØˆŒØˆŒØˆŒˆˆó    c                ó   — d }| j         | j        | j        | j        | j        f| j        | j        | j        | j        fgg| _	        | j
        D ].}| j	                             |                     ¦   «         ¦  «         Œ/| j	        S r   )ÚcaptionÚxÚyÚwÚhÚstyleÚstyleExÚfontSizeÚfontÚtemplater#   ÚappendÚcreateDialogTemplate)r$   ÚtÚcontrols      r'   r6   zDialogDef.createDialogTemplateU   sˆ   € Øˆð ”Ø”˜œ ¤¨¬Ð0Ø”
Ø”Ø” ¤	Ð*ðð
ˆŒð ”}ð 	Að 	AˆGØŒM× Ò  ×!=Ò!=Ñ!?Ô!?Ñ@Ô@Ð@Ð@ØŒ}Ðr)   )Ú__name__Ú
__module__Ú__qualname__r   r    r0   r1   r+   r3   r2   r,   r-   r.   r/   r4   r(   r6   © r)   r'   r   r   ?   sn   € € € € € Ø€DØ	
€BØ€EØ€GØ€GØ€DØ€HØ	€AØ	€AØ	€AØ	€AØ€Hðð ð ðð ð ð ð r)   r   c                  óL   — e Zd ZdZdZdZdZeZe	Z
dZdZdZdZdZd„ Zd„ Zd„ ZdS )Ú
ControlDefr   r   c                ó"   — g | _         g | _        d S r   )r!   r"   ©r$   s    r'   r(   zControlDef.__init__s   s   € ØˆŒØˆŒˆˆr)   c                ó²  — d| j         z   dz   | j        z   dz   | j        z   dz   t          | j        ¦  «        z   dz   t          | j        ¦  «        z   dz   t          | j        ¦  «        z   dz   | j        z   dz   t          | j        ¦  «        z   d	z   t          | j	        ¦  «        z   d
z   t          | j
        ¦  «        z   dz   t          | j        ¦  «        z   dz   }|S )Nz<Control id:z controlType:z	 subType:z idNum:z style:z styles:z label:z x:z y:z w:z h:ú>)r    ÚcontrolTypeÚsubTypeÚstrÚidNumr0   r!   Úlabelr,   r-   r.   r/   )r$   Úss     r'   ÚtoStringzControlDef.toStringw   s,  € àØŒgñàñð Ôñð ñ	ð
 Œlñð ñõ �$”*‰oŒoñð ñõ �$”*‰oŒoñ	ð ñ
õ �$”+ÑÔñð ñð Œjñð ñõ �$”&‰kŒkñð  ñ!õ" �$”&‰kŒkñ#ð$ ñ%õ& �$”&‰kŒkñ'ð( ñ)õ* �$”&‰kŒkñ+ð, ñ-ð 	
ð2 ˆr)   c                óÂ   — | j         }d|k    r| j        }|t          v rt          |         }|| j        | j        | j        | j        | j        | j        f| j	        | j
        g}|S )NÚCONTROL)rC   rD   Ú_controlMaprG   rF   r,   r-   r.   r/   r0   r1   )r$   Úctr7   s      r'   r6   zControlDef.createDialogTemplate“   sg   € ØÔˆØ˜Š?ˆ?Ø”ˆBØ•ÐÐÝ˜R”ˆBàØŒJØŒJØŒV�T”V˜TœV T¤VÐ,ØŒJØŒLð
ˆð ˆr)   N)r9   r:   r;   r    rC   rD   rF   ÚdefaultControlStyler0   ÚdefaultControlStyleExr1   rG   r,   r-   r.   r/   r(   rI   r6   r<   r)   r'   r>   r>   f   sx   € € € € € Ø	€BØ€KØ€GØ€EØ€EØ#€GØ€EØ	€AØ	€AØ	€AØ	€Aðð ð ðð ð ð8ð ð ð ð r)   r>   c                  ó   — e Zd Zd„ Zd„ ZdS )Ú	StringDefc                ó0   — || _         || _        || _        d S r   ©r    rF   Úvalue)r$   r    rF   rT   s       r'   r(   zStringDef.__init__¦   s   € ØˆŒØˆŒ
ØˆŒ
ˆ
ˆ
r)   c                ó8   — d| j         ›d| j        ›d| j        ›d�S )Nz
StringDef(z, ú)rS   r@   s    r'   Ú__repr__zStringDef.__repr__«   s)   € ØH˜DœGÐHÐH¨¬ÐHÐH¸¼ÐHÐHÐHÐHr)   N)r9   r:   r;   r(   rW   r<   r)   r'   rQ   rQ   ¥   s7   € € € € € ðð ð ð
Ið Ið Ið Ið Ir)   rQ   c                  óÔ   — e Zd ZU dZi Zded<   i Zded<   dZdZd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"S )#ÚRCParserié  z?dict[str, list[list[str | int | None | tuple[str | int, ...]]]]Údialogszdict[str, DialogDef]Ú_dialogsFr   c                ób   — d| _         ddi| _        ddi| _        i | _        i | _        i | _        d S )NFÚ
IDC_STATICéÿÿÿÿ)ÚungotÚidsÚnamesÚbitmapsÚstringTableÚiconsr@   s    r'   r(   zRCParser.__init__¶   s;   € ØˆŒ
Ø  "Ð%ˆŒØ˜,Ð'ˆŒ
ØˆŒØˆÔØˆŒ
ˆ
ˆ
r)   c                ó6   — | j         rt          |¦  «         d S d S r   )ÚdebugEnabledÚprint)r$   Úargss     r'   ÚdebugzRCParser.debug¾   s&   € ØÔð 	Ý�$‰KŒKˆKˆKˆKð	ð 	r)   c                ó  — | j         r)d| _         |                      d| j        ¦  «         | j        S | j                             ¦   «         | _        |                      d| j        ¦  «         | j        dk    rd | _        | j        S )NFzgetToken returns (ungot):zgetToken returns:r   )r_   ri   ÚtokenÚlexÚ	get_tokenr@   s    r'   ÚgetTokenzRCParser.getTokenÂ   sz   € ØŒ:ð 	ØˆDŒJØ�JŠJÐ2°D´JÑ?Ô?Ð?Ø”:ÐØ”X×'Ò'Ñ)Ô)ˆŒ
Ø�
Š
Ð&¨¬
Ñ3Ô3Ð3ØŒ:˜ÒÐØˆDŒJØŒzÐr)   c                ó   — d| _         d S )NT)r_   r@   s    r'   Ú
ungetTokenzRCParser.ungetTokenÍ   s   € ØˆŒ
ˆ
ˆ
r)   c                ó\   — |                       ¦   «         }||k    sJ d|› d|› d�¦   «         ‚|S )NzExpected token 'z', but got token 'z'!)rn   )r$   ÚexpectedÚtoks      r'   ÚgetCheckTokenzRCParser.getCheckTokenÐ   s;   € Ø�mŠm‰oŒoˆØ�hŠˆˆÐ V°8Ð VÐ VÈsÐ VÐ VÐ V‰ŒˆØˆ
r)   c                ó,   — |                       d¦  «        S )Nú,)rt   r@   s    r'   ÚgetCommaTokenzRCParser.getCommaTokenÕ   s   € Ø×!Ò! #Ñ&Ô&Ð&r)   c                óv   — d}| j         dk    rd}|                      ¦   «          t          | j         ¦  «        |z  S )Né   ú-r^   )rk   rn   Úint)r$   Úmults     r'   ÚcurrentNumberTokenzRCParser.currentNumberTokenÚ   s9   € ØˆØŒ:˜ÒÐØˆDØ�MŠM‰OŒOˆOÝ�4”:‰Œ Ñ%Ð%r)   c                óˆ  — | j                              d¦  «        sJ | j         ¦   «         ‚| j         g}	 |                      ¦   «         }|                     d¦  «        s|                      ¦   «          n|                     |¦  «         ŒTd                     |¦  «        dd…         }dD ]\  }}|                     ||¦  «        }Œ|S )Nú"ry   r   r^   ))z""r   )z\rú)z\nú
)z\tú	)rk   Ú
startswithrn   rp   r5   ÚjoinÚreplace)r$   Úbitsrs   Úsvalr&   Úos         r'   ÚcurrentQuotedStringzRCParser.currentQuotedStringã   sË   € àŒz×$Ò$ SÑ)Ô)Ð5Ð5¨4¬:Ñ5Ô5Ð)Ø”
ˆ|ˆð	Ø—-’-‘/”/ˆCØ—>’> #Ñ&Ô&ð Ø—’Ñ!Ô!Ð!ØØ�KŠK˜ÑÔÐð	ð �wŠw�t‰}Œ}˜Q˜r˜TÔ"ˆð Mð 	&ð 	&‰DˆAˆqØ—<’<  1Ñ%Ô%ˆDˆDØˆr)   c                óÈ   — |                       |¦  «         |                      ¦   «          | j        �1|                      ¦   «          |                      ¦   «          | j        ­/dS dS )aM  
        RCParser.loadDialogs(rcFileName) -> None
        Load the dialog information into the parser. Dialog Definations can then be accessed
        using the "dialogs" dictionary member (name->DialogDef). The "ids" member contains the dictionary of id->name.
        The "names" member contains the dictionary of name->id
        N)Úopenrn   rk   Úparse©r$   Úrcstreams     r'   ÚloadzRCParser.loadô   s[   € ð 	�	Š	�(ÑÔÐØ�Š‰ŒˆØŒjÐ$Ø�JŠJ‰LŒLˆLØ�MŠM‰OŒOˆOð ŒjÐ$Ð$Ð$Ð$Ð$r)   c                óP   — t          j         |¦  «        | _        d| j        _        d S )Nz//#)Úshlexrl   Ú
commentersr�   s     r'   r‹   zRCParser.open  s#   € Ý”;˜xÑ(Ô(ˆŒØ#ˆŒÔÐÐr)   c                óf  — t          j         |¦  «        }d|_        d}|�‘|                     ¦   «         }|dk    s|€d }nn|dk    rh|                     ¦   «         }t          |                     ¦   «         ¦  «        }|| j        |<   || j        v rn
|| j        |<   | j        |k    r
|dz   | _        |­�d S d S )Nz//ú r   Údefinery   )r‘   r’   rm   r{   r`   ra   Únext_id)r$   Úfilerl   rk   r%   r&   s         r'   ÚparseHzRCParser.parseH  sÅ   € ÝŒk˜$ÑÔˆØˆŒØˆØÐØ—M’M‘O”OˆEØ˜Š{ˆ{˜e˜mØ��à˜HÒ$Ð$ØŸš™œ�AÝ˜CŸMšM™OœOÑ,Ô,�AØ"#�D”H˜Q‘KØ˜DœJ��ð ð
 )*˜œ
 1™Ø”| qÒ(Ð(Ø'(¨1¡u˜œð) ÐÐÐÐÐr)   c                óÒ  — d| j         i}| j        | j        | j        | j        dœ}d}| j        }|                     |¦  «        }|� |¦   «          d S | j        }|                      ¦   «          | j        €d S d| j        k    rtd}|dk    rf| j        �a|                      ¦   «          |                      d| j        ¦  «         d| j        k    r|dz  }nd| j        k    r|dz  }|dk    r| j        ­]d S d S d S d S |                     | j        ¦  «        }|�+|                      d| j        › d	�¦  «          ||¦  «         d S |                      d
|z  ¦  «         |                      ¦   «          d S )NÚSTRINGTABLE)ÚDIALOGÚDIALOGEXÚBITMAPr   r   ÚBEGINry   zZooming overÚENDzDispatching 'ú'zSkipping top-level '%s')	Úparse_stringtableÚparse_dialogÚparse_bitmapÚ
parse_iconrk   Úgetrn   ri   rp   )r$   Únoid_parsersÚ
id_parsersÚdeepÚ
base_tokenÚrpÚresource_ids          r'   rŒ   zRCParser.parse  s¤  € à˜4Ô1ð
ˆð
 Ô'ØÔ)àÔ'Ø”Oð
ð 
ˆ
ð ˆØ”Zˆ
Ø×Ò˜jÑ)Ô)ˆØˆ>ØˆB‰DŒDˆDˆDˆDð
 œ*ˆKØ�MŠM‰OŒOˆOØŒzÐ!Ø�à˜$œ*Ò$Ð$ð �Ø˜a’i�i D¤JÐ$:Ø—M’M‘O”O�OØ—J’J˜~¨t¬zÑ:Ô:Ð:Ø $¤*Ò,Ð,Ø ™	˜˜Ø $¤*Ò,Ð,Ø ™	˜ð ˜a’i�i D¤JÐ$:Ð$:Ð$:�i�iÐ$:Ð$:�i�ið  —^’^ D¤JÑ/Ô/�Ø�>Ø—J’JÐ<¨t¬zÐ<Ð<Ð<Ñ=Ô=Ð=Ø�B�{‘O”O�O�O�Oð
 —J’JÐ8¸:ÑEÑFÔFÐFØ—O’OÑ%Ô%Ð%Ð%Ð%r)   c                óú   — || j         v r| j         |         }ncdD ]5}||k    r-t          t          |¦  «        }|| j         |<   || j        |<   |c S Œ6| j        }| xj        dz  c_        || j         |<   || j        |<   |S )N)ÚIDOKÚIDCANCELÚIDYESÚIDNOÚIDABORTry   )r`   ÚgetattrÚwin32conra   r–   )r$   Úid_namer    r%   Úvs        r'   ÚaddIdzRCParser.addIdP  s    € Ø�d”hÐÐØ”˜'Ô"ˆBˆBð Fð ð �Ø˜a’<�<Ý¥¨!Ñ,Ô,�AØ"#�D”H˜Q‘KØ$%�D”J˜q‘MØ�H�H�Hð	  ð
 ”ˆBØˆLŒL˜AÑˆLŒLØ "ˆDŒH�WÑØ$ˆDŒJ�r‰NØˆ	r)   c                óö   — | j         dd…         dk    s| j         dd…         dk    s| j         dk    rG|                      ¦   «          | j         dd…         dk    °'| j         dd…         dk    °:| j         dk    °Ed S d S )Nr   é   ÚLANGé   ÚSUBLANGrv   )rk   rn   r@   s    r'   ÚlangzRCParser.langa  s‹   € àŒJ�q˜�sŒO˜vÒ%Ð%ØŒz˜!˜A˜#Œ )Ò+Ð+ØŒz˜SÒ Ð à�MŠM‰OŒOˆOð	 ŒJ�q˜�sŒO˜vÒ%Ð%ØŒz˜!˜A˜#Œ )Ò+Ð+ØŒz˜SÒ Ð Ð Ð Ð Ð r)   c                óª   — |                       ¦   «         dk    r	 |                       ¦   «         dk    °	 | j        dk    rd S |                       ¦   «         }Œ"©Nrž   ry   rŸ   )rn   rk   )r$   Úres_idrH   s      r'   Úparse_textincludezRCParser.parse_textincludei  sV   € Ø�mŠm‰oŒo Ò(Ð(Øð �mŠm‰oŒo Ò(Ð(ð	 ØŒz˜UÒ"Ð"Ø�Ø—’‘”ˆAð	 r)   c                ó`  — |                       ¦   «         dk    r	 |                       ¦   «         dk    °	 |                       ¦   «          | j        dk    rd S | j        }|                       ¦   «          t          ||                      |¦  «        |                      ¦   «         ¦  «        }|| j        |<   Œ}r¾   )rn   rk   rQ   r¶   r‰   rc   )r$   ÚsidÚsds      r'   r¡   zRCParser.parse_stringtableq  sž   € Ø�mŠm‰oŒo Ò(Ð(Øð �mŠm‰oŒo Ò(Ð(ð	'Ø�MŠM‰OŒOˆOØŒz˜UÒ"Ð"Ø�Ø”*ˆCØ�MŠM‰OŒOˆOÝ˜3 §
¢
¨3¡¤°×1IÒ1IÑ1KÔ1KÑLÔLˆBØ$&ˆDÔ˜SÑ!ð	'r)   c                ó8   — |                       || j        ¦  «        S r   )Úparse_bitmap_or_iconrb   ©r$   r   s     r'   r£   zRCParser.parse_bitmap}  s   € Ø×(Ò(¨¨t¬|Ñ<Ô<Ð<r)   c                ó8   — |                       || j        ¦  «        S r   )rÅ   rd   rÆ   s     r'   r¤   zRCParser.parse_icon€  s   € Ø×(Ò(¨¨t¬zÑ:Ô:Ð:r)   c                óæ   — |                       ¦   «          | j                             d¦  «        s.|                       ¦   «          | j                             d¦  «        ¯.| j        dd…         }|||<   d S )Nr   ry   r^   )rn   rk   rƒ   )r$   r   ÚdicÚbmfs       r'   rÅ   zRCParser.parse_bitmap_or_iconƒ  sk   € Ø�Š‰ŒˆØ”*×'Ò'¨Ñ,Ô,ð 	Ø�MŠM‰OŒOˆOð ”*×'Ò'¨Ñ,Ô,ð 	àŒj˜˜2˜ÔˆØˆˆD‰	ˆ	ˆ	r)   c                óŽ  — t          ||                      |¦  «        ¦  «        }t          |j        ¦  «        dk    sJ ‚|| j        |<   g }|                      ¦   «          | j                             ¦   «         sb|                      d| j        ¦  «         | 	                    | j        ¦  «         |                      ¦   «          | j                             ¦   «         ¯bt          | j        ¦  «        |_        |                      ¦   «          |                      ¦   «          t          | j        ¦  «        |_        |                      ¦   «          |                      ¦   «          t          | j        ¦  «        |_        |                      ¦   «          |                      ¦   «          t          | j        ¦  «        |_        |                      ¦   «          | j        �Ù| j        dk    sÎ| j        dk    sÃ| j        dk    r|                      |¦  «         n…| j        dk    r|                      |¦  «         nd| j        dk    r|                      |¦  «         nC| j        dk    r|                      |¦  «         n"| j        d	k    r|                      |¦  «         nn| j        �| j        dk    s| j        dk    ¯Ã|                     ¦   «         | j        |<   d S )
Nr   Úextrar   rŸ   ÚSTYLEÚEXSTYLEÚCAPTIONÚFONTrž   )r   r¶   Úlenr#   r[   rn   rk   Úisdigitri   r5   r{   r,   rw   r-   r.   r/   ÚdialogStyleÚdialogExStyleÚdialogCaptionÚ
dialogFontr6   rZ   )r$   r   ÚdlgÚextrass       r'   r¢   zRCParser.parse_dialogŠ  sx  € Ý˜˜dŸjšj¨Ñ.Ô.Ñ/Ô/ˆÝ�3”<Ñ Ô  AÒ%Ð%Ð%Ð%Ø!ˆŒ�dÑØˆØ�Š‰ŒˆØ”*×$Ò$Ñ&Ô&ð 	Ø�JŠJ�w ¤
Ñ+Ô+Ð+Ø�MŠM˜$œ*Ñ%Ô%Ð%Ø�MŠM‰OŒOˆOð ”*×$Ò$Ñ&Ô&ð 	õ �D”J‘”ˆŒØ×ÒÑÔÐØ�Š‰ŒˆÝ�D”J‘”ˆŒØ×ÒÑÔÐØ�Š‰ŒˆÝ�D”J‘”ˆŒØ×ÒÑÔÐØ�Š‰ŒˆÝ�D”J‘”ˆŒØ�Š‰ŒˆØ”:Ð%¨¬°rÒ)9Ð)9¸T¼ZÈ5Ò=PÐ=PØŒz˜WÒ$Ð$Ø× Ò  Ñ%Ô%Ð%Ð%Ø”˜yÒ(Ð(Ø×"Ò" 3Ñ'Ô'Ð'Ð'Ø”˜yÒ(Ð(Ø×"Ò" 3Ñ'Ô'Ð'Ð'Ø”˜vÒ%Ð%Ø—’ Ñ$Ô$Ð$Ð$Ø”˜wÒ&Ð&Ø—’˜cÑ"Ô"Ð"Ð"àð ”:Ð%¨¬°rÒ)9Ð)9¸T¼ZÈ5Ò=PÐ=Pð !×5Ò5Ñ7Ô7ˆŒ�TÑÐÐr)   c                ó`   — |                       g t          j        ¦  «        \  |_        |_         d S r   )r!   r³   Ú
DS_SETFONTr0   ©r$   r×   s     r'   rÓ   zRCParser.dialogStyle®  s%   € Ø $§¢¨BµÔ0CÑ DÔ DÑˆŒ	�3”:�:�:r)   c                ót   — |                       ¦   «          |                      g d¦  «        \  |_        |_        d S )Nr   )rn   r!   r1   r"   rÛ   s     r'   rÔ   zRCParser.dialogExStyle±  s/   € Ø�Š‰ŒˆØ$(§K¢K°°AÑ$6Ô$6Ñ!ˆŒ�S”\�\�\r)   c                óŠ  — |}|}d| j         k    r|                      ¦   «          d}d}|dz  dk    rd| j         k    sd| j         k    s
|dz  dk    �rZ| j         ��Rd}d| j         k    rd}|                      ¦   «          |dz  }| j         dk    rÛ| j         t          j        v rt	          t          | j         ¦  «        }n0| j         t
          j        v rt	          t
          | j         ¦  «        }nd}|r@|                     d	| j         z   ¦  «         |                      d
| j         |¦  «         || z  }n;|                     | j         ¦  «         |                      d| j         |¦  «         ||z  }|                      ¦   «          |dz  dk    rd| j         k    sd| j         k    s	|dz  dk    r| j         �­R|                      d|¦  «         ||fS )NrÍ   r   Fé   ry   ú|ÚNOTTzNOT zstyles add Notz
styles addz	style is )rk   rn   r³   Ú__dict__r²   Úcommctrlr5   ri   )r$   ÚdefaultsÚdefaultStyleÚlistr0   r&   ÚNotrT   s           r'   r!   zRCParser.stylesµ  sÖ  € ØˆØˆà�d”jÒ Ð Ø�MŠM‰OŒOˆOØˆØˆà�‰U�aŠZˆZ˜S D¤JÒ.Ð.°%¸4¼:Ò2EÐ2EÈAÐPQÉEÐUVÊJÉJØ”*Ñ$ØˆCØ˜œ
Ò"Ð"Ø�Ø—’‘”�Ø�‰FˆAØŒz˜SÒ Ð Ø”:¥Ô!2Ð2Ð2Ý#¥H¨d¬jÑ9Ô9�E�Eà”z¥XÔ%6Ð6Ð6Ý '­°$´*Ñ =Ô =˜˜à !˜Øð #Ø—K’K ¨¬Ñ 3Ñ4Ô4Ð4Ø—J’JÐ/°´¸UÑCÔCÐCØ˜e˜V‘O�E�Eà—K’K ¤
Ñ+Ô+Ð+Ø—J’J˜|¨T¬Z¸Ñ?Ô?Ð?Ø˜U‘N�EØ�MŠM‰OŒOˆOð/ �‰U�aŠZˆZ˜S D¤JÒ.Ð.°%¸4¼:Ò2EÐ2EÈAÐPQÉEÐUVÊJÈJØ”*Ñ$ð. 	�
Š
�; Ñ&Ô&Ð&à�dˆ{Ðr)   c                óâ   — d| j         k    r|                      ¦   «          | j         dd…         | _         |                      d| j         ¦  «         | j         |_        |                      ¦   «          d S )NrÏ   ry   r^   zCaption is:)rk   rn   ri   r+   rÛ   s     r'   rÕ   zRCParser.dialogCaptionÚ  s^   € Ø˜œ
Ò"Ð"Ø�MŠM‰OŒOˆOØ”Z  " Ô%ˆŒ
Ø�
Š
�= $¤*Ñ-Ô-Ð-Ø”jˆŒØ�Š‰Œˆˆˆr)   c                ón  — d| j         k    r|                      ¦   «          t          | j         ¦  «        |_        |                      ¦   «          |                      ¦   «          | j         dd…         |_        |                      ¦   «          d| j         k    r!|                      ¦   «          d| j         k    °d S d S )NrÐ   ry   r^   rž   )rk   rn   r{   r2   rw   r3   rÛ   s     r'   rÖ   zRCParser.dialogFontâ  sž   € Ø�T”ZÒÐØ�MŠM‰OŒOˆOÝ˜4œ:‘”ˆŒØ×ÒÑÔÐØ�Š‰ŒˆØ”:˜a ˜dÔ#ˆŒØ�Š‰ŒˆØ˜œÒ#Ð#Ø�MŠM‰OŒOˆOð ˜œÒ#Ð#Ð#Ð#Ð#Ð#r)   c                óh  — | j         dk    r|                      ¦   «          g d¢}| j         dk    �rt          ¦   «         }| j         |_        |                      ¦   «          |j        |vrÌ| j         dd…         dk    r|                      ¦   «         |_        nw| j         dk    s| j                              ¦   «         r't          |                      ¦   «         ¦  «        |_        n,t          |  	                    | j         ¦  «        ¦  «        |_        |  
                    ¦   «          |                      ¦   «          | j         dk    s| j                              ¦   «         r&|                      ¦   «         |_        |j        |_        n+| j         |_        |  	                    |j        ¦  «        |_        |  
                    ¦   «          |j        dk    rœ|                      ¦   «          | j         dd	…         |_        t          t                               |j        d¦  «        z  }|  
                    ¦   «          |                      ¦   «          |                      g |¦  «        \  |_        |_        n/t          t                               |j        d¦  «        z  }||_        t'          |                      ¦   «         ¦  «        |_        |  
                    ¦   «          t'          |                      ¦   «         ¦  «        |_        |  
                    ¦   «          t'          |                      ¦   «         ¦  «        |_        |  
                    ¦   «          |                      ¦   «          t'          | j         ¦  «        |_        |                      ¦   «          | j         d
k    r7|                      ¦   «          |                      g |¦  «        \  |_        |_        | j         d
k    r<|                      ¦   «          |                      g t0          ¦  «        \  |_        |_        |j                             |¦  «         | j         dk    �° d S d S )Nrž   )r   r   r   r   rŸ   r   ry   r   rz   rK   r^   rv   )rk   rn   r>   rC   r‰   rG   rÒ   rE   r}   r¶   rw   r    rF   rD   rN   Ú_addDefaultsr¥   r!   r0   r{   r,   r-   r.   r/   rO   r1   r"   r#   r5   )r$   r×   Úwithout_textr8   ÚthisDefaultStyles        r'   r#   zRCParser.controlsí  s‡  € ØŒ:˜Ò Ð Ø�MŠM‰OŒOˆOð HÐGÐGˆØŒj˜EÒ!Ñ!Ý ‘l”lˆGØ"&¤*ˆGÔØ�MŠM‰OŒOˆOØÔ"¨,Ð6Ð6Ø”:˜a ˜c”? cÒ)Ð)Ø$(×$<Ò$<Ñ$>Ô$>�G”M�Mð ”Z 3Ò&Ð&¨$¬*×*<Ò*<Ñ*>Ô*>Ð&Ý$'¨×(?Ò(?Ñ(AÔ(AÑ$BÔ$B�G”M�Mõ %(¨¯
ª
°4´:Ñ(>Ô(>Ñ$?Ô$?�G”MØ×"Ò"Ñ$Ô$Ð$Ø—’‘”�àŒz˜SÒ Ð  D¤J×$6Ò$6Ñ$8Ô$8Ð Ø!×4Ò4Ñ6Ô6�”
Ø '¤
�”�ð "œZ�”
Ø $§
¢
¨7¬:Ñ 6Ô 6�”Ø×ÒÑ Ô Ð àÔ" iÒ/Ð/Ø—’‘”�Ø"&¤*¨Q¨r¨TÔ"2�”Ý#6½×9IÒ9IØ”O Qñ:ô :ñ $Ð ð ×"Ò"Ñ$Ô$Ð$Ø—’‘”�Ø04·²¸BÐ@PÑ0QÔ0QÑ-�”˜wœ~˜~å#6½×9IÒ9IØÔ'¨ñ:ô :ñ $Ð ð !1�”å˜DŸMšM™OœOÑ,Ô,ˆGŒIØ×ÒÑ Ô Ð Ý˜DŸMšM™OœOÑ,Ô,ˆGŒIØ×ÒÑ Ô Ð Ý˜DŸMšM™OœOÑ,Ô,ˆGŒIØ×ÒÑ Ô Ð Ø�MŠM‰OŒOˆOÝ˜DœJ™œˆGŒIØ�MŠM‰OŒOˆOØŒz˜SÒ Ð Ø—’‘”�Ø04·²¸BÐ@PÑ0QÔ0QÑ-�”˜wœ~ØŒz˜SÒ Ð Ø—’‘”�Ø48·K²KØÕ-ñ5ô 5Ñ1�” Ô!1ð ŒL×Ò Ñ(Ô(Ð(ð} Œj˜EÒ!Ñ!Ð!Ð!Ð!Ð!r)   N)#r9   r:   r;   r–   rZ   Ú__annotations__r[   rf   rk   r(   ri   rn   rp   rt   rw   r}   r‰   r�   r‹   r˜   rŒ   r¶   r¼   rÀ   r¡   r£   r¤   rÅ   r¢   rÓ   rÔ   r!   rÕ   rÖ   r#   r<   r)   r'   rY   rY   ¯   sØ  € € € € € € Ø€GØOQ€GÐQÐQÐQÑQØ%'€HÐ'Ð'Ð'Ñ'Ø€LØ€Eðð ð ðð ð ð	ð 	ð 	ðð ð ðð ð ð
'ð 'ð 'ð
&ð &ð &ðð ð ð"ð ð ð$ð $ð $ð-ð -ð -ð4/&ð /&ð /&ðbð ð ð"ð ð ð ð  ð  ð
'ð 
'ð 
'ð=ð =ð =ð;ð ;ð ;ðð ð ð"8ð "8ð "8ðHEð Eð Eð7ð 7ð 7ð#ð #ð #ðJð ð ð	ð 	ð 	ðG)ð G)ð G)ð G)ð G)r)   rY   c                ó~  — t          ¦   «         }|r|                     |¦  «         	 |                     | ¦  «         n€#  t          |dd ¦  «        }|rgt	          d|j        ¦  «         t	          d¦  «         t          d¦  «        D ]%}t	          |                     ¦   «         d¬¦  «         Œ&t	          ¦   «          ‚ xY w|S )Nrl   zERROR parsing dialogs at linezNext 10 tokens are:é
   r”   )Úend)rY   r˜   r�   r²   rg   ÚlinenoÚrangerm   )Úrc_fileÚh_fileÚrcprl   r&   s        r'   ÚParseStreamsrö   7  sÇ   € Ý
‰*Œ*€CØð Ø�
Š
�6ÑÔÐð
Ø�Š�ÑÔÐÐøðÝ�c˜5 $Ñ'Ô'ˆØð 	ÝÐ1°3´:Ñ>Ô>Ð>ÝÐ'Ñ(Ô(Ð(Ý˜2‘Y”Yð 0ð 0�Ý�c—m’m‘o”o¨3Ð/Ñ/Ô/Ð/Ð/Ý‰GŒGˆGØøøøØ€Js
   §= ½A=B:c                ó<  — |rt          |d¦  «        }n�| d d…         dz   }	 t          |d¦  «        }nq# t          $ rd t          j                             t          j                             | ¦  «        d¦  «        }	 t          |d¦  «        }n# t          $ r d }Y nw xY wY nw xY wt          | d¦  «        }	 t          ||¦  «        |�|                     ¦   «          |                     ¦   «          S # |�|                     ¦   «          |                     ¦   «          w xY w)NÚréþÿÿÿr/   z
resource.h)r‹   ÚOSErrorÚosÚpathr„   Údirnamerö   Úclose)Úrc_nameÚh_namerô   ró   s       r'   ÚParser  I  s,  € Øð Ý�f˜cÑ"Ô"ˆˆð ˜˜"˜” Ñ#ˆð		Ý˜& #Ñ&Ô&ˆFˆFøÝð 	ð 	ð 	å”W—\’\¥"¤'§/¢/°'Ñ":Ô":¸LÑIÔIˆFðÝ˜f cÑ*Ô*��øÝð ð ð à���ðøøøøøð	øøøõ �7˜CÑ Ô €GðÝ˜G VÑ,Ô,àÐØ�LŠL‰NŒNˆNØ�Š‰Œˆˆøð ÐØ�LŠL‰NŒNˆNØ�Š‰Œˆˆøøøs@   ¢3 ³AB!Á;BÂB!ÂBÂB!ÂBÂB!Â B!Â5C/ Ã/,Dc                óô  — t          | |¦  «        }t          j        | ¦  «        }t          |d¦  «        }|                     d|z  ¦  «         |                     d| z  ¦  «         |                     dt
          z  ¦  «         |                     d|t          j                 |t          j                 fz  ¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d	¦  «         |                     d
¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         dD ]S}|                     d|› d�¦  «         t          j        t          ||¦  «        |¦  «         |                     d¦  «         ŒT|                     d¦  «         |                     d¦  «         | 
                    ¦   «          dS )a  Converts an .rc windows resource source file into a python source file
    with the same basic public interface as the rest of this module.
    Particularly useful for py2exe or other 'freeze' type solutions,
    where a frozen .py file can be used inplace of a real .rc file.
    Úwtz#%s
z3#This is a generated file. Please edit %s instead.
z__version__=%r
z_rc_size_=%d
_rc_mtime_=%d
zclass StringDef:
z'	def __init__(self, id, idNum, value):
z		self.id = id
z		self.idNum = idNum
z		self.value = value
z	def __repr__(self):
zE		return "StringDef(%r, %r, %r)" % (self.id, self.idNum, self.value)
zclass FakeParser:
)rZ   r`   ra   rb   rd   rc   r‚   z = \
r�   zdef Parse(s):
z	return FakeParser()
N)r  rû   Ústatr‹   ÚwriteÚ__version__ÚST_SIZEÚST_MTIMEÚpprintr²   rþ   )rÿ   Úoutput_namer   rõ   Úin_statÚoutr   s          r'   ÚGenerateFrozenResourcer  b  sß  € õ �˜Ñ
 Ô
 €CÝŒg�gÑÔ€Gå
ˆ{˜DÑ
!Ô
!€CØ‡I‚Iˆg˜Ñ#Ñ$Ô$Ð$Ø‡I‚IÐDÀwÑNÑOÔOÐOØ‡I‚IÐ ¥;Ñ.Ñ/Ô/Ð/Ø‡I‚IØ'Ø•4”<Ô  '­$¬-Ô"8Ð
9ñ	:ñô ð ð
 ‡I‚IÐ"Ñ#Ô#Ð#Ø‡I‚IÐ9Ñ:Ô:Ð:Ø‡I‚IÐ"Ñ#Ô#Ð#Ø‡I‚IÐ(Ñ)Ô)Ð)Ø‡I‚IÐ(Ñ)Ô)Ð)Ø‡I‚IÐ'Ñ(Ô(Ð(Ø‡I‚IØRñô ð ð ‡I‚IÐ#Ñ$Ô$Ð$àLð ð ˆØ�	Š	Ð$�tÐ$Ð$Ð$Ñ%Ô%Ð%ÝŒ•g˜c 4Ñ(Ô(¨#Ñ.Ô.Ð.Ø�	Š	�$‰Œˆˆà‡I‚IÐÑ Ô Ð Ø‡I‚IÐ'Ñ(Ô(Ð(Ø‡I‚I�K„K€K€K€Kr)   Ú__main__ry   z@See test_win32rcparser.py, and the win32rcparser directory (bothz9in the test suite) for an example of this module's usage.z-vTzDumping all resources in '%s'zDialog %s (%d controls)zString ú=zBitmap zIcon r   )2Ú__doc__Ú
__future__r   rû   r	  r‘   r  Úsysrâ   r³   Ú
__author__r  rL   Ú	WS_BORDERÚ
WS_TABSTOPÚBS_GROUPBOXÚSS_LEFTÚBS_DEFPUSHBUTTONÚ	SS_CENTERÚSS_RIGHTÚSS_ICONÚ
LBS_NOTIFYrê   ÚWS_CHILDÚ
WS_VISIBLErN   rO   r   r>   rQ   rY   rö   r  r  r9   rÑ   Úargvrg   Úfilenamerf   Ú	resourcesrZ   Úitemsr    Úddefrc   ÚsdefrT   rb   rd   r<   r)   r'   ú<module>r%     s  ððð ð
 #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø €€€Ø €€€Ø 
€
€
€
à €€€Ø €€€à€
Ø€ð ØØØØØØØØØØØØØðð €ð. Ô" XÔ%8Ñ8ØÔ$ØÔØÔ.°Ô1DÑDØÔ%ØÔØÔØÔØÔ"ð
ð 
€ð Ô'¨(Ô*=Ñ=Ð ØÐ ð$ð $ð $ð $ð $ñ $ô $ð $ðN<ð <ð <ð <ð <ñ <ô <ð <ð~Ið Ið Ið Ið Iñ Iô Ið IðE)ð E)ð E)ð E)ð E)ñ E)ô E)ð E)ðPð ð ð$ð ð ð ð2%ð %ð %ð %ðP ˆzÒÑØ
€sˆ3Œ8�}„}˜ÒÐØˆˆg‰ŒˆØˆ‰ŒˆØˆÐPÑQÔQÐQØˆÐIÑJÔJÐJÐJÐJà”8˜A”;ˆØ�3”8ÐÐØ$(ˆHÔ!ØˆÐ-°Ñ8Ñ9Ô9Ð9Ø�E˜(‘O”Oˆ	Ø!Ô)×/Ò/Ñ1Ô1ð 	ð 	‰HˆB�ØˆEÐ+¨r°3°3°t±9´9¨oÑ=Ñ>Ô>Ð>ØˆFŒM˜$ÑÔÐØˆE‰GŒGˆGˆGØ!Ô-×3Ò3Ñ5Ô5ð 	ð 	‰HˆB�ØˆEÐ/˜BÐ/Ð/ ¤Ð/Ð/Ñ0Ô0Ð0ØˆE‰GŒGˆGˆGØ!Ô)×/Ò/Ñ1Ô1ð 	ð 	‰HˆB�ØˆEÐ)˜BÐ)Ð) Ð)Ð)Ñ*Ô*Ð*ØˆE‰GŒGˆGˆGØ!œ×-Ò-Ñ/Ô/ð 	ð 	‰HˆB�ØˆEÐ'˜"Ð'Ð'˜tÐ'Ð'Ñ(Ô(Ð(ØˆE‰GŒGˆGˆGð1 Ðð,	ð 	r)   