§
    ‚ŠtjÐ2  ã                   ó6  — d dl mZ 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mZ ddlmZmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZ ddl m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-  ed¬¦  «        e G d„ de#¦  «        ¦   «         ¦   «         Z. G d„ de+¦  «        Z/ G d„ de%¦  «        Z0 G d„ de&¦  «        Z1 G d„ de!¦  «        Z2 G d„ d e*¦  «        Z3 G d!„ d"e)¦  «        Z4 G d#„ d$e'¦  «        Z5 G d%„ d&e(¦  «        Z6g d'¢Z7dS )(é    )ÚCallable)ÚOptionalN)Ústricté   )Úinitialization)ÚCacheÚDynamicCache)Úcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚBaseModelOutputWithPast)ÚROPE_INIT_FUNCTIONS)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)Úauto_docstring)ÚTransformersKwargsÚmaybe_autocasté   )ÚGemma3RotaryEmbedding)ÚOlmo2Config)	ÚOlmo2AttentionÚOlmo2DecoderLayerÚOlmo2ForCausalLMÚOlmo2ForSequenceClassificationÚ
Olmo2ModelÚOlmo2PreTrainedModelÚOlmo2RMSNormÚapply_rotary_pos_embÚeager_attention_forwardzallenai/Olmo-3-7B-Instruct)Ú
checkpointc                   ó¦   ‡ — e Zd ZU dZdZdZdgZdddddddd	œZd
gdgfddgdgfdgdgfdœZdZ	e
dz  ed<   dZee         dz  ed<   ˆ fd„Zd„ Zˆ xZS )ÚOlmo3Configa�  
    Example:

    ```python
    >>> from transformers import Olmo3Model, Olmo3Config

    >>> # Initializing a Olmo3 7B style configuration
    >>> configuration = Olmo3Config()

    >>> # Initializing a model from the Olmo3 7B style configuration
    >>> model = Olmo3Model(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```
    Úolmo3g    €„AÚpast_key_valuesÚcolwise_gather_outputÚrowwise_split_inputÚcolwiseÚrowwise)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projzlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi   NÚsliding_windowÚlayer_typesc                 ó´   •— | j         €| j        | _         | j        €#d„ t          | j        ¦  «        D ¦   «         | _         t          ¦   «         j        di |¤Ž d S )Nc                 ó.   — g | ]}|d z   dz  dk    rdnd‘ŒS )é   é   r   Úsliding_attentionÚfull_attention© )Ú.0Úis     úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/olmo3/modular_olmo3.pyú
<listcomp>z-Olmo3Config.__post_init__.<locals>.<listcomp>\   s>   € ð  ð  ð  ØRS¨¨A©°¡{°aÒ'7Ð'7Ð#Ð#Ð=Mð ð  ð  ó    r8   )Únum_key_value_headsÚnum_attention_headsr1   ÚrangeÚnum_hidden_layersÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €r;   rC   zOlmo3Config.__post_init__W   sr   ø€ ØÔ#Ð+Ø'+Ô'?ˆDÔ$àÔÐ#ð ð  ÝW\Ð]aÔ]sÑWtÔWtð ñ  ô  ˆDÔð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r=   c                 óZ  — |                      dd ¦  «        }ddiddidœ}| j        �| j        n|| _        |� | j        d                              |¦  «         | j                             d¦  «        €ddi| j        d<   | j        d                              d|                      d| j        ¦  «        ¦  «         | j                             d¦  «        €ddi| j        d<   | j        d                              d|                      d| j        ¦  «        ¦  «         |                      ¦   «          |S )NÚrope_scalingÚ	rope_typeÚdefault)r6   r7   r7   Ú
rope_thetar6   )ÚpopÚrope_parametersÚupdateÚgetÚ
setdefaultÚdefault_thetaÚstandardize_rope_params)rD   rE   rH   Údefault_rope_paramss       r;   Úconvert_rope_params_to_dictz'Olmo3Config.convert_rope_params_to_dictb   sL  € Ø—z’z .°$Ñ7Ô7ˆð
 #.¨yÐ!9Ø*¨IÐ6ð
ð 
Ðð 8<Ô7KÐ7W˜tÔ3Ð3Ð]pˆÔØÐ#ØÔ Ð!1Ô2×9Ò9¸,ÑGÔGÐGð Ô×#Ò#Ð$4Ñ5Ô5Ð=Ø6AÀ9Ð5MˆDÔ Ð!1Ñ2ØÔÐ-Ô.×9Ò9¸,ÈÏ
Ê
ÐS_ÐaeÔasÑHtÔHtÑuÔuÐuØÔ×#Ò#Ð$7Ñ8Ô8Ð@Ø9DÀiÐ8PˆDÔ Ð!4Ñ5ØÔÐ0Ô1×<Ò<Ø˜&Ÿ*š* \°4Ô3EÑFÔFñ	
ô 	
ð 	
ð
 	×$Ò$Ñ&Ô&Ð&Øˆr=   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typerQ   Úkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr0   ÚintÚ__annotations__r1   ÚlistÚstrrC   rT   Ú__classcell__©rF   s   @r;   r"   r"   .   sô   ø€ € € € € € ðð ð" €JØ€MØ#4Ð"5Ðà%<Ø%<Ø%<Ø%:Ø"+Ø )Ø"+ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð "&€N�C˜$‘JÐ%Ð%Ñ%Ø$(€K��c”˜TÑ!Ð(Ð(Ñ(ð	(ð 	(ð 	(ð 	(ð 	(ðð ð ð ð ð ð r=   r"   c                   ó   — e Zd ZdS )ÚOlmo3RMSNormN©rU   rV   rW   r8   r=   r;   rd   rd   ~   ó   € € € € € Ø€Dr=   rd   c                   óÆ   ‡ — e Zd Zdedefˆ fd„Z	 ddej        deej        ej        f         dej        dz  de	dz  d	e
e         d
eej        ej        dz  f         fd„Zˆ xZS )ÚOlmo3AttentionÚconfigÚ	layer_idxc                 ó¤   •— t          ¦   «                              ||¬¦  «         |j        |         | _        | j        dk    r|j        nd | _        d S )N)rj   r6   )rB   Ú__init__r1   Úattention_typer0   )rD   ri   rj   rF   s      €r;   rl   zOlmo3Attention.__init__…   sU   ø€ Ý‰Œ×Ò˜¨9ÐÑ5Ô5Ð5Ø$Ô0°Ô;ˆÔØ7;Ô7JÐNaÒ7aÐ7a˜fÔ3Ð3ÐgkˆÔÐÐr=   Nr+   Úposition_embeddingsr,   r$   rE   Úreturnc                 ó†  — |j         d d…         }g |¢d‘| j        ‘R }|                      |                      |¦  «        ¦  «        }|                      |                      |¦  «        ¦  «        }	|                      |¦  «        }
|                     |¦  «                             dd¦  «        }|	                     |¦  «                             dd¦  «        }	|
                     |¦  «                             dd¦  «        }
|\  }}t          ||	||¦  «        \  }}	|�| 
                    |	|
| j        ¦  «        \  }	}
t          j        | j        j        t           ¦  «        } || ||	|
|f| j        sdn| j        | j        | j        dœ|¤Ž\  }} |j        g |¢d‘R Ž                      ¦   «         }|                      |¦  «        }||fS )Néÿÿÿÿr4   r   g        )ÚdropoutÚscalingr0   )ÚshapeÚhead_dimÚq_normÚq_projÚk_normÚk_projÚv_projÚviewÚ	transposer   rN   rj   r   Úget_interfaceri   Ú_attn_implementationr   ÚtrainingÚattention_dropoutrs   r0   ÚreshapeÚ
contiguousÚo_proj)rD   r+   rn   r,   r$   rE   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚcosÚsinÚattention_interfaceÚattn_outputÚattn_weightss                   r;   ÚforwardzOlmo3Attention.forwardŠ   sè  € ð $Ô)¨#¨2¨#Ô.ˆØ8˜Ð8 bÐ8¨$¬-Ð8Ð8ˆà—{’{ 4§;¢;¨}Ñ#=Ô#=Ñ>Ô>ˆØ—[’[ §¢¨]Ñ!;Ô!;Ñ<Ô<ˆ
Ø—{’{ =Ñ1Ô1ˆà#×(Ò(¨Ñ6Ô6×@Ò@ÀÀAÑFÔFˆØ—_’_ \Ñ2Ô2×<Ò<¸QÀÑBÔBˆ
Ø#×(Ò(¨Ñ6Ô6×@Ò@ÀÀAÑFÔFˆà&‰ˆˆSÝ#7¸ÀjÐRUÐWZÑ#[Ô#[Ñ ˆ�jàÐ&Ø'6×'=Ò'=¸jÈ,ÐX\ÔXfÑ'gÔ'gÑ$ˆJ˜å(?Ô(MØŒKÔ,Õ.Eñ)
ô )
Ðð %8Ð$7ØØØØØð
%
ð  $œ}ÐH�C�C°$Ô2HØ”LØÔ.ð
%
ð 
%
ð ð
%
ð 
%
Ñ!ˆ�\ð *�kÔ)Ð;¨;Ð;¸Ð;Ð;Ð;×FÒFÑHÔHˆØ—k’k +Ñ.Ô.ˆØ˜LÐ(Ð(r=   ©N)rU   rV   rW   r"   r]   rl   ÚtorchÚTensorÚtupler   r   r   rŽ   ra   rb   s   @r;   rh   rh   „   sß   ø€ € € € € ðl˜{ð l°sð lð lð lð lð lð lð )-ð+)ð +)à”|ð+)ð # 5¤<°´Ð#=Ô>ð+)ð œ tÑ+ð	+)ð
  ™ð+)ð Ð+Ô,ð+)ð 
ˆuŒ|˜Uœ\¨DÑ0Ð0Ô	1ð+)ð +)ð +)ð +)ð +)ð +)ð +)ð +)r=   rh   c                   ó   — e Zd ZdS )ÚOlmo3DecoderLayerNre   r8   r=   r;   r”   r”   ¸   rf   r=   r”   c                   ó–   ‡ — e Zd Zddefˆ fd„Ze	 	 	 	 ddedz  ded         dedz  dedz  de	d	e
f         f
ˆ fd
„¦   «         Zdd„Zˆ xZS )ÚOlmo3RotaryEmbeddingNri   c                 óN   •— t          ¦   «                              ||¬¦  «         d S )N©Údevice)rB   rl   )rD   ri   r™   rF   s      €r;   rl   zOlmo3RotaryEmbedding.__init__½   s&   ø€ Ý‰Œ×Ò˜¨ÐÑ/Ô/Ð/Ð/Ð/r=   r™   ztorch.deviceÚseq_lenÚ
layer_typero   ztorch.Tensorc                 óL   •— t          ¦   «                              | |||¦  «        S r�   )rB   Úcompute_default_rope_parameters)ri   r™   rš   r›   rF   s       €r;   r�   z4Olmo3RotaryEmbedding.compute_default_rope_parametersÀ   s$   ø€ õ ‰wŒw×6Ò6°v¸vÀwÐPZÑ[Ô[Ð[r=   c                 ó  — t          | |› d�¦  «        }t          | |› d�¦  «        }|d d d …d f                              ¦   «                              |j        d         dd¦  «                             |j        ¦  «        }|d d …d d d …f                              ¦   «         }t          |j        j        t          ¦  «        r|j        j        dk    r|j        j        nd}t          |d¬	¦  «        5  |                     ¦   «         |                     ¦   «         z   
                    dd
¦  «        }	t          j        |	|	fd¬¦  «        }
|
                     ¦   «         |z  }|
                     ¦   «         |z  }d d d ¦  «         n# 1 swxY w Y   ||fS )NÚ	_inv_freqÚ_attention_scalingr   rq   r4   ÚmpsÚcpuF)Údevice_typeÚenabledr   )Údim)ÚgetattrÚfloatÚexpandrt   Útor™   Ú
isinstanceÚtyper`   r   r|   r�   Úcatr‰   rŠ   )rD   ÚxÚposition_idsr›   Úinv_freqÚattention_scalingÚinv_freq_expandedÚposition_ids_expandedr£   ÚfreqsÚembr‰   rŠ   s                r;   rŽ   zOlmo3RotaryEmbedding.forwardÉ   s¾  € å˜4 JÐ!9Ð!9Ð!9Ñ:Ô:ˆÝ# D¨ZÐ*KÐ*KÐ*KÑLÔLÐà$ T¨1¨1¨1¨d ]Ô3×9Ò9Ñ;Ô;×BÒBÀ<ÔCUÐVWÔCXÐZ\Ð^_Ñ`Ô`×cÒcÐdeÔdlÑmÔmÐØ ,¨Q¨Q¨Q°°a°a°a¨ZÔ 8× >Ò >Ñ @Ô @Ðå'1°!´(´-ÅÑ'EÔ'EÐkÈ!Ì(Ì-Ð[`ÒJ`ÐJ`�a”h”m�mÐfkˆÝ¨¸UÐCÑCÔCð 	0ð 	0Ø&×,Ò,Ñ.Ô.Ð1F×1LÒ1LÑ1NÔ1NÑN×YÒYÐZ[Ð]^Ñ_Ô_ˆEÝ”)˜U E˜N°Ð3Ñ3Ô3ˆCØ—'’'‘)”)Ð/Ñ/ˆCØ—'’'‘)”)Ð/Ñ/ˆCð		0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð �Cˆxˆs   Ã-BE=Å=FÆFr�   )NNNN)rU   rV   rW   r"   rl   Ústaticmethodr   r]   r`   r’   r§   r�   rŽ   ra   rb   s   @r;   r–   r–   ¼   sî   ø€ € € € € ð0ð 0˜{ð 0ð 0ð 0ð 0ð 0ð 0ð à%)Ø+/Ø"Ø!%ð	\ð \Ø˜dÑ"ð\à˜Ô(ð\ð �t‘ð\ð ˜$‘Jð	\ð
 
ˆ~˜uÐ$Ô	%ð\ð \ð \ð \ð \ñ „\ð\ðð ð ð ð ð ð ð r=   r–   c                   ó   — e Zd Zd„ ZdS )ÚOlmo3PreTrainedModelc                 ó’  — t          j        |¦  «         t          |t          ¦  «        r›|j        D ]•}|j        }|j        |         dk    rt          |j        |                  } ||j        |¬¦  «        \  }}t          j
        t          ||› d�¦  «        |¦  «         t          j
        t          ||› d�¦  «        |¦  «         Œ”d S d S )NrJ   )r›   rŸ   Ú_original_inv_freq)r   Ú_init_weightsrª   r–   r1   r�   rI   r   ri   ÚinitÚcopy_r¦   )rD   Úmoduler›   Úrope_init_fnÚcurr_inv_freqÚ_s         r;   rº   z"Olmo3PreTrainedModel._init_weightsÜ   sè   € ÝÔ% fÑ-Ô-Ð-Ý�fÕ2Ñ3Ô3ð 	^Ø$Ô0ð ^ð ^�
Ø%ÔE�ØÔ# JÔ/°9Ò<Ð<Ý#6°vÔ7GÈ
Ô7SÔ#T�LØ#/ <°´È*Ð#UÑ#UÔ#UÑ �˜qÝ”
�7 6¨jÐ+CÐ+CÐ+CÑDÔDÀmÑTÔTÐTÝ”
�7 6¨jÐ+LÐ+LÐ+LÑMÔMÈ}Ñ]Ô]Ð]Ð]ð	^ð 	^ð^ð ^r=   N)rU   rV   rW   rº   r8   r=   r;   r·   r·   Û   s(   € € € € € ð	^ð 	^ð 	^ð 	^ð 	^r=   r·   c                   ó²   ‡ — e Zd Zdefˆ fd„Z	 	 	 	 	 	 ddej        dz  dej        dz  dej        dz  dedz  dej	        dz  d	e
dz  d
ee         defd„Zˆ xZS )Ú
Olmo3Modelri   c                 ó$  •‡— t          ¦   «                              ‰¦  «         t          ‰j        ‰j        ¬¦  «        | _        t          j        ˆfd„t          ‰j	        ¦  «        D ¦   «         ¦  «        | _
        t          ‰¬¦  «        | _        d S )N)Úepsc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS r8   )r”   )r9   rj   ri   s     €r;   r<   z'Olmo3Model.__init__.<locals>.<listcomp>ð   s$   ø€ ÐcÐcÐc°iÕ˜v yÑ1Ô1ÐcÐcÐcr=   ©ri   )rB   rl   rd   Úhidden_sizeÚrms_norm_epsr/   ÚnnÚ
ModuleListr@   rA   r.   r–   Ú
rotary_emb)rD   ri   rF   s    `€r;   rl   zOlmo3Model.__init__ì   sƒ   øø€ Ý‰Œ×Ò˜Ñ Ô Ð Ý  Ô!3¸Ô9LÐMÑMÔMˆŒ	Ý”mØcÐcÐcÐcÅ5ÈÔIaÑCbÔCbÐcÑcÔcñ
ô 
ˆŒõ /°fÐ=Ñ=Ô=ˆŒˆˆr=   Nr)   r,   r®   r$   r*   Ú	use_cacherE   ro   c           
      óH  — |d u |d uz  rt          d¦  «        ‚|€|                      |¦  «        }|r|€t          | j        ¬¦  «        }|€V|�|                     ¦   «         nd}t          j        |j        d         |j        ¬¦  «        |z   }| 	                    d¦  «        }t          |x}	t          ¦  «        s&| j        ||||dœ}
t          d
i |
¤Žt          d
i |
¤Ždœ}	|}i }t          | j        j        ¦  «        D ]}|                      |||¦  «        ||<   Œt#          | j        d | j        j        …         ¦  «        D ]?\  }} ||f|	| j        j        |                  |||| j        j        |                  dœ|¤Ž}Œ@|                      |¦  «        }t+          ||¬	¦  «        S )Nz:You must specify exactly one of input_ids or inputs_embedsrÆ   r   r4   r˜   )ri   r*   r,   r$   r®   )r7   r6   )r,   r®   r$   rn   )Úlast_hidden_stater$   r8   )Ú
ValueErrorr-   r	   ri   Úget_seq_lengthr�   Úarangert   r™   Ú	unsqueezerª   Údictr
   r   Úsetr1   rË   Ú	enumerater.   rA   r/   r   )rD   r)   r,   r®   r$   r*   rÌ   rE   Úpast_seen_tokensÚcausal_mask_mappingÚmask_kwargsr+   rn   r›   r:   Údecoder_layers                   r;   rŽ   zOlmo3Model.forwardô   s%  € ð ˜Ð -°tÐ";Ñ<ð 	[ÝÐYÑZÔZÐZàÐ Ø*.×*;Ò*;¸IÑ*FÔ*FˆMàð 	?˜Ð0Ý*°$´+Ð>Ñ>Ô>ˆOàÐØCRÐC^˜×=Ò=Ñ?Ô?Ð?ÐdeÐÝ œ<¨Ô(;¸AÔ(>À}ÔG[Ð\Ñ\Ô\Ð_oÑoˆLØ'×1Ò1°!Ñ4Ô4ˆLõ °Ð?Ð-ÅÑFÔFð 	ð œ+Ø!.Ø"0Ø#2Ø ,ðð ˆKõ #5Ð"CÐ"C°{Ð"CÐ"CÝ%FÐ%UÐ%UÈÐ%UÐ%Uð#ð #Ðð
 &ˆØ ÐÝ˜dœkÔ5Ñ6Ô6ð 	gð 	gˆJØ.2¯oªo¸mÈ\Ð[eÑ.fÔ.fÐ 
Ñ+Ð+å )¨$¬+Ð6U¸¼Ô8UÐ6UÔ*VÑ WÔ Wð 	ð 	ÑˆAˆ}Ø)˜MØðà2°4´;Ô3JÈ1Ô3MÔNØ)Ø /Ø$7¸¼Ô8OÐPQÔ8RÔ$Sðð ð ðð ˆMˆMð Ÿ	š	 -Ñ0Ô0ˆÝ&Ø+Ø+ð
ñ 
ô 
ð 	
r=   )NNNNNN)rU   rV   rW   r"   rl   r�   Ú
LongTensorr‘   r   ÚFloatTensorÚboolr   r   r   rŽ   ra   rb   s   @r;   rÂ   rÂ   ë   sì   ø€ € € € € ð>˜{ð >ð >ð >ð >ð >ð >ð .2Ø.2Ø04Ø(,Ø26Ø!%ð;
ð ;
àÔ# dÑ*ð;
ð œ tÑ+ð;
ð Ô&¨Ñ-ð	;
ð
  ™ð;
ð Ô(¨4Ñ/ð;
ð ˜$‘;ð;
ð Ð+Ô,ð;
ð 
!ð;
ð ;
ð ;
ð ;
ð ;
ð ;
ð ;
ð ;
r=   rÂ   c                   ó   — e Zd ZdS )ÚOlmo3ForCausalLMNre   r8   r=   r;   rÞ   rÞ   2  rf   r=   rÞ   c                   ó   — e Zd ZdS )ÚOlmo3ForSequenceClassificationNre   r8   r=   r;   rà   rà   6  rf   r=   rà   )r"   rÞ   rà   rÂ   r·   )8Úcollections.abcr   Útypingr   r�   Útorch.nnrÉ   Úhuggingface_hub.dataclassesr   Ú r   r»   Úcache_utilsr   r	   Úmasking_utilsr
   r   Úmodeling_outputsr   Úmodeling_rope_utilsr   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   Úutils.genericr   r   Úgemma3.modeling_gemma3r   Úolmo2.configuration_olmo2r   Úolmo2.modeling_olmo2r   r   r   r   r   r   r   r   r   r"   rd   rh   r”   r–   r·   rÂ   rÞ   rà   Ú__all__r8   r=   r;   ú<module>rò      sx  ðð %Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à &Ð &Ð &Ð &Ð &Ð &Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø :Ð :Ð :Ð :Ð :Ð :Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð €Ð7Ð8Ñ8Ô8ØðKð Kð Kð Kð K�+ñ Kô Kñ „ñ 9Ô8ðKð\	ð 	ð 	ð 	ð 	�<ñ 	ô 	ð 	ð1)ð 1)ð 1)ð 1)ð 1)�^ñ 1)ô 1)ð 1)ðh	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ðð ð ð ð Ð0ñ ô ð ð>
^ð 
^ð 
^ð 
^ð 
^Ð/ñ 
^ô 
^ð 
^ð D
ð D
ð D
ð D
ð D
�ñ D
ô D
ð D
ðN	ð 	ð 	ð 	ð 	Ð'ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð%Cñ 	ô 	ð 	ðð ð €€€r=   