+
    Pƒ¿ja%  ã                   ó"  € ^ RI HtHtHtHtHt ^ RIHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHt ^ R	IHtHtHt ^ R
IHt ^ RIHtHt ]! RR7      t]! ]! ]! R4      4      .R7      t R R lt!R R lt"] PG                  R]R7      ]! ]4      3R R ll4       t$] PK                  R4      ]! R4      ]! R4      ]! R4      ]! R4      ]! ]4      3R R ll4       t&] PK                  R4      ]! R4      ]! R4      ]! R4      ]! R 4      ]! R4      ]! R4      ]! R!4      ]! R4      ]! ]4      3	R" R# ll4       t'] PK                  R$4      ]! R4      ]! R4      ]! ]4      3R% R& ll4       t(] PK                  R'4      ]! R4      ]! ]4      3R( R) ll4       t)] PK                  R*4      ]! R4      ]! R4      ]! R4      ]! R4      ]! ]4      3R+ R, ll4       t*] PG                  R-4      ]! ]4      3R. R/ ll4       t+] PK                  R04      ]! ]4      3R1 R2 ll4       t,] PK                  R34      ]! ]4      3R4 R5 ll4       t-] PG                  R6]	R7      ]! ]4      3R7 R8 ll4       t.] PG                  R9]R7      R:]! ]4      3R; R< ll4       t/R# )=é    )Ú	APIRouterÚDependsÚHTTPExceptionÚRequestÚForm)ÚHTMLResponseÚRedirectResponseÚJSONResponse)ÚJinja2Templates)Úselect©ÚAsyncSessionN)Úget_db)Úrequire_roles)Ú	OLTDeviceÚMikrotikDeviceÚDeviceCredential©Útest_pinned_ssh_identity)ÚRealMikrotikAdapterÚMikrotikProvisioningErrorzapp/templates)Ú	directoryÚadmin)Údependenciesc                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚhostÚport)ÚstrÚint)Úformats   "Ú+/var/www/html/bestweb/app/routes/devices.pyÚ__annotate__r#      s   € ÷ 
'ñ 
'œ3ð 
'¤cñ 
'ó    c              ƒ   óÂ  "  € R p \         P                  ! W4      G R j  x€L
 w  r2RVe*   VP                  4        VP                  4       G R j  x€L
  # #  L5 L  \         dF   pR\        T4      3u R p?Te+   TP                  4        TP                  4       G R j  x€L 
  # # R p?ii ; i  Te+   TP                  4        TP                  4       G R j  x€L 
  i i ; i5i)NF)TN)ÚasyncioÚopen_connectionÚcloseÚwait_closedÚOSErrorr   )r   r   ÚwriterÚ_Úexcs   &&   r"   Ú
_probe_tcpr.      sÇ   é € Ø€Fð'Ü!×1Ò1°$Ó=×=‰	ˆØð ÒØ�L‰LŒNØ×$Ñ$Ó&×&Ñ&ð ñ >ñ 'øô ô Ø”c˜#“hˆÔàÒØ�L‰LŒNØ×$Ñ$Ó&×&Ò&ð ûðûð ÒØ�L‰LŒNØ×$Ñ$Ó&×&Ò&ð üs   ‚C†A ŸA A §'CÁAÁCÁA ÁCÁB)Á$B$Á0B)Á1B, Á5'CÂBÂCÂ$B)Â)B, Â,(CÃCÃCÃCc                ó0   € V ^8„  d   QhR\         R\        /# )r   ÚokÚmessage)Úboolr   )r!   s   "r"   r#   r#   !   s   € ÷ Kñ K”Dð K¤3ñ Kr$   c                 ó$   € \        R V RVRV/4      # )r0   r1   Údetail)r
   )r0   r1   s   &&r"   Ú_json_prober5   !   s   € Ü˜˜r 9¨g°xÀÐIÓJÐJr$   ú/devices)Úresponse_classc                ó0   € V ^8„  d   QhR\         R\        /# )r   ÚrequestÚdb)r   r   )r!   s   "r"   r#   r#   '   s   € ÷ ñ ¤ð ¬\ñ r$   c              ƒ   ó2  "  € VP                  \        \        4      P                  \        P                  4      4      G R j  x€L
 P                  4       P                  4       pVP                  \        \        4      P                  \        P                  4      4      G R j  x€L
 P                  4       P                  4       pVP                  \        \        4      P                  \        P                  4      4      G R j  x€L
 P                  4       P                  4       p\        P                  T RRTRTRV Uu. uF  qUP                  R8X  g   K  VNK  	  upRV Uu. uF  qUP                  R8X  g   K  VNK  	  upRR	/R
7      #  ELE Lè L‹u upi u upi 5i)Nzdevices.htmlÚ	mikrotiksÚoltsÚmikrotik_credentialszmikrotik-apiÚolt_credentialsÚsshÚvault_errorF©r9   ÚnameÚcontext)Úexecuter   r   Úorder_byrC   ÚscalarsÚallr   r   Ú	templatesÚTemplateResponseÚprotocol)r9   r:   r<   r=   ÚcredentialsÚcs   &&    r"   Údevices_pagerN   &   s5  é € à—z‘z¤&¬Ó"8×"AÑ"AÄ.×BUÑBUÓ"VÓW×W×`Ñ`Ób×fÑfÓh€IØ—*‘*œV¤IÓ.×7Ñ7¼	¿¹ÓGÓH×H×QÑQÓS×WÑWÓY€DØŸ™¤FÔ+;Ó$<×$EÑ$EÔFV×F[ÑF[Ó$\Ó]×]×fÑfÓh×lÑlÓn€KÜ×%Ñ%ØØà˜Ø�DØ"±Ó$\±¨1¿z¹zÈ^Ñ?[§Q Q±Ñ$\Ø©;ÓN©; a¿*¹*ÈÑ:M§ ©;ÑNØ˜5ð
ð &ó 
ð 
ò XÙHÙ]ùò %]ùÚNùsa   ‚?FÁFÁAFÂ F	Â!AFÃ?FÄ :FÄ:FÅFÅFÅFÅ5FÅ;FÆ	FÆFÆ
Fz/devices/mikrotik.é"  Ú c          
      óT   € V ^8„  d   QhR\         R\         R\        R\         R\        /# )r   rC   r   Úapi_portÚarear:   ©r   r    r   )r!   s   "r"   r#   r#   9   s4   € ÷ 9ñ 9Ü
ð9Ü!$ð9Ü<?ð9ä
ð9ä*ñ9r$   c           	   ƒ   óæ   "  € VP                  \        V P                  4       VP                  4       W#P                  4       R 7      4       VP                  4       G Rj  x€L
  \	        RRR7      #  L5i))rC   r   rR   rS   Nr6   é/  ©Ústatus_code)Úaddr   ÚstripÚcommitr	   )rC   r   rR   rS   r:   s   &&&&&r"   Úadd_mikrotikr\   8   sR   é € ð
 ‡F�FŒ>˜tŸz™z›|°$·*±*³,È×XbÑXbÓXdÔeÔfØ
�)‰)‹+×ÐÜ˜J°CÔ8Ð8ñ ùs   ‚AA1ÁA/ÁA1z/devices/oltzC-DATAz
FD1601S-B1r@   c                ó’   € V ^8„  d   QhR\         R\         R\         R\         R\         R\         R\         R\        R	,          R
\        /	# )r   rC   r   ÚvendorÚmodelÚlocationÚpop_nameÚmanagement_protocolrR   Nr:   rT   )r!   s   "r"   r#   r#   C   s^   € ÷ 
9ñ 
9Ü
ð
9Ü!$ð
9Ü:=ð
9äð
9ä/2ð
9äILð
9ô ð
9ô 7:¸Dµjð
9ô 	ñ	
9r$   c	              ƒ   ót  "  € TP                  \        V P                  4       VP                  4       VP                  4       VP                  4       VP                  4       VP                  4       VP                  4       T;'       g    ^R7      4       VP                  4       G Rj  x€L
  \	        RRR7      #  L5i)é   )rC   r   r^   r_   r`   ra   rb   rR   Nr6   rV   rW   )rY   r   rZ   r[   r	   )	rC   r   r^   r_   r`   ra   rb   rR   r:   s	   &&&&&&&&&r"   Úadd_oltre   B   s‹   é € ð ‡F�FŒ9˜$Ÿ*™*›,¨T¯Z©Z«\À&Ç,Á,Ã.ÐX]×XcÑXcÓXeØ&Ÿn™nÓ.¸¿¹Ó9IØ)<×)BÑ)BÓ)DÈxÏ~È~Ð[]ô_ô `ð �)‰)‹+×ÐÜ˜J°CÔ8Ð8ñ ùs   ‚B"B8Â$B6Â%B8z/devices/olt/{device_id}/updatec                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r   Ú	device_idr^   r_   r:   )r    r   r   )r!   s   "r"   r#   r#   Q   s)   € ÷ 9ñ 9¤ð 9¬Sð 9ÄSð 9ÔZfñ 9r$   c              ƒ   ó  "  € VP                  \        V 4      G R j  x€L
 pV'       g   \        RR4      hVP                  4       VP                  4       uVn        Vn        VP                  4       G R j  x€L
  \        RRR7      #  Lh L5i)Né”  úOLT tidak ditemukanr6   rV   rW   )Úgetr   r   rZ   r^   r_   r[   r	   )rg   r^   r_   r:   Údevices   &&&& r"   Ú
update_oltrm   P   sk   é € à—6‘6œ) YÓ/×/€FßÜ˜CÐ!6Ó7Ð7Ø"(§,¡,£.°%·+±+³-Ð€F„M�6”<Ø
�)‰)‹+×ÐÜ˜J°CÔ8Ð8ñ 0ñ ùs'   ‚B	œB�B	©A
B	Á3BÁ4B	ÂB	z-/devices/{device_kind}/{device_id}/credentialc                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r   Údevice_kindrg   Úcredential_idr:   rT   )r!   s   "r"   r#   r#   [   s)   € ÷ 
9ñ 
9¬ð 
9¼ð 
9ÌSð 
9Ôbnñ 
9r$   c              ƒ   ó€  "  € V R 8X  d   \         MV R8X  d   \        MRpVf   \        RR4      hVP                  WA4      G Rj  x€L
 pVP                  \        V4      G Rj  x€L
 pV'       d	   V'       g   \        RR4      hVP
                  Vn        VP                  4       G Rj  x€L
  \        RRR	7      #  Lt LX L5i)
ÚoltÚmikrotikNé�  úJenis perangkat tidak validri   z)Perangkat atau credential tidak ditemukanr6   rV   rW   )	r   r   r   rk   r   Úidrp   r[   r	   )ro   rg   rp   r:   r_   rl   Ú
credentials   &&&&   r"   Úassign_credentialrx   Z   sž   é € à$¨Ô-�IÀ[ÐT^ÔE^µ>Ðdh€EØ‚}Ü˜CÐ!>Ó?Ð?Ø—6‘6˜%Ó+×+€FØ—v‘vÔ.°Ó>×>€JßŸÜ˜CÐ!LÓMÐMØ%Ÿ=™=€FÔØ
�)‰)‹+×ÐÜ˜J°CÔ8Ð8ñ ,Ù>ñ ùsB   ‚AB>ÁB8ÁB>Á!B:Á"B>Á.B>Á60B>Â&B<Â'B>Â:B>Â<B>z/devices/credentialsc          
      óT   € V ^8„  d   QhR\         R\         R\         R\         R\        /# )r   rC   rK   ÚusernameÚsecretr:   )r   r   )r!   s   "r"   r#   r#   i   s4   € ÷ 9ñ 9Ü
ð9Ü%(ð9Ü@Cð9äð9ä!-ñ9r$   c           
   ƒ   ó   "  € ^ RI Hp VP                  \        V P	                  4       VP	                  4       VP	                  4       V! V4      R7      4       VP                  4       G Rj  x€L
  \        RRR7      #  L5i)r   )Úencrypt_secret)rC   rK   rz   Úencrypted_secretNr6   rV   rW   )Úapp.core.device_credentialsr}   rY   r   rZ   r[   r	   )rC   rK   rz   r{   r:   r}   s   &&&&& r"   Úcreate_credentialr€   h   sf   é € õ
 ;Ø‡F�FÔ §¡£¸¿¹Ó8HÐS[×SaÑSaÓScÙ-;¸FÓ-CôEô Fà
�)‰)‹+×ÐÜ˜J°CÔ8Ð8ñ ùs   ‚A(A>Á*A<Á+A>z/api/voucher-sync/healthc                ó$   € V ^8„  d   QhR\         /# ©r   r:   r   )r!   s   "r"   r#   r#   u   s   € ÷ 4ñ 4¤,ñ 4r$   c              ƒ  ó6   "  € ^ RI Hp \        V! 4       4      # 5i)zELive health of the voucher reconciliation path (device reachability).)Úvoucher_reconcile_health)Úapp.core.status_monitorr„   r
   )r:   r„   s   & r"   Úvoucher_sync_healthr†   t   s   é € õ AÜÑ0Ó2Ó3Ð3ùs   ‚z+/devices/mikrotik/{device_id}/test-routerosc                ó0   € V ^8„  d   QhR\         R\        /# )r   rg   r:   )r    r   )r!   s   "r"   r#   r#   |   s   € ÷  Gñ  G¬ð  G´,ñ  Gr$   c           
   ƒ  óÆ  "  € VP                  \        V 4      G Rj  x€L
 pV'       g   \        RR4      # VP                  '       g   \        RR4      # VP                  \        VP                  4      G Rj  x€L
 pV'       d   VP
                  '       g   \        RR4      # ^ RIHpHp  V! VP                  RVP                   2R7      p\        TP                  TP                  TTP                  ;'       g    R	R
7      p \         P"                  ! TP$                  4      G Rj  x€L
 p	\        RR\+        T	4       RTP                   RTP                  ;'       g    R	 R24      #  ELL Lô  T d    p\        R\        T4      4      u Rp?# Rp?ii ; i Lo  \&         d   p\        RRT 24      u Rp?# Rp?i\(         d   p\        RRT 24      u Rp?# Rp?ii ; i5i)zGVerify the stored credential really authenticates against RouterOS API.NFz#Perangkat MikroTik tidak ditemukan.z6Belum ada kredensial yang ditugaskan ke perangkat ini.z!Kredensial perangkat tidak aktif.)Údecrypt_secret_strictÚSecretDecryptionErrorzKredensial )ÚlabelrO   )r   rz   ÚpasswordrR   zLogin RouterOS gagal: zGagal menghubungi perangkat: TzLogin RouterOS berhasil. z hotspot user terbaca di Ú:Ú.)rk   r   r5   rp   r   Ú	is_activeÚapp.core.secretsr‰   rŠ   r~   rC   r   r   r   rz   rR   r&   Ú	to_threadÚlist_hotspot_usersr   Ú	ExceptionÚlen)
rg   r:   rl   rw   r‰   rŠ   rŒ   r-   ÚadapterÚrowss
   &&        r"   Útest_routeros_loginr—   {   sÌ  é € ð —6‘6œ.¨)Ó4×4€FßÜ˜5Ð"GÓHÐHØ××ÐÜ˜5Ð"ZÓ[Ð[à—v‘vÔ.°×0DÑ0DÓE×E€Jß˜:×/×/Ð/Ü˜5Ð"EÓFÐFçMð,Ù(Ø×'Ñ'°¸Z¿_¹_Ð<MÐ/Nô
ˆô "Ø�[‰[Ø×$Ñ$ØØ—‘×(Ð( Dô	€GðIÜ×&Ò& w×'AÑ'AÓB×Bˆô
 �tÐ8¼¸T»¸ÐC\Ð]c×]hÑ]hÐ\iÐijÐkq×kzÑkz÷  lCð  lCð  Cð  kDð  DEð  Fó  Gð  Gò= 5ñ Føð !ô ,Ü˜5¤# c£(Ó+Õ+ûð,úñ CøÜ$ô BÜ˜5Ð$:¸3¸%Ð"@ÓAÕAûÜô IÜ˜5Ð$AÀ#ÀÐ"GÓHÕHûðIüsÔ   ‚G!œE(�G!©G!Á/G!Á6E+Á7G!ÂG!ÂG!Â*!E- Ã.G!Ã:G!Ä#F Ä&FÄ'F Ä+2G!ÅG!Å+G!Å-FÅ4FÆFÆ	G!ÆFÆG!ÆF ÆGÆ#F7Æ1GÆ2G!Æ7GÇGÇGÇGÇG!ÇGÇG!z2/devices/{device_kind}/{device_id}/test-connectionc                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   ro   rg   r:   rT   )r!   s   "r"   r#   r#       s&   € ÷ vñ v¤sð v´sð vÄñ vr$   c           
   ƒ   óú  "  € V R 8X  d   \         MV R8X  d   \        MRpVf   \        RR4      hVP                  W14      G Rj  x€L
 pV'       g   \        RR4      hVP                  ;'       g    V R 8X  d   ^MRp\        VP                  V4      G Rj  x€L
 w  rgV'       d*   \        RVP                   R	VP                   R
V R24      # \        RVP                   R	VP                   R
V RV 24      #  L³ Ld5i)rr   rs   Nrt   ru   ri   zPerangkat tidak ditemukanrO   Tz: port management r�   zJ dapat dijangkau pada level TCP. Protokol dan login perangkat belum diuji.Fz tidak dapat dijangkau: )	r   r   r   rk   rR   r.   r   r5   rC   )ro   rg   r:   r_   rl   r   r0   r4   s   &&&     r"   Útest_connectionrš   Ÿ   sø   é € à$¨Ô-�IÀ[ÐT^ÔE^µ>Ðdh€EØ‚}Ü˜CÐ!>Ó?Ð?Ø—6‘6˜%Ó+×+€FßÜ˜CÐ!<Ó=Ð=Ø�?‰?×DÐD [°EÔ%9™r¸t€DÜ! &§+¡+¨tÓ4×4�J€Bß	Ü˜4 F§K¡K =Ð0BÀ6Ç;Á;À-ÈqÐQUÐPVð  Wað  "bó  cð  	cÜ�u §¡ Ð-?ÀÇÁ¸}ÈAÈdÈVÐSkÐlrÐksÐtÓuÐuñ ,ñ 5ùs1   ‚AC;ÁC7ÁC;ÁC;Á/%C;ÂC9ÂA#C;Ã9C;z/devices/olt/identityc                ó$   € V ^8„  d   QhR\         /# r‚   r   )r!   s   "r"   r#   r#   °   s   € ÷ 	pñ 	p¬|ñ 	pr$   c              ƒ   óÞ  "  € V P                  \        \        4      P                  \        P                  R 8H  4      P                  \        P                  4      4      G Rj  x€L
 P                  4       P                  4       pV'       d   VP                  '       g   \        RR4      # V P                  \        VP                  4      G Rj  x€L
 p\        P                  ! RVP                   R24      p^ RIHp T! VP"                  VP$                  ;'       g    ^VP&                  VP(                  VR7      p\+        RVP,                  R	VP.                  R
VP0                  /4      #  EL LŸ5i)TNFz-OLT aktif atau credential SSH belum tersedia.ÚOLT_Ú_SSH_HOST_KEY_SHA256r   )r   r   rz   r~   Úexpected_host_key_fingerprintr0   r1   Úfingerprint)rE   r   r   Úwherer�   rF   rv   rG   Úfirstrp   r5   rk   r   ÚosÚgetenvÚapp.core.ssh_identityr   r   rR   rz   r~   r
   r0   r1   Úserver_fingerprint)r:   rr   rw   Úexpectedr   Úresults   &     r"   Ú test_assigned_cdata_ssh_identityr©   ¯   s  é € à—‘œF¤9Ó-×3Ñ3´I×4GÑ4GÈ4Ñ4OÓP×YÑYÔZc×ZfÑZfÓgÓh×h×
qÑ
qÓ
s×
yÑ
yÓ
{€Cß�c×'×'Ð'Ü˜5Ð"QÓRÐRØ—v‘vÔ.°×0AÑ0AÓB×B€JÜ�yŠy˜4 §¡˜xÐ';Ð<Ó=€HÝ>Ù%¨3¯8©8¸#¿,¹,×:LÐ:LÈ"ÐWa×WjÑWjØ#×4Ñ4ÐT\ô^€Fä˜˜vŸy™y¨)°V·^±^À]ÐTZ×TmÑTmÐnÓoÐoò iñ Cùs8   ‚AE-Á!E(Á"'E-Â
E-Â/E-ÃE+ÃAE-ÄAE-Å+E-z/devices/olt/{olt_id}/ontsz0/0/1c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r   Úolt_idr9   Úpon_portr:   )r    r   r   r   )r!   s   "r"   r#   r#   ½   s/   € ÷ Rñ R¤ð R¬gð RÄð RÔT`ñ Rr$   c              ƒ   ó   "  € VP                  \        V 4      G R j  x€L
 pV'       g   \        RR4      hVP                  '       d)   VP                  \        VP                  4      G R j  x€L
 MR pR p. pV'       g   RpMG ^ RIHp T! VP                  VP                  ;'       g    ^VP                  VP                  RVR7      p\        P                  VRRVR	VR
VRV/R7      #  LÊ L~  \         d   p	\        T	4      p R p	?	L?R p	?	ii ; i5i)Nri   rj   z"Credential SSH OLT belum dipasang.)Údiscover_unregistered_ontsz+I/zDmJGfTPy3NkMNPghkjawVdeI357pJ/k+xm2qtLdY)r   r   rz   r~   Úpinned_host_keyr¬   zont_list.htmlrr   Úontsr¬   ÚerrorrB   )rk   r   r   rp   r   Ú app.core.cdata_fd1601s_discoveryr®   r   rR   rz   r~   r“   r   rI   rJ   )
r«   r9   r¬   r:   rr   Úcredr±   r°   r®   r-   s
   &&&&      r"   Úlist_olt_ontsr´   ¼   sú   é € à—‘”y &Ó)×
)€CßÜ˜CÐ!6Ó7Ð7Ø@C×@Q×@QÐ@Q�—‘Ô(¨#×*;Ñ*;Ó<×<Ð<ÐW[€DØ€EØ€DßØ4‰ð	ÝSÙ-°3·8±8À#Ç,Á,×BTÐBTÐRTØŸ™¸×9NÑ9NØ MØ!ô#ˆDô ×%Ñ%¨g¸OØ˜˜V T¨:°xÀÈ%ÐPð &ó Rð Rñ# *ñ =øô ô 	Ü˜“H�Eûð	üsb   ‚DœC'�D©DÁ#DÁ*C)Á+DÁ=DÂ%C+ Â' C+ Ã!DÃ)DÃ+DÃ6DÄDÄDÄD)0Úfastapir   r   r   r   r   Úfastapi.responsesr   r	   r
   Úfastapi.templatingr   Ú
sqlalchemyr   Úsqlalchemy.ext.asyncior   r&   r£   Úapp.core.databaser   Úapp.core.securityr   Úapp.models.modelsr   r   r   r¥   r   Úapp.core.mikrotikr   r   rI   Úrouterr.   r5   rk   rN   Úpostr\   re   rm   rx   r€   r†   r—   rš   r©   r´   © r$   r"   Ú<module>rÁ      s™  ðß DÕ Dß JÑ JÝ .Ý Ý /Û Û 	å $Ý +ß IÑ IÝ :ß Lñ  oÔ6€	Ù	¡©°wÓ)?Ó!@Ð AÔ	B€õ
'õKð
 ‡�ˆJ |€Ó4Ù<CÀF»Oö ó 5ðð" ‡�Ð Ó!á�S“	¡t¨C£yÁ$ÀtÃ*Ù�R“©W°V«_ö9ó "ð9ð ‡�ˆ^Óá�S“	¡t¨C£yÁÀXÃÙ�lÓ#±T¸"³XÉtÐTVËxÙ# E›{Á4ÈÃ:Ù˜v“ö	
9ó ð
9ð ‡�Ð.Ó/Ù37¸³9É4ÐPSË9ÑipÐqwÓixö 9ó 0ð9ð ‡�Ð<Ó=ÙSWÐX[ÓS\ÑqxÐyó  rAö 
9ó >ð
9ð ‡�Ð#Ó$á�S“	©4°«9ÁdÈ3ÃiÙ�s“)±¸³ö9ó %ð9ð ‡�Ð&Ó'Ù18¸³ö 4ó (ð4ð ‡�Ð:Ó;ÙAHÈÃö  Gó <ð GðF ‡�ÐAÓBÙOVÐW]Ëö vó Cðvð ‡�Ð#°L€ÓAÙ>EÀf»oö 	pó Bð	pð ‡�Ð(¸€ÓFØGNÑcjÐkqÓcrö Ró GòRr$   