+
    i:                      a 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHt  ! R R]P&                  4      t] U u/ uF  q P*                  V bK  	  up t]P.                  ]P0                  ]P2                  ]P0                  ]P4                  ]P0                  ]P6                  ]P0                  ]P8                  ]P:                  ]P<                  ]P:                  /tR	] R
&   ]PB                  ]]"3,          t#]PB                  ]"]3,          t$]PJ                  R]PL                  R]PN                  R]PP                  R]PR                  R]P.                  R]PT                  R]P<                  R]PV                  R/	t,R] R&   ],P[                  4        UUu/ uF  w  rW!bK	  	  uppt.]P.                  R%]P2                  R%]PJ                  R&/t/R R lt0R R lt1]Pd                  ! R]Pf                  ]"]43,          ]"]4RR7      t5 ! R R]Pl                  ]5,          4      t7 ! R R 4      t8 ! R! R"4      t9 ! R# R$4      t:R# u up i u uppi )'    )annotationsN)IterableIterator)utils)x509)NameOIDObjectIdentifierc                  F    ] tR t^t^t^t^t^t^t^t	^t
^t^t^t^t^tRtR# )	_ASN1Type N)__name__
__module____qualname____firstlineno__	BitStringOctetString
UTF8StringNumericStringPrintableString	T61String	IA5StringUTCTimeGeneralizedTimeVisibleStringUniversalString	BMPString__static_attributes__r       ]/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/cryptography/x509/name.pyr   r      s>    IKJMOIIGOMOIr   r   z!dict[ObjectIdentifier, _ASN1Type]_NAMEOID_DEFAULT_TYPECNLSTOOUCSTREETDCUID_OidNameMap_NAMEOID_TO_NAMEc                    V ^8  d   QhRRRR/# )   valzstr | bytesreturnstrr   )formats   "r   __annotate__r2   F   s      + # r   c                    V '       g   R# \        V \        4      '       d-   R\        P                  ! V 4      P	                  R4      ,           # V P                  RR4      p V P                  RR4      p V P                  RR	4      p V P                  R
R4      p V P                  RR4      p V P                  RR4      p V P                  RR4      p V P                  RR4      p V ^ ,          R9   d
   RV ,           p V R,          R8X  d   V RR R,           p V # )z>Escape special characters in RFC4514 Distinguished Name value. #utf8\z\\"z\"+z\+,z\,;z\;<z\<>z\> z\00 Nz\ )r5   r?   )
isinstancebytesbinasciihexlifydecodereplace)r.   s   &r   _escape_dn_valuerG   F   s      #uX%%c*11&999 ++dF
#C
++c5
!C
++c5
!C
++c5
!C
++c5
!C
++c5
!C
++c5
!C
++dF
#C
1vSj
2w#~#2hJr   c                    V ^8  d   QhRRRR/# )r-   r.   r0   r/   r   )r1   s   "r   r2   r2   c   s     5 5C 5C 5r   c                Z    V '       g   R # R p\         P                  P                  W4      # )r4   c                r    V P                  ^4      p\        V4      ^8X  d   V# \        \        V^4      4      # )   )grouplenchrint)mr.   s   & r   sub_unescape_dn_value.<locals>.subk   s0    ggajs8q=J3sB<  r   )_RFC4514NameParser_PAIR_RErQ   )r.   rQ   s   & r   _unescape_dn_valuerU   c   s&    ! &&**344r   NameAttributeValueTypeT)	covariantc                      ] tR t^tRRR/R R lllt]R R l4       t]R R	 l4       t]R
 R l4       tRR R llt	R R lt
R R ltR R ltRtR# )NameAttributeN	_validateTc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r-   oidr	   valuerV   _typez_ASN1Type | NonerZ   boolr/   Noner   )r1   s   "r   r2   NameAttribute.__annotate__   s<     3& 3&3& &3&  	3& 3& 
3&r   c               	   \        V\        4      '       g   \        R 4      hV\        P                  8X  dC   V\
        P                  8w  d   \        R4      h\        V\        4      '       g   \        R4      hM!\        V\        4      '       g   \        R4      h\        P                  V4      pVew   Vw  rg\        V\        4      '       g   Q h\        VP                  R4      4      pW8  g   W8  d5   RV RV RV 2p	VR	J d   \        V	4      h\        P                  ! V	^R
7       Vf%   \         P                  V\        P"                  4      p\        V\        4      '       g   \        R4      hWn        W n        W0n        R# )z2oid argument must be an ObjectIdentifier instance.z6oid must be X500_UNIQUE_IDENTIFIER for BitString type.z!value must be bytes for BitStringzvalue argument must be a strNr6   zAttribute's length must be >= z and <= z, but it was T)
stacklevelz%_type must be from the _ASN1Type enum)rA   r	   	TypeErrorr   r   r   X500_UNIQUE_IDENTIFIERrB   r0   _NAMEOID_LENGTH_LIMITgetrM   encode
ValueErrorwarningswarnr    r   _oid_valuer^   )
selfr\   r]   r^   rZ   length_limits
min_length
max_lengthc_lenmsgs
   &&&&$     r   __init__NameAttribute.__init__   sc    #/00D  I'''g444L  eU++ CDD ,E3'':;;-11#6$%2"JeS))))V,-E!U%74ZL A$]5';  $$S/)MM#!4 =)--c93G3GHE%++CDD	.3 %
r   c                   V ^8  d   QhRR/# )r-   r/   r	   r   )r1   s   "r   r2   ra      s      % r   c                	    V P                   # N)rl   rn   s   &r   r\   NameAttribute.oid   s    yyr   c                   V ^8  d   QhRR/# )r-   r/   rV   r   )r1   s   "r   r2   ra      s      - r   c                	    V P                   # rx   )rm   ry   s   &r   r]   NameAttribute.value   s    {{r   c                   V ^8  d   QhRR/# r-   r/   r0   r   )r1   s   "r   r2   ra      s     F F Fr   c                j    \         P                  V P                  V P                  P                  4      # )z\
The short attribute name (for example "CN") if available,
otherwise the OID dotted string.
)r+   rg   r\   dotted_stringry   s   &r   rfc4514_attribute_name$NameAttribute.rfc4514_attribute_name   s%      ##DHHdhh.D.DEEr   c                    V ^8  d   QhRRRR/# r-   attr_name_overridesz_OidNameMap | Noner/   r0   r   )r1   s   "r   r2   ra      s     = =#5=	=r   c                    V'       d   VP                  V P                  4      MRpVf   V P                  pV R\        V P                  4       2# )z
Format as RFC4514 Distinguished Name string.

Use short attribute name if available, otherwise fall back to OID
dotted string.
N=)rg   r\   r   rG   r]   )rn   r   	attr_names   && r   rfc4514_stringNameAttribute.rfc4514_string   sP     2E##DHH-$ 	 33IA.tzz:;<<r   c                    V ^8  d   QhRRRR/# r-   otherobjectr/   r_   r   )r1   s   "r   r2   ra      s     C CF Ct Cr   c                	    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # rx   )rA   rY   NotImplementedr\   r]   rn   r   s   &&r   __eq__NameAttribute.__eq__   s=    %//!!xx599$BBu{{)BBr   c                   V ^8  d   QhRR/# r-   r/   rO   r   )r1   s   "r   r2   ra      s     , ,# ,r   c                	D    \        V P                  V P                  34      # rx   )hashr\   r]   ry   s   &r   __hash__NameAttribute.__hash__   s    TXXtzz*++r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   ra      s     H H# Hr   c                	>    R V P                    RV P                  : R2# )z<NameAttribute(oid=z, value=)>)r\   r]   ry   s   &r   __repr__NameAttribute.__repr__   s    $TXXJhtzznBGGr   )rl   r^   rm   rx   )r   r   r   r   rt   propertyr\   r]   r   r   r   r   r   r   r   r   r   rY   rY      sq    3& 3& 3&j     F F="C,H Hr   rY   c                  z    ] tR t^tR R ltR R ltRR R lltR R	 ltR
 R ltR R lt	R R lt
R R ltRtR# )RelativeDistinguishedNamec                   V ^8  d   QhRR/# )r-   
attributesIterable[NameAttribute]r   )r1   s   "r   r2   &RelativeDistinguishedName.__annotate__   s     E E#: Er   c                	T   \        V4      pV'       g   \        R 4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        \        V4      V n        \        V P                  4      \        V4      8w  d   \        R4      hR# )z-a relative distinguished name cannot be emptyc              3  B   "   T F  p\        V\        4      x  K  	  R # 5irx   rA   rY   .0xs   & r   	<genexpr>5RelativeDistinguishedName.__init__.<locals>.<genexpr>   s     DA:a//   FTz/attributes must be an iterable of NameAttributez$duplicate attributes are not allowedN)listri   allrd   _attributes	frozenset_attribute_setrM   rn   r   s   &&r   rt   "RelativeDistinguishedName.__init__   s    *%
LMMsDDsssDDDDMNN &'
3t""#s:6CDD 7r   c                    V ^8  d   QhRRRR/# r-   r\   r	   r/   z list[NameAttribute[str | bytes]]r   )r1   s   "r   r2   r           1 11 
*1r   c                	T    V  Uu. uF  q"P                   V8X  g   K  VNK  	  up# u upi rx   r\   rn   r\   is   && r   get_attributes_for_oid0RelativeDistinguishedName.get_attributes_for_oid   &      04a55C<4000   %%Nc                    V ^8  d   QhRRRR/# r   r   )r1   s   "r   r2   r      s     
 
#5
	
r   c                N   a RP                  V3R lV P                   4       4      # )z
Format as RFC4514 Distinguished Name string.

Within each RDN, attributes are joined by '+', although that is rarely
used in certificates.
r9   c              3  F   <"   T F  pVP                  S4      x  K  	  R # 5irx   r   r   attrr   s   & r   r   ;RelativeDistinguishedName.rfc4514_string.<locals>.<genexpr>  s'      
(  344(   !joinr   rn   r   s   &fr   r   (RelativeDistinguishedName.rfc4514_string   s)     xx 
((
 
 	
r   c                    V ^8  d   QhRRRR/# r   r   )r1   s   "r   r2   r     s     ; ;F ;t ;r   c                	l    \        V\        4      '       g   \        # V P                  VP                  8H  # rx   )rA   r   r   r   r   s   &&r   r    RelativeDistinguishedName.__eq__  s-    %!:;;!!""e&:&:::r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r     s     ) )# )r   c                	,    \        V P                  4      # rx   )r   r   ry   s   &r   r   "RelativeDistinguishedName.__hash__  s    D''((r   c                   V ^8  d   QhRR/# r-   r/   zIterator[NameAttribute]r   )r1   s   "r   r2   r     s     & &1 &r   c                	,    \        V P                  4      # rx   )iterr   ry   s   &r   __iter__"RelativeDistinguishedName.__iter__  s    D$$%%r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r     s     % % %r   c                	,    \        V P                  4      # rx   )rM   r   ry   s   &r   __len__!RelativeDistinguishedName.__len__  s    4##$$r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r     s     G G# Gr   c                	*    R V P                  4        R2# )z<RelativeDistinguishedName(r   r   ry   s   &r   r   "RelativeDistinguishedName.__repr__  s    ,T-@-@-B,C2FFr   )r   r   rx   )r   r   r   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r      s2    E1
;)&%G Gr   r   c                     ] tR tRt]P
                  R R l4       t]P
                  R R l4       tR R lt]RR	 R
 ll4       tRR R llt	R R lt
]R R l4       tRR R lltR R ltR R ltR R ltR R ltR R ltRtR# )Namei  c                    V ^8  d   QhRRRR/# )r-   r   r   r/   r`   r   )r1   s   "r   r2   Name.__annotate__  s    HH#:HtHr   c                	    R # rx   r   r   s   &&r   rt   Name.__init__  s    EHr   c                    V ^8  d   QhRRRR/# )r-   r   z#Iterable[RelativeDistinguishedName]r/   r`   r   )r1   s   "r   r2   r     s      =	r   c                	    R # rx   r   r   s   &&r   rt   r     s     r   c                    V ^8  d   QhRRRR/# )r-   r   z3Iterable[NameAttribute | RelativeDistinguishedName]r/   r`   r   )r1   s   "r   r2   r   "  s      G 
r   c           	     	   \        V4      p\        ;QJ d    R  V 4       F  '       d   K   RM	  RM! R  V 4       4      '       d=   V Uu. uF(  p\        \        P                  ! \
        V4      .4      NK*  	  upV n        R# \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d8   \        P                  ! \        P                  \        ,          V4      V n        R# \        R4      hu upi )c              3  B   "   T F  p\        V\        4      x  K  	  R # 5irx   r   r   s   & r   r    Name.__init__.<locals>.<genexpr>'  s     @Zz!]++Zr   FTc              3  B   "   T F  p\        V\        4      x  K  	  R # 5irx   )rA   r   r   s   & r   r   r   ,  s     N:aA899:r   zNattributes must be a list of NameAttribute or a list RelativeDistinguishedNameN)	r   r   r   typingcastrY   r   Listrd   )rn   r   r   s   && r   rt   r   "  s     *%
3@Z@333@Z@@@ $ #A *6;;}a+H*IJ# D SN:NSSSN:NNN%{{56
 D 7  s   
.C>Nc               $    V ^8  d   QhRRRRRR/# )r-   datar0   r   z_NameOidMap | Noner/   r   r   )r1   s   "r   r2   r   7  s-     K KK 0K 
	Kr   c                	H    \        Y;'       g    / 4      P                  4       # rx   )rS   parse)clsr   r   s   &&&r   from_rfc4514_stringName.from_rfc4514_string6  s      "$(A(ArBHHJJr   c                    V ^8  d   QhRRRR/# r   r   )r1   s   "r   r2   r   >  s     
 
#5
	
r   c                `   a RP                  V3R l\        V P                  4       4       4      # )a  
Format as RFC4514 Distinguished Name string.
For example 'CN=foobar.com,O=Foo Corp,C=US'

An X.509 name is a two-level structure: a list of sets of attributes.
Each list element is separated by ',' and within each list element, set
elements are separated by '+'. The latter is almost never used in
real world certificates. According to RFC4514 section 2.1 the
RDNSequence must be reversed when converting to string representation.
r:   c              3  F   <"   T F  pVP                  S4      x  K  	  R # 5irx   r   r   s   & r   r   &Name.rfc4514_string.<locals>.<genexpr>K  s'      
2  3442r   )r   reversedr   r   s   &fr   r   Name.rfc4514_string>  s.     xx 
 !1!12
 
 	
r   c                    V ^8  d   QhRRRR/# r   r   )r1   s   "r   r2   r   P  r   r   c                	T    V  Uu. uF  q"P                   V8X  g   K  VNK  	  up# u upi rx   r   r   s   && r   r   Name.get_attributes_for_oidP  r   r   c                   V ^8  d   QhRR/# )r-   r/   zlist[RelativeDistinguishedName]r   )r1   s   "r   r2   r   W  s        5  r   c                	    V P                   # rx   r   ry   s   &r   rdns	Name.rdnsV  s    r   c                    V ^8  d   QhRRRR/# )r-   backendz
typing.Anyr/   rB   r   )r1   s   "r   r2   r   Z  s     1 1J 1% 1r   c                	.    \         P                  ! V 4      # rx   )	rust_x509encode_name_bytes)rn   r  s   &&r   public_bytesName.public_bytesZ  s    **400r   c                    V ^8  d   QhRRRR/# r   r   )r1   s   "r   r2   r   ]  s     5 5F 5t 5r   c                	l    \        V\        4      '       g   \        # V P                  VP                  8H  # rx   )rA   r   r   r   r   s   &&r   r   Name.__eq__]  s,    %&&!!5#4#444r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r   c  s     - -# -r   c                	>    \        \        V P                  4      4      # rx   )r   tupler   ry   s   &r   r   Name.__hash__c  s     E$**+,,r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r   h  s      1 r   c              #  	L   "   V P                    F  pT R j  xL
  K  	  R #  L
5irx   r  )rn   rdns   & r   r   Name.__iter__h  s     ##CNN $s   $"$c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r   l  s     9 9 9r   c                	:    \        R  V P                   4       4      # )c              3  8   "   T F  p\        V4      x  K  	  R # 5irx   )rM   )r   r  s   & r   r   Name.__len__.<locals>.<genexpr>m  s     8'73s88'7s   )sumr   ry   s   &r   r   Name.__len__l  s    8t'7'7888r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r   o  s     ! !# !r   c                	R    R P                  R V P                   4       4      pRV R2# )r:   c              3  @   "   T F  qP                  4       x  K  	  R # 5irx   r   )r   r   s   & r   r    Name.__repr__.<locals>.<genexpr>p  s     K:J$++--:Js   z<Name(r   r   rn   r  s   & r   r   Name.__repr__o  s+    xxK$:J:JKKvR  r   r  rx   )r   r   r   r   r   overloadrt   classmethodr   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r     s    __H H__ ( K K
$1    15-
9! !r   r   c                     ] tR tRt]P
                  ! R4      t]P
                  ! R4      tRt]P
                  ! ]4      t	Rt
RtRtR]! ]P                  4       R	2t]
 R
] 2t] R
] 2t] R
] 2t]P
                  ! R] R
] R] R
] R] R
] R2]P(                  4      t]P
                  ! R4      tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR tR!# )"rS   it  z!(0|([1-9]\d*))(\.(0|([1-9]\d*)))+z[a-zA-Z][a-zA-Z\d-]*z!\\([\\ #=\"\+,;<>]|[\da-zA-Z]{2})z7[\x01-\x1f\x21\x24-\x2A\x2D-\x3A\x3D\x3F-\x5B\x5D-\x7F]z3[\x01-\x21\x23-\x2A\x2D-\x3A\x3D\x3F-\x5B\x5D-\x7F]z7[\x01-\x1F\x21\x23-\x2A\x2D-\x3A\x3D\x3F-\x5B\x5D-\x7F]z[\x80-]|z
        (
            (z!)
            (
                (z)*
                (z$)
            )?
        )?
        z#([\da-zA-Z]{2})+c               $    V ^8  d   QhRRRRRR/# )r-   r   r0   r   _NameOidMapr/   r`   r   )r1   s   "r   r2   _RFC4514NameParser.__annotate__  s!     8 8S 8{ 8t 8r   c                	,    Wn         ^ V n        W n        R# )r   N)_data_idx_attr_name_overrides)rn   r   r   s   &&&r   rt   _RFC4514NameParser.__init__  s    
	$7!r   c                   V ^8  d   QhRR/# )r-   r/   r_   r   )r1   s   "r   r2   r+    s     + +4 +r   c                	F    V P                   \        V P                  4      8  # rx   )r.  rM   r-  ry   s   &r   	_has_data_RFC4514NameParser._has_data  s    yy3tzz?**r   c                   V ^8  d   QhRR/# )r-   r/   z
str | Noner   )r1   s   "r   r2   r+    s      z r   c                	l    V P                  4       '       d   V P                  V P                  ,          # R # rx   )r3  r-  r.  ry   s   &r   _peek_RFC4514NameParser._peek  s%    >>::dii((r   c                    V ^8  d   QhRRRR/# )r-   chr0   r/   r`   r   )r1   s   "r   r2   r+    s      S T r   c                	n    V P                  4       V8w  d   \        hV ;P                  ^,          un        R# )rK   N)r7  ri   r.  )rn   r:  s   &&r   
_read_char_RFC4514NameParser._read_char  s#    ::<2		Q	r   c                   V ^8  d   QhRR/# r   r   )r1   s   "r   r2   r+    s      s r   c                	    VP                  V P                  V P                  R 7      pVf   \        hVP	                  4       pV ;P                  \        V4      ,          un        V# ))pos)matchr-  r.  ri   rL   rM   )rn   patrA  r.   s   &&  r   _read_re_RFC4514NameParser._read_re  sI    		$**$))	4=kkm		SX	
r   c                   V ^8  d   QhRR/# )r-   r/   r   r   )r1   s   "r   r2   r+    s     $ $t $r   c                   V P                  4       '       g   \        . 4      # V P                  4       .pV P                  4       '       d3   V P                  R4       VP	                  V P                  4       4       KH  \        \        V4      4      # )z
Parses the `data` string and converts it to a Name.

According to RFC4514 section 2.1 the RDNSequence must be
reversed when converting to string representation. So, when
we parse it, we need to reverse again to get the RDNs on the
correct order.
r:   )r3  r   
_parse_rdnr<  appendr   r"  s   & r   r   _RFC4514NameParser.parse  sd     ~~8O!"nnOOC KK)*HTN##r   c                   V ^8  d   QhRR/# )r-   r/   r   r   )r1   s   "r   r2   r+    s     . .5 .r   c                	    V P                  4       .pV P                  4       R 8X  d3   V P                  R 4       VP                  V P                  4       4       KG  \	        V4      # )r9   )	_parse_nar7  r<  rH  r   )rn   nass   & r   rG  _RFC4514NameParser._parse_rdn  sI    ~~ jjlc!OOC JJt~~'((--r   c                   V ^8  d   QhRR/# )r-   r/   rY   r   )r1   s   "r   r2   r+    s     ) )= )r   c                	V    V P                  V P                  4      p\        V4      pV P                  R4       V P                  4       R8X  dH   V P                  V P                  4      p\        P                  ! VR,          4      P                  4       pM&V P                  V P                  4      p\        V4      p\!        W$4      #   \         dX    T P                  T P                  4      pT P
                  P                  T\        P                  T4      4      pTf   \        h Li ; i)Nr   r5   :rK   NN)rC  _OID_REr	   ri   	_DESCR_REr/  rg   _NAME_TO_NAMEOIDr<  r7  _HEXSTRING_RErC   	unhexlifyrE   
_STRING_RErU   rY   )rn   	oid_valuer\   namer]   	raw_values   &     r   rL  _RFC4514NameParser._parse_na  s    
	.dll3I #9-C::<3MM$"4"45E&&uRy188:Edoo6I&y1ES((%  	!==0D++//&**40C {   	!s   C AD('D()r/  r-  r.  N) r   r   r   r   recompilerQ  rR  _PAIRrT   _LUTF1_SUTF1_TUTF1rN   sys
maxunicode_UTFMB	_LEADCHAR_STRINGCHAR
_TRAILCHARVERBOSErV  rT  rt   r3  r7  r<  rC  r   rG  rL  r   r   r   r   rS   rS   t  s   jj=>G

23I0Ezz% HGFCFGFs3>>*+1-F81VH%IXQvh'KHAfX&J[% !aw 'Qug &		 	

J JJ34M8+

$*.) )r   rS   )r-   r-   )rK   @   );__conditional_annotations__
__future__r   rC   r[  ra  r   rj   collections.abcr   r   cryptographyr   "cryptography.hazmat.bindings._rustr   r	  cryptography.x509.oidr   r	   Enumr   r]   _ASN1_TYPE_TO_ENUMCOUNTRY_NAMEr   JURISDICTION_COUNTRY_NAMESERIAL_NUMBERDN_QUALIFIEREMAIL_ADDRESSr   DOMAIN_COMPONENTr    __annotations__Mappingr0   r*   r*  COMMON_NAMELOCALITY_NAMESTATE_OR_PROVINCE_NAMEORGANIZATION_NAMEORGANIZATIONAL_UNIT_NAMESTREET_ADDRESSUSER_IDr+   itemsrS  rf   rG   rU   TypeVarUnionrB   rV   GenericrY   r   r   rS   )r   kvri  s   000@r   <module>r     s<  
 # "  	 
   .  @ ;

  +44)Qggqj)4 )33%%y'@'@944)339..i11< 8  nn-s23nnS"223
 3""Ds$$d#HdOOU
! + 
 &6%;%;%=>%=TQAD%=>  &%%v :5&  
LLe	 aHFNN#9: aHH3G 3GlX! X!vh) h)e
 56 ?s   I'I