
    shk                        S r SSKJr  SSKJr  SSKrSSKrSSK	J
r
JrJr  SSKJr  SSKJrJrJr  SSKJr  \" S	S
5      r\R,                  (       a  \
R.                  rO\
R2                  rSrSrSrSr " S S\5      rS r\S 5       r \" \5      S 5       r!\S 5       r"\S 5       r#\S 5       r$\S 5       r%\S 5       r&\S 5       r'\S 5       r(\S 5       r)\S 5       r*\S 5       r+\S 5       r,\S 5       r-\S  5       r.\S! 5       r/\S" 5       r0\S# 5       r1\S$ 5       r2\S% 5       r3\S& 5       r4\S' 5       r5\S( 5       r6\S) 5       r7\S* 5       r8\S+ 5       r9 " S, S-\5      r:\Rv                  " / SPSPSPSPSPSPSPSPSP\:Rx                  P\:Rx                  P\:Rx                  P\:Rx                  P\:Rx                  PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSP\:Rx                  PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSP\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  P\:Rz                  \:R|                  -  PSPSPSPSPSPSPSP\:R~                  \:R|                  -  P\:R~                  \:R|                  -  P\:R~                  \:R|                  -  P\:R~                  \:R|                  -  P\:R~                  \:R|                  -  P\:R~                  \:R|                  -  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  P\:R~                  PSPSPSPSPSPSP\:R                  \:R|                  -  P\:R                  \:R|                  -  P\:R                  \:R|                  -  P\:R                  \:R|                  -  P\:R                  \:R|                  -  P\:R                  \:R|                  -  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  P\:R                  PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSP\R                  S.9rB\Rv                  " / S/Q\R                  S.9rD\Rv                  " / S0Q\R                  S.9rE " S1 S2\5      rF\Rv                  " / SPSPSPSPSPSPSPSPSPSP\FR                  \FR                  -  P\FR                  P\FR                  P\FR                  \FR                  -  PSPSPSPSPSPSPSPSPSPSPSPSPSPSP\FR                  P\FR                  P\FR                  PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSP\FR                  PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSP\R                  S.9rJ\S3 5       rK\S4 5       rL\S5 5       rM\S6 5       rN\S7 5       rO\S8 5       rP\S9 5       rQ\S: 5       rR\S; 5       rS\S< 5       rT\S= 5       rU\S> 5       rV\S? 5       rWg)@z
This module contains support functions for more advanced unicode operations.
This is not a public API and is for Numba internal use only. Most of the
functions are relatively straightforward translations of the functions with the
same name in CPython.
    )
namedtuple)IntEnumN)typescgutilsconfig)impl_ret_untracked)overload	intrinsicregister_jitable)TypingError
typerecordz%upper lower title decimal digit flags	   
          c                   P    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrg)_PyUnicode_TyperecordMasks>                  r   @         i   i   i   i   i    i @   N)__name__
__module____qualname____firstlineno__
ALPHA_MASKDECIMAL_MASK
DIGIT_MASK
LOWER_MASKLINEBREAK_MASK
SPACE_MASK
TITLE_MASK
UPPER_MASKXID_START_MASKXID_CONTINUE_MASKPRINTABLE_MASKNUMERIC_MASKCASE_IGNORABLE_MASK
CASED_MASKEXTENDED_CASE_MASK__static_attributes__r       q/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/unicode_support.pyr   r   >   sP    JLJJNJJJNNL Jr2   r   c                     [        S5      e)Nz(Calling the Python definition is invalid)RuntimeErroras    r3   _PyUnicode_gettyperecordr8   P   s    
A
BBr2   c                 d   [        U[        R                  5      (       d  [        S5      eS n[        R                  " [        R
                  [        R
                  [        R
                  [        R                  [        R                  [        R                  /[        5      nU" [        5      nXB4$ )zr
Provides the binding to numba_gettyperecord, returns a `typerecord`
namedtuple of properties from the codepoint.
zcodepoint must be an integerc           
         U R                  [        R                  5      nU R                  [        5      nU R                  [        R                  5      nUR                  5       nU R                  [        R                  5      nUR                  5       n	U R                  [        R                  5      n
U
R                  5       n[        R                  R                  UUUUUU	U	U/5      n[        R                  " UR                  USS9n[        R                  " XSS9n[        R                  " XSS9n[        R                  " XSS9n[        R                  " XSS9n[        R                  " XSS9n[        R                  " XSS9nXUUUU/nUR                  XS	   /U-   5        / nU H#  nUR!                  UR#                  U5      5        M%     U R%                  XR&                  [)        U5      5      n[+        XUR&                  U5      $ )
Nnumba_gettyperecordnameupperlowertitledecimaldigitflagsr   )get_value_typer   void_Py_UCS4intc
as_pointerucharushortllvmliteirFunctionTyper   get_or_insert_functionmodulealloca_oncecallappendload
make_tuplereturn_typetupler   )contextbuilder	signatureargsll_void
ll_Py_UCS4ll_intcll_intc_ptrll_ucharll_uchar_ptr	ll_ushortll_ushort_ptrfntyfnr>   r?   r@   rA   rB   rC   byrefbufxress                           r3   details$_gettyperecord_impl.<locals>.details]   s   ((4++H5
((4((*))%++6**,**5<<8	!,,.{{''2
  ++NN,. ##G7C##G7C##G7C%%giH##GGD##GWEwu=Rq'U*+AJJw||A'    *?*?sL!'I4I4I3OOr2   )

isinstancer   Integerr   
NamedTuplerG   rI   rJ   r   rF   )	typingctx	codepointri   tuptysigs        r3   _gettyperecord_implrr   T   sy     i//899#PJ ejj%**ejj%++#kk5<<9:DFE
/C<r2   c                    ^ [        U [        R                  5      (       a  SSKJm  U4S jnU$ [        U [        R
                  5      (       a  S $ g)zw
Provides a _PyUnicode_gettyperecord binding, for convenience it will accept
single character strings and code points.
r   )_get_code_pointc                 z   > [        U 5      S:  a  Sn[        U5      eT" U S5      n[        [        U5      5      nU$ )Nr   z.gettyperecord takes a single unicode characterr   )len
ValueErrorrr   rF   )r7   msg
code_pointdatart   s       r3   impl gettyperecord_impl.<locals>.impl   s=    1vzF o%(A.J&x
';<DKr2   c                 *    [        [        U 5      5      $ N)rr   rF   r6   s    r3   <lambda>$gettyperecord_impl.<locals>.<lambda>   s    ,Xa[9r2   N)rk   r   UnicodeTypenumba.cpython.unicodert   rl   )r7   r{   rt   s     @r3   gettyperecord_implr      sC     !U&&''9	 !U]]##99 $r2   c                     [        U[        R                  5      (       d  [        S5      eS n[	        [        R
                  5      nX24$ )z
Accessor function for the _PyUnicode_ExtendedCase array, binds to
numba_get_PyUnicode_ExtendedCase which wraps the array and does the lookup
zExpected an indexc                    U R                  [        5      nU R                  [        R                  5      n[        R
                  R                  XE/5      n[        R                  " UR                  USS9nUR                  XsS   /5      $ )N numba_get_PyUnicode_ExtendedCaser<   r   )rD   rF   r   rG   rK   rL   rM   r   rN   rO   rQ   )rW   rX   rY   rZ   r\   r]   rc   rd   s           r3   ri   (_PyUnicode_ExtendedCase.<locals>.details   sp    ++H5
((4{{''
I>++NN9; ||Ba	**r2   )rk   r   rl   r   rF   rG   )rn   indexri   rq   s       r3   _PyUnicode_ExtendedCaser      s>     eU]]++-..+ 5::
C<r2   c                     [        U 5      nUR                  [        R                  -  (       a  [	        UR
                  S-  5      $ XR
                  -   $ )N  )r8   rC   r   r0   r   r@   chctypes     r3   _PyUnicode_ToTitlecaser      s@    $R(E0CCC&u{{V';<<r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ Nr   )r8   rC   r   r(   r   s     r3   _PyUnicode_IsTitlecaser      '    $R(E;;3>>>!CCr2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r*   r   s     r3   _PyUnicode_IsXidStartr      '    $R(E;;3BBBaGGr2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r+   r   s     r3   _PyUnicode_IsXidContinuer      s'    $R(E;;3EEEJJr2   c                 v    [        U 5      nUR                  [        R                  -  (       a  UR                  $ gN)r8   rC   r   r#   rA   r   s     r3   _PyUnicode_ToDecimalDigitr      s,    $R(E{{/<<<}}r2   c                 v    [        U 5      nUR                  [        R                  -  (       a  UR                  $ gr   )r8   rC   r   r$   rB   r   s     r3   _PyUnicode_ToDigitr      s,    $R(E{{/:::{{r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r-   r   s     r3   _PyUnicode_IsNumericr      s'    $R(E;;3@@@AEEr2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r,   r   s     r3   _PyUnicode_IsPrintabler      r   r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r%   r   s     r3   _PyUnicode_IsLowercaser      r   r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r)   r   s     r3   _PyUnicode_IsUppercaser      r   r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r&   r   s     r3   _PyUnicode_IsLineBreakr     r   r2   c                     [         er~   NotImplementedErrorr   s    r3   _PyUnicode_ToUppercaser   	      
r2   c                     [         er~   r   r   s    r3   _PyUnicode_ToLowercaser     r   r2   c                    [        U 5      nUR                  [        R                  -  (       aA  UR                  S-  nUR                  S-	  n[        U5       H  n[        X5-   5      X'   M     U$ XR                  -   US'   gNr      r   r   )r8   rC   r   r0   r?   ranger   r   rh   r   r   nis         r3   _PyUnicode_ToLowerFullr     o    $R(E0CCCf$KK2qA,UY7CF ++CFr2   c                    [        U 5      nUR                  [        R                  -  (       aA  UR                  S-  nUR                  S-	  n[        U5       H  n[        X5-   5      X'   M     U$ XR                  -   US'   gr   )r8   rC   r   r0   r@   r   r   r   s         r3   _PyUnicode_ToTitleFullr   "  r   r2   c                    [        U 5      nUR                  [        R                  -  (       aA  UR                  S-  nUR                  S-	  n[        U5       H  n[        X5-   5      X'   M     U$ XR                  -   US'   gr   )r8   rC   r   r0   r>   r   r   r   s         r3   _PyUnicode_ToUpperFullr   0  sq    $R(E0CCCf$KK2qA,UY7CF  ++CFr2   c                 L   [        U 5      n[        R                  nUR                  U-  (       ak  UR                  S-	  S-  (       aT  UR                  S-  UR                  S-	  -   nUR                  S-	  S-  n[        U5       H  n[        XF-   5      X'   M     U$ [        X5      $ )N      r   r   )r8   r   r0   rC   r?   r   r   r   )r   rh   r   extended_case_maskr   r   r   s          r3   _PyUnicode_ToFoldedFullr   ?  s    $R(E3FF{{''U[[B->!,Cv%%++*;<[[B!#qA,UY7CF !"**r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r/   r   s     r3   _PyUnicode_IsCasedr   M  r   r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r.   r   s     r3   _PyUnicode_IsCaseIgnorabler   T  s'    $R(E;;3GGG1LLr2   c                 $    [        U 5      S:  a  ggNr   r   )r   r   s    r3   _PyUnicode_IsDigitr   [  s    "!r2   c                 $    [        U 5      S:  a  ggr   )r   r   s    r3   _PyUnicode_IsDecimalDigitr   c  s     $q(r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r'   r   s     r3   _PyUnicode_IsSpacer   k  r   r2   c                 X    [        U 5      nUR                  [        R                  -  S:g  $ r   )r8   rC   r   r"   r   s     r3   _PyUnicode_IsAlphar   q  r   r2   c                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)_PY_CTFi  r   r      r   r   r   r   r   N)r   r   r    r!   LOWERUPPERALPHADIGITALNUMSPACEXDIGITr1   r   r2   r3   r   r     s%    EEEEEEFr2   r   )dtype(   r   r   r   r   r         r   r   r   r         r         r            r            r                        r   !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   r   ?   r   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   [   \   ]   ^   _   `   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  {   |   }   ~      r                                                                                                                                                                                                                                                                                                                                                                                                (   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r   r  r   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   r&  r'  r(  r)  r*  r+  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  r-  r.  r/  r0  r   r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  c                        \ rS rSrSrSrSrSrg)
_PY_CTF_LBid  r   r   r   r   N)r   r   r    r!   
LINE_BREAK	LINE_FEEDCARRIAGE_RETURNr1   r   r2   r3   r  r  d  s    JIOr2   r  c                 \    [         R                  " U 5      [         R                  " S5      -  $ )z_
Equivalent to the CPython macro `Py_CHARMASK()`, masks off all but the
lowest 256 bits of ch.
r  )r   uint8r   s    r3   _Py_CHARMASKr    s      ;;r?U[[...r2   c                 &    [         [        U 5         $ )zk
Equivalent to the CPython macro `Py_TOUPPER()` converts an ASCII range
code point to the upper equivalent
)_Py_ctype_toupperr  r   s    r3   _Py_TOUPPERr         \"-..r2   c                 &    [         [        U 5         $ )zk
Equivalent to the CPython macro `Py_TOLOWER()` converts an ASCII range
code point to the lower equivalent
)_Py_ctype_tolowerr  r   s    r3   _Py_TOLOWERr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISLOWER()`
)_Py_ctype_tabler  r   r   r   s    r3   _Py_ISLOWERr        
 <+,w}}<<r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISUPPER()`
)r  r  r   r   r   s    r3   _Py_ISUPPERr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISALPHA()`
)r  r  r   r   r   s    r3   _Py_ISALPHAr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISDIGIT()`
)r  r  r   r   r   s    r3   _Py_ISDIGITr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z1
Equivalent to the CPython macro `Py_ISXDIGIT()`
)r  r  r   r   r   s    r3   _Py_ISXDIGITr    s    
 <+,w~~==r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISALNUM()`
)r  r  r   r   r   s    r3   _Py_ISALNUMr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z0
Equivalent to the CPython macro `Py_ISSPACE()`
)r  r  r   r   r   s    r3   _Py_ISSPACEr    r  r2   c                 H    [         [        U 5         [        R                  -  $ )z&Check if character is ASCII line break)_Py_ctype_islinebreakr  r  r  r   s    r3   _Py_ISLINEBREAKr    s     !b!12Z5J5JJJr2   c                 H    [         [        U 5         [        R                  -  $ )z#Check if character is line feed `
`)r  r  r  r  r   s    r3   _Py_ISLINEFEEDr    s     !b!12Z5I5IIIr2   c                 H    [         [        U 5         [        R                  -  $ )z)Check if character is carriage return ``)r  r  r  r  r   s    r3   _Py_ISCARRIAGERETURNr    s     !b!12Z5O5OOOr2   )X__doc__collectionsr   enumr   llvmlite.irrK   numpynp
numba.corer   r   r   numba.core.imputilsr   numba.core.extendingr	   r
   r   numba.core.errorsr   r   USE_LEGACY_TYPE_SYSTEMuint32rF   c_uint32_Py_TAB_Py_LINEFEED_Py_CARRIAGE_RETURN	_Py_SPACEr   r8   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   arrayr   r   r   r   r   rG   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r2   r3   <module>r     s   #    - - 4 F F ) ?A

 
  ||H~~H6  	   $C 0 0f 

"#: $:,  2   D D H H K K
     F F H H D D D D
 H H
    
 	 	 	 	 
 
 	+ 	+ D D M M     D D
 D Dg  (( III I 	I
 I I I I I MMI MMI MMI MMI MMI I  !I" #I$ %I& 'I( )I* +I, -I. /I0 1I2 3I4 5I6 7I8 9I: ;I< =I> ?I@ AIB MMCID EIF GIH IIJ KIL MIN OIP QIR SIT UIV WIX YIZ [I\ ]I^ _I` aIb MMGNN"cId MMGNN"eIf MMGNN"gIh MMGNN"iIj MMGNN"kIl MMGNN"mIn MMGNN"oIp MMGNN"qIr MMGNN"sIt MMGNN"uIv wIx yIz {I| }I~ I@ AIB CID MMGNN"EIF MMGNN"GIH MMGNN"IIJ MMGNN"KIL MMGNN"MIN MMGNN"OIP MMQIR MMSIT MMUIV MMWIX MMYIZ MM[I\ MM]I^ MM_I` MMaIb MMcId MMeIf MMgIh MMiIj MMkIl MMmIn MMoIp MMqIr MMsIt MMuIv MMwIx yIz {I| }I~ I@ AIB CID MMGNN"EIF MMGNN"GIH MMGNN"IIJ MMGNN"KIL MMGNN"MIN MMGNN"OIP MMQIR MMSIT MMUIV MMWIX MMYIZ MM[I\ MM]I^ MM_I` MMaIb MMcId MMeIf MMgIh MMiIj MMkIl MMmIn MMoIp MMqIr MMsIt MMuIv MMwIx yIz {I| }I~ I@ AIB CIB 	CIB CIB CIB CIB CIB CIB CIB CIB  !CIB #$CIB &'CIB )*CIB ,-CIB /0CIB 23CID EID 	EID EID EID EID EID EID EID EID  !EID #$EID &'EID )*EID ,-EID /0EID 23EIF GIF 	GIF GIF GIF GIF GIF GIF GIF GIF  !GIF #$GIF &'GIF )*GIF ,-GIF /0GIF 23GIH IIH 	IIH IIH IIH IIH IIH IIH IIH IIH  !IIH #$IIH &'IIH )*IIH ,-IIH /0IIH 23IIJ KIJ 	KIJ KIJ KIJ KIJ KIJ KIJ KIJ KIJ  !KIJ #$KIJ &'KIJ )*KIJ ,-KIJ /0KIJ 23KIL MIL 	MIL MIL MIL MIL MIL MIL MIL MIL  !MIL #$MIL &'MIL )*MIL ,-MIL /0MIL 23MIN OIN 	OIN OIN OIN OIN OIN OIN OIN OIN  !OIN #$OIN &'OIN )*OIN ,-OIN /0OIN 23OIP QIP 	QIP QIP QIP QIP QIP QIP QIP QIP  !QIP #$QIP &'QIP )*QIP ,-QIP /0QIP 23QIR 
SI\ HH !B 
C! L HH !B 
C! H   """
""""""" "J000" " 	"
 J666" " 	" " " " " " " "  !" #$" &'" )*" ,-" " " " " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56" " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56" " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56" " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56" " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56" " 	" " " " " " " "  !" #$" &'" )*" ,-" /0" 23" 56"  !"" #"" 	#"" #"" #"" #"" #"" #"" #"" #""  !#"" #$#"" &'#"" )*#"" ,-#"" /0#"" 23#"" 56#"$ %"$ 	%"$ %"$ %"$ %"$ %"$ %"$ %"$ %"$  !%"$ #$%"$ &'%"$ )*%"$ ,-%"$ /0%"$ 23%"$ 56%"& '"& 	'"& '"& '"& '"& '"& '"& '"& '"&  !'"& #$'"& &''"& )*'"& ,-'"& /0'"& 23'"& 56'"( )"( 	)"( )"( )"( )"( )"( )"( )"( )"(  !)"( #$)"( &')"( )*)"( ,-)"( /0)"( 23)"( 56)"* +"* 	+"* +"* +"* +"* +"* +"* +"* +"*  !+"* #$+"* &'+"* )*+"* ,-+"* /0+"* 23+"* 56+", -", 	-", -", -", -", -", -", -", -",  !-", #$-", &'-", )*-", ,--", /0-", 23-", 56-". /". 	/". /". /". /". /". /". /". /".  !/". #$/". &'/". )*/". ,-/". /0/". 23/". 56/"0 1"0 	1"0 1"2 
3 < / / / / / / = = = = = = = = > > = = = = K K
 J J
 P Pr2   