§
    |Øj?  ã                   ó@  — U d Z ddlmZ ddlmZmZ ddlmZ dede	e
eef         fd„Zdede	e
eef         fd„Zdede	e
eef         fd	„Zdede	e
eef         fd
„Zdede	e
eef         fd„Zdede	e
eef         fd„Zdede	e
eef         fd„Zdede	e
eef         fd„Zdede	e
eef         fd„ZeeeeeeeedœZeeeege	e
eef         f         f         ed<   dededede	e
eef         dz  fd„Zdededede
fd„Z	 ddededededz  de
f
d„Zdedededefd„ZdS )a™  Stage 2b: Multi-byte structural probing.

Computes how well byte patterns in the data match the expected multi-byte
structure for a given encoding.  Used after byte-validity filtering (Stage 2a)
to further rank multi-byte encoding candidates.

Note: ``from __future__ import annotations`` is intentionally omitted because
this module is compiled with mypyc, which does not support PEP 563 string
annotations.
é    )ÚCallable)Ú
HIGH_BYTESÚPipelineContext)ÚEncodingInfoÚdataÚreturnc                 óÖ  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     r | |         }d|cxk    rdk    sn d|cxk    rdk    rqn nn|dz  }|dz   |k     rZ| |dz            }d|cxk    rdk    sn d	|cxk    rd
k    r3n n0|dz  }|                     |¦  «         |dz  }|dk    r|dz  }|dz  }Œ•|dz  }n|dz  }||k     ° |dk    r||z  nd}	|	|t          |¦  «        fS )z°Single-pass Shift_JIS structural analysis.

    Lead bytes: 0x81-0x9F, 0xE0-0xEF
    Trail bytes: 0x40-0x7E, 0x80-0xFC

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   é�   éŸ   éà   éï   é   é@   é~   é€   éü   é   é   ç        ©ÚsetÚlenÚadd©
r   Ú
lead_countÚvalid_countÚmbÚleadsÚiÚlengthÚbÚtrailÚratios
             ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/chardet/pipeline/structural.pyÚ_analyze_shift_jisr%      sl  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�AÐÐÒÐ˜ÒÐÐÐ 4¨1Ð#4Ð#4Ò#4Ð#4°Ò#4Ð#4Ð#4Ð#4Ð#4Ø˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�Ø˜EÐ)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)¨t°uÐ/DÐ/DÒ/DÐ/DÀÒ/DÐ/DÐ/DÐ/DÐ/DØ 1Ñ$�KØ—I’I˜a‘L”L�Là˜!‘G�BØ˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð# ˆfŠ*ˆ*ð$ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð ó    c                 óÖ  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     r | |         }d|cxk    rdk    sn d|cxk    rdk    rqn nn|dz  }|dz   |k     rZ| |dz            }d|cxk    rdk    sn d	|cxk    rdk    r3n n0|dz  }|                     |¦  «         |dz  }|d
k    r|dz  }|dz  }Œ•|dz  }n|dz  }||k     ° |dk    r||z  nd}	|	|t          |¦  «        fS )aB  Single-pass CP932 structural analysis.

    Lead bytes: 0x81-0x9F, 0xE0-0xFC
    Trail bytes: 0x40-0x7E, 0x80-0xFC

    Extends Shift_JIS by raising the lead byte ceiling from 0xEF to 0xFC,
    covering IBM vendor-defined characters (NEC-selected, IBM extensions).

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   r
   r   r   r   r   r   r   r   r   r   r   r   r   s
             r$   Ú_analyze_cp932r(   E   sl  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�AÐÐÒÐ˜ÒÐÐÐ 4¨1Ð#4Ð#4Ò#4Ð#4°Ò#4Ð#4Ð#4Ð#4Ð#4Ø˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�Ø˜EÐ)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)¨t°uÐ/DÐ/DÒ/DÐ/DÀÒ/DÐ/DÐ/DÐ/DÐ/DØ 1Ñ$�KØ—I’I˜a‘L”L�Là˜!‘G�BØ˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð# ˆfŠ*ˆ*ð$ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     �r@| |         }|dk    rR|dz  }|dz   |k     r>d| |dz            cxk    rdk    r(n n%|dz  }|                     |¦  «         |dz  }|dz  }Œa|dz  }nÙ|dk    rk|dz  }|dz   |k     rWd| |dz            cxk    rdk    rAn n>d| |dz            cxk    rdk    r(n n%|dz  }|                     |¦  «         |d	z  }|d	z  }ŒÒ|dz  }nhd|cxk    rdk    rVn nS|dz  }|dz   |k     r?d| |dz            cxk    rdk    r)n n&|dz  }|                     |¦  «         |dz  }|dz  }�Œ5|dz  }n|dz  }||k     �°@|dk    r||z  nd
}||t          |¦  «        fS )zóSingle-pass EUC-JP structural analysis.

    Two-byte: Lead 0xA1-0xFE, Trail 0xA1-0xFE
    SS2 (half-width katakana): 0x8E + 0xA1-0xDF
    SS3 (JIS X 0212): 0x8F + 0xA1-0xFE + 0xA1-0xFE

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   éŽ   r   é¡   éß   r   é�   éþ   é   r   r   ©	r   r   r   r   r   r   r    r!   r#   s	            r$   Ú_analyze_euc_jpr1   n   sG  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*‰*Ø�ŒGˆØ�Š9ˆ9à˜!‰OˆJØ�1‰u�vŠ~ˆ~ $¨$¨q°1©u¬+Ð"=Ð"=Ò"=Ð"=¸Ò"=Ð"=Ð"=Ð"=Ð"=Ø˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�ØØ�‰FˆAˆAØ�$ŠYˆYà˜!‰OˆJà�A‘˜’�Ø˜D  Q¡œKÐ/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/Ø˜D  Q¡œKÐ/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/à˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�ØØ�‰FˆAˆAØ�QÐÐÒÐ˜$ÒÐÐÐÐØ˜!‰OˆJØ�1‰u�vŠ~ˆ~ $¨$¨q°1©u¬+Ð"=Ð"=Ò"=Ð"=¸Ò"=Ð"=Ð"=Ð"=Ð"=Ø˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�ÙØ�‰FˆAˆAà�‰FˆAðI ˆfŠ*‰*ðJ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó€  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     ru| |         }d|cxk    rdk    rUn nR|dz  }|dz   |k     r>d| |dz            cxk    rdk    r(n n%|dz  }|                     |¦  «         |dz  }|dz  }Œj|dz  }n|dz  }||k     °u|dk    r||z  nd}||t          |¦  «        fS )z†Single-pass EUC-KR structural analysis.

    Lead 0xA1-0xFE; Trail 0xA1-0xFE

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   r+   r.   r   r   r   r   r0   s	            r$   Ú_analyze_euc_krr3   ¨   s  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�1ÐÐÒÐ˜ÒÐÐÐÐØ˜!‰OˆJØ�1‰u�vŠ~ˆ~ $¨$¨q°1©u¬+Ð"=Ð"=Ò"=Ð"=¸Ò"=Ð"=Ð"=Ð"=Ð"=Ø˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�ØØ�‰FˆAˆAà�‰FˆAð ˆfŠ*ˆ*ð )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 óô  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     r¯| |         }d|cxk    rdk    sn d|cxk    rdk    r€n n}|dz  }|dz   |k     ri| |dz            }d|cxk    rdk    s!n d	|cxk    rd
k    sn d|cxk    rdk    r3n n0|dz  }|                     |¦  «         |dz  }|dk    r|dz  }|dz  }Œ¤|dz  }n|dz  }||k     °¯|dk    r||z  nd}	|	|t          |¦  «        fS )at  Single-pass CP949 (Unified Hangul Code) structural analysis.

    Lead bytes: 0x81-0xC8, 0xCA-0xFD
    Trail bytes: 0x41-0x5A, 0x61-0x7A, 0x81-0xFE

    Extends EUC-KR by lowering the lead byte floor from 0xA1 to 0x81 and
    adding ASCII letter trail ranges plus 0x81-0xA0.  0xC9 is not a valid
    UHC lead byte.

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   r
   éÈ   éÊ   éý   r   éA   éZ   éa   éz   r.   r   r   r   r   r   s
             r$   Ú_analyze_cp949r<   È   sŒ  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�AÐÐÒÐ˜ÒÐÐÐ 4¨1Ð#4Ð#4Ò#4Ð#4°Ò#4Ð#4Ð#4Ð#4Ð#4Ø˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�à˜UÐ*Ð*Ò*Ð* dÒ*Ð*Ð*Ð*Ø Ð-Ð-Ò-Ð-¨Ò-Ð-Ð-Ð-Ø Ð-Ð-Ò-Ð-¨Ò-Ð-Ð-Ð-Ð-à 1Ñ$�KØ—I’I˜a‘L”L�Là˜!‘G�BØ˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð+ ˆfŠ*ˆ*ð, )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó’  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     rþ| |         }d|cxk    rdk    rÞn nÛ|dz  }|dz   |k     rpd| |dz            cxk    rdk    rZn nWd| |dz            cxk    rdk    rAn n>d| |dz            cxk    rdk    r(n n%|dz  }|                     |¦  «         |dz  }|d	z  }Œœd
|cxk    rdk    rJn nG|dz   |k     r>d
| |dz            cxk    rdk    r(n n%|dz  }|                     |¦  «         |dz  }|dz  }Œó|dz  }n|dz  }||k     °þ|dk    r||z  nd}||t          |¦  «        fS )aÕ  Single-pass GB18030 / GB2312 structural analysis.

    Only counts strict GB2312 2-byte pairs (lead 0xA1-0xF7, trail 0xA1-0xFE)
    and GB18030 4-byte sequences.  The broader GBK extension range
    (lead 0x81-0xFE, trail 0x40-0x7E / 0x80-0xFE) is intentionally excluded
    because it is so permissive that unrelated single-byte data (EBCDIC, DOS
    codepages, etc.) can score 1.0, leading to false positives.

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   r
   r.   r   r/   é0   é9   r   é   r+   é÷   r   r   r0   s	            r$   Ú_analyze_gb18030rB   ö   sô  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�1ÐÐÒÐ˜ÒÐÐÐÐØ˜!‰OˆJð �A‘˜’�Ø˜D  Q¡œKÐ/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/Ø˜D  Q¡œKÐ/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/Ø˜D  Q¡œKÐ/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/à˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�Øà�qÐ Ð Ò Ð ˜DÒ Ð Ð Ð Ð  Q¨¡U¨V¢^ ^¸ÀÀQÈÁUÄÐ8SÐ8SÒ8SÐ8SÈtÒ8SÐ8SÐ8SÐ8SÐ8SØ˜qÑ �Ø—	’	˜!‘”�Ø�a‘�Ø�Q‘�ØØ�‰FˆAˆAà�‰FˆAð3 ˆfŠ*ˆ*ð4 )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó¸  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     r‘| |         }d|cxk    rdk    rqn nn|dz  }|dz   |k     rZ| |dz            }d|cxk    rdk    sn d|cxk    rdk    r3n n0|dz  }|                     |¦  «         |dz  }|dk    r|dz  }|d	z  }Œ†|dz  }n|dz  }||k     °‘|dk    r||z  nd
}	|	|t          |¦  «        fS )z�Single-pass Big5 structural analysis.

    Lead 0xA1-0xF9; Trail 0x40-0x7E, 0xA1-0xFE

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   r+   éù   r   r   r   r.   r   r   r   r   r   s
             r$   Ú_analyze_big5rE   '  sN  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�1ÐÐÒÐ˜ÒÐÐÐÐØ˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�Ø˜EÐ)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)¨t°uÐ/DÐ/DÒ/DÐ/DÀÒ/DÐ/DÐ/DÐ/DÐ/DØ 1Ñ$�KØ—I’I˜a‘L”L�Là˜!‘G�BØ˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð# ˆfŠ*ˆ*ð$ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó¸  — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     r‘| |         }d|cxk    rdk    rqn nn|dz  }|dz   |k     rZ| |dz            }d|cxk    rdk    sn d|cxk    rdk    r3n n0|dz  }|                     |¦  «         |dz  }|dk    r|dz  }|d	z  }Œ†|dz  }n|dz  }||k     °‘|dk    r||z  nd
}	|	|t          |¦  «        fS )aW  Single-pass Big5-HKSCS structural analysis.

    Lead bytes: 0x87-0xFE
    Trail bytes: 0x40-0x7E, 0xA1-0xFE

    Extends Big5 by lowering the lead byte floor from 0xA1 to 0x87 and
    raising the ceiling from 0xF9 to 0xFE.  0x7F and 0x80-0xA0 are not
    valid Big5/HKSCS trail bytes.

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   é‡   r.   r   r   r   r+   r   r   r   r   r   s
             r$   Ú_analyze_big5hkscsrH   L  sN  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�1ÐÐÒÐ˜ÒÐÐÐÐØ˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�Ø˜EÐ)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)¨t°uÐ/DÐ/DÒ/DÐ/DÀÒ/DÐ/DÐ/DÐ/DÐ/DØ 1Ñ$�KØ—I’I˜a‘L”L�Là˜!‘G�BØ˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð# ˆfŠ*ˆ*ð$ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   c                 ó   — d}d}d}t          ¦   «         }d}t          | ¦  «        }||k     rµ| |         }d|cxk    rdk    s!n d|cxk    rdk    sn d|cxk    rdk    rwn nt|dz  }|dz   |k     r`| |dz            }d	|cxk    rd
k    sn d|cxk    rdk    r9n n6|dz  }|                     |¦  «         |dk    r|dz  }|dk    r|dz  }|dz  }Œª|dz  }n|dz  }||k     °µ|dk    r||z  nd}	|	|t          |¦  «        fS )z«Single-pass Johab structural analysis.

    Lead: 0x84-0xD3, 0xD8-0xDE, 0xE0-0xF9
    Trail: 0x31-0x7E, 0x91-0xFE

    Returns (pair_ratio, mb_bytes, lead_diversity).
    r   é„   éÓ   éØ   éÞ   r   rD   r   é1   r   é‘   r.   r   r   r   r   r   s
             r$   Ú_analyze_johabrP   v  s“  € ð €JØ€KØ	
€BÝ‘e”e€EØ	€AÝ�‰YŒY€FØ
ˆfŠ*ˆ*Ø�ŒGˆØ�AÐÐÒÐ˜ÒÐÐÐ 4¨1Ð#4Ð#4Ò#4Ð#4°Ò#4Ð#4Ð#4Ð#4¸$À!Ð:KÐ:KÒ:KÐ:KÀtÒ:KÐ:KÐ:KÐ:KÐ:KØ˜!‰OˆJØ�1‰u�vŠ~ˆ~Ø˜Q ™Uœ�Ø˜EÐ)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)¨t°uÐ/DÐ/DÒ/DÐ/DÀÒ/DÐ/DÐ/DÐ/DÐ/DØ 1Ñ$�KØ—I’I˜a‘L”L�LØ˜4’x�xØ˜a™˜Ø˜t’|�|Ø˜a™˜Ø˜‘F�AØØ�‰FˆAˆAà�‰FˆAð# ˆfŠ*ˆ*ð$ )3°Qª¨ˆK˜*Ñ$Ð$¸C€EØ�"•c˜%‘j”jÐ Ð r&   )Úshift_jis_2004Úcp932Úeuc_jis_2004Úeuc_krÚcp949Úgb18030Ú	big5hkscsÚjohabÚ
_ANALYZERSÚnameÚctxNc                 ó¨   — |j                              |¦  «        }|�|S t                               |¦  «        }|€dS  || ¦  «        }||j         |<   |S )z/Return cached analysis or compute and cache it.N)Úanalysis_cacheÚgetrY   )r   rZ   r[   ÚcachedÚanalyzerÚresults         r$   Ú_get_analysisrb   ¬  s`   € ð Ô×#Ò# DÑ)Ô)€FØÐØˆÝ�~Š~˜dÑ#Ô#€HØÐØˆtØˆX�d‰^Œ^€FØ%€CÔ�tÑØ€Mr&   Úencoding_infoc                 ó\   — | r|j         sdS t          | |j        |¦  «        }|€dS |d         S )a•  Return 0.0--1.0 indicating how well *data* matches the encoding's structure.

    For single-byte encodings, always returns 0.0.  For empty data, always
    returns 0.0.

    :param data: The raw byte data to analyze.
    :param encoding_info: Metadata for the encoding to probe.
    :param ctx: Pipeline context for caching analysis results.
    :returns: A structural fit score between 0.0 and 1.0.
    r   Nr   ©Úis_multibyte_cjkrb   rZ   ©r   rc   r[   ra   s       r$   Úcompute_structural_scorerh   À  sC   € ð ð �}Ô5ð Øˆså˜4 Ô!3°SÑ9Ô9€FØ€~Øˆsà�!Œ9Ðr&   Únon_ascii_countc                 óî   — | r|j         sdS t          | |j        |¦  «        }|€dS |d         }|�|n7t          | ¦  «        t          |                      dt
          ¦  «        ¦  «        z
  }|dk    rdS ||z  S )av  Ratio of non-ASCII bytes that participate in valid multi-byte sequences.

    Genuine CJK text has nearly all non-ASCII bytes paired into valid
    multi-byte sequences (coverage close to 1.0), while Latin text with
    scattered high bytes has many orphan bytes (coverage well below 1.0).

    :param data: The raw byte data to analyze.
    :param encoding_info: Metadata for the encoding to probe.
    :param ctx: Pipeline context for caching analysis results.
    :param non_ascii_count: Pre-computed count of non-ASCII bytes, or ``None``
        to compute from *data*.
    :returns: A coverage ratio between 0.0 and 1.0.
    r   Nr   r   )rf   rb   rZ   r   Ú	translater   )r   rc   r[   ri   ra   Úmb_bytesÚ	non_asciis          r$   Úcompute_multibyte_byte_coveragern   ×  s•   € ð& ð �}Ô5ð Øˆså˜4 Ô!3°SÑ9Ô9€FØ€~Øˆsà�aŒy€Hð Ð&ð 	ˆå�‰YŒY�˜TŸ^š^¨Dµ*Ñ=Ô=Ñ>Ô>Ñ>ð ð
 �A‚~€~Øˆsà�iÑÐr&   c                 ó\   — | r|j         sdS t          | |j        |¦  «        }|€dS |d         S )aá  Count distinct lead byte values in valid multi-byte pairs.

    Genuine CJK text uses lead bytes from across the encoding's full
    repertoire.  European text falsely matching a CJK structural scorer
    clusters lead bytes in a narrow band.

    :param data: The raw byte data to analyze.
    :param encoding_info: Metadata for the encoding to probe.
    :param ctx: Pipeline context for caching analysis results.
    :returns: The number of distinct lead byte values found.
    r   Né   r   re   rg   s       r$   Úcompute_lead_byte_diversityrq   þ  sC   € ð ð �}Ô5ð ØˆqÝ˜4 Ô!3°SÑ9Ô9€FØ€~ØˆsØ�!Œ9Ðr&   )N)Ú__doc__Úcollections.abcr   Úchardet.pipeliner   r   Úchardet.registryr   ÚbytesÚtupleÚfloatÚintr%   r(   r1   r3   r<   rB   rE   rH   rP   rY   ÚdictÚstrÚ__annotations__rb   rh   rn   rq   © r&   r$   ú<module>r~      sc  ðð	ð 	ð 	ð %Ð $Ð $Ð $Ð $Ð $à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø )Ð )Ð )Ð )Ð )Ð )ð #!Ø
ð#!à
ˆ5�#�sˆ?Ôð#!ð #!ð #!ð #!ðL&!Ø
ð&!à
ˆ5�#�sˆ?Ôð&!ð &!ð &!ð &!ðR7!Ø
ð7!à
ˆ5�#�sˆ?Ôð7!ð 7!ð 7!ð 7!ðt!Ø
ð!à
ˆ5�#�sˆ?Ôð!ð !ð !ð !ð@+!Ø
ð+!à
ˆ5�#�sˆ?Ôð+!ð +!ð +!ð +!ð\.!Ø
ð.!à
ˆ5�#�sˆ?Ôð.!ð .!ð .!ð .!ðb"!Ø
ð"!à
ˆ5�#�sˆ?Ôð"!ð "!ð "!ð "!ðJ'!Ø
ð'!à
ˆ5�#�sˆ?Ôð'!ð '!ð '!ð '!ðT#!Ø
ð#!à
ˆ5�#�sˆ?Ôð#!ð #!ð #!ð #!ðV )ØØ#ØØØØ#Øð	Dð 	D€
ˆD��h ˜w¨¨e°S¸#¨oÔ(>Ð>Ô?Ð?Ô@ð 	ð 	ñ 	ðØ
ðØðØ!0ðà
ˆ5�#�sˆ?Ô˜dÑ"ðð ð ð ð(Ø
ðØ ,ðØ3Bðà
ðð ð ð ð6 #'ð	$ ð $ Ø
ð$ àð$ ð 
ð$ ð ˜4‘Zð	$ ð
 ð$ ð $ ð $ ð $ ðNØ
ðØ ,ðØ3Bðàðð ð ð ð ð r&   