+
    Zi jýH  ã                   óº  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  P                  ]P                  P                  ]
4      4      t]P                  P                  ]4      t]P                  P                  ]R4      t]P                  P                  ]R4      tR tR tR tR tRR	R
RRRRRRR/tRRRRRRRRRRRRRR/tR  tR!RR"RR#RR$RR%RR&RR'RR(R/tRQR)RRR*RSR+RTR,/tR- tR. tR/ t]R08X  Edb   ]! ]P<                  4      ^8”  d   ]P<                  ^,          M]P                  P                  ]R14      t]! ]4      t ]! 4       t!]! ] ]!4      w  t"t#t$t% ]&! R3 ] PO                  4        4       4      t(])! R4]( R5]! ]"4       R6]! ]#4       R724       ]PT                  ! R8 ]" 4       4      t+] PY                  4        FE  w  t-t.]&! R9 ].PO                  4        4       4      t/])! R:]-R; R<]+Pa                  ]-^ 4       R=]/ 24       KG  	  ])! R>4       ]1! ]$PY                  4       4       F  w  w  t-t2t/])! R:]-R; ]2R? ]/ 24       K  	  ]%'       dR   ])! R@]! ]%4       RA24       ]%RB,           F  t3])! RC]34       K  	  ]! ]%4      ^8”  d   ])! RD]! ]%4      ^,
           RE24       ]#'       dH   ])! RF4       ]#RG,           F  t3])! RC]34       K  	  ]! ]#4      ^(8”  d   ])! RD]! ]#4      ^(,
           RE24       ]P                  P                  ]RH4      t4]Pj                  ! RI]! ]"4      RJ]"RK]#/]6! ]4RLRMRN7      R2^RO7       ])! RP]P                  Po                  ]4]4      4       R# R# )Uuš  æŠŠã€Œç»„å�·å�°çš„ä¸“é¢˜èŠ‚ã€�å¯¹åˆ°ã€Œ_ä¸“é¢˜æ‹†åˆ†/ é‡Œçš„æˆ�å“�æ–‡ä»¶ã€�ï¼Œäº§å‡º _ç»„å�·å�°æ˜ å°„.jsonã€‚

## ä¸ºä»€ä¹ˆè¦�å�•ç‹¬ä¸€æ­¥
ç»„å�·å�°çš„ä¸“é¢˜å��ï¼ˆCOURSE æ ‘é‡Œçš„ cdï¼‰å’Œæ‹†åˆ†æ–‡ä»¶å��ä¸�æ˜¯å�Œä¸€å¥—å†™æ³•ï¼š
    ç»„å�·å�°  ã€Œç¬¬20è®²Â·å¯¹ç­–é—®é¢˜ã€�   æ‹†åˆ†ç‰ˆ ã€ŒåŠ¨è„‘ç­‹/ä¸‰å¹´çº§/ä¸‰å¹´çº§ä¸‹/2.å¯¹ç­–é—®é¢˜.pdfã€�
    ç»„å�·å�°  ã€Œè®¡ç®—ï¼ˆä¸€ï¼‰Â·æ•´æ•°åŠ å‡�æ³•å·§ç®—ã€�â†’ èƒ¡å°�ç¾¤å�Œä¸€ä¸ªèŠ‚ä¸‹**å�Œæ—¶æœ‰**è®²ä¹‰å’Œè¯¾å�Žä¸¤ä¸ªæ–‡ä»¶
æ‰€ä»¥å…ˆç¦»çº¿æŠŠ 1920 ä¸ªèŠ‚é€�ä¸ªå¯¹ä¸Šå�·ã€�æŠŠå¯¹ä¸�ä¸Šçš„**æ‰“å�°å‡ºæ�¥**ï¼ˆä¸�é�™é»˜æ¼�ï¼‰ï¼Œ
æœ�åŠ¡ç«¯è¿�è¡Œæ—¶å�ªå�šä¸€æ¬¡å­—å…¸æŸ¥è¡¨ï¼Œé›¶çŒœæµ‹ã€‚

## æ�ƒå¨�æ�¥æº�
ç»„å�·å�°çš„ COURSE æ ‘ç›´æŽ¥ä»Ž ç»„å�·å�°.html é‡ŒæŠ ï¼ˆå°±æ˜¯ä¸‹æ‹‰æ¡†çœŸæ­£ä¼šé€�ä¸Šæ�¥çš„ tb/gg/cd ä¸‰å…ƒç»„ï¼‰ï¼Œ
ä¸�é� é‡�æ–°æŽ¨å¯¼ â€”â€” é�¿å…�ã€Œæˆ‘ä»¥ä¸ºçš„ä¸“é¢˜å��ã€�å’Œã€Œé¡µé�¢ä¸Šçš„ä¸“é¢˜å��ã€�å¯¹ä¸�ä¸Šã€‚

ç”¨æ³•ï¼špython3 build_precut_map.py [ç»„å�·å�°.html]
Nu   æº�é¢˜æ–‡ä»¶u   _ä¸“é¢˜æ‹†åˆ†c                ó   € \        T ;'       g    R4      p \        P                  ! RRV 4      p \        P                  ! RRV 4      p V P                  RR4      P                  RR	4      p \        P                  ! R
RV 4      # )uP   æ¯”å��å­—ç”¨ï¼šåŽ»ç©ºç™½/å…¨å�Šè§’æ‹¬å�·å·®å¼‚/æ ‡ç‚¹ï¼Œå�ªç•™å�¯æ¯”çš„æ ¸å¿ƒã€‚Ú u   [ï¼ˆ(]Ú(u   [ï¼‰)]Ú)u   ï¼šÚ:u   ï¼ŒÚ,u   [\sã€€Â·ã€�])ÚstrÚreÚsubÚreplace)Úss   &ôX   /Users/luyan/Desktop/AI workspace/è¯¾ç¨‹è®¾è®¡æœºå™¨äºº/ç»„å�·ç³»ç»Ÿ/build_precut_map.pyÚnormr      sd   € äˆA�GˆG�‹€AÜ
�Šˆy˜#˜qÓ!€A¤r§v¢v¨i¸¸aÓ'@ 1Ø	�	‰	�%˜Ó×%Ñ% e¨SÓ1€AÜ�6Š6�/ 2 qÓ)Ð)ó    c                ó  € ^ RI p\        V R4      ;_uu_ 4       pVP                  VP                  4       ^ VP                  R7      pVP	                  R4      pTP	                  RV^ 8¼  d   TM^ 4      pV^ 8  g   V^ 8  d   \        R4      hW5VR,            P                  RR	4      pVP                  4        RRR4       \        P                  ! 4       P                  X\        R
4      4      ^ ,          #   + '       g   i     LE; i)uÆ   ä»Žç»„å�·å�° html é‡ŒæŠ  COURSE æ ‘ï¼ˆtb â†’ gg â†’ [[cs, cd, n, (group)]â€¦]ï¼‰ã€‚
âš  2026-09-09ï¼šhtml å·² 400+MBã€�COURSE åœ¨å‰� 1/4 å¤„ï¼Œã€Œè¯»å°¾ 200MBã€�æ‰¾ä¸�åˆ° â†’ mmap å…¨æ–‡ä»¶å®šä½�ã€‚NÚrb)Úaccesss   const DATA=[s	   , COURSE=u   æœªåœ¨ html é‡Œæ‰¾åˆ° COURSEi -1úutf-8Úignorez	, COURSE=)ÚmmapÚopenÚfilenoÚACCESS_READÚfindÚ
SystemExitÚdecodeÚcloseÚjsonÚJSONDecoderÚ
raw_decodeÚlen)Ú	html_pathr   ÚfÚmmÚiÚjÚbufs   &      r   Úload_courser'   "   sÏ   € ó Ü	ˆi˜×	Ô	 !Ø�Y‰Y�q—x‘x“z 1¨T×-=Ñ-=ˆYÓ>ˆØ�G‰G�OÓ$ˆØ�G‰G�L q¨A¤v¡!°1Ó5ˆØˆqŒ5�A˜”EÜÐ;Ó<Ð<Ø�1�z•>Ð"×)Ñ)¨'°8Ó<ˆØ
�‰Œ
÷ 
ô ×ÒÓ×(Ñ(¨¬c°+Ó.>Ó?ÀÕBÐB÷ 
×	ús   ™BC3Ã3D	c                  ó  € \         P                  ! \        \        P                  P                  \        R 4      RR7      4      R,          p \        P                  ! \        4      pV  F!  pWR,          ,          P                  V4       K#  	  V# )u   _ç´¢å¼•.jsonr   ©ÚencodingÚitemsÚtb)r   Úloadr   ÚosÚpathÚjoinÚOUTÚcollectionsÚdefaultdictÚlistÚappend)ÚdÚbyÚxs      r   Úload_manifestr9   1   s^   € Ü�	Š	”$”r—w‘w—|‘|¤C¨Ó8À7ÔKÓLÈWÕU€AÜ	×	 Ò	 ¤Ó	&€BÛˆØ
ˆT�7�×Ñ˜1Öñ à€Ir   c            
      ój  € / p \        \        P                  ! \        P                  P	                  \
        R RR4      4      4       F×  p\        P                  P                  V4      p\        R \        P                  ! \        P                  P	                  VR4      4       4       R4      pV'       g   Kq   \        P                  ! \        VRR7      4      ^ ,          pTP                  RR	4       R
TP                  RR	4       TP                  RR	4       2pY T&   KÙ  	  V #   \         d     Kë  i ; i)õ   æˆ�æžœu   ä¸€è¯¾ä¸€ç»ƒé¢˜åº“Ú*c              3   ó$   "  € T F  qx € K  	  R # 5i©N© )Ú.0Úps   & r   Ú	<genexpr>Úykl_gg2dir.<locals>.<genexpr>>   s   é € Ð_Ñ^˜”!Ó^ùs   ‚u"   ä¸€è¯¾ä¸€ç»ƒ_ç»“æž„åŒ–é¢˜ç›®*.jsonNr   r)   Úgrader   ô   Â·ÚeditionÚyear)ÚsortedÚglobr.   r/   r0   ÚROOTÚbasenameÚnextr   r-   r   Ú	ExceptionÚget)ÚmÚbdÚbookr"   ÚqÚggs         r   Ú
ykl_gg2dirrT   :   sö   € Ø
€AÜ”T—Y’YœrŸw™wŸ|™|¬D°(Ð<PÐRUÓVÓWÖXˆÜ�w‰w×Ñ Ó#ˆÜÑ_œTŸYšY¤r§w¡w§|¡|°BÐ8\Ó']Ô^Ó_ÐaeÓfˆßÙð	Ü—	’	œ$˜q¨7Ô3Ó4°QÕ7ˆAð —‘�g˜bÓ!Ð" " Q§U¡U¨9°RÓ%8Ð$9¸!¿%¹%ÀÀrÓ:JÐ9KÐLˆØˆ"‹ñ Yð €Høô	 ô 	Úð	ús   Â8(D#Ä#D2Ä1D2u   ä¸€Â·äºŒå¹´çº§úL1-2u	   ä¸‰å¹´çº§ÚL3u	   å››å¹´çº§ÚL4u	   äº”å¹´çº§ÚL5u	   å…­å¹´çº§ÚL6u   åˆ�ä¸€Â·åŸºç¡€u   åˆ�ä¸€L7åŸºç¡€è¯¾ç”µå­�èµ„æ–™u   åˆ�ä¸€Â·æ‹“å±•u   åˆ�ä¸€L7æ‹“å±•è¯¾ç”µå­�èµ„æ–™u   åˆ�äºŒÂ·åŸºç¡€u   åˆ�äºŒL8åŸºç¡€è¯¾ç”µå­�èµ„æ–™u   åˆ�äºŒÂ·æ‹“å±•u   åˆ�äºŒL8æ‹“å±•è¯¾ç”µå­�èµ„æ–™u   åˆ�ä¸‰Â·åŸºç¡€u   åˆ�ä¸‰L9åŸºç¡€è¯¾ç”µå­�èµ„æ–™u   åˆ�ä¸‰Â·æ‹“å±•u   åˆ�ä¸‰L9æ‹“å±•è¯¾ç”µå­�èµ„æ–™u   åˆ�ä¸­Â·ç»¼å�ˆu!   åˆ�ä¸­ç»¼å�ˆæ‹“å±•è¯¾ç”µå­�èµ„æ–™c                óL  € \        V 4      p\        P                  ! RV4      pV'       d5   \        VP	                  ^4      4      \        VP	                  ^4      4      3# \        P                  ! RV4      pV'       d5   \        VP	                  ^4      4      \        VP	                  ^4      4      3# \        P                  ! RV4      ;'       g    \        P                  ! RV4      pV'       d5   \        VP	                  ^4      4      \        VP	                  ^4      4      3# R# )uF   L7-L9 æ–‡ä»¶å�� â†’ (èµ·è®², æ­¢è®²)ã€‚è®¤ä¸�å‡ºè¿”å›ž (None, None)ã€‚u   ç»¼å�ˆ(\d+)è®²u,   (?<!\d)(\d{1,2})\s*[-~ï½ž]\s*(\d{1,2})(?!\d)z	_(\d{2})_u   ç¯‡_(\d{1,2})(?!\d))NN)r   r	   ÚsearchÚintÚgroup)ÚtitleÚtrO   s   &  r   Ú_jr_spanr`   R   sÆ   € äˆE‹
€AÜ
�	Š	Ð# QÓ'€Aß”�Q—W‘W˜Q“Z“¤# a§g¡g¨a£j£/Ð1Ð
1Ü
�	Š	ÐAÀ1ÓE€Aß”�Q—W‘W˜Q“Z“¤# a§g¡g¨a£j£/Ð1Ð
1Ü
�	Š	�, Ó"×JÐJ¤b§i¢iÐ0FÈÓ&J€Aß”�Q—W‘W˜Q“Z“¤# a§g¡g¨a£j£/Ð1Ð
1ØÐr   õ   ä¸‰ä¸Šu   ä¸‰ä¸‹õ   å››ä¸Šu   å››ä¸‹õ   äº”ä¸Šõ   äº”ä¸‹u   å…­ä¸Šu   å…­ä¸‹u   å‘¨æœŸé—®é¢˜ï¼ˆä¸€ï¼‰u   è¡Œç¨‹è¿›é˜¶ï¼ˆä¸€ï¼‰u   æœ€å€¼åŽŸç�†è¿›é˜¶ï¼ˆä¸€ï¼‰u   åˆ†æ•°æ¦‚å¿µä¸Žæ€§è´¨c                 ó´   € \         P                  ! R R\        V 4      4      p V P                  RR4      p \         P                  ! RRV 4      P	                  4       # )u	   [ï¼š:].*$r   u   ä¸Žu   å�Šz\s+)r	   r
   r   r   Ústrip)r_   s   &r   Ú_hnormrg   h   sD   € Ü
�Šˆ|˜R¤ Q£Ó(€AØ	�	‰	�%˜Ó€AÜ�6Š6�&˜"˜aÓ ×&Ñ&Ó(Ð(r   c            
     ó�  € \         P                  P                  \        RRR4      p \        P
                  ! \        V RR7      4      p\        V\        4      '       d   VP                  R4      MTpR pR p/ p\        P                  ! \        4      pV F}  pVP                  R	4      R
8X  d   K  V! V4      V! V4      r˜V'       g   K4  VP                  V/ 4      P                  \        VP                  RR4      4      V	4       W‰3WhV	3,          R&   K  	  V Fª  pVP                  R	4      R
8w  d   K  VP                  RR4      V! V4      V! V4      r‰p
\        \        P                  W©3VP                  RR4      4      4      pVP                  V4      ;'       g    / P                  V4      pVf   Kœ  W©3WhV3,          R&   K¬  	  V# )uµ   â†’ {(lv, csec): {'è®²ä¹‰': (å†Œ, è®²å�·), 'è¯¾å�Ž': (lv, èŠ‚å�·)}}

è„Š = è¯¾å�Žä¹ é¢˜çš„èŠ‚åº�åˆ—ï¼›è®²ä¹‰æŒ‰è§„èŒƒæ ‡é¢˜å½’åˆ°è„Šä¸Šï¼ˆä¸Žç»„å�·å�° course_sec å®Œå…¨ä¸€è‡´ï¼‰ã€‚
r;   u   èƒ¡å°�ç¾¤é¢˜åº“u$   èƒ¡å°�ç¾¤é¢˜åº“_ç»“æž„åŒ–é¢˜ç›®.jsonr   r)   r+   c                 ó’   € V P                  R R4      pVR8X  d   R# VR8X  d   V P                  R4      # \        P                  V4      # )rQ   r   u   1-2å¹´çº§è¯¾å�Žä¹ é¢˜rU   rD   )rN   ÚHXQ_BOOK_LV)rR   Úbks   & r   Úlv_ofÚhxq_crosswalk.<locals>.lv_ofw   s@   € Ø�U‰U�6˜2ÓˆØÐ(Ô(±Ø�Œ8˜AŸE™E '›NÐ*Ü�‰˜rÓ"Ð"r   c                 ón   € \        \        V P                  R R4      4      4      #   \         d     ^c# i ; i)ÚsecÚ99)r\   r   rN   rM   )rR   s   &r   Úsec_intÚhxq_crosswalk.<locals>.sec_int}   s*   € Üœ˜AŸE™E %¨Ó.Ó/Ó0Ð0øÜÔ#¢Ð#ús   �#% ¥4³4Úsourceõ   èƒ¡å°�ç¾¤è®²ä¹‰Ú	sec_titler   õ   è¯¾å�ŽrQ   õ   è®²ä¹‰)r.   r/   r0   rJ   r   r-   r   Ú
isinstanceÚdictrN   r2   r3   Ú
setdefaultrg   ÚHXQ_OVERRIDE)rA   r6   r+   rl   rq   ÚspineÚoutrR   Úlvr   rk   ÚcnÚcsecs                r   Úhxq_crosswalkr�   n   s€  € ô
 	�‰�‰”T˜8Ð%6Ð8^Ó_€AÜ�	Š	”$�q 7Ô+Ó,€AÜ(¨¬D×1Ò1ˆA�E‰E�'ŒN°q€Eò#ò$ð €EÜ
×
!Ò
!¤$Ó
'€CÛˆØ�5‰5�‹?Ð/Ô/±Ù�a“™' !›*ˆAß‘8Ø×Ñ˜˜RÓ ×+Ñ+¬F°1·5±5¸ÀbÓ3IÓ,JÈAÔNØ"$ ˆ�ˆG��XÓñ ó ˆØ�5‰5�‹?Ð/Ô/±Ø—E‘E˜& "Ó%¡w¨q£z±5¸³8ˆrˆÜ”L×$Ñ$ b W¨a¯e©e°KÀÓ.DÓEÓFˆØ—	‘	˜"“×#Ð# ×(Ñ(¨Ó,ˆØŠ<™Ø%' Gˆ�ˆJ�˜Ó!ñ ð €Jr   c                óJ  a*a+a,a-a.€ / . r2\         P                  ! 4       . rT\        4       p\        4       p\         P                  ! \
        4      o,\         P                  ! \
        4      pVP                  4        FŠ  w  o.p	V	 F~  p
V
P                  RR4      pV
S,S.V
R,          V3,          \        V
R,          4      &   V
P                  R4      '       g   KT  VS.V
R,          V3,          P                  V
R,          V
4       K€  	  KŒ  	  R pV,3R lpV P                  4        EFy  w  o.pVP                  4        EF]  w  o+pV EFO  pV^ ,          V^,          upo*. pS.R8X  d   V! V*V+V,V.3R	 l4      pEMÓS.R
8X  Ed   VP                  S+4      pV'       dö   S,S.VR3,          P                  \        S*4      4      p
V
'       d   VS.R3;;,          ^,          uu&   MOVS.VR3,          P                  V4      p
V
'       d-   VS.R3;;,          ^,          uu&   VP                  S.S+VS*34       V
'       d   RRRRRV
R,          /.pS,S.VR3,          P                  \        R4      4      pV'       d   VP                  RRRRRVR,          /4       EM»S.R59   Ed²   V! S.V+3R l4      p. p\        V4       F?  pS.VR3pT\        VV,          4       Uu. uF  pVV,          V,          NK  	  up,          pKA  	  ^Tu;8:  d   \        V4      8:  d   M MVV^,
          ,          MRp
V
'       Ed   RRRRRV
R,          /.p\        V4       FX  p\        \        S,S.VR3,          P                  4       4      R4      pV'       g   K:  VP                  RRRRRVR,          /4        M	  \        \         P"                  ! RRS*4      4      p\        V
R,          4      pV'       dT   V'       dL   VV9   gE   VV9   g>   VS.R3;;,          ^,          uu&   VP                  S.S+VS*RV
R,          ,           34       EMVS.R3;;,          ^,          uu&   EMS.R8X  Ed
   S+P%                  RR4      pS,S.VR3,          P                  \        S*4      4      p
V
'       d   VS.R3;;,          ^,          uu&   MOVS.VR3,          P                  V4      p
V
'       d-   VS.R3;;,          ^,          uu&   VP                  S.S+VS*34       V
'       d   RRRRRV
R,          /.pS,S.VR3,          P                  \        R4      4      pV'       d   VP                  RRRRRVR,          /4       EMñS.R8X  dd   R6 F[  w  pp\        \        S,S.S+V3,          P                  4       4      R4      p
V
'       g   K=  VP                  RVRVRV
R,          /4       K]  	  EM‡S.R8X  Ed-   S+\&        9   Ed!   \&        S+,          pVP                  R. 4       F¼  p
V
R,          V8w  d   K  \)        V
R,          4      w  ppVe   VTu;8:  d   V8:  g   M K?  V
R,          p R V 9   d   R MR!V 9   d   R!M
R"V 9   d   R"MR#p!VV,
          ^8¼  d   Ku  T!VV8”  d
   R$V R%V R&2MR,           pVP                  RVRV
P                  RR4      RV
R,          /4       K¾  	  V'       d8   VS.R'3;;,          ^,          uu&   R"^ R!^R ^R#^/o-VP+                  V-3R( lR)7       EMSS.R8X  EdL   \,        P                  S+4      p"VP                  V"V34      ;'       g    / p#Rp$V#P                  R*4      '       dP   V#R*,          w  pp%VR+VR3,          P                  V%4      p
V
'       d!   VP                  RR*RRRV
R,          /4       Tp$V#P                  R*4      '       gÌ   V"R,8w  dÅ   \.         Fº  p\.        V,          V"8w  d   K  VP                  R+. 4       Fƒ  p&V&P                  RR4      R8X  g   K  V&R,          V8X  g   K,  \1        V&R,          4      \1        S*4      8X  g   KN  VP                  RR*RV&R,          /4       Tp$VS.R-3;;,          ^,          uu&    M	  V'       g   Kº   M	  V$'       dK   S,R.V$R3,          P                  \        R/4      4      p'V''       d   VP                  RR0RRRV'R,          /4       V#P                  R14      '       dg   V#R1,          w  p(p%V"R,8X  d   R,MT"p)R7 FI  w  ppVR2V)V3,          P                  V%4      p
V
'       g   K+  VP                  RVRVRV
R,          /4       KK  	  S.R89   d   VS.R33;;,          ^,          uu&   V'       d   VVS. R4S+ R4S* 2&   EK:  VP                  S.S+VS*34       EKR  	  EK`  	  EK|  	  W#WE3# u upi )9uJ   â†’ {'tb|gg|cd': [{'label':â€¦,'path':â€¦}â€¦]}ï¼Œå¤–åŠ æœªå‘½ä¸­æ¸…å�•ã€‚Úroleõ	   å­¦ç”Ÿç‰ˆrQ   r^   Únoc           
     ó|   € . pR F3  pV ! V4      pV'       g   K  VP                  RVRVRVR,          /4       K5  	  V# )uq   å�Œä¸€ä¸ªä¸“é¢˜å�–å­¦ç”Ÿç‰ˆ+æ•™å¸ˆç‰ˆ â†’ [{'role','path'}â€¦]ï¼Œå­¦ç”Ÿç‰ˆæŽ’å‰�é�¢ï¼ˆé»˜è®¤ç»™å­¦ç”Ÿçš„é‚£ä»½ï¼‰Úlabelrƒ   r/   r}   )r„   õ	   æ•™å¸ˆç‰ˆ)r5   )Úgetterr}   Úrr8   s   &   r   ÚbothÚbuild.<locals>.both¥   sC   € àˆÛ+ˆAÙ�q“	ˆAß‰qØ—
‘
˜G Q¨°°6¸1¸U½8ÐDÖEñ ,ð ˆ
r   c           
      ó†   <€ \        S UUUu0 uF   w  r#qBV 8X  g   K  V! V4      '       g   K  VkK"  	  uppp4      # u upppi r>   )rH   )r,   Úpredr_   ÚbÚ_rÚidxs   &&   €r   Úbooks_ofÚbuild.<locals>.books_of®   s2   ø€ Ü©3ÕF©3™Z˜a B°r±'”q¹dÀ1¿g—q�q©3ÓFÓGÐGùÔFs   �<�<­<õ   åˆ�ä¸­åŸ¹ä¼˜è®²ä¹‰c                 óL   <€ SSSV 3,          P                  \        S4      4      # r>   )rN   r   )rŠ   ÚcdrS   r‘   r,   s   &€€€€r   Ú<lambda>Úbuild.<locals>.<lambda>¸   s   ø€ ¨#¨r°2°q¨kÕ*:×*>Ñ*>¼tÀB»xÔ*Hr   u   ä¸€è¯¾ä¸€ç»ƒu   å��å­—u   åº�å�·å…œåº•r‡   r/   r}   rˆ   u   å…¨å†Œå�‚è€ƒç­”æ¡ˆu   å…¨å†Œç­”æ¡ˆc                 ó   <€ SV 9   # r>   r?   )r�   rS   s   &€r   r—   r˜   Ï   s	   ø€ °2¸²7r   Nu   æ•´å†Œç­”æ¡ˆu   ^(ä¸“é¢˜\d+|ç¬¬\d+è®²)[Â·]?r   u   åº�å�·Â·å��å­—å­˜ç–‘u   æ–‡ä»¶=u   åº�å�·Â·å��å­—ç›¸ç¬¦u	   æ–°æ€�è·¯rE   u
   AMC8çœŸé¢˜õ   èƒ¡å°�ç¾¤è¯¾ç¨‹u   èƒ¡å°�ç¾¤L7-L9u   ä¹ é¢˜è§£æž�u   ä¹ é¢˜u   ä¾‹é¢˜u   èµ„æ–™u   ï¼ˆç¬¬Ú-u   è®²ï¼‰u   åˆ�ä¸­æŒ‰è®²å�·c                 ób   <€ SP                  V R ,          P                  R4      ^ ,          ^	4      # )r‡   u   ï¼ˆ)rN   Úsplit)ÚhÚorders   &€r   r—   r˜     s&   ø€ °·	±	¸!¸G½*×:JÑ:JÈ5Ó:QÐRSÕ:TÐVWÔ0Xr   )Úkeyrw   rt   rU   u   è®²ä¹‰æŒ‰å��è¡¥ä½�u   èƒ¡å°�ç¾¤è®²ä¹‰ç­”æ¡ˆu   å�‚è€ƒç­”æ¡ˆu   è®²ä¹‰ç­”æ¡ˆï¼ˆå…¨å†Œï¼‰rv   u   èƒ¡å°�ç¾¤è¯¾å�Žu   é¢˜åº“å¯¹åº”Ú|)u   ä¸¾ä¸€å��ä¸‰u	   åŠ¨è„‘ç­‹))r„   u   åŽŸå�·)rˆ   u   åŽŸå�·ï¼ˆå�«ç­”æ¡ˆï¼‰))r„   rv   )rˆ   u   è¯¾å�Žç­”æ¡ˆ)r”   rš   )r2   ÚCounterrT   r�   r3   ry   r+   rN   r   rz   r5   rH   r    rL   ÚiterÚvaluesr	   r
   r   ÚHXQ_JRr`   ÚsortÚHXQ_LVrj   rg   )/ÚcourseÚmanr}   ÚmissÚhowÚfallbackÚykl_dirÚxwalkÚidxnor+   r8   rŠ   r‹   r’   ÚgradesÚnodesÚnodeÚcsÚhitsrk   ÚansÚcandsÚseqr�   ÚkÚnÚaÚnameÚfnÚlabÚloÚhir_   Úkindr~   ÚcwÚjy_bookr   ÚitÚkaÚ_Úhbr–   rS   r‘   rŸ   r,   s/   &&                                        @@@@@r   ÚbuildrÇ   “   sê  ü€ à�BˆÜ×'Ò'Ó)¨2ˆÜ‹l€GÜ‹O€Eô ×
!Ò
!¤$Ó
'€CÜ×#Ò#¤DÓ)€EØ—Y‘Y–[‰	ˆˆEÛˆAØ—‘�f˜kÓ*ˆAØ89ˆC��Q�v•Y Ð"Õ#¤D¨¨7­Ó$4Ñ5Ø�u‰u�T�{Œ{Ø�r˜1˜V�9 aÐ(Õ)×4Ñ4°Q°tµW¸aÖ@ó	 ñ !òõHð —l‘l—n‰
ˆˆFØŸ™Ÿ‰IˆB�Ü�Ø˜a� $ q¥'���BØ�àÐ-Ô-Ù× HÓI’Dà˜>Õ)Ø Ÿ™ R›�BßØ  R¨Ð 5Õ6×:Ñ:¼4À»8ÓD˜ßØ  X ×/°1Õ4Ô/à % r¨2¨{Ð&;Õ <× @Ñ @ÀÓ D˜Aß  # r¨>Ð&:×";¸qÕ"@Ó";À(Ç/Á/ÐSUÐWYÐ[]Ð_aÐRbÔBcß w°¸VÀ[ÐRXÐZ[Ð\aÕZbÐ&cÐ%d˜dð " 2 r¨;Ð"7Õ8×<Ñ<¼TÐBVÓ=WÓX˜ß §¡¨W°nÀfÈkÐ[aÐcfÐglÕcmÐ,nÔ oùàÐ8Õ8ñ % RÔ):Ó;�EØ�CÜ# Ež]˜Ø  KÐ0˜Ø´V¸EÀ!½HÔ5EÓFÑ5E°  a¥¨§ Ñ5EÑFÕFšñ +ð ()¨BÖ':´#°c³(×':˜˜B �FžÀ�Aß�qØ!(¨+°v¸{ÈFÐTUÐV[ÕT\Ð ]Ð^˜Ü!'¨¦˜AÜ $¤T¨#¨r°1°kÐ.BÕ*C×*JÑ*JÓ*LÓ%MÈtÓ T˜Aß ™qØ $§¡¨W°nÀfÈkÐ[aÐcdÐejÕckÐ,lÔ mÑotñ "/ô  $¤B§F¢FÐ+IÈ2ÈrÓ$RÓS˜Ü! ! G¥*Ó-˜ß§B°¸´
¸bÀD¼jØ Ð%;Ð <×=ÀÕBÓ=Ø$ŸO™O¨R°°R¸¸YÈÈ7ÍÕ=SÐ,TÖUà Ð%;Ð <×=ÀÕBÓ=ùà˜;Õ&àŸ™ D¨"Ó-�BØ˜R  [Ð1Õ2×6Ñ6´t¸B³xÓ@�AßØ˜R ˜N×+¨qÕ0Ô+à! 2 r¨;Ð"7Õ8×<Ñ<¸RÓ@˜ß˜c 2 ~Ð"6×7¸1Õ<Ó7¸h¿o¹oÈrÐSUÐWYÐ[]ÐN^Ô>_ß 7¨K¸ÀÈfÐVWÐX]ÕV^Ð"_Ð!`˜$Ø˜r 2 {Ð3Õ4×8Ñ8¼Ð>RÓ9SÓT�Cß˜DŸK™K¨°.À&È+ÐW]Ð_bÐchÕ_iÐ(jÔkùà˜<Ô'ã"c™˜˜3Ü ¤ c¨2¨r°1¨+Õ&6×&=Ñ&=Ó&?Ó!@À$ÓG˜ß™1˜dŸk™k¨7°C¸ÀÀFÈAÈeÍHÐ*UÖVó #dð Ð,Õ,°´vµô   ��BØ ŸW™WÐ%5°rÖ:˜Ø˜V�9¨œ?©HÜ!)¨!¨G­*Ó!5™˜˜BØš:¨b°B®n¸"®n¹xØ˜g�J˜Ø2@ÀAÔ2E¡ÐW_ÐcdÔWdÉ8Ø,4¸¬M¡¸xð à �7 bœ=©(Ø"À"ÀrÄ'¨¨r¨d°!°B°4°vÑ&>ÈrÕR˜ØŸ™ W¨c°6¸1¿5¹5ÀÈÓ;UÐW]Ð_`ÐafÕ_gÐ$hÖiñ ;÷ Ø˜RÐ!2Ð3×4¸Õ9Ó4Ø!)¨1¨h¸¸>È1ÈhÐXYÐ Z˜ØŸ	™	Ô&X˜	ÔYùàÐ,Õ,ÜŸ™ B›�BØŸ™ B¨ 8Ó,×2Ð2°�Bð #�GØ—v‘v˜h×'Ò'Ø! (�|™˜˜1Ø!Ð#4°a¸Ð"EÕF×JÑJÈ1ÓM˜ßØ ŸK™K¨°(¸FÀKÐQWÐYZÐ[`ÕYaÐ(bÔcØ&'˜GØŸ6™6 (×+Ò+°°f´÷ "-˜AÜ*¨1�~°Ô3Ù (Ø&)§g¡gÐ.?ÀÖ&D Ø#%§6¡6¨&°+Ó#>À+Ö#MÐRTÐU[ÕR\Ð`aÖRaÔflÐmoÐpwÕmxÓfyô  ~Dð  EGó  ~Hö  gHØ$(§K¡K°¸(ÀFÈBÈuÍIÐ0VÔ$WØ./ GØ$'¨Ð-AÐ(B×$CÀqÕ$HÓ$CÙ$)ñ 'E÷  $™tÙ %ñ "-÷ Ø Ð"9¸7ÀKÐ!PÕQ×UÑUÔVZÐ[iÓVjÓk˜ßð !ŸK™K¨Ð2LÈfÐVaØ)/°°Eµð)<ô =à—v‘v˜h×'Ò'Ø! (�|™˜˜1Ø')¨V¤|™V¸˜Û&^™F˜A˜sØ %Ð'8¸"¸aÐ&@Õ A× EÑ EÀaÓ H˜Aß ™q $§+¡+¨w¸¸VÀQÈÐPQÐRWÕPXÐ.YÖ"Zñ '_ð ÐBÔBØ˜˜^Ð,×-°Õ2Ó-ßØ-1�C˜2˜$˜a ˜t 1 R DÐ)Ô*à—K‘K  R¨¨RÐ 0×1ôM ô (ñ %ðR �cÐ#Ð#ùòO  Gs   Ëf Ú__main__u   ç»„å�·å�°.htmlFc              #   ód   "  € T F&  qP                  4        F  p\        V4      x € K  	  K(  	  R # 5ir>   )r¤   r    )r@   Úgr¹   s   &  r   rB   rB   C  s"   é € Ð@™O�q·X±X¶Z°ŒC��FˆF±Z‰F›Oùs   ‚.0u   ç»„å�·å�°ä¸“é¢˜èŠ‚ u    ä¸ª â†’ å¯¹ä¸Š u    ä¸ªï¼Œæœªå¯¹ä¸Š u    ä¸ªc              #   óP   "  € T F  qP                  R 4      ^ ,          x € K  	  R# 5i)r¡   N)r�   )r@   r¸   s   & r   rB   rB   E  s   é € Ð9±q°!Ÿg™g c›l¨1Ÿošo³qùs   ‚$&c              #   ó8   "  € T F  p\        V4      x € K  	  R # 5ir>   )r    )r@   Úvs   & r   rB   rB   G  s   é € Ð+¡
˜1”�A—�£
ùs   ‚z  z<12Ú Ú/u   
åŒ¹é…�æ–¹å¼�:z<10uW   
âš  èµ°äº†åº�å�·å…œåº•ï¼ˆå��å­—æ²¡å¯¹ä¸Šï¼Œé¡»å�¦ç”¨é¡µæ•°ç­‰ç‹¬ç«‹å�£å¾„å¤�æ ¸ï¼‰å…± u    æ�¡::Né   Nz   u       â€¦ å�¦æœ‰ u    æ�¡u    
æœªå¯¹ä¸Šï¼ˆä¸�é�™é»˜è·³è¿‡ï¼‰::Né(   Nu   _ç»„å�·å�°æ˜ å°„.jsonr¹   Úmaprª   Úwr   r)   )Úensure_asciiÚindentu   
â†’)ra   rÐ   )rb   é   )rc   rÐ   )rd   é   )8Ú__doc__r.   r	   Úsysr   rI   r2   r/   ÚdirnameÚabspathÚ__file__ÚHERErJ   r0   ÚSRCr1   r   r'   r9   rT   r§   r¥   r`   rj   r{   rg   r�   rÇ   Ú__name__r    Úargvr!   r¨   r©   rO   rª   r«   r¬   Úsumr¤   ÚtotÚprintr¢   Úperr+   r,   rÊ   r¹   rN   rH   r¸   rŠ   rA   Údumpr   Úrelpathr?   r   r   Ú<module>rç      sŒ  ðñ÷ ,× +× +à	‡w�w‡��r—w‘w—‘ xÓ0Ó1€Ø	‡w�w‡��tÓ€Ø‡g�g‡l�l�4˜Ó(€Ø‡g�g‡l�l�3˜Ó(€ò*òCòòð  ˜F K°°{ÀDÈ+ÐW[Ð]hÐjnÐ	o€à
Ð;Ð=MÐOnØ
Ð;Ð=MÐOnØ
Ð;Ð=MÐOnØ
Ð?ð
A€ò	ð  ˜˜x¨¨x¸¸xÈØ˜˜x¨¨x¸¸xÈðO€àÐ 7¸ÐI`ØÐ =¸~ÐOfðh€ò)ò"òJg$ðT ˆzÕÙ" 3§8¡8›}¨qÔ0�—‘˜–°b·g±g·l±lÀ4ÐIYÓ6Z€IÙ˜Ó#€FÙ
‹/€CÙ" 6¨3Ó/Ñ€A€tˆS�(Ø?DÙÑ@˜FŸM™MœOÓ@Ó@ð á	Ð ˜uÐ$4±S¸³V°HÐ<MÉcÐRVËiÈ[ÐX\Ð
]Ô^Ø
×
Ò
Ñ9±qÓ9Ó
9€CØ—‘–‰ˆˆAÙÑ+ §¡¤
Ó+Ó+ˆÙ��2�c�(˜!˜CŸG™G B q›M˜?¨!¨A¨3Ð/Ö0ñ  ñ 
Ð
ÔÙ˜SŸY™Y›[Ö)‰
‰ˆˆQ�Ù��2�c�(˜1˜S˜' ! Ð%Ö&ñ *çÙÐhÑilÐmuÓivÐhwÐw|Ð}Ô~Ø˜#—�ˆAÙ�%˜ŽOñ áˆx‹=˜2ÔÙ�O¡C¨£M°"Õ$4Ð#5°TÐ:Ô;ßÙÐ1Ô2Ø�c—�ˆAÙ�%˜ŽOñ áˆt‹9�rŒ>Ù�O¡C¨£I¨b¥L >°Ð6Ô7Ø
�‰�‰�SÐ1Ó2€AØ‡I‚Iˆs‘C˜“F˜E 1 f¨dÐ3±T¸!¸SÈ7Ô5SØ ¨õ,á	ˆ'�2—7‘7—?‘? 1 dÓ+Ö,ñ= r   