§
    Ÿj.  ã                   ó  — d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ  G d„ de	¦  «        Z G d	„ d
e¦  «        Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Zej         G d„ de¦  «        ¦   «         Z ej        ed¦  «         ej         G d„ de¦  «        ¦   «         Zej         G d „ d!e¦  «        ¦   «         Zej         G d"„ d#e¦  «        ¦   «         Zej         G d$„ d%e¦  «        ¦   «         Zej         G d&„ d'e¦  «        ¦   «         Zej         G d(„ d)e¦  «        ¦   «         Zej         G d*„ d+e¦  «        ¦   «         Z ej         G d,„ d-e¦  «        ¦   «         Z!ej         G d.„ d/e¦  «        ¦   «         Z"ej         G d0„ d1e¦  «        ¦   «         Z#ej         G d2„ d3e¦  «        ¦   «         Z$ej         G d4„ d5e¦  «        ¦   «         Z%ej         G d6„ d7e¦  «        ¦   «         Z&ej         G d8„ d9e¦  «        ¦   «         Z'ej         G d:„ d;e¦  «        ¦   «         Z( G d<„ d=e¦  «        Z)ej         G d>„ d?e)¦  «        ¦   «         Z* G d@„ dAe)¦  «        Z+ej         G dB„ dCe+¦  «        ¦   «         Z,ej         G dD„ dEe+¦  «        ¦   «         Z-ej         G dF„ dGe+¦  «        ¦   «         Z.ej         G dH„ dIe+¦  «        ¦   «         Z/dJS )Ké    )ÚBaseSpatialField)ÚDistance)ÚNotSupportedError)Ú
ExpressionÚLookupÚ	Transform)ÚQuery)Ú_lazy_re_compilec                   ó   — e Zd Zd„ ZdS )ÚRasterBandTransformc                 ó6   — |                      | j        ¦  «        S ©N)ÚcompileÚlhs)ÚselfÚcompilerÚ
connections      úq/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/contrib/gis/db/models/lookups.pyÚas_sqlzRasterBandTransform.as_sql
   s   € Ø×Ò ¤Ñ)Ô)Ð)ó    N©Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   	   s#   € € € € € ð*ð *ð *ð *ð *r   r   c                   ó\   ‡ — e Zd ZdZdZdZdZdZˆ fd„Zd„ Z	d
d„Z
d„ Zˆ fd„Zd„ Zd	„ Zˆ xZS )Ú	GISLookupNFc                 óÒ   •— t          |t          t          f¦  «        r|n|g^}| _        t	          ¦   «                              ||¦  «         i | _        |                      ¦   «          d S r   )Ú
isinstanceÚlistÚtupleÚ
rhs_paramsÚsuperÚ__init__Útemplate_paramsÚprocess_rhs_params)r   r   ÚrhsÚ	__class__s      €r   r$   zGISLookup.__init__   sb   ø€ Ý'1°#½½e°}Ñ'EÔ'EÐ P  ÈCÈ5ÐˆˆdŒoÝ‰Œ×Ò˜˜cÑ"Ô"Ð"Ø!ˆÔØ×ÒÑ!Ô!Ð!Ð!Ð!r   c                 óP  — | j         rlt          | j         ¦  «        | j        dk    rdndk    r|                      ¦   «          d S t          | j         ¦  «        dk    rt	          d| j        z  ¦  «        ‚d S t          | j        t          ¦  «        r|                      d¬¦  «         d S d S )NÚrelateé   é   zTuple too long for lookup %s.T)Úonly_lhs)r"   ÚlenÚlookup_nameÚprocess_band_indicesÚ
ValueErrorr   r   r   ©r   s    r   r&   zGISLookup.process_rhs_params   sº   € ØŒ?ð 	5å�4”?Ñ#Ô#¨TÔ-=ÀÒ-IÐ-I¨¨ÈqÒQÐQØ×)Ò)Ñ+Ô+Ð+Ð+Ð+Ý�T”_Ñ%Ô%¨Ò)Ð)Ý Ð!@À4ÔCSÑ!SÑTÔTÐTð *Ð)å˜œÕ"5Ñ6Ô6ð 	5Ø×%Ò%¨tÐ%Ñ4Ô4Ð4Ð4Ð4ð	5ð 	5r   c                 óÖ   — |rd| _         | j        j        dz   | _        dS t	          | j        t
          ¦  «        r| j        j        dz   | _        nd| _        | j        ^| _         | _        dS )z
        Extract the lhs band index from the band transform class and the rhs
        band index from the input tuple.
        r,   N)Úband_rhsr   Ú
band_indexÚband_lhsr   r   r"   )r   r-   s     r   r0   zGISLookup.process_band_indices%   sl   € ð ð 	ØˆDŒMØ œHÔ/°!Ñ3ˆDŒMØˆFå�d”hÕ 3Ñ4Ô4ð 	Ø œHÔ/°!Ñ3ˆDŒMˆMàˆDŒMà*.¬/Ð'ˆŒ˜œ˜˜r   c                 ó<   — d|j                              |¦  «        gfS )Nú%s)ÚopsÚAdapter)r   Úvaluer   s      r   Úget_db_prep_lookupzGISLookup.get_db_prep_lookup8   s    € à�z”~×-Ò-¨eÑ4Ô4Ð5Ð6Ð6r   c                 ó¦  •— t          | j        t          ¦  «        r"t          ¦   «                              ||¦  «        S t          | j        t
          ¦  «        r$| j                             |j        ¦  «        | _        t          ¦   «                              ||¦  «        \  }}|j         	                    | j
        j        | j        |¦  «        }||z  |fS r   )r   r'   r	   r#   Úprocess_rhsr   Úresolve_expressionÚqueryr9   Úget_geom_placeholderr   Úoutput_field)r   r   r   r'   r"   Úplaceholderr(   s         €r   r>   zGISLookup.process_rhs<   s³   ø€ Ý�d”h¥Ñ&Ô&ð 	=å‘7”7×&Ò& x°Ñ<Ô<Ð<Ý�d”h¥
Ñ+Ô+ð 	CØ”x×2Ò2°8´>ÑBÔBˆDŒHÝ™'œ'×-Ò-¨h¸
ÑCÔC‰ˆˆZØ ”n×9Ò9ØŒHÔ! 4¤8¨Xñ
ô 
ˆð ˜SÑ  *Ð,Ð,r   c                 ó0   — |j         j        | j                 S r   )r9   Úgis_operatorsr/   )r   r   r'   s      r   Ú
get_rhs_opzGISLookup.get_rhs_opH   s   € ð Œ~Ô+¨DÔ,<Ô=Ð=r   c                 óê   — |                       ||¦  «        \  }}|                      ||¦  «        \  }}g |¢|¢R }||ddœ| j        ¥}|                      ||¦  «        }	|	                     || ||¦  «        S )Nr8   )r   r'   r;   )Úprocess_lhsr>   r%   rF   r   )
r   r   r   Úlhs_sqlÚ
lhs_paramsÚrhs_sqlr"   Ú
sql_paramsr%   Úrhs_ops
             r   r   zGISLookup.as_sqlN   s™   € Ø"×.Ò.¨x¸ÑDÔDÑˆ�Ø"×.Ò.¨x¸ÑDÔDÑˆ�Ø/�zÐ/ JÐ/Ð/ˆ
ð ØØð
ð 
ð Ô"ð	
ˆð —’ ¨WÑ5Ô5ˆØ�}Š}˜Z¨¨À
ÑKÔKÐKr   )F)r   r   r   Úsql_templateÚtransform_funcÚdistancer4   r6   r$   r&   r0   r<   r>   rF   r   Ú__classcell__©r(   s   @r   r   r      sÁ   ø€ € € € € Ø€LØ€NØ€HØ€HØ€Hð"ð "ð "ð "ð "ð5ð 5ð 5ð:ð :ð :ð :ð&7ð 7ð 7ð
-ð 
-ð 
-ð 
-ð 
-ð>ð >ð >ðLð Lð Lð Lð Lð Lð Lr   r   c                   ó   — e Zd ZdZdZdS )ÚOverlapsLeftLookupzy
    The overlaps_left operator returns true if A's bounding box overlaps or is to the
    left of B's bounding box.
    Úoverlaps_leftN©r   r   r   Ú__doc__r/   r   r   r   rT   rT   b   s   € € € € € ðð ð
 "€K€K€Kr   rT   c                   ó   — e Zd ZdZdZdS )ÚOverlapsRightLookupz}
    The 'overlaps_right' operator returns true if A's bounding box overlaps or is to the
    right of B's bounding box.
    Úoverlaps_rightNrV   r   r   r   rY   rY   l   ó   € € € € € ðð ð
 #€K€K€Kr   rY   c                   ó   — e Zd ZdZdZdS )ÚOverlapsBelowLookupzs
    The 'overlaps_below' operator returns true if A's bounding box overlaps or is below
    B's bounding box.
    Úoverlaps_belowNrV   r   r   r   r]   r]   v   r[   r   r]   c                   ó   — e Zd ZdZdZdS )ÚOverlapsAboveLookupzs
    The 'overlaps_above' operator returns true if A's bounding box overlaps or is above
    B's bounding box.
    Úoverlaps_aboveNrV   r   r   r   r`   r`   €   r[   r   r`   c                   ó   — e Zd ZdZdZdS )Ú
LeftLookupzo
    The 'left' operator returns true if A's bounding box is strictly to the left
    of B's bounding box.
    ÚleftNrV   r   r   r   rc   rc   Š   s   € € € € € ðð ð
 €K€K€Kr   rc   c                   ó   — e Zd ZdZdZdS )ÚRightLookupzq
    The 'right' operator returns true if A's bounding box is strictly to the right
    of B's bounding box.
    ÚrightNrV   r   r   r   rf   rf   ”   s   € € € € € ðð ð
 €K€K€Kr   rf   c                   ó   — e Zd ZdZdZdS )ÚStrictlyBelowLookupzp
    The 'strictly_below' operator returns true if A's bounding box is strictly below B's
    bounding box.
    Ústrictly_belowNrV   r   r   r   ri   ri   ž   r[   r   ri   c                   ó   — e Zd ZdZdZdS )ÚStrictlyAboveLookupzp
    The 'strictly_above' operator returns true if A's bounding box is strictly above B's
    bounding box.
    Ústrictly_aboveNrV   r   r   r   rl   rl   ¨   r[   r   rl   c                   ó   — e Zd ZdZdZdS )ÚSameAsLookupzÃ
    The "~=" operator is the "same as" operator. It tests actual geometric
    equality of two features. So if A and B are the same feature,
    vertex-by-vertex, the operator returns true.
    Úsame_asNrV   r   r   r   ro   ro   ²   s   € € € € € ðð ð €K€K€Kr   ro   Úexactc                   ó   — e Zd ZdZdZdS )ÚBBContainsLookupzq
    The 'bbcontains' operator returns true if A's bounding box completely contains
    by B's bounding box.
    Ú
bbcontainsNrV   r   r   r   rs   rs   À   ó   € € € € € ðð ð
 €K€K€Kr   rs   c                   ó   — e Zd ZdZdZdS )ÚBBOverlapsLookupzc
    The 'bboverlaps' operator returns true if A's bounding box overlaps B's
    bounding box.
    Ú
bboverlapsNrV   r   r   r   rw   rw   Ê   ru   r   rw   c                   ó   — e Zd ZdZdZdS )ÚContainedLookupzt
    The 'contained' operator returns true if A's bounding box is completely contained
    by B's bounding box.
    Ú	containedNrV   r   r   r   rz   rz   Ô   s   € € € € € ðð ð
 €K€K€Kr   rz   c                   ó   — e Zd ZdZdS )ÚContainsLookupÚcontainsN©r   r   r   r/   r   r   r   r}   r}   ã   ó   € € € € € à€K€K€Kr   r}   c                   ó   — e Zd ZdZdS )ÚContainsProperlyLookupÚcontains_properlyNr   r   r   r   r‚   r‚   è   s   € € € € € à%€K€K€Kr   r‚   c                   ó   — e Zd ZdZdS )ÚCoveredByLookupÚ	coveredbyNr   r   r   r   r…   r…   í   s   € € € € € à€K€K€Kr   r…   c                   ó   — e Zd ZdZdS )ÚCoversLookupÚcoversNr   r   r   r   rˆ   rˆ   ò   ó   € € € € € à€K€K€Kr   rˆ   c                   ó   — e Zd ZdZdS )ÚCrossesLookupÚcrossesNr   r   r   r   rŒ   rŒ   ÷   ó   € € € € € à€K€K€Kr   rŒ   c                   ó   — e Zd ZdZdS )ÚDisjointLookupÚdisjointNr   r   r   r   r�   r�   ü   r€   r   r�   c                   ó   — e Zd ZdZdS )ÚEqualsLookupÚequalsNr   r   r   r   r“   r“     rŠ   r   r“   c                   ó   — e Zd ZdZdS )ÚIntersectsLookupÚ
intersectsNr   r   r   r   r–   r–     s   € € € € € à€K€K€Kr   r–   c                   ó   — e Zd ZdZdS )ÚOverlapsLookupÚoverlapsNr   r   r   r   r™   r™     r€   r   r™   c                   ó<   ‡ — e Zd ZdZdZ ed¦  «        Zˆ fd„Zˆ xZS )ÚRelateLookupr*   z%(func)s(%(lhs)s, %(rhs)s, %%s)z^[012TF*]{9}$c                 ót  •— | j         d         }|j        j        | j                 }t	          |d¦  «        r|                     |¦  «         nAt          |t          ¦  «        r| j         	                    |¦  «        st          d|z  ¦  «        ‚t          ¦   «                              ||¦  «        \  }}|||gz   fS )Nr   Úcheck_relate_argumentz)Invalid intersection matrix pattern "%s".)r"   r9   rE   r/   Úhasattrrž   r   ÚstrÚpattern_regexÚmatchr1   r#   r>   )r   r   r   ÚpatternÚ
backend_opÚsqlÚparamsr(   s          €r   r>   zRelateLookup.process_rhs  s»   ø€ à”/ !Ô$ˆØ”^Ô1°$Ô2BÔCˆ
Ý�:Ð6Ñ7Ô7ð 	TØ×,Ò,¨WÑ5Ô5Ð5Ð5Ý˜G¥SÑ)Ô)ð 	T°Ô1C×1IÒ1IÈ'Ñ1RÔ1Rð 	TÝÐHÈ7ÑRÑSÔSÐSÝ‘g”g×)Ò)¨(°JÑ?Ô?‰ˆˆVØ�F˜g˜YÑ&Ð&Ð&r   )	r   r   r   r/   rN   r
   r¡   r>   rQ   rR   s   @r   rœ   rœ     sS   ø€ € € € € à€KØ4€LØ$Ð$Ð%5Ñ6Ô6€Mð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r   rœ   c                   ó   — e Zd ZdZdS )ÚTouchesLookupÚtouchesNr   r   r   r   r¨   r¨   "  rŽ   r   r¨   c                   ó   — e Zd ZdZdS )ÚWithinLookupÚwithinNr   r   r   r   r«   r«   '  rŠ   r   r«   c                   ó"   — e Zd ZdZdZd„ Zd„ ZdS )ÚDistanceLookupBaseTz+%(func)s(%(lhs)s, %(rhs)s) %(op)s %(value)sc                 óh  — dt          | j        ¦  «        cxk    rdk    sn t          d| j        z  ¦  «        ‚t          | j        ¦  «        dk    r | j        d         dk    rt          d¦  «        ‚t          | j        ¦  «        dk    r'| j        d         dk    r|                      ¦   «          d S d S d S )Nr,   é   z22, 3, or 4-element tuple required for '%s' lookup.r+   ÚspheroidzHFor 4-element tuples the last argument must be the 'spheroid' directive.)r.   r"   r1   r/   r0   r2   s    r   r&   z%DistanceLookupBase.process_rhs_params0  sÕ   € Ø•C˜œÑ(Ô(Ð-Ð-Ò-Ð-¨AÒ-Ð-Ð-Ð-ÝØDÀtÔGWÑWñô ð õ �”Ñ!Ô! QÒ&Ð&¨4¬?¸1Ô+=ÀÒ+KÐ+KÝðñô ð õ ˆtŒÑÔ !Ò#Ð#¨¬¸Ô(:¸jÒ(HÐ(HØ×%Ò%Ñ'Ô'Ð'Ð'Ð'ð $Ð#Ð(HÐ(Hr   c                 óú   — | j         d         }t          |d¦  «        r-|                     |                     |j        ¦  «        ¦  «        n1d|j                             | j        j        | j         | j	        ¦  «        fS )Nr   r?   r8   )
r"   rŸ   r   r?   r@   r9   Úget_distancer   rB   r/   )r   r   r   Ú
dist_params       r   Úprocess_distancez#DistanceLookupBase.process_distance?  s{   € Ø”_ QÔ'ˆ
õ �zÐ#7Ñ8Ô8ðˆH×Ò˜Z×:Ò:¸8¼>ÑJÔJÑKÔKÐKð Ø”×+Ò+Ø”HÔ)¨4¬?¸DÔ<Lñô ðð		
r   N)r   r   r   rP   rN   r&   rµ   r   r   r   r®   r®   ,  s<   € € € € € Ø€HØ@€Lð(ð (ð (ð
ð 
ð 
ð 
ð 
r   r®   c                   ó0   ‡ — e Zd ZdZdZˆ fd„Zˆ fd„Zˆ xZS )ÚDWithinLookupÚdwithinz%%(func)s(%(lhs)s, %(rhs)s, %(value)s)c                 óâ   •— | j         d         }|j        j        s4t          |d¦  «        r$t	          |t
          ¦  «        st          d¦  «        ‚t          ¦   «                              ||¦  «        S )Nr   r?   zXThis backend does not support expressions for specifying distance in the dwithin lookup.)	r"   ÚfeaturesÚsupports_dwithin_distance_exprrŸ   r   r   r   r#   rµ   )r   r   r   r´   r(   s       €r   rµ   zDWithinLookup.process_distanceR  sy   ø€ Ø”_ QÔ'ˆ
àÔ#ÔBð	å˜
Ð$8Ñ9Ô9ð	õ ˜z­8Ñ4Ô4ð	õ
 $ð2ñô ð õ ‰wŒw×'Ò'¨°*Ñ=Ô=Ð=r   c                 ó¢   •— |                       ||¦  «        \  }}|| j        d<   t          ¦   «                              ||¦  «        \  }}|||z   fS )Nr;   )rµ   r%   r#   r>   )r   r   r   Údist_sqlÚdist_paramsrK   r¦   r(   s          €r   r>   zDWithinLookup.process_rhs_  sW   ø€ Ø $× 5Ò 5°hÀ
Ñ KÔ KÑˆ�+Ø(0ˆÔ˜WÑ%Ý™'œ'×-Ò-¨h¸
ÑCÔC‰ˆ�Ø˜ Ñ,Ð,Ð,r   )r   r   r   r/   rN   rµ   r>   rQ   rR   s   @r   r·   r·   M  s[   ø€ € € € € à€KØ:€Lð>ð >ð >ð >ð >ð-ð -ð -ð -ð -ð -ð -ð -ð -r   r·   c                   ó   — e Zd Zd„ ZdS )ÚDistanceLookupFromFunctionc                 ó^  — t          | j        ¦  «        dk    o| j        d         dk    pd }|j                             | j        | j        |¬¦  «        }|                     |                     |j        ¦  «        ¦  «        \  }}|  	                    ||¦  «        \  }}d|| j
        |dœz  ||z   fS )Nr+   éÿÿÿÿr±   )r±   z%(func)s %(op)s %(dist)s)ÚfuncÚopÚdist)r.   r"   r9   Údistance_expr_for_lookupr   r'   r   r?   r@   rµ   rÄ   )	r   r   r   r±   Údistance_exprr¥   r¦   r½   r¾   s	            r   r   z!DistanceLookupFromFunction.as_sqlg  sÅ   € å�”Ñ Ô  AÒ%ÐK¨$¬/¸"Ô*=ÀÒ*Kðàð 	ð #œ×?Ò?ØŒH�d”h¨ð @ñ 
ô 
ˆð ×&Ò& }×'GÒ'GÈÌÑ'WÔ'WÑXÔX‰ˆˆVØ $× 5Ò 5°hÀ
Ñ KÔ KÑˆ�+à&°#¸T¼WÈhÐ)WÐ)WÑWØ�[Ñ ð
ð 	
r   Nr   r   r   r   rÀ   rÀ   f  s#   € € € € € ð
ð 
ð 
ð 
ð 
r   rÀ   c                   ó   — e Zd ZdZdZdS )ÚDistanceGTLookupÚdistance_gtú>N©r   r   r   r/   rÄ   r   r   r   rÉ   rÉ   v  ó   € € € € € à€KØ	€B€B€Br   rÉ   c                   ó   — e Zd ZdZdZdS )ÚDistanceGTELookupÚdistance_gtez>=NrÌ   r   r   r   rÏ   rÏ   |  ó   € € € € € à €KØ	€B€B€Br   rÏ   c                   ó   — e Zd ZdZdZdS )ÚDistanceLTLookupÚdistance_ltú<NrÌ   r   r   r   rÓ   rÓ   ‚  rÍ   r   rÓ   c                   ó   — e Zd ZdZdZdS )ÚDistanceLTELookupÚdistance_ltez<=NrÌ   r   r   r   r×   r×   ˆ  rÑ   r   r×   N)0Ú#django.contrib.gis.db.models.fieldsr   Údjango.contrib.gis.measurer   Ú	django.dbr   Údjango.db.modelsr   r   r   Údjango.db.models.sql.queryr	   Údjango.utils.regex_helperr
   r   r   Úregister_lookuprT   rY   r]   r`   rc   rf   ri   rl   ro   rs   rw   rz   r}   r‚   r…   rˆ   rŒ   r�   r“   r–   r™   rœ   r¨   r«   r®   r·   rÀ   rÉ   rÏ   rÓ   r×   r   r   r   ú<module>rà      sñ  ðØ @Ð @Ð @Ð @Ð @Ð @Ø /Ð /Ð /Ð /Ð /Ð /Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð*ð *ð *ð *ð *˜)ñ *ô *ð *ð
LLð LLð LLð LLð LL�ñ LLô LLð LLðh Ô!ð"ð "ð "ð "ð "˜ñ "ô "ñ "Ô!ð"ð Ô!ð#ð #ð #ð #ð #˜)ñ #ô #ñ "Ô!ð#ð Ô!ð#ð #ð #ð #ð #˜)ñ #ô #ñ "Ô!ð#ð Ô!ð#ð #ð #ð #ð #˜)ñ #ô #ñ "Ô!ð#ð Ô!ðð ð ð ð �ñ ô ñ "Ô!ðð Ô!ðð ð ð ð �)ñ ô ñ "Ô!ðð Ô!ð#ð #ð #ð #ð #˜)ñ #ô #ñ "Ô!ð#ð Ô!ð#ð #ð #ð #ð #˜)ñ #ô #ñ "Ô!ð#ð Ô!ðð ð ð ð �9ñ ô ñ "Ô!ðð !Ð Ô   ¨wÑ 7Ô 7Ð 7ð Ô!ðð ð ð ð �yñ ô ñ "Ô!ðð Ô!ðð ð ð ð �yñ ô ñ "Ô!ðð Ô!ðð ð ð ð �iñ ô ñ "Ô!ðð Ô!ðð ð ð ð �Yñ ô ñ "Ô!ðð Ô!ð&ð &ð &ð &ð &˜Yñ &ô &ñ "Ô!ð&ð Ô!ðð ð ð ð �iñ ô ñ "Ô!ðð Ô!ðð ð ð ð �9ñ ô ñ "Ô!ðð Ô!ðð ð ð ð �Iñ ô ñ "Ô!ðð Ô!ðð ð ð ð �Yñ ô ñ "Ô!ðð Ô!ðð ð ð ð �9ñ ô ñ "Ô!ðð Ô!ðð ð ð ð �yñ ô ñ "Ô!ðð Ô!ðð ð ð ð �Yñ ô ñ "Ô!ðð Ô!ð'ð 'ð 'ð 'ð '�9ñ 'ô 'ñ "Ô!ð'ð" Ô!ðð ð ð ð �Iñ ô ñ "Ô!ðð Ô!ðð ð ð ð �9ñ ô ñ "Ô!ðð
ð 
ð 
ð 
ð 
˜ñ 
ô 
ð 
ðB Ô!ð-ð -ð -ð -ð -Ð&ñ -ô -ñ "Ô!ð-ð0
ð 
ð 
ð 
ð 
Ð!3ñ 
ô 
ð 
ð  Ô!ðð ð ð ð Ð1ñ ô ñ "Ô!ðð
 Ô!ðð ð ð ð Ð2ñ ô ñ "Ô!ðð
 Ô!ðð ð ð ð Ð1ñ ô ñ "Ô!ðð
 Ô!ðð ð ð ð Ð2ñ ô ñ "Ô!ðð ð r   