ó
    DÒja	  ã            
       ó¶  • S r SSKJr  S r/ r0 r\ HÁ  r\S   (       a  \S   (       a
  \S   " 5       O/ r\ H  r\S   \S'   M     \\\S   '   \R                  5        V Vs0 s H  u  pU S:w  d  M  X_M     snn r
\
R                  \" \R                  S5      5      \" \5      \" S	 \ 5       5      \" S
 \ 5       5      S9  \R                  \
5        MÃ     \ Vs/ s H  o"S   (       d  M  US   PM     snr\ VVs/ s H  n\U     H  oDPM     M     snnr0 0 0 srrr\" 5       r\ H‘  r\S   \;  d   S\S    35       e\R/                  \S   5        \S    H[  r\S   \;  d   S\S    35       e\\\S   '   \S    H1  r\S   \;  d   S\S    35       e\S   \4\\S   '   \S   \\S   '   M3     M]     M“     S rS rSS jrgs  snn f s  snf s  snnf )z[The whole curriculum, built once at import time, organised by course level (see levels.py).é   )ÚLEVELSc                 ó2   • U (       a  U S::  a  gU S::  a  S$ S$ )zDAge group that sets the look, wording, ranks and avatars of a level.é	   Úkidsé   ÚjuniorÚteen© )Úages    Ú+F:\Yaseen\AI\French2\curriculum\__init__.pyÚband_ofr      s   € æ�#˜“(ØØ˜b“yˆ8Ð, fÐ,ó    Ú	availableÚbuildÚidÚlevelr   c              #   ó>   #   • U  H  n[        US    5      v •  M     g7f)ÚlessonsN©Úlen)Ú.0Úus     r   Ú	<genexpr>r      s"   é € ÐLoÒhnÐcdÌSÐQRÐS\ÑQ]×M^ÐM^Òhnùs   ‚c              #   óV   #   • U  H  oS      H  n[        US   5      v •  M     M!     g7f)r   Ú
activitiesNr   )r   r   Úls      r   r   r      s(   é € Ð[ºf¸ÐPYÍlÈ¤ A l¡O× 4Ð 4ÉlÑ 4ºfùs   ‚'))ÚbandÚunitsr   r   zduplicate unit id r   zduplicate lesson id r   zduplicate activity id c                 ó8   ^ • [        U 4S j[         5       S 5      $ )Nc              3   ó<   >#   • U  H  oS    T:X  d  M  Uv •  M     g7f)r   Nr
   )r   r   Úlevel_ids     €r   r   Úlevel.<locals>.<genexpr>*   s   øé € Ð:šF�q¨¡g°Ñ&9—‘šFùs   ƒ“	)Únextr   ©r!   s   `r   r   r   )   s   ø€ ÜÔ:�FÓ:¸DÓAÐAr   c                 ó.   • [         R                  U / 5      $ )N)ÚBY_LEVELÚgetr$   s    r   Úunits_ofr(   -   s   € Ü�<‰<˜ "Ó%Ð%r   c                 óê  • [        U 5       VVVVVs/ s H³  n[        UR                  5        VVs0 s H  u  p#US:w  d  M  X#_M     snnUS    VVVVs/ s Hf  n[        UR                  5        VVs0 s H  u  p#US:w  d  M  X#_M     snnUS    Vs/ s H  n[        US   US   US   US   US   S9PM!     snS	9PMh     snnnnS
9PMµ     snnnnn$ s  snnf s  snnf s  snf s  snnnnf s  snnnnnf )zFUnits/lessons of one level without activity data (for the dashboards).r   r   r   ÚtypeÚtitleÚtitle_arÚpoints)r   r*   r+   r,   r-   )r   )r   )r(   ÚdictÚitems)r!   r   ÚkÚvr   Úas         r   Úoutliner3   1   s  € ô
 hpÐpxÔgy÷{ò hzÐbcô  1§7¡7¤9Ô?¢9™4˜1°°Y±“$�!’$¡9Ò?ð PQÐQZÊ|ö]âO[È!ô °·±´ÔP²©¨¸aÀ<Ñ>O£ ¢±ÒPà45°l²Oó+EÚ4C¨qô ,0°1°T±7ÀÀ6ÁÐRSÐT[ÑR\ÐghÐisÑgtÐ}~ð  @Hñ  ~Iô  ,JÙ4Cñ+EôFáO[ô]ô^ñ hzõ{ð {ùÓ?ùÛPùò+Eùõ]ùö{sR   ’C,°CÁ CÁC,ÁC$Á1C*ÂC*Â
C$Â&C*Â7	C$Ã C,ÃC,ÃC$Ã$C,N)r   )Ú__doc__Úlevelsr   Ú_LEVELSr   r&   Ú_lÚ_unitsÚ_ur/   Ú_metaÚupdater'   r   ÚsumÚappendÚ	AVAILABLEÚUNITSÚLESSONSÚ
ACTIVITIESÚLEVEL_OF_ACTIVITYÚsetÚ	_unit_idsÚaddÚ_lsÚ_ar   r(   r3   )r0   r1   r   Úlidr   s   00000r   Ú<module>rI      s&  ðá aÝ %ò-ð 
€Ø€Û
€BØ  Ÿo°"°W·+ˆR�Š[Œ]À2€FÛˆØ˜‘hˆˆ7‹ñ à€HˆR�‰XÑØ Ÿh™hœjÔ9šj‘d�a¨A°©L‹TˆQŠT™jÒ9€EØ	‡L�L‘g˜bŸf™f U›mÓ,±C¸³KÉÑLoÑhnÓLoÓIoÙÑ[¹fÓ[Ó[ð ñ ]à
‡M�M�%Öñ ñ %Ó7šf˜¨+­‹WˆQˆtŒW™fÑ7€	ÙÔ7’iˆs¨°#­ AŠ©‰‘iÒ7€à)+¨R°Ð &€ˆÐ&Ù‹E€	Û
€BØˆd‰8˜9Ó$ÐEÐ(:¸2¸d¹8¸*Ð&EÓEÐ$Ø‡M�M�"�T‘(ÔØ�)Œ}ˆØ�4‰y Ó'ÐKÐ+?ÀÀDÁ	¸{Ð)KÓKÐ'Ø ˆ��D‘	ÑØ�lÔ#ˆBØ�d‘8 :Ó-ÐRÐ1GÈÈ4ÉÀzÐ/RÓRÐ-Ø$'¨¡I¨r ?ˆJ�r˜$‘xÑ Ø*,¨W©+Ð˜b ™hÓ'ó $ó ñ òBò&õ{ùó= :ùò
 8ùÛ7s   Á!G
Á1G
ÃGÃ,	GÃ=G