§
    ZøÁi¤C  ã                  óJ  — d dl mZ d dl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 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'  G d„ d e¦  «        Z( G d!„ d"e(¦  «        Z) G d#„ d$e¦  «        Z* G d%„ d&e¦  «        Z+ G d'„ d(e+¦  «        Z, eed)d*¦  «         eed)d*¦  «         eed)d*¦  «         eed)d*¦  «        d+„ ¦   «         ¦   «         ¦   «         ¦   «         Z- ee*d)d*¦  «        d@d1„¦   «         Z. ee,d)d*¦  «        dAd2„¦   «         Z/ ee+d)d*¦  «        dBd3„¦   «         Z0dCd=„Z1 ee	j"        d)d*¦  «        dDd?„¦   «         Z2dS )Eé    )ÚannotationsN)ÚAny)ÚOptional)ÚTYPE_CHECKING)ÚUnion©Úschema)Útypesé   )Úalter_table)ÚAlterColumn)ÚColumnDefault)Ú
ColumnName)ÚColumnNullable)Ú
ColumnType)Úformat_column_name)Úformat_server_default)ÚDefaultImplé   )Úutil)Úsqla_compat)Ú_is_mariadb)Ú_is_type_bound)Úcompiles)ÚLiteral)ÚMySQLDDLCompiler)ÚDropConstraint)Ú
Constraint)Ú
TypeEngine)Ú_ServerDefaultc                  ó�   ‡ — e Zd ZdZdZej        ddhddhfz   ZddgZ	 	 	 	 	 	 	 	 	 	 	 	 d,d-ˆ fd#„Zd.ˆ fd&„Z	d/d(„Z
d)„ Zd*„ Zd+„ Zˆ xZS )0Ú	MySQLImplÚmysqlFÚBOOLÚTINYINTÚJSONÚLONGTEXTzcharacter set ([\w\-_]+)zcollate ([\w\-_]+)NÚ
table_nameÚstrÚcolumn_nameÚnullableúOptional[bool]Úserver_defaultú%Union[_ServerDefault, Literal[False]]ÚnameúOptional[str]Útype_úOptional[TypeEngine]r	   Úexisting_typeÚexisting_server_defaultúOptional[_ServerDefault]Úexisting_nullableÚautoincrementÚexisting_autoincrementÚcommentú$Optional[Union[str, Literal[False]]]Úexisting_commentÚkwr   ÚreturnÚNonec                óz  •— t          j        ||	¦  «        st          j        ||	¦  «        r# t          ¦   «         j        ||f|||||
||	dœ|¤Ž |€|                      |�|n||¦  «        rM|                      t          ||||�|n||�|n|
�|
nd|�|n||dur|n|	|�|n||dur|n|¬¦	  «	        ¦  «         d S |€|€|€|durM|                      t          ||||�|n||�|n|
�|
nd|�|n||dur|n|	|�|n||dur|n|¬¦	  «	        ¦  «         d S |dur(|                      t          ||||¬¦  «        ¦  «         d S d S )N)r+   r1   r	   r3   r6   r-   r4   TF)r	   Únewnamer+   r1   Údefaultr7   r9   r   )
r   Ú_server_default_is_identityÚ_server_default_is_computedÚsuperÚalter_columnÚ$_is_mysql_allowed_functional_defaultÚ_execÚMySQLChangeColumnÚMySQLModifyColumnÚMySQLAlterDefault)Úselfr(   r*   r+   r-   r/   r1   r	   r3   r4   r6   r7   r8   r9   r;   r<   Ú	__class__s                   €ú[/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/alembic/ddl/mysql.pyrE   zMySQLImpl.alter_column3   sŽ  ø€ õ$ Ô2ØÐ3ñ
ô 
ð 	åÔ4ØÐ3ñ
ô 
ð	ð !�E‰GŒGÔ ØØðð "ØØØ+Ø"3Ø-Ø(?ðð ð ðð ð ð Ð˜t×HÒHØÐ&ˆEˆE¨M¸>ñ 
ô  
Ðð �JŠJÝ!ØØØ!Ø$(Ð$4˜D˜D¸+ð $Ð/ð !˜ð  1Ð<ð .Ð-à!%ð $)Ð#4˜%˜%¸-ð *°Ð6Ð6ð '˜à4ð )Ð4ð &˜à3ð $+°%Ð#7Ð#7˜˜Ð=Mð5ñ ô ñô ð ð ð ð@ Ð ØÐ ØÐ(Ø˜eÐ#Ð#à�JŠJÝ!ØØØ!Ø$(Ð$4˜D˜D¸+ð $Ð/ð !˜ð  1Ð<ð .Ð-à!%ð $)Ð#4˜%˜%¸-ð *°Ð6Ð6ð '˜à4ð )Ð4ð &˜à3ð $+°%Ð#7Ð#7˜˜Ð=Mð5ñ ô ñô ð ð ð ð>  5Ð(Ð(Ø�JŠJÝ!Ø ¨^ÀFðñ ô ñô ð ð ð ð )Ð(ó    Úconstr   c                ó    •— t          |t          j        ¦  «        rt          |¦  «        rd S t	          ¦   «                              |¦  «         d S ©N)Ú
isinstancer	   ÚCheckConstraintr   rD   Údrop_constraint)rK   rO   rL   s     €rM   rT   zMySQLImpl.drop_constraint¦   sL   ø€ õ �e�VÔ3Ñ4Ô4ð 	½ÈÑ9NÔ9Nð 	ØˆFå‰Œ×Ò Ñ&Ô&Ð&Ð&Ð&rN   Úboolc                ó8   — |d uo|j         t          j        u o|d uS rQ   )Ú_type_affinityÚsqltypesÚDateTime)rK   r1   r-   s      rM   rF   z.MySQLImpl._is_mysql_allowed_functional_default¯   s1   € ð ˜Ðð +ØÔ$­Ô(9Ð9ð+à dÐ*ð	
rN   c                ó\  — |j         j        t          j        u r|j        r|j        s
|s|dk    rdS |r8|j         j        t          j        u r |�t          j        dd|¦  «        nd }||k    S |r8|j         j        t          j        u r t          j        dd|¦  «        }|d|› d�k    S |�r |rþt          j	        d| 
                    ¦   «         ¦  «        }t          j	        d| 
                    ¦   «         ¦  «        }|r\|sdS |                     d¦  «        |                     d¦  «        k    rdS |                     d	¦  «        }|                     d	¦  «        }t          j        d
d| 
                    ¦   «         ¦  «        t          j        d
d| 
                    ¦   «         ¦  «        k    S ||k    S )Nz'0'Fz^'|'$Ú ú'z(.*) (on update.*?)(?:\(\))?$Tr   r   z(.*?)(?:\(\))?$z\1)ÚtyperW   rX   ÚIntegerÚprimary_keyr7   ÚreÚsubÚStringÚmatchÚlowerÚgroup)rK   Úinspector_columnÚmetadata_columnÚrendered_metadata_defaultÚrendered_inspector_defaultÚmetadata_defaultÚonupdate_insÚonupdate_mets           rM   Úcompare_server_defaultz MySQLImpl.compare_server_defaultº   s  € ð Ô Ô/µ8Ô3CÐCÐCØ Ô,ð Dà$Ô2ð Dð .ð Dð +¨eÒ3Ð3à�5à&ð.	Kà Ô%Ô4½Ô8HÐHÐHð .Ð9õ ”�x Ð%?Ñ@Ô@Ð@àð 'ð
 .Ð1JÒJÐJà%ð$	KàÔ$Ô3µx´ÐFÐFå!œv h°Ð4MÑNÔNÐØ-Ð1HÐ5EÐ1HÐ1HÐ1HÒHÐHØ'ñ 	KÐ,Eð 	Kõ œ8Ø0Ø*×0Ò0Ñ2Ô2ñô ˆLõ œ8Ø0Ø)×/Ò/Ñ1Ô1ñô ˆLð
 ð BØ#ð  Ø˜4Ø!×'Ò'¨Ñ*Ô*¨l×.@Ò.@ÀÑ.CÔ.CÒCÐCØ˜4à-9×-?Ò-?ÀÑ-BÔ-BÐ*Ø,8×,>Ò,>¸qÑ,AÔ,AÐ)å”6Ø" EÐ+E×+KÒ+KÑ+MÔ+Mñô å”Ø" EÐ+D×+JÒ+JÑ+LÔ+Lñô òð ð .Ð1JÒJÐJrN   c                óø  — t          ¦   «         }t          |¦  «        D ]«}|j        rŒ
|j        D ]™}|j        |j        k    r1|                     |¦  «         |                     |j        ¦  «          nW|j        D ]C}|j        |j        k    r1|                     |¦  «         |                     |j        ¦  «          nŒD|j        |v r nŒšŒ¬t          |¦  «        D ] }|j        |v r|                     |¦  «         Œ!d S rQ   )ÚsetÚlistÚuniqueÚcolumnsr/   ÚremoveÚaddÚforeign_keys)	rK   Úconn_unique_constraintsÚconn_indexesÚmetadata_unique_constraintsÚmetadata_indexesÚremovedÚidxÚcolÚfks	            rM   Úcorrect_for_autogen_constraintsz)MySQLImpl.correct_for_autogen_constraintsý   s3  € õ ‘%”%ˆÝ˜Ñ%Ô%ð 	ð 	ˆCØŒzð Øð
 ”{ð ð �Ø”8˜sœxÒ'Ð'Ø ×'Ò'¨Ñ,Ô,Ð,Ø—K’K ¤Ñ)Ô)Ð)Ø�EØÔ*ð ð �BØ”w #¤(Ò*Ð*Ø$×+Ò+¨CÑ0Ô0Ð0ØŸš C¤HÑ-Ô-Ð-Ø˜ð +ð ”8˜wÐ&Ð&Ø�Eð 'øõ Ð(Ñ)Ô)ð 	-ð 	-ˆCØŒx˜7Ð"Ð"Ø ×'Ò'¨Ñ,Ô,Ð,øð	-ð 	-rN   c                ór  ‡ — ˆ fd„|D ¦   «         }ˆ fd„|D ¦   «         }t          |¦  «                             |¦  «        D ]v}||         }||         }|j        �+|j                             ¦   «         dk    r|j        €d|_        |j        �+|j                             ¦   «         dk    r|j        €d|_        Œwd S )Nc                óF   •— i | ]}‰                      |¦  «        j        |“ŒS © )Ú _create_reflected_constraint_sigÚunnamed_no_options©Ú.0r}   rK   s     €rM   ú
<dictcomp>z=MySQLImpl.correct_for_autogen_foreignkeys.<locals>.<dictcomp>#  s<   ø€ ð 
ð 
ð 
àð ×1Ò1°"Ñ5Ô5ÔHÈ"ð
ð 
ð 
rN   c                óF   •— i | ]}‰                      |¦  «        j        |“ŒS r�   )Ú_create_metadata_constraint_sigrƒ   r„   s     €rM   r†   z=MySQLImpl.correct_for_autogen_foreignkeys.<locals>.<dictcomp>'  s<   ø€ ð 
ð 
ð 
àð ×0Ò0°Ñ4Ô4ÔGÈð
ð 
ð 
rN   ÚrestrictÚRESTRICT)ro   ÚintersectionÚondeleterd   Úonupdate)rK   Úconn_fksÚmetadata_fksÚconn_fk_by_sigÚmetadata_fk_by_sigÚsigÚmdfkÚcnfks   `       rM   Úcorrect_for_autogen_foreignkeysz)MySQLImpl.correct_for_autogen_foreignkeys"  sý   ø€ ð
ð 
ð 
ð 
àð
ñ 
ô 
ˆð
ð 
ð 
ð 
à"ð
ñ 
ô 
Ðõ
 �~Ñ&Ô&×3Ò3Ð4FÑGÔGð 	+ð 	+ˆCØ% cÔ*ˆDØ! #Ô&ˆDð
 ”Ð)Ø”M×'Ò'Ñ)Ô)¨ZÒ7Ð7Ø”MÐ)à *�”à”Ð)Ø”M×'Ò'Ñ)Ô)¨ZÒ7Ð7Ø”MÐ)à *�”øð#	+ð 	+rN   )NFNNNNNNNNFN) r(   r)   r*   r)   r+   r,   r-   r.   r/   r0   r1   r2   r	   r0   r3   r2   r4   r5   r6   r,   r7   r,   r8   r,   r9   r:   r;   r0   r<   r   r=   r>   )rO   r   r=   r>   )r1   r2   r-   r.   r=   rU   )Ú__name__Ú
__module__Ú__qualname__Ú__dialect__Útransactional_ddlr   Útype_synonymsÚtype_arg_extractrE   rT   rF   rm   r~   r•   Ú__classcell__©rL   s   @rM   r"   r"   )   s  ø€ € € € € Ø€KàÐØÔ-Ø	�ÐØ	�Ðð1ñ €Mð 4Ð5JÐKÐð $(Ø@EØ"Ø&*Ø $Ø.2Ø<@Ø,0Ø(,Ø15Ø8=Ø*.ðqð qð qð qð qð qð qðf'ð 'ð 'ð 'ð 'ð 'ð	
ð 	
ð 	
ð 	
ðAKð AKð AKðF#-ð #-ð #-ðJ+ð +ð +ð +ð +ð +ð +rN   r"   c                  ó   — e Zd ZdZdS )ÚMariaDBImplÚmariadbN)r–   r—   r˜   r™   r�   rN   rM   r    r    @  s   € € € € € Ø€K€K€KrN   r    c                  ó$   ‡ — e Zd Z	 ddˆ fd„Zˆ xZS )rJ   Nr/   r)   r*   rA   r    r	   r0   r=   r>   c                óx   •— t          t          | ¦  «                             ||¬¦  «         || _        || _        d S )Nr   )rD   r   Ú__init__r*   rA   )rK   r/   r*   rA   r	   rL   s        €rM   r¤   zMySQLAlterDefault.__init__E  s;   ø€ õ 	�k˜4Ñ Ô ×)Ò)¨$°vÐ)Ñ>Ô>Ð>Ø&ˆÔØˆŒˆˆrN   rQ   )
r/   r)   r*   r)   rA   r    r	   r0   r=   r>   ©r–   r—   r˜   r¤   r�   rž   s   @rM   rJ   rJ   D  sG   ø€ € € € € ð !%ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	rN   rJ   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 ddˆ fd„Zˆ xZS )rH   NFr/   r)   r*   r	   r0   r@   r1   r2   r+   r,   rA   ú/Optional[Union[_ServerDefault, Literal[False]]]r7   r9   r:   r=   r>   c
                ó  •— t          t          | ¦  «                             ||¬¦  «         || _        || _        || _        || _        || _        |	| _        |€t          j
        d¦  «        ‚t          j        |¦  «        | _        d S )Nr   zDAll MySQL CHANGE/MODIFY COLUMN operations require the existing type.)rD   r   r¤   r*   r+   r@   rA   r7   r9   r   ÚCommandErrorrX   Úto_instancer1   )rK   r/   r*   r	   r@   r1   r+   rA   r7   r9   rL   s             €rM   r¤   zMySQLChangeColumn.__init__R  s‹   ø€ õ 	�k˜4Ñ Ô ×)Ò)¨$°vÐ)Ñ>Ô>Ð>Ø&ˆÔØ ˆŒØˆŒØˆŒØ*ˆÔØˆŒØˆ=ÝÔ#ð-ñô ð õ
 Ô)¨%Ñ0Ô0ˆŒ
ˆ
ˆ
rN   )NNNNFNF)r/   r)   r*   r)   r	   r0   r@   r0   r1   r2   r+   r,   rA   r§   r7   r,   r9   r:   r=   r>   r¥   rž   s   @rM   rH   rH   Q  sY   ø€ € € € € ð
 !%Ø!%Ø&*Ø#'ØCHØ(,Ø8=ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1rN   rH   c                  ó   — e Zd ZdS )rI   N)r–   r—   r˜   r�   rN   rM   rI   rI   n  s   € € € € € Ø€DrN   rI   r#   r¡   c                ó    — t          d¦  «        ‚)Nz9Individual alter column constructs not supported by MySQL)ÚNotImplementedError©ÚelementÚcompilerr<   s      rM   Ú _mysql_doesnt_support_individualr±   r  s   € õ
 ØCñô ð rN   r¯   r°   r   r=   r)   c           	     ó¬   — t          || j        | j        ¦  «        ›dt          || j        ¦  «        ›d| j        �dt          || j        ¦  «        z  nd›�S )Nz ALTER COLUMN ú zSET DEFAULT %szDROP DEFAULT)r   r(   r	   r   r*   rA   r   r®   s      rM   Ú_mysql_alter_defaultr´   |  sj   € õ
 	�H˜gÔ0°'´.ÑAÔAÐAÐAÝ˜8 WÔ%8Ñ9Ô9Ð9Ð9ð ŒÐ*ð Õ4°X¸w¼ÑOÔOÑOÐOàð ð	ð rN   c                óÆ   — t          || j        | j        ¦  «        ›dt          || j        ¦  «        ›dt          || j        | j        | j        | j	        | j
        ¬¦  «        ›�S )Nz MODIFY r³   ©r+   r-   r1   r7   r9   )r   r(   r	   r   r*   Ú_mysql_colspecr+   rA   r1   r7   r9   r®   s      rM   Ú_mysql_modify_columnr¸   ‹  ss   € õ
 	�H˜gÔ0°'´.ÑAÔAÐAÐAÝ˜8 WÔ%8Ñ9Ô9Ð9Ð9ÝØØÔ%Ø"œ?Ø”-Ø!Ô/Ø”Oð	
ñ 	
ô 	
ð 	
ðð rN   c                óò   — t          || j        | j        ¦  «        ›dt          || j        ¦  «        ›dt          || j        ¦  «        ›dt          || j        | j        | j	        | j
        | j        ¬¦  «        ›�S )Nz CHANGE r³   r¶   )r   r(   r	   r   r*   r@   r·   r+   rA   r1   r7   r9   r®   s      rM   Ú_mysql_change_columnrº   �  sˆ   € õ
 	�H˜gÔ0°'´.ÑAÔAÐAÐAÝ˜8 WÔ%8Ñ9Ô9Ð9Ð9Ý˜8 W¤_Ñ5Ô5Ð5Ð5ÝØØÔ%Ø"œ?Ø”-Ø!Ô/Ø”Oð	
ñ 	
ô 	
ð 	
ð	ð rN   r+   r,   r-   r§   r1   r   r7   r9   r:   c                ó  — | j         j                             |¦  «        ›d|rdnd›�}|r|dz  }|dur|�|dt          | |¦  «        z  z  }|r2|d| j                             |t          j        ¦   «         ¦  «        z  z  }|S )Nr³   ÚNULLzNOT NULLz AUTO_INCREMENTFz DEFAULT %sz COMMENT %s)ÚdialectÚtype_compilerÚprocessr   Úsql_compilerÚrender_literal_valuerX   rb   )r°   r+   r-   r1   r7   r9   Úspecs          rM   r·   r·   °  s¸   € ð 	ÔÔ&×.Ò.¨uÑ5Ô5Ð5Ð5ØÐ*ˆˆ 
Ð*ð€Dð ð "ØÐ!Ñ!ˆØ˜UÐ"Ð" ~Ð'AØ�Õ 5°hÀÑ OÔ OÑOÑOˆØð 
Ø� Ô 5× JÒ JØ•X”_Ñ&Ô&ñ!
ô !
ñ 
ñ 	
ˆð €KrN   r   c                ó  — | j         }t          |t          j        t          j        t          j        f¦  «        r|rJ ‚|                     | ¦  «        S t          |t          j        ¦  «        rŽt          |j	        ¦  «        r=d|j
                             |j        ¦  «        ›d|j
                             |¦  «        ›�S d|j
                             |j        ¦  «        ›d|j
                             |¦  «        ›�S t          d¦  «        ‚)zVRedefine SQLAlchemy's drop constraint to
    raise errors for invalid constraint type.zALTER TABLE z DROP CONSTRAINT z DROP CHECK zFNo generic 'DROP CONSTRAINT' in MySQL - please specify constraint type)r¯   rR   r	   ÚForeignKeyConstraintÚPrimaryKeyConstraintÚUniqueConstraintÚvisit_drop_constraintrS   r   r½   ÚpreparerÚformat_tableÚtableÚformat_constraintr­   )r¯   r°   r<   Ú
constraints       rM   Ú_mysql_drop_constraintrÍ   È  s!  € ð ”€JÝØåÔ'ÝÔ'ÝÔ#ð	
ñô ð 
ð ˆˆˆvØ×-Ò-¨gÑ6Ô6Ð6Ý	�J¥Ô 6Ñ	7Ô	7ð 
õ �xÔ'Ñ(Ô(ð 		ð 		àÔ!×.Ò.¨zÔ/?Ñ@Ô@Ð@Ð@ØÔ!×3Ò3°JÑ?Ô?Ð?ðð ð		ð Ô!×.Ò.¨zÔ/?Ñ@Ô@Ð@Ð@ØÔ!×3Ò3°JÑ?Ô?Ð?ðð õ
 "ð-ñ
ô 
ð 	
rN   )r¯   rJ   r°   r   r=   r)   )r¯   rI   r°   r   r=   r)   )r¯   rH   r°   r   r=   r)   )r°   r   r+   r,   r-   r§   r1   r   r7   r,   r9   r:   r=   r)   )r¯   r   r°   r   r=   r)   )3Ú
__future__r   r`   Útypingr   r   r   r   Ú
sqlalchemyr	   r
   rX   Úbaser   r   r   r   r   r   r   r   Úimplr   r[   r   r   Úutil.sqla_compatr   r   r   r   Úsqlalchemy.dialects.mysql.baser   Úsqlalchemy.sql.ddlr   Úsqlalchemy.sql.schemar   Úsqlalchemy.sql.type_apir   r    r"   r    rJ   rH   rI   r±   r´   r¸   rº   r·   rÍ   r�   rN   rM   ú<module>rØ      s/  ðð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'àð %ØÐÐÐÐÐà?Ð?Ð?Ð?Ð?Ð?Ø1Ð1Ð1Ð1Ð1Ð1Ø0Ð0Ð0Ð0Ð0Ð0Ø2Ð2Ð2Ð2Ð2Ð2à$Ð$Ð$Ð$Ð$Ð$ðT+ð T+ð T+ð T+ð T+�ñ T+ô T+ð T+ðnð ð ð ð �)ñ ô ð ð
ð 
ð 
ð 
ð 
˜ñ 
ô 
ð 
ð1ð 1ð 1ð 1ð 1˜ñ 1ô 1ð 1ð:	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ð 
€ˆ.˜' 9Ñ-Ô-Ø	€ˆ*�g˜yÑ)Ô)Ø	€ˆ-˜ )Ñ,Ô,Ø	€ˆ*�g˜yÑ)Ô)ðð ñ *Ô)ñ -Ô,ñ *Ô)ñ .Ô-ðð 
€Ð
˜W iÑ0Ô0ðð ð ñ 1Ô0ðð 
€Ð
˜W iÑ0Ô0ðð ð ñ 1Ô0ðð" 
€Ð
˜W iÑ0Ô0ðð ð ñ 1Ô0ðð$ð ð ð ð0 
€ˆ&Ô
 ¨)Ñ4Ô4ð#
ð #
ð #
ñ 5Ô4ð#
ð #
ð #
rN   