
    gS                        d Z ddlZddlZddlmZmZ ddlmZmZm	Z	m
Z
mZmZmZ ddlmZmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ee
eeef   e
eeeef   f   Zeee f   Z!ee
eeef   e
eeeef   f   Z" G d d      Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*de$ e% e$ e% e$ de% e& d
Z+de' e% e( e% e( de% e& d
Z,de$ de$ de$ de& d	Z-de' de( de( de& d	Z.dD  ch c]  }  e| dz  d       c} Z/dej`                  z  Z1 ede       G d  d!ejd                               Z3d"e
ed#f   d$e#fd%Z4d"e d$e#fd&Z5dId'eee f   d(eee f   d)eee f   d*e	e   d$e#f
d+Z6dJd"eee f   d,ed$efd-Z7d"ede eef   d$e	e   fd.Z8dId/e d0e d1e d2e d*e	e   d$e#fd3Z9d4ed$efd5Z:i d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWi dXdYdZd[d\d]d^d;d_d`dadbdcdddedfdgdhdidfdjdkdldmdndodpdqdrdsdtdudvdwi dxdydzd{d|d}d~d}ddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddœddǓddɓdd˓dd͓dd͓ddГddғddԓdd֓ddؓi ddddۓddݓddߓddddddddddddddddddddddddddi ddddddd ddddddddd	d
dddddddddddddddddi ddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d5d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHZ;e;jy                         D ci c]  \  }}||
 c}}Z=yc c} w c c}}w (K  aZ  Color definitions are used as per the CSS3
[CSS Color Module Level 3](http://www.w3.org/TR/css3-color/#svg-color) specification.

A few colors have multiple names referring to the sames colors, eg. `grey` and `gray` or `aqua` and `cyan`.

In these cases the _last_ color when sorted alphabetically takes preferences,
eg. `Color((0, 255, 255)).as_named() == 'cyan'` because "cyan" comes after "aqua".

Warning: Deprecated
    The `Color` class is deprecated, use `pydantic_extra_types` instead.
    See [`pydantic-extra-types.Color`](../usage/types/extra_types/color_types.md)
    for more information.
    N)
hls_to_rgb
rgb_to_hls)AnyCallableOptionalTupleTypeUnioncast)
CoreSchemaPydanticCustomErrorcore_schema)
deprecated   )_repr)GetJsonSchemaHandler)JsonSchemaValue)PydanticDeprecatedSince20c            	       B    e Zd ZdZdZdedededee   fdZded	efd
Z	y)RGBAz1Internal use only as a representation of a color.rgbalpha_tupler   r   r   r   c                 R    || _         || _        || _        || _        ||||f| _        y Nr   )selfr   r   r   r   s        C/var/www/openai/venv/lib/python3.12/site-packages/pydantic/color.py__init__zRGBA.__init__&   s.    
DEq!UCS    itemreturnc                      | j                   |   S r   )r   )r   r#   s     r    __getitem__zRGBA.__getitem__.   s    {{4  r"   N)
__name__
__module____qualname____doc__	__slots__floatr   r!   r   r&    r"   r    r   r   !   sG    ;0IT% TE Te THUO T! ! !r"   r   z(\d{1,3}(?:\.\d+)?)z\s*,\s*z(\d(?:\.\d+)?|\.\d+|\d{1,2}%)z((-?\d+(?:\.\d+)?|-?\.\d+)(deg|rad|turn)?z(\d{1,3}(?:\.\d+)?)%z8\s*(?:#|0x)?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?\s*zD\s*(?:#|0x)?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?\s*z\s*rgba?\(\s*z(?:z
)?\s*\)\s*z\s*hsla?\(\s*z\s+z
(?:\s*/\s*0123456789abcdef      zThe `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.)categoryc                   r   e Zd ZdZdZdeddfdZedej                  de
defd	       Zdefd
ZdddedefdZdefdZdefdZdddee   defdZdefdZdddee   defdZdefdZedee   deege	f   dej                  fd       Zedededd fd       ZdefdZ d!dZ!dedefdZ"de#fd Z$y)"ColorzRepresents a color.)	_original_rgbavaluer$   Nc                 8   |  |  t        |t        t        f      rt        |      | _        || _        y t        |t
              rt        |      | _        || _        y t        |t              r%|j                  | _        |j                  }|| _        y t        dd      )Ncolor_errorzAvalue is not a valid color: value must be a tuple, list or string)

isinstancetuplelistparse_tupler5   str	parse_strr3   r4   r   )r   r6   s     r    r!   zColor.__init__R   s    eeT]+$U+DJ  s#"5)DJ  u%DJOOE  &b r"   r   handlerc                 0    i }|j                  dd       |S )Nstringcolor)typeformat)update)clsr   r?   field_schemas       r    __get_pydantic_json_schema__z"Color.__get_pydantic_json_schema__d   s"     ':r"   c                     | j                   S )z!Original value passed to `Color`.)r4   r   s    r    originalzColor.originall   s    ~~r"   FfallbackrM   c                *   | j                   j                  :t        t        t        t        t        f   | j                               }	 t        |   S | j                         S # t        $ r(}|r| j                         cY d}~S t        d      |d}~ww xY w)a<  Returns the name of the color if it can be found in `COLORS_BY_VALUE` dictionary,
        otherwise returns the hexadecimal representation of the color or raises `ValueError`.

        Args:
            fallback: If True, falls back to returning the hexadecimal representation of
                the color instead of raising a ValueError when no named color is found.

        Returns:
            The name of the color, or the hexadecimal representation of the color.

        Raises:
            ValueError: When no named color is found and fallback is `False`.
        Nz=no named color found, use fallback=True, as_hex() or as_rgb())
r5   r   r   r   intas_rgb_tupleCOLORS_BY_VALUEKeyErroras_hex
ValueError)r   rM   rgbes       r    as_namedzColor.as_namedp   s     ::#uS#s]+T->->-@ACm&s++ ;;=   m;;=($%dekll	ms$   A! !	B*B;BBBc           	         | j                   dd D cg c]  }t        |       }}| j                   j                  .|j                  t        | j                   j                               dj	                  d |D              t        d |D              r.dj	                  fdt        dt              d      D              d	z   S c c}w )
aS  Returns the hexadecimal representation of the color.

        Hex string representing the color can be 3, 4, 6, or 8 characters depending on whether the string
        a "short" representation of the color is possible and whether there's an alpha channel.

        Returns:
            The hexadecimal representation of the color.
        N    c              3   $   K   | ]  }|d  
 yw)02xNr-   .0vs     r    	<genexpr>zColor.as_hex.<locals>.<genexpr>   s     4VAc7Vs   c              3   ,   K   | ]  }|t         v   y wr   )repeat_colorsr^   cs     r    r`   zColor.as_hex.<locals>.<genexpr>   s     26aqM!6s   c              3   (   K   | ]	  }|     y wr   r-   )r^   rd   rS   s     r    r`   zColor.as_hex.<locals>.<genexpr>   s     I0H1VAY0Hs   r   r/   #)r5   float_to_255r   appendjoinallrangelen)r   rd   valuesrS   s      @r    rS   zColor.as_hex   s     ,0::bq>:>a,q/>:::'MM,tzz'7'7894V442622WWIaVa0HIIFV| ;s   Cc                    | j                   j                  cdt        | j                   j                         dt        | j                   j                         dt        | j                   j
                         dS dt        | j                   j                         dt        | j                   j                         dt        | j                   j
                         dt        | j                         d       d	S )zFColor as an `rgb(<r>, <g>, <b>)` or `rgba(<r>, <g>, <b>, <a>)` string.zrgb(, )zrgba(r/   )r5   r   rg   r   r   r   round_alpha_floatrJ   s    r    as_rgbzColor.as_rgb   s    ::#,tzz||45RTZZ\\8R7SSUVbcgcmcmcocoVpUqqrss TZZ\\232l4::<<6P5QQST`aeakakamamTnSooq**,a014r"   r   r   c                    d | j                   dd D        \  }}}|/| j                   j                  |||fS |||| j                         fS |r|||| j                         fS |||fS )a  Returns the color as an RGB or RGBA tuple.

        Args:
            alpha: Whether to include the alpha channel. There are three options for this input:

                - `None` (default): Include alpha only if it's set. (e.g. not `None`)
                - `True`: Always include alpha.
                - `False`: Always omit alpha.

        Returns:
            A tuple that contains the values of the red, green, and blue channels in the range 0 to 255.
                If alpha is included, it is in the range 0 to 1.
        c              3   2   K   | ]  }t        |        y wr   )rg   rc   s     r    r`   z%Color.as_rgb_tuple.<locals>.<genexpr>   s     ;Nq<?N   NrY   )r5   r   rr   )r   r   r   r   r   s        r    rP   zColor.as_rgb_tuple   s~     <DJJrN;1a=zz'!Qw!Q 1 1 333aD--/// a7Nr"   c                     | j                   j                  (| j                  d      \  }}}d|dz  dd|dd|ddS | j                  d	      \  }}}}d|dz  dd|dd|ddt        |d
       d	S )zEColor as an `hsl(<h>, <s>, <l>)` or `hsl(<h>, <s>, <l>, <a>)` string.Frt   zhsl(h  z0.0fro   z0.0%rp   Tr/   )r5   r   as_hsl_tuplerq   )r   hslias        r    as_hslzColor.as_hsl   s    ::#((u(5HAq"!c'$r!DBt9A>>++$+7KAq"a!c'$r!DBt9BuQ{m1MMr"   c                4   t        | j                  j                  | j                  j                  | j                  j                        \  }}}|/| j                  j
                  |||fS |||| j                         fS |r|||| j                         fS |||fS )aS  Returns the color as an HSL or HSLA tuple.

        Args:
            alpha: Whether to include the alpha channel.

                - `None` (default): Include the alpha channel only if it's set (e.g. not `None`).
                - `True`: Always include alpha.
                - `False`: Always omit alpha.

        Returns:
            The color as a tuple of hue, saturation, lightness, and alpha (if included).
                All elements are in the range 0 to 1.

        Note:
            This is HSL as used in HTML and most other places, not HLS as used in Python's `colorsys`.
        )r   r5   r   r   r   r   rr   )r   r   r{   lr|   s        r    rz   zColor.as_hsl_tuple   s    " TZZ\\4::<<F1a=zz'!Qw!Q 1 1 333aD--/// a7Nr"   c                 ^    | j                   j                  dS | j                   j                  S )Nr   )r5   r   rJ   s    r    rr   zColor._alpha_float   s&    JJ$$,qB$**2B2BBr"   sourcec                 h    t        j                  | j                  t        j                               S )N)serialization)r   "with_info_plain_validator_function	_validateto_string_ser_schema)rF   r   r?   s      r    __get_pydantic_core_schema__z"Color.__get_pydantic_core_schema__   s)     ==MM)I)I)K
 	
r"   _Color__input_value_c                      | |      S r   r-   )rF   r   r   s      r    r   zColor._validate   s    =!!r"   c                 &    | j                  d      S )NTrL   )rW   rJ   s    r    __str__zColor.__str__   s    }}d}++r"   c                 T    d | j                  d      fgd| j                         fgz   S )NTrL   rU   )rW   rP   rJ   s    r    __repr_args__zColor.__repr_args__   s1    t}}d}345%ARARAT9U8VVVr"   otherc                 h    t        |t              xr! | j                         |j                         k(  S r   )r9   r3   rP   )r   r   s     r    __eq__zColor.__eq__   s+    %'WD,=,=,?5CUCUCW,WWr"   c                 4    t        | j                               S r   )hashrP   rJ   s    r    __hash__zColor.__hash__   s    D%%'((r"   )r$   z_repr.ReprArgs)%r'   r(   r)   r*   r+   	ColorTyper!   classmethodr   r   _GetJsonSchemaHandlerr   rH   rK   boolr=   rW   rS   rs   r   
ColorTuplerP   r   HslColorTuplerz   r,   rr   r	   r   r   r   r   r   r   r   rO   r   r-   r"   r    r3   r3   H   s    $Ii D $ %00;P	 )  ,1 !D !S !4 $  7; Xd^ z 4N N 7; Xd^ } :Ce C 
#Y
)13%2C)D
			
 
 "c "c "g " ", ,WXC XD X)# )r"   r3   r6   .r$   c           	          t        |       dk(  rd | D        \  }}}t        |||d      S t        |       dk(  r*d | dd D        \  }}}t        |||t        | d               S t        dd      )zParse a tuple or list to get RGBA values.

    Args:
        value: A tuple or list.

    Returns:
        An `RGBA` tuple parsed from the input tuple.

    Raises:
        PydanticCustomError: If tuple is not valid.
    rY   c              3   2   K   | ]  }t        |        y wr   parse_color_valuer]   s     r    r`   zparse_tuple.<locals>.<genexpr>  s     7A$Q'rw   N   c              3   2   K   | ]  }t        |        y wr   r   r]   s     r    r`   zparse_tuple.<locals>.<genexpr>  s     ;A$Q'rw   r8   z:value is not a valid color: tuples must have length 3 or 4)rl   r   parse_float_alphar   )r6   r   r   r   s       r    r<   r<     sz     5zQ771aAq!T""	Uq;r;1aAq!.uQx899!-1mnnr"   c                 F   | j                         }	 t        |   \  }}}t        |||d      S # t        $ r Y nw xY wt	        j
                  t        |      }|rE|j                         ^ }}d |D        \  }}}|rt        |dz  d      dz  }nd}t        ||||      S t	        j
                  t        |      }|rB|j                         ^ }}d |D        \  }}}|rt        |d      dz  }nd}t        ||||      S t	        j
                  t        |      xs t	        j
                  t        |      }|rt        |j                          S t	        j
                  t        |      xs t	        j
                  t        |      }|rt        |j                          S t        dd      )	a8  Parse a string representing a color to an RGBA tuple.

    Possible formats for the input string include:

    * named color, see `COLORS_BY_NAME`
    * hex short eg. `<prefix>fff` (prefix can be `#`, `0x` or nothing)
    * hex long eg. `<prefix>ffffff` (prefix can be `#`, `0x` or nothing)
    * `rgb(<r>, <g>, <b>)`
    * `rgba(<r>, <g>, <b>, <a>)`

    Args:
        value: A string representing a color.

    Returns:
        An `RGBA` tuple parsed from the input string.

    Raises:
        ValueError: If the input string cannot be parsed to an RGBA tuple.
    Nc              3   :   K   | ]  }t        |d z  d        yw)r/   r0   NrO   r]   s     r    r`   zparse_str.<locals>.<genexpr>7  s     /3a3q1ub>3s   r/   r0      c              3   4   K   | ]  }t        |d         yw)r0   Nr   r]   s     r    r`   zparse_str.<locals>.<genexpr>A  s     +s!3q":ss   r8   zBvalue is not a valid color: string not recognised as a valid color)lowerCOLORS_BY_NAMEints_to_rgbarR   re	fullmatchr_hex_shortgroupsrO   
r_hex_longr_rgbr_rgb_v4_styler_hslr_hsl_v4_style	parse_hslr   )	r6   value_lowerr   r   r   mrU   r~   r   s	            r    r>   r>     s}   ( ++-K+ -1a Aq!T**  
 	[+.A((*a/3/1a%(Q^c%9EEAq!U++
Z-A((*a+s+1a2J$EEAq!U++
UK(UBLL,UAQXXZ((
UK(UBLL,UA!((*%%
m-q
rrs   - 	99r   r   r   r   c                 f    t        t        |       t        |      t        |      t        |            S )a  Converts integer or string values for RGB color and an optional alpha value to an `RGBA` object.

    Args:
        r: An integer or string representing the red color value.
        g: An integer or string representing the green color value.
        b: An integer or string representing the blue color value.
        alpha: A float representing the alpha value. Defaults to None.

    Returns:
        An instance of the `RGBA` class with the corresponding color and alpha values.
    )r   r   r   )r   r   r   r   s       r    r   r   S  s.     !!$&7&:<Ma<PRcdiRjkkr"   max_valc                     	 t        |       }d|cxk  r	|k  r||z  S  t        ddd|i      # t        $ r t        dd      w xY w)a8  Parse the color value provided and return a number between 0 and 1.

    Args:
        value: An integer or string color value.
        max_val: Maximum range value. Defaults to 255.

    Raises:
        PydanticCustomError: If the value is not a valid color.

    Returns:
        A number between 0 and 1.
    r8   z?value is not a valid color: color values must be a valid numberr   zLvalue is not a valid color: color values must be in the range 0 to {max_val}r   )r,   rT   r   )r6   r   rB   s      r    r   r   b  sm    te 	EWw  "Z 
 	
  t!-1rssts	   - Ac                    | y	 t        | t              r#| j                  d      rt        | dd       dz  }nt        |       }t        j                  |d      ryd|cxk  rdk  r|S  t        dd	      # t        $ r t        dd      w xY w)
aZ  Parse an alpha value checking it's a valid float in the range 0 to 1.

    Args:
        value: The input value to parse.

    Returns:
        The parsed value as a float, or `None` if the value was None or equal 1.

    Raises:
        PydanticCustomError: If the input value cannot be successfully parsed as a float in the expected range.
    N%d   r8   z>value is not a valid color: alpha values must be a valid floatr   r   zDvalue is not a valid color: alpha values must be in the range 0 to 1)r9   r=   endswithr,   rT   r   mathisclose)r6   r   s     r    r   r   }  s     }seS!ennS&9%*%+E%LE ||E1	
eq 
 "-1wxx  s!-1qrrss   >A4 4B
r{   h_unitssatlightc                     t        |d      t        |d      }}t        |       }|dv r	|dz  dz  }n|dk(  r|t        z  t        z  }n|dz  }t        |||      \  }}	}
t	        ||	|
t        |            S )a.  Parse raw hue, saturation, lightness, and alpha values and convert to RGBA.

    Args:
        h: The hue value.
        h_units: The unit for hue value.
        sat: The saturation value.
        light: The lightness value.
        alpha: Alpha value.

    Returns:
        An instance of `RGBA`.
    r   >   Ndegry   radr   )r   r,   radsr   r   r   )r{   r   r   r   r   s_valuel_valueh_valuer   r   r   s              r    r   r     s     )c24EeS4QWGAhG-C-#%	E	D.4' A+'73GAq!1a*5122r"   rd   c                 0    t        t        | dz              S )a  Converts a float value between 0 and 1 (inclusive) to an integer between 0 and 255 (inclusive).

    Args:
        c: The float value to be converted. Must be between 0 and 1 (inclusive).

    Returns:
        The integer equivalent of the given float value rounded to the nearest whole number.

    Raises:
        ValueError: If the given float value is outside the acceptable range of 0 to 1 (inclusive).
    r   )rO   rq   )rd   s    r    rg   rg     s     uQW~r"   	aliceblue)      r   antiquewhite)         aqua)r   r   r   
aquamarine)   r      azure)r   r   r   beige)   r      bisque)r         black)r   r   r   blanchedalmond)r   r      blue)r   r   r   
blueviolet)   +      brown)   *   r   	burlywood)         	cadetblue)_         
chartreuse)r   r   r   	chocolate)   i      coral)r   r   P   cornflowerblue)r         cornsilk)r   r   r   crimson)r      <   cyandarkblue)r   r      darkcyan)r   r  r  darkgoldenrod)r         darkgray)   r  r  	darkgreen)r   r   r   darkgrey	darkkhaki)      k   darkmagenta)r  r   r  darkolivegreen)U   r  /   
darkorange)r      r   
darkorchid)   2      darkred)r  r   r   
darksalmon)      z   darkseagreen)      r  darkslateblue)H   =   r  darkslategray)r  O   r%  darkslategreydarkturquoise)r         
darkviolet)   r      deeppink)r   r      deepskyblue)r      r   dimgray)r   r   r   dimgrey
dodgerblue)r      r   	firebrick)   "   r7  floralwhite)r   r   r   forestgreen)r7  r  r7  fuchsia)r   r   r   	gainsboro)r   r   r   
ghostwhite)r   r   r   gold)r   r   r   	goldenrod)   r       gray)   rB  rB  green)r   rB  r   greenyellow)   r   r  greyhoneydew)r   r   r   hotpink)r   r      	indianred)r   \   rK  indigo)K   r      ivory)r   r   r   khaki)r      r  lavender)rQ  rQ  r   lavenderblush)r   r   r   	lawngreen)|      r   lemonchiffon)r   r   r   	lightblue)rE     rQ  
lightcoral)r   rB  rB  	lightcyan)   r   r   lightgoldenrodyellow)r   r   r   	lightgray)r,  r,  r,  
lightgreen)r4     r4  	lightgrey	lightpink)r         lightsalmon)r   r   r  lightseagreen)r@  r6     lightskyblue)r   r(  r   lightslategray)w      r  lightslategreylightsteelblue)   r   r   lightyellow)r   r   r\  lime)r   r   r   	limegreen)r  r   r  linen)r   r   rQ  magentamaroon)rB  r   r   mediumaquamarine)f   r   rg  
mediumblue)r   r   r   mediumorchid)   r  r,  mediumpurple)r.  p      mediumseagreen)r      q   mediumslateblue){   h   r`  mediumspringgreen)r   r      mediumturquoise)r"  r)  r  mediumvioletred)         midnightblue)   r  r{  	mintcream)r   r   r   	mistyrose)r   r      moccasin)r   r      navajowhite)r   r   rE  navy)r   r   rB  oldlace)   r   rQ  olive)rB  rB  r   	olivedrab)r     #   orange)r   r   r   	orangered)r   E   r   orchid)r?  r{     palegoldenrod)r`     rg  	palegreen)      r  paleturquoise)   r`  r`  palevioletred)r|  r{  r.  
papayawhip)r         	peachpuff)r   r?     peru)r   r  ?   pink)r         plum)   r   r  
powderblue)rn  r\  rQ  purple)rB  r   rB  red)r   r   r   	rosybrown)r   r  r  	royalblue)A   r   r  saddlebrown)r  r     salmon)r   rB  r   
sandybrown)      `   seagreen).   r  W   seashell)r   r   r`  sienna)r   R   -   silver)r  r  r  skyblue)r   r(  r   	slateblue)j   Z   r   	slategray)r{  rB  r4  	slategreysnow)r   r   r   springgreen)r   r   r   	steelblue)F   rN  rI  )r   rI  r  )r   rB  rB  )rY  r0  rY  )r   c   G   )@   r\     )r`  rN  r`  )r   r   r~  )r   r   r   )r   r   r   )r   r   r   )r  r   r  )tantealthistletomato	turquoisevioletwheatwhite
whitesmokeyellowyellowgreenr   )r   )>r*   r   r   colorsysr   r   typingr   r   r   r   r	   r
   r   pydantic_corer   r   r   typing_extensionsr   	_internalr   #_internal._schema_generation_sharedr   r   json_schemar   warningsr   rO   r,   r   r=   r   r   r   _r_255_r_comma_r_alpha_r_h_r_slr   r   r   r   r   r   rb   pir   Representationr3   r<   r>   r   r   r   r   rg   r   itemsrQ   )rd   kr_   s   000r    <module>r     s
    	 + D D D F F (  ^ ( /5c3'sCe/C)DDE
*c/"	eE5%/0%ueU8R2SST! !$ 
 +2IT

6(8*VHCzRZQ[[efxjz%H:hZWab!&VHCxz(S]^!$s5'UG:hZzZ *<<);AQUB);<477{ L&
r)E   r)
r)jouS#X o4 o,8sS 8sT 8svlE#s(O lc3h lE#s(O lT\]bTc los l
U38_ 
s 
U 
6yU4eS#89 yhuo y<3 3s 3 3S 3% 3\` 38E c TTOT MT /	T
 _T _T oT YT oT KT .T ]T T T -T  !T" ^#T$ o%T& 'T( })T* M+T, -T. /T0 ^1T2 3T4 5T6 7T8 9T: =;T< m=T> -?T@ .ATB {CTD /ETF OGTH ]ITJ \KTL \MTN ]OTP -QTR STT =UTV WTX YTZ .[T\ ]T^ ?_T` =aTb }cTd eTf /gTh MiTj kTl OmTn [oTp >qTr OsTt uTv wTx yTz l{T| _}T~ _T@ ATB _CTD ETF OGTH ITJ /KTL MTN OOTP QTR /STT UTV WTX ?YTZ ^[T\ O]T^ o_T` oaTb ocTd ?eTf KgTh iTj _kTl }mTn koTp qTr +sTt NuTv OwTx nyTz {T| }T~ ~T@ ~ATB MCTD ETF GTH ITJ ?KTL KMTN OTP ]QTR STT mUTV WTX oYTZ _[T\ ]T^ __T` _aTb /cTd eTf NgTh OiTj OkTl /mTn moTp 
;qTr sTt uTv =wTx oyTz .{T| }T~ T@ mATB oCTD ETF GTH ITJ KTL OMTN =OTP QTR !!gTl %3$8$8$:;$:DAq1a4$:;q =p <s   N?-O