§
    i˜ºhÃC  ã                  óŠ  — 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 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 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 ddlmZ ddlmZ ddlmZ ddlmZ er*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# ddlm$Z$ ddlm%Z%  e	de¬¦  «        Z& G d„ d ej        e&         ¦  «        Z' G d!„ d"e¦  «        Z(d#„ Z) G d$„ d%ej*        e&         ¦  «        Z+ G d&„ d'e+¦  «        Z, G d(„ d)e+¦  «        Z- G d*„ d+e+¦  «        Z. G d,„ d-e+¦  «        Z/ G d.„ d/e+¦  «        Z0 G d0„ d1e+¦  «        Z1d2S )3é    )Úannotations)ÚAny)ÚIterable)ÚList)ÚOptional)Úoverload)ÚTYPE_CHECKING)ÚTypeVaré   )Útypes)ÚARRAYé   )Ú	coercions)Úelements)Ú
expression)Ú	functions)Úroles)Úschema)ÚColumnCollectionConstraint)ÚTEXT)ÚInternalTraversal)Ú_ColumnExpressionArgument)ÚClauseElement)ÚColumnElement)ÚOperatorType)Ú
FromClause)Ú_CloneCallableType)Ú_TraverseInternalsTypeÚ_T)Úboundc                  óÔ   — e Zd ZU dZd ZdZdej        fdej        fdej        fgZ	de
d<   edd
„¦   «         Zed d„¦   «         Zd d„Z	 d!d"d„Zd#d„Zej        fd$d„Zed%d„¦   «         ZdS )&Úaggregate_order_bya  Represent a PostgreSQL aggregate order by expression.

    E.g.::

        from sqlalchemy.dialects.postgresql import aggregate_order_by

        expr = func.array_agg(aggregate_order_by(table.c.a, table.c.b.desc()))
        stmt = select(expr)

    would represent the expression:

    .. sourcecode:: sql

        SELECT array_agg(a ORDER BY b DESC) FROM table;

    Similarly::

        expr = func.string_agg(
            table.c.a, aggregate_order_by(literal_column("','"), table.c.a)
        )
        stmt = select(expr)

    Would represent:

    .. sourcecode:: sql

        SELECT string_agg(a, ',' ORDER BY a) FROM table;

    .. versionchanged:: 1.2.13 - the ORDER BY argument may be multiple terms

    .. seealso::

        :class:`_functions.array_agg`

    Ú
postgresqlÚtargetÚtypeÚorder_byr   Ú_traverse_internalsúColumnElement[_T]ú_ColumnExpressionArgument[Any]c                ó   — d S ©N© ©Úselfr$   r&   s      új/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/ext.pyÚ__init__zaggregate_order_by.__init__X   ó	   € ð
 €só    ú_ColumnExpressionArgument[_T]c                ó   — d S r+   r,   r-   s      r/   r0   zaggregate_order_by.__init___   r1   r2   c                ó`  — t          j        t          j        |¦  «        | _        | j        j        | _        t          |¦  «        }|  |dk    rt          d¦  «        ‚|dk    r,t          j        t          j        |d         ¦  «        | _        d S t          j
        |dt          j        iŽ| _        d S )Nr   z)at least one ORDER BY element is requiredr   Ú_literal_as_text_role)r   Úexpectr   ÚExpressionElementRoler$   r%   ÚlenÚ	TypeErrorr&   r   Ú
ClauseList)r.   r$   r&   Ú_lobs       r/   r0   zaggregate_order_by.__init__f   s¬   € õ
 &/Ô%5ÝÔ'¨ñ&
ô &
ˆŒð ”KÔ$ˆŒ	å�8‰}Œ}ˆØÐ$Ø�1Š9ˆ9ÝÐGÑHÔHÐHØ�QŠYˆYÝ%Ô,ÝÔ+¨X°a¬[ñô ˆDŒMˆMˆMõ %Ô/ØðÝ16Ô1Lðð ˆDŒMˆMˆMr2   NÚagainstúOptional[OperatorType]Úreturnr   c                ó   — | S r+   r,   )r.   r=   s     r/   Ú
self_groupzaggregate_order_by.self_group}   s	   € ð ˆr2   Úkwargsr   úIterable[ClauseElement]c                ó   — | j         | j        fS r+   ©r$   r&   )r.   rB   s     r/   Úget_childrenzaggregate_order_by.get_children‚   s   € ØŒ{˜DœMÐ)Ð)r2   Úcloner   ÚkwÚNonec                óR   —  || j         fi |¤Ž| _          || j        fi |¤Ž| _        d S r+   rE   )r.   rG   rH   s      r/   Ú_copy_internalsz"aggregate_order_by._copy_internals…   s>   € ð �e˜DœKÐ.Ð.¨2Ð.Ð.ˆŒØ˜˜dœmÐ2Ð2¨rÐ2Ð2ˆŒˆˆr2   úList[FromClause]c                ó4   — | j         j        | j        j        z   S r+   )r$   Ú_from_objectsr&   )r.   s    r/   rN   z aggregate_order_by._from_objects‹   s   € àŒ{Ô(¨4¬=Ô+FÑFÐFr2   )r$   r(   r&   r)   )r$   r3   r&   r)   r+   )r=   r>   r?   r   )rB   r   r?   rC   )rG   r   rH   r   r?   rI   )r?   rL   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__visit_name__Ústringify_dialectr   Údp_clauseelementÚdp_typer'   Ú__annotations__r   r0   rA   rF   r   Ú_clonerK   ÚpropertyrN   r,   r2   r/   r"   r"   *   s:  € € € € € € ð"ð "ðH *€Nà$Ðà	Ð$Ô5Ð6Ø	Ð"Ô*Ð+Ø	Ð&Ô7Ð8ð3Ðð ð ð ñ ð ðð ð ñ „Xðð ðð ð ñ „Xððð ð ð ð0 15ðð ð ð ð ð
*ð *ð *ð *ð +3¬/ð3ð 3ð 3ð 3ð 3ð ðGð Gð Gñ „XðGð Gð Gr2   r"   c                  óp   ‡ — e Zd ZdZdZdZdZdZ ej	        ddd¦  «        d	„ ¦   «         Z
ˆ fd
„Zdd„Zˆ xZS )ÚExcludeConstraintzäA table-level EXCLUDE constraint.

    Defines an EXCLUDE constraint as described in the `PostgreSQL
    documentation`__.

    __ https://www.postgresql.org/docs/current/static/sql-createtable.html#SQL-CREATETABLE-EXCLUDE

    Úexclude_constraintNFr#   Úwherez:class:`.ExcludeConstraint`z$:paramref:`.ExcludeConstraint.where`c                óÀ  — g }g }i | _         t          |Ž \  }}t          t          j        t          j        |¦  «        |¦  «        D ]P\  \  }}}	}
}|
�|                     |
¦  «         |�|j        n|	}|�
|| j         |<   |                     |||f¦  «         ŒQ|| _        t          j
        | g|¢R |                     d¦  «        |                     d¦  «        |                     d¦  «        dœŽ |                     dd¦  «        | _        |                     d¦  «        }|�$t          j        t          j        |¦  «        | _        |                     d	i ¦  «        | _        dS )
aß  
        Create an :class:`.ExcludeConstraint` object.

        E.g.::

            const = ExcludeConstraint(
                (Column("period"), "&&"),
                (Column("group"), "="),
                where=(Column("group") != "some group"),
                ops={"group": "my_operator_class"},
            )

        The constraint is normally embedded into the :class:`_schema.Table`
        construct
        directly, or added later using :meth:`.append_constraint`::

            some_table = Table(
                "some_table",
                metadata,
                Column("id", Integer, primary_key=True),
                Column("period", TSRANGE()),
                Column("group", String),
            )

            some_table.append_constraint(
                ExcludeConstraint(
                    (some_table.c.period, "&&"),
                    (some_table.c.group, "="),
                    where=some_table.c.group != "some group",
                    name="some_table_excl_const",
                    ops={"group": "my_operator_class"},
                )
            )

        The exclude constraint defined in this example requires the
        ``btree_gist`` extension, that can be created using the
        command ``CREATE EXTENSION btree_gist;``.

        :param \*elements:

          A sequence of two tuples of the form ``(column, operator)`` where
          "column" is either a :class:`_schema.Column` object, or a SQL
          expression element (e.g. ``func.int8range(table.from, table.to)``)
          or the name of a column as string, and "operator" is a string
          containing the operator to use (e.g. `"&&"` or `"="`).

          In order to specify a column name when a :class:`_schema.Column`
          object is not available, while ensuring
          that any necessary quoting rules take effect, an ad-hoc
          :class:`_schema.Column` or :func:`_expression.column`
          object should be used.
          The ``column`` may also be a string SQL expression when
          passed as :func:`_expression.literal_column` or
          :func:`_expression.text`

        :param name:
          Optional, the in-database name of this constraint.

        :param deferrable:
          Optional bool.  If set, emit DEFERRABLE or NOT DEFERRABLE when
          issuing DDL for this constraint.

        :param initially:
          Optional string.  If set, emit INITIALLY <value> when issuing DDL
          for this constraint.

        :param using:
          Optional string.  If set, emit USING <index_method> when issuing DDL
          for this constraint. Defaults to 'gist'.

        :param where:
          Optional SQL expression construct or literal SQL string.
          If set, emit WHERE <predicate> when issuing DDL
          for this constraint.

        :param ops:
          Optional dictionary.  Used to define operator classes for the
          elements; works the same way as that of the
          :ref:`postgresql_ops <postgresql_operator_classes>`
          parameter specified to the :class:`_schema.Index` construct.

          .. versionadded:: 1.3.21

          .. seealso::

            :ref:`postgresql_operator_classes` - general description of how
            PostgreSQL operator classes are specified.

        NÚnameÚ
deferrableÚ	initially)r_   r`   ra   ÚusingÚgistr]   Úops)Ú	operatorsÚzipr   Ú expect_col_expression_collectionr   ÚDDLConstraintColumnRoleÚappendr_   Ú_render_exprsr   r0   Úgetrb   r7   ÚStatementOptionRoler]   rd   )r.   r   rH   ÚcolumnsÚrender_exprsÚexpressionsre   ÚexprÚcolumnÚstrnameÚadd_elementÚoperatorr_   r]   s                 r/   r0   zExcludeConstraint.__init__¡   s‚  € ð~ ˆØˆØˆŒå!$ h Ñˆ�Yå>AÝÔ6ÝÔ-¨{ñô ð ñ	?
ô ?
ð 	8ð 	8Ñ:Ñ0ˆT�6˜7 K°(ð Ð&Ø—’˜{Ñ+Ô+Ð+à"(Ð"4�6”;�;¸'ˆDàÐà'/�”˜tÑ$à×Ò  t¨XÐ 6Ñ7Ô7Ð7Ð7à)ˆÔå"Ô+Øð	
àð	
ð 	
ð —’˜‘”Ø—v’v˜lÑ+Ô+Ø—f’f˜[Ñ)Ô)ð	
ð 	
ð 	
ð 	
ð —V’V˜G VÑ,Ô,ˆŒ
Ø—’�w‘”ˆØÐÝ"Ô)­%Ô*CÀUÑKÔKˆDŒJà—6’6˜% Ñ$Ô$ˆŒˆˆr2   c                ó|   •‡— t          ¦   «                              ‰¦  «         ˆfd„| j        D ¦   «         | _        d S )Nc                óf   •— g | ]-\  }}}t          |t          ¦  «        s|n‰j        |         ||f‘Œ.S r,   )Ú
isinstanceÚstrÚc)Ú.0rp   r_   rt   Útables       €r/   ú
<listcomp>z1ExcludeConstraint._set_parent.<locals>.<listcomp>*  sU   ø€ ð 
ð 
ð 
ñ %��d˜Hõ	 ' t­SÑ1Ô1ÐD��°u´w¸t´}ØØðð
ð 
ð 
r2   )ÚsuperÚ_set_parentrj   )r.   r{   rH   Ú	__class__s    ` €r/   r~   zExcludeConstraint._set_parent'  sR   øø€ Ý‰Œ×Ò˜EÑ"Ô"Ð"ð
ð 
ð 
ð 
ð *.Ô);ð
ñ 
ô 
ˆÔÐÐr2   c           	     óÄ   ‡ ‡— ˆ ˆfd„‰ j         D ¦   «         } ‰ j        |‰ j        ‰ j        ‰ j        ‰ j        ‰ j        dœŽ}|j                             ‰ j        ¦  «         |S )Nc                óR   •— g | ]#\  }}}t          j        |‰j        ‰¦  «        |f‘Œ$S r,   )r   Ú_copy_expressionÚparent)rz   rp   Ú_rt   r.   Útarget_tables       €€r/   r|   z+ExcludeConstraint._copy.<locals>.<listcomp>4  sJ   ø€ ð 
ð 
ð 
ñ
 "��a˜õ Ô'¨¨d¬k¸<ÑHÔHØðð
ð 
ð 
r2   )r_   r`   ra   r]   rb   )	rj   r   r_   r`   ra   r]   rb   ÚdispatchÚ_update)r.   r…   rH   r   ry   s   ``   r/   Ú_copyzExcludeConstraint._copy3  s‹   øø€ ð
ð 
ð 
ð 
ð 
ð
 &*Ô%7ð
ñ 
ô 
ˆð ˆDŒNØØ”Ø”Ø”nØ”*Ø”*ð
ð 
ð 
ˆð 	
Œ
×Ò˜4œ=Ñ)Ô)Ð)Øˆr2   r+   )rO   rP   rQ   rR   rS   r]   Úinherit_cacheÚcreate_drop_stringify_dialectr   Ú_document_text_coercionr0   r~   rˆ   Ú__classcell__©r   s   @r/   r[   r[   �   s¥   ø€ € € € € ðð ð *€Nà€EØ€Mà$0Ð!à%€XÔ%ØØ%Ø.ñô ð
%ð %ñô ð
%ðB

ð 

ð 

ð 

ð 

ðð ð ð ð ð ð ð r2   r[   c                 óB   — t           |d<   t          j        j        | i |¤ŽS )zÏPostgreSQL-specific form of :class:`_functions.array_agg`, ensures
    return type is :class:`_postgresql.ARRAY` and not
    the plain :class:`_types.ARRAY`, unless an explicit ``type_``
    is passed.

    Ú_default_array_type)r   r   ÚfuncÚ	array_agg)ÚargrH   s     r/   r‘   r‘   G  s'   € õ !&€BÐÑÝŒ>Ô# SÐ/¨BÐ/Ð/Ð/r2   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )Ú_regconfig_fnTc           	     óL  •‡ — t          |¦  «        }t          |¦  «        dk    rSt          j        t          j        |                     d¦  «        t          ‰ dd ¦  «        ‰ t          j	        ¬¦  «        }|g}ng }ˆ fd„|D ¦   «         } t          ¦   «         j        ||z   i |¤Ž d S )Nr   r   r_   )r_   Úapply_propagate_attrsÚtype_c                ór   •— g | ]3}t          j        t          j        |t	          ‰d d¦  «        ‰¬¦  «        ‘Œ4S ©r_   N)r_   r–   ©r   r7   r   r8   Úgetattr©rz   ry   r.   s     €r/   r|   z*_regconfig_fn.__init__.<locals>.<listcomp>c  óX   ø€ ð 
ð 
ð 
ð õ ÔÝÔ+ØÝ˜T 6¨4Ñ0Ô0Ø&*ð	ñ ô ð
ð 
ð 
r2   )Úlistr9   r   r7   r   r8   Úpopr›   r   Ú	REGCONFIGr}   r0   )r.   ÚargsrB   Úinitial_argÚ
addtl_argsr   s   `    €r/   r0   z_regconfig_fn.__init__U  sÂ   øø€ Ý�D‰zŒzˆÝˆt‰9Œ9�qŠ=ˆ=Ý#Ô*ÝÔ+Ø—’˜‘”Ý˜T 6¨4Ñ0Ô0Ø&*Ý”oðñ ô ˆKð '˜-ˆKˆKàˆKð
ð 
ð 
ð 
ð ð
ñ 
ô 
ˆ
ð 	�‰ŒÔ˜;¨Ñ3Ð?¸Ð?Ð?Ð?Ð?Ð?r2   )rO   rP   rQ   r‰   r0   rŒ   r�   s   @r/   r”   r”   R  sF   ø€ € € € € Ø€Mð@ð @ð @ð @ð @ð @ð @ð @ð @r2   r”   c                  ó$   — e Zd ZdZdZej        ZdS )Úto_tsvectoraÇ  The PostgreSQL ``to_tsvector`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_postgresql.TSVECTOR`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.to_tsvector` will be used automatically when invoking
    ``sqlalchemy.func.to_tsvector()``, ensuring the correct argument and return
    type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    TN)rO   rP   rQ   rR   r‰   r   ÚTSVECTORr%   r,   r2   r/   r¥   r¥   o  s&   € € € € € ðð ð" €MØŒ>€D€D€Dr2   r¥   c                  ó$   — e Zd ZdZdZej        ZdS )Ú
to_tsqueryaÃ  The PostgreSQL ``to_tsquery`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_postgresql.TSQUERY`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.to_tsquery` will be used automatically when invoking
    ``sqlalchemy.func.to_tsquery()``, ensuring the correct argument and return
    type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    TN©rO   rP   rQ   rR   r‰   r   ÚTSQUERYr%   r,   r2   r/   r¨   r¨   …  ó&   € € € € € ðð ð" €MØŒ=€D€D€Dr2   r¨   c                  ó$   — e Zd ZdZdZej        ZdS )Úplainto_tsqueryaÒ  The PostgreSQL ``plainto_tsquery`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_postgresql.TSQUERY`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.plainto_tsquery` will be used automatically when
    invoking ``sqlalchemy.func.plainto_tsquery()``, ensuring the correct
    argument and return type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    TNr©   r,   r2   r/   r­   r­   ›  r«   r2   r­   c                  ó$   — e Zd ZdZdZej        ZdS )Úphraseto_tsqueryaÕ  The PostgreSQL ``phraseto_tsquery`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_postgresql.TSQUERY`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.phraseto_tsquery` will be used automatically when
    invoking ``sqlalchemy.func.phraseto_tsquery()``, ensuring the correct
    argument and return type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    TNr©   r,   r2   r/   r¯   r¯   ±  r«   r2   r¯   c                  ó$   — e Zd ZdZdZej        ZdS )Úwebsearch_to_tsqueryaá  The PostgreSQL ``websearch_to_tsquery`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_postgresql.TSQUERY`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.websearch_to_tsquery` will be used automatically when
    invoking ``sqlalchemy.func.websearch_to_tsquery()``, ensuring the correct
    argument and return type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    TNr©   r,   r2   r/   r±   r±   Ç  r«   r2   r±   c                  ó*   ‡ — e Zd ZdZdZeZˆ fd„Zˆ xZS )Úts_headlinea¾  The PostgreSQL ``ts_headline`` SQL function.

    This function applies automatic casting of the REGCONFIG argument
    to use the :class:`_postgresql.REGCONFIG` datatype automatically,
    and applies a return type of :class:`_types.TEXT`.

    Assuming the PostgreSQL dialect has been imported, either by invoking
    ``from sqlalchemy.dialects import postgresql``, or by creating a PostgreSQL
    engine using ``create_engine("postgresql...")``,
    :class:`_postgresql.ts_headline` will be used automatically when invoking
    ``sqlalchemy.func.ts_headline()``, ensuring the correct argument and return
    type handlers are used at compile and execution time.

    .. versionadded:: 2.0.0rc1

    Tc           
     óÜ  •‡ — t          |¦  «        }t          |¦  «        dk     rd}nCt          |d         t          j        ¦  «        r!|d         j        j        t          j        u rd}nd}|rSt          j
        t          j        |                     d¦  «        ‰ t          ‰ dd ¦  «        t          j        ¬¦  «        }|g}ng }ˆ fd„|D ¦   «         } t!          ¦   «         j        ||z   i |¤Ž d S )	Né   Fr   Tr   r_   )r–   r_   r—   c                ór   •— g | ]3}t          j        t          j        |t	          ‰d d¦  «        ‰¬¦  «        ‘Œ4S r™   rš   rœ   s     €r/   r|   z(ts_headline.__init__.<locals>.<listcomp>  r�   r2   )rž   r9   rw   r   r   r%   Ú_type_affinityr   rª   r   r7   r   r8   rŸ   r›   r    r}   r0   )r.   r¡   rB   Úhas_regconfigr¢   r£   r   s   `     €r/   r0   zts_headline.__init__ò  s  øø€ Ý�D‰zŒzˆõ ˆt‰9Œ9�qŠ=ˆ=à!ˆMˆMå�t˜A”w¥Ô 6Ñ7Ô7ð	!à�Q””Ô+­u¬}Ð<Ð<ð "ˆMˆMà ˆMàð 
	Ý#Ô*ÝÔ+Ø—’˜‘”Ø&*Ý˜T 6¨4Ñ0Ô0Ý”oðñ ô ˆKð '˜-ˆKˆKàˆKð
ð 
ð 
ð 
ð ð
ñ 
ô 
ˆ
ð 	�‰ŒÔ˜;¨Ñ3Ð?¸Ð?Ð?Ð?Ð?Ð?r2   )	rO   rP   rQ   rR   r‰   r   r%   r0   rŒ   r�   s   @r/   r³   r³   Ý  sW   ø€ € € € € ðð ð" €MØ€Dð&@ð &@ð &@ð &@ð &@ð &@ð &@ð &@ð &@r2   r³   N)2Ú
__future__r   Útypingr   r   r   r   r   r	   r
   Ú r   Úarrayr   Úsqlr   r   r   r   r   r   Ú
sql.schemar   Úsql.sqltypesr   Úsql.visitorsr   Úsql._typingr   Úsql.elementsr   r   Úsql.operatorsr   Úsql.selectabler   r   r   r   r"   r[   r‘   ÚGenericFunctionr”   r¥   r¨   r­   r¯   r±   r³   r,   r2   r/   ú<module>rÆ      sÇ  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø  Ð  Ð  Ð  Ð  Ð  Ø -Ð -Ð -Ð -Ð -Ð -àð 7Ø8Ð8Ð8Ð8Ð8Ð8Ø-Ð-Ð-Ð-Ð-Ð-Ø-Ð-Ð-Ð-Ð-Ð-Ø-Ð-Ð-Ð-Ð-Ð-Ø,Ð,Ð,Ð,Ð,Ð,Ø2Ð2Ð2Ð2Ð2Ð2Ø6Ð6Ð6Ð6Ð6Ð6à€WˆT˜ÐÑÔ€ðcGð cGð cGð cGð cG˜Ô1°"Ô5ñ cGô cGð cGðLtð tð tð tð tÐ2ñ tô tð tðn0ð 0ð 0ð@ð @ð @ð @ð @�IÔ-¨bÔ1ñ @ô @ð @ð:ð ð ð ð �-ñ ô ð ð,ð ð ð ð �ñ ô ð ð,ð ð ð ð �mñ ô ð ð,ð ð ð ð �}ñ ô ð ð,ð ð ð ð ˜=ñ ô ð ð,;@ð ;@ð ;@ð ;@ð ;@�-ñ ;@ô ;@ð ;@ð ;@ð ;@r2   