§
    ’<ÇjÞq  ã                   ó>  — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl	m
Z
mZmZmZ ej        dk    rC	 ej                             d¬¦  «         ej                             d¬¦  «         n# e$ r Y nw xY w ee¦  «                             ¦   «         j        j        Zedz  Zed	z  Zed
z  Zedz  Zedz  Zedz  Zedz  Zedz  Zedz  Zedz  Z edz  Z!edz  Z"dddddg d¢g d¢ddœdddd d!g d"¢g d#¢d$dœd%d&d'd d(g d)¢g d*¢d+dœd,d-d.d d/g d0¢g d1¢d2dœd3d4d5d d6g d7¢g d8¢d9dœd:d;d<d d=g d>¢g d?¢d@dœdAœZ#dBe
e$e%f         fdC„Z&dBe
e%e
f         fdD„Z'dBe
e%e
f         fdE„Z(dFe
dGe$dHe$dIe)dBe%f
dJ„Z*dKe%dLe
dBe
fdM„Z+dbdOe)fdP„Z,dQ„ Z-dR„ Z.dcdKee%         fdS„Z/e0dTk    �r ej1        dU¬V¦  «        Z2e2 3                    dWdXdY¬Z¦  «         e2 3                    d[dXd\¬Z¦  «         e2 3                    d]dXd^¬Z¦  «         e2 3                    d_e%d`¬a¦  «         e2 4                    ¦   «         Z5e5j6        r e,¦   «          dS e5j.        r e.¦   «          dS e5j7        s& e8 e9e5¦  «         :                    ¦   «         ¦  «        s e/e5j;        ¦  «         dS e5j;        r e/e5j;        ¦  «         dS dS dS )dux  
=============================================================================
THáº¬P NGÅ¨ NIÃŠN (THE FIFTEEN SPRINGS) - EPISODE PRODUCTION UNIT MANAGER
=============================================================================
Quáº£n lÃ½ cáº¥u trÃºc ká»‹ch báº£n vÃ  thÆ° má»¥c phÃ¢n cáº¥p theo Táº­p (Episode-Based Units):
- Má»—i táº­p phim (Ep01 -> Ep06) lÃ  má»™t Ä‘Æ¡n vá»‹ sáº£n xuáº¥t (Production Unit) Ä‘á»™c láº­p.
- ThÆ° má»¥c gá»‘c chá»‰ lÆ°u nhá»¯ng tÃ i nguyÃªn chung (Bibles, Core Pipeline, Master Assets).
- TÃ¡ch biá»‡t Screenplay, Prose, Prompts, Storyboards theo tá»«ng táº­p Ä‘á»ƒ triá»‡t tiÃªu
  hoÃ n toÃ n tÃ¬nh tráº¡ng loÃ£ng context vÃ  chá»“ng chÃ©o dá»¯ liá»‡u giá»¯a cÃ¡c AI Agent.
- Cung cáº¥p cÆ¡ cháº¿ Two-Way Sync Ä‘á»“ng bá»™ 2 chiá»�u giá»¯a cÃ¡c táº­p vÃ  Master Prompts.
=============================================================================
é    N)ÚPath)ÚDictÚListÚOptionalÚAnyÚwin32úutf-8©ÚencodingÚepisodesÚ01_Scripts_And_EpisodesÚ	FilmMakerÚ02_AI_PromptsÚ03_StoryboardsÚ	04_AssetsÚvideosÚ	keyframesÚ
06_Exportszmuse_ai_video_prompts.jsonzgemini_banana_prompts.jsonz.KIEU_STORY_TRUYEN_DAI_VAN_XUOI_KICH_BAN_GOC.mdÚep01é   uW   Phong Tráº§n Nháº­p Cuá»™c (XuÃ¢n Sáº¯c Thá»� Nguyá»‡n & GiÃ´ng BÃ£o Ä�oáº¡n TrÆ°á»�ng)u$   30 PhÃºt (1800s) / Quy mÃ´ 188 shotsz6TAP_01_XUAN_SAC_THE_NGUYEN_VA_GIONG_BAO_DOAN_TRUONG.md)õ   ThÃºy Kiá»�uõ
   ThÃºy VÃ¢nõ   VÆ°Æ¡ng Quanõ   Kim Trá»�ngu   Ä�áº¡m TiÃªnõ   VÆ°Æ¡ng Ã”ngõ   MÃ£ GiÃ¡m Sinh)u   TÆ° gia há»� VÆ°Æ¡ngu   Lá»… há»™i Ä�áº¡p Thanhu   Náº¥m má»“ Ä�áº¡m TiÃªnu   ThÆ° phÃ²ng Kim Trá»�ngu   CÃ´ng Ä‘Æ°á»�ng Nha mÃ´nuÆ  Má»Ÿ Ä‘áº§u cuá»™c Ä‘á»�i hai chá»‹ em ThÃºy Kiá»�u vÃ  ThÃºy VÃ¢n trong tiáº¿t Thanh Minh. Cuá»™c gáº·p gá»¡ Ä‘á»‹nh má»‡nh vá»›i Kim Trá»�ng vÃ  náº¥m má»“ Ä‘áº¡m báº¡c cá»§a Ä�áº¡m TiÃªn. Má»‘i tÃ¬nh Ä‘áº§u chá»›m ná»Ÿ báº±ng lá»�i thá»� nguyá»�n dÆ°á»›i trÄƒng, nhÆ°ng giÃ´ng tá»‘ gia biáº¿n láº­p tá»©c áº­p tá»›i: cha vÃ  em bá»‹ vu oan giam cáº§m, ThÃºy Kiá»�u buá»™c pháº£i quyáº¿t Ä‘á»‹nh hy sinh thÃ¢n mÃ¬nh bÃ¡n cho MÃ£ GiÃ¡m Sinh chuá»™c cha.)ÚidÚnumÚtitleÚtarget_durationÚscreenplay_fileÚmain_charactersÚkey_locationsÚsummaryÚep02é   uI   Thanh LÃ¢u Nháº­p Má»™ng (Ná»—i Ä�au BÃ¡n MÃ¬nh & Cáº¡m Báº«y Láº§m Than)u   30 PhÃºt (1800s)z.TAP_02_NOI_DAU_BAN_MINH_VA_CAM_BAY_LAM_THAN.md)r   r   õ   TÃº BÃ õ
   Sá»Ÿ Khanhu   MÃ£ Kiá»�u Loan)u   Thanh lÃ¢u LÃ¢m Triu   Láº§u NgÆ°ng BÃ­chu   Rá»«ng trÃºc Ä‘Ã o thoÃ¡tu   QuÃ¡n trá»� ven sÃ´ngu‚  Ä�Ãªm trao duyÃªn xÃ© lÃ²ng cho ThÃºy VÃ¢n. Kiá»�u dáº¥n thÃ¢n vÃ o cÃµi phong tráº§n, bá»‹ MÃ£ GiÃ¡m Sinh lÃ m nhá»¥c vÃ  lá»«a bÃ¡n vÃ o thanh lÃ¢u cá»§a TÃº BÃ . Táº¡i láº§u NgÆ°ng BÃ­ch ngáº¯m cáº£nh bá»‘n bá»� sáº§u muá»™n, Kiá»�u láº¡i rÆ¡i vÃ o mÆ°u Ä‘á»™c 'kim thiá»�n thoÃ¡t xÃ¡c' cá»§a Sá»Ÿ Khanh, buá»™c pháº£i cháº¥p nháº­n kiáº¿p sá»‘ng ká»¹ ná»¯ tiáº¿p khÃ¡ch lÃ ng chÆ¡i.Úep03é   uC   Hoa Láº¡c VÃ´ Ä�oan (CÆ¡ DuyÃªn ThÃºc Gia & Ä�Ã²n Ghen Hoáº¡n ThÆ°)z0TAP_03_CO_DUYEN_THUC_GIA_VA_DON_GHEN_HOAN_THU.md)r   õ
   ThÃºc Sinhõ   Hoáº¡n ThÆ°u
   Hoáº¡n BÃ u   Khuyá»ƒn Æ¯ng)u   ThÃºc phá»§ VÃ´ TÃ­chu   MÃ¡i áº¥m ven sÃ´ngu   Hoáº¡n phá»§ VÃ´ TÃ­chu   Quan Ã‚m CÃ¡cuŒ  Cuá»™c há»™i ngá»™ vÃ  káº¿t duyÃªn cÃ¹ng chÃ ng thÆ° sinh buÃ´n tÆ¡ ThÃºc Sinh. TÆ°á»Ÿng chá»«ng Ä‘Ã£ tÃ¬m Ä‘Æ°á»£c báº¿n Ä‘á»— bÃ¬nh yÃªn nhÆ°ng láº¡i Ä‘á»‘i máº·t vá»›i Ä‘Ã²n ghen khÃ´n lÆ°á»�ng cá»§a Hoáº¡n ThÆ°: sai ngÆ°á»�i Ä‘á»‘t nhÃ  báº¯t cÃ³c trÃ¡o xÃ¡c, Ã©p Kiá»�u lÃ m gia nÃ´ háº§u rÆ°á»£u Ä‘Ã¡nh Ä‘Ã n mua vui trong bá»¯a tiá»‡c Ä‘áº¯ng cay, rá»“i Ä‘Ã y ra Quan Ã‚m CÃ¡c chÃ©p kinh.Úep04é   uH   HoÃ nh Ä�ao Tráº£m LÃ£ng (Báº» KhÃ³a VÆ°á»£t RÃ o & Oai Danh Tá»« Háº£i)z-TAP_04_BE_KHOA_VUOT_RAO_VA_OAI_DANH_TU_HAI.md)r   õ   GiÃ¡c DuyÃªnu	   Báº¡c BÃ u   Báº¡c Háº¡nhõ
   Tá»« Háº£i)u   ChÃ¹a ChiÃªu áº¨nu   ChÃ¢u Thai thanh lÃ¢uu   TrÆ°á»›ng hÃ¹m Tá»« Háº£iu   Ä�áº¡i báº£n doanh quÃ¢n doanhuØ  Kiá»�u báº» khÃ³a chuÃ´ng vÃ ng trá»‘n khá»�i Hoáº¡n phá»§, nÆ°Æ¡ng nÃ¡u cá»­a Pháº­t cÃ¹ng sÆ° GiÃ¡c DuyÃªn nhÆ°ng vÃ¬ ngá»�c quÃ½ nÃªn pháº£i gá»­i gáº¯m sang Báº¡c BÃ . Bá»‹ Báº¡c Háº¡nh lá»«a bÃ¡n vÃ o láº§u xanh láº§n thá»© hai táº¡i ChÃ¢u Thai. Táº¡i Ä‘Ã¢y, Ä‘á»‹nh má»‡nh Ä‘Æ°a nÃ ng gáº·p ngÆ°á»�i anh hÃ¹ng cÃ¡i tháº¿ Tá»« Háº£i. KhÃºc tá»³ bÃ  tri ká»· thá»©c tá»‰nh hÃ¹ng tÃ¢m, Tá»« Háº£i xuáº¥t quÃ¢n lÃ m nÃªn nghiá»‡p lá»›n ráº¡ng rá»¡ Ä‘Ã³n Kiá»�u quy vá»�.Úep05é   uK   Ä�oáº¡n TrÆ°á»�ng Tháº­p NgÅ© (BÃ¡o Ã‚n BÃ¡o OÃ¡n & Cáº¡m Báº«y Giang SÆ¡n)z-TAP_05_BAO_AN_BAO_OAN_VA_CAM_BAY_GIANG_SON.md)r   r0   õ   Há»“ TÃ´n Hiáº¿nr,   r+   r   r'   r(   )u(   Ä�áº¡i sáº£nh cÃ´ng Ä‘Æ°á»�ng Tá»« Háº£iu   Doanh tráº¡i triá»�u Ä‘Ã¬nhu   Sa trÆ°á»�ng Tiá»�n Ä�Æ°á»�nguð  DÆ°á»›i cá»� phÆ°á»›n trÆ°á»›ng hÃ¹m, ThÃºy Kiá»�u má»Ÿ phiÃªn tÃ²a bÃ¡o Ã¢n bÃ¡o oÃ¡n: Ä‘á»�n Æ¡n ngÆ°á»�i tá»‘t (ThÃºc Sinh, GiÃ¡c DuyÃªn), trá»«ng trá»‹ Ä‘Ã­ch Ä‘Ã¡ng bá»�n gian Ã¡c (MÃ£ GiÃ¡m Sinh, TÃº BÃ , Sá»Ÿ Khanh) vÃ  tha bá»•ng cho sá»± thÃ´ng tuá»‡ cá»§a Hoáº¡n ThÆ°. Tháº¿ nhÆ°ng, mÆ°u mÃ´ nham hiá»ƒm cá»§a Tá»•ng Ä‘á»‘c Há»“ TÃ´n Hiáº¿n vá»›i bá»©c thÆ° chiÃªu an giáº£ máº¡o Ä‘Ã£ khiáº¿n Kiá»�u khuyÃªn Tá»« Háº£i buÃ´ng gÆ°Æ¡m, dáº«n tá»›i tháº£m ká»‹ch phá»¥c kÃ­ch sa trÆ°á»�ng.Úep06é   uU   HoÃ n NguyÃªn TÃ¡i Ngá»™ (Há»“n Ä�oáº¡n Tiá»�n Ä�Æ°á»�ng & Ä�oÃ n ViÃªn Thanh Tá»‹nh)z5TAP_06_HON_DOAN_TIEN_DUONG_VA_DOAN_VIEN_THANH_TINH.md)r   r0   r3   r/   r   r   r   r   )u   Báº¿n sÃ´ng Tiá»�n Ä�Æ°á»�ngu   ChÃ¹a tranh GiÃ¡c DuyÃªnu   TÆ° gia há»� VÆ°Æ¡ng tÃ¢n giau   Ä�Ãªm hoa chÃºc thanh tÃ¢nuü  Tá»« Háº£i cháº¿t Ä‘á»©ng giá»¯a sa trÆ°á»�ng nhÆ° tÆ°á»£ng Ä‘á»“ng táº¡c vÃ o hoÃ ng hÃ´n. Kiá»�u bá»‹ Ã©p háº§u Ä‘Ã n cho Há»“ TÃ´n Hiáº¿n rá»“i gáº£ Ã©p cho thá»• quan, nÃ ng tráº§m mÃ¬nh xuá»‘ng sÃ´ng Tiá»�n Ä�Æ°á»�ng Ä‘á»ƒ rá»­a sáº¡ch bá»¥i tráº§n. Ä�Æ°á»£c sÆ° GiÃ¡c DuyÃªn cá»©u thoÃ¡t, nÃ ng nÆ°Æ¡ng bÃ³ng cá»­a thiá»�n cho Ä‘áº¿n ngÃ y Kim Trá»�ng vÃ  cáº£ gia Ä‘Ã¬nh tÃ¬m tháº¥y sau 15 nÄƒm lÆ°u láº¡c. Cuá»™c tÃ¡i há»£p Ä‘oÃ n viÃªn thanh tá»‹nh khÃ©p láº¡i thiÃªn trÆ°á»�ng ca Ä�oáº¡n TrÆ°á»�ng.)r   r&   r*   r.   r2   r5   Úreturnc                  óZ  — t                                ¦   «         st          dt           › �¦  «         i S t                                d¬¦  «        } t	          t          j        d| t
          j        ¦  «        ¦  «        }i }t          |¦  «        D ]ž\  }}t          | 
                    d¦  «        ¦  «        }|                     ¦   «         }|dz   t          |¦  «        k     r||dz                                 ¦   «         nt          | ¦  «        }| ||…                              ¦   «         }|||<   ŒŸ|S )uS   TrÃ­ch xuáº¥t tá»«ng pháº§n vÄƒn xuÃ´i tiá»ƒu thuyáº¿t tÆ°Æ¡ng á»©ng vá»›i 6 táº­p.u(   [!] KhÃ´ng tÃ¬m tháº¥y file vÄƒn xuÃ´i: r	   r
   u   ^# Táº¬P (\d+):[^\n]+r   )ÚNOVEL_PROSE_FILEÚexistsÚprintÚ	read_textÚlistÚreÚfinditerÚ	MULTILINEÚ	enumerateÚintÚgroupÚstartÚlenÚstrip)	ÚtextÚ
ep_headersÚ	prose_mapÚiÚmÚep_numrC   ÚendÚprose_chunks	            ú)05_Production_Pipeline/episode_manager.pyÚextract_prose_by_episodesrO   p   s  € å×"Ò"Ñ$Ô$ð ÝÐKÕ9IÐKÐKÑLÔLÐLØˆ	å×%Ò%¨wÐ%Ñ7Ô7€DÝ•b”kÐ":¸DÅ"Ä,ÑOÔOÑPÔP€JØ€Iå˜*Ñ%Ô%ð (ð (‰ˆˆ1Ý�Q—W’W˜Q‘Z”Z‘”ˆØ—’‘	”	ˆØ+,¨q©5µ3°z±?´?Ò+BÐ+Bˆj˜˜Q™Ô×%Ò%Ñ'Ô'Ð'ÍÈDÉ	Ì	ˆØ˜5 ˜9”o×+Ò+Ñ-Ô-ˆØ'ˆ	�&ÑÐàÐó    c                  óÞ  ‡‡— t                                ¦   «         st          dt           › �¦  «         i S t          j        t                                d¬¦  «        ¦  «        Š‰                     di ¦  «        } ‰                     di ¦  «        Šˆˆfd„t          dd¦  «        D ¦   «         }d	‰                     d
d¦  «        i dœ}|                      ¦   «         D ]‘\  }}| 	                    d¦  «        d          
                    ¦   «         }|                     d¦  «        r|}||v r|||         d         |<   Œ_|                     d¦  «        r||d         d         |<   Œ†||d         |<   Œ’||fS )uH   PhÃ¢n tÃ¡ch file muse_ai_video_prompts.json thÃ nh 6 táº­p Ä‘á»™c láº­p.u)   [!] KhÃ´ng tÃ¬m tháº¥y file prompt Muse: r	   r
   Úmotion_promptsÚgeneral_settingsc                 ó‚   •— i | ];}d |› �d |› �|‰                      dd¦  «        ‰                      dd¦  «        d‰i dœ“Œ<S )Úep0Úproject_nameõ'   THáº¬P NGÅ¨ NIÃŠN (THE FIFTEEN SPRINGS)Úai_video_enginez"Muse.ai Headless Automation Enginez2.0-modular)ÚepisodeÚepisode_numrV   rX   ÚversionrS   rR   ©Úget)Ú.0rI   ÚdataÚgen_settingss     €€rN   ú
<dictcomp>z4extract_muse_prompts_by_episodes.<locals>.<dictcomp>Ž   su   ø€ ð -ð -ð -ð ð 	ˆaˆ	ˆ	Ø ˜Q�y�yØØ ŸHšH ^Ð5^Ñ_Ô_Ø#ŸxšxÐ(9Ð;_Ñ`Ô`Ø$Ø ,Ø ð
ð 
ð-ð -ð -rP   r   é   Úthematic_and_shortsrV   rW   )ÚcategoryrV   rR   Ú_r   rU   Úprologuer   )ÚMUSE_MASTER_PROMPTSr9   r:   ÚjsonÚloadsr;   r]   ÚrangeÚitemsÚsplitÚlowerÚ
startswith)	Ú	all_shotsÚ
ep_promptsÚspecial_promptsÚshot_idÚ	shot_infoÚprefixÚep_keyr_   r`   s	          @@rN   Ú extract_muse_prompts_by_episodesrv   „   s©  øø€ å×%Ò%Ñ'Ô'ð ÝÐOÕ:MÐOÐOÑPÔPÐPØˆ	åŒ:Õ)×3Ò3¸WÐ3ÑEÔEÑFÔF€DØ—’Ð)¨2Ñ.Ô.€IØ—8’8Ð.°Ñ3Ô3€Lð-ð -ð -ð -ð -õ �q˜!‘”ð-ñ -ô -€Jð *ØŸš Ð1ZÑ[Ô[Øðð €Oð (ŸošoÑ/Ô/ð 
Cð 
CÑˆ�Ø—’˜sÑ#Ô# AÔ&×,Ò,Ñ.Ô.ˆØ×Ò˜UÑ#Ô#ð 	CØˆFØ˜Ð#Ð#Ø@I�
˜6Ô"Ð#3Ô4°WÑ=øØ×Ò˜zÑ*Ô*ð 	Cà<EˆJ�vÔÐ/Ô0°Ñ9Ð9à9BˆOÐ,Ô-¨gÑ6Ð6à�Ð&Ð&rP   c                  ó’  ‡— t                                ¦   «         si S t          j        t                                d¬¦  «        ¦  «        Šˆfd„t          dd¦  «        D ¦   «         } ‰                     ¦   «         D ]L\  }}|dv rŒ
|                     d¦  «        d                              ¦   «         }|| v r|| |         d	         |<   ŒM| S )
u8   PhÃ¢n tÃ¡ch gemini_banana_prompts.json cho tá»«ng táº­p.r	   r
   c           
      ó¦   •— i | ]M}d |› �d |› �‰                      dd¦  «        ‰                      dd¦  «        ‰                      dd¦  «        i dœ“ŒNS )rU   rV   u   THáº¬P NGÅ¨ NIÃŠNÚai_image_enginezGemini Banana / Google Imagen 3Úmaster_style_anchorÚ )rY   rV   ry   rz   Úpromptsr\   )r^   rI   r_   s     €rN   ra   z6extract_banana_prompts_by_episodes.<locals>.<dictcomp>·   s~   ø€ ð 	,ð 	,ð 	,ð ð 	ˆaˆ	ˆ	Ø ˜Q�y�yØ ŸHšH ^Ð5HÑIÔIØ#ŸxšxÐ(9Ð;\Ñ]Ô]Ø#'§8¢8Ð,AÀ2Ñ#FÔ#FØð
ð 
ð	,ð 	,ð 	,rP   r   rb   )rV   ry   r[   rz   Ú
charactersÚenvironmentsÚcritical_keyframesre   r   r|   )	ÚBANANA_MASTER_PROMPTSr9   rh   ri   r;   rj   rk   rl   rm   )Ú	ep_bananaÚkÚvrt   r_   s       @rN   Ú"extract_banana_prompts_by_episodesr„   ±   sé   ø€ å ×'Ò'Ñ)Ô)ð Øˆ	åŒ:Õ+×5Ò5¸wÐ5ÑGÔGÑHÔH€Dð	,ð 	,ð 	,ð 	,õ �q˜!‘”ð	,ñ 	,ô 	,€Ið —
’
‘”ð 0ð 0‰ˆˆ1Øð  Jð  Jð  JØØ—’˜‘”˜a”×&Ò&Ñ(Ô(ˆØ�YÐÐØ./ˆI�fÔ˜iÔ(¨Ñ+øàÐrP   Úep_metaÚ	num_shotsÚrendered_shotsÚ
has_masterc                 óX  — | d         }| d         }| d         }| d         }d                      | d         ¦  «        }d                      | d         ¦  «        }	| d         }
|rd	nd
}|dk    r|› d|› d||z  d›d�nd}d                      g d‘|› ‘d‘|                     ¦   «         › ‘d‘|› ‘d‘|› ‘d‘|                     ¦   «         › ‘d‘|› ‘d‘|› ‘d‘|› ‘d‘|› ‘d‘|	› ‘d‘|› ‘d‘|› ‘d‘|
› ‘d‘|› ‘d ‘|› ‘d!‘|› ‘d"‘|› ‘d#‘|› ‘d$‘|› ‘d%‘|› ‘d&‘|› ‘d'‘|› ‘d(‘|› ‘d)‘¦  «        }|S )*uE   Táº¡o file README.md Ä‘iá»�u phá»‘i chi tiáº¿t cho tá»«ng táº­p phim.r   r   r   r    z, r"   r#   r$   u!   âœ“ Ä�Ã£ cÃ³ Master hoÃ n chá»‰nhu(   â�³ Ä�ang trong quÃ¡ trÃ¬nh sáº£n xuáº¥tr   ú/ú (ú.0%ú)ú0/0r{   u3   # THáº¬P NGÅ¨ NIÃŠN (THE FIFTEEN SPRINGS)
## Táº¬P ú: u¥   
### PRODUCTION WORKSPACE & CONTEXT DIRECTIVES FOR AGENTS & WORKERS

> **QUY Táº®C CÃ” Láº¬P NGá»® Cáº¢NH (ANTI-DILUTION DIRECTIVE)**:
> Khi lÃ m viá»‡c vá»›i Táº­p uN   , AI Agent vÃ  Worker **Báº®T BUá»˜C CHá»ˆ Náº P THÆ¯ Má»¤C NÃ€Y** (`episodes/uÍ  /`).
> Tuyá»‡t Ä‘á»‘i KHÃ”NG náº¡p ká»‹ch báº£n, prompt hay storyboard cá»§a cÃ¡c táº­p khÃ¡c Ä‘á»ƒ trÃ¡nh cá»“ng ká»�nh context, triá»‡t tiÃªu race condition vÃ  chá»‘ng chá»“ng chÃ©o dá»¯ liá»‡u.
> Khi cáº§n tra cá»©u chuáº©n nhÃ¢n váº­t 32 nhÃ¢n váº­t hoáº·c chuáº©n Ã¢m thanh chung, tham chiáº¿u thÆ° má»¥c gá»‘c [`00_Project_Bible/`](file:///c:/Projects/KieuStory/00_Project_Bible/).

---

## 1. THÃ”NG Sá»� Tá»”NG QUAN (EPISODE PROFILE)
- **MÃ£ táº­p**: `u	   ` (Táº­p u   /6)
- **TÃªn Ä‘áº§y Ä‘á»§**: **u*   **
- **Thá»�i lÆ°á»£ng tiÃªu chuáº©n**: **u#   **
- **NhÃ¢n váº­t trá»�ng tÃ¢m**: u   
- **Bá»‘i cáº£nh chÃ­nh**: u   
- **TÃ¬nh tráº¡ng Master**: **u*   **
- **Tiáº¿n Ä‘á»™ Render Raw Shots**: **u4   **

---

## 2. TÃ“M Táº®T Cá»�T TRUYá»†N (SYNOPSIS)
uú   

---

## 3. Cáº¤U TRÃšC TÃ€I NGUYÃŠN Táº¬P PHIM (MODULAR STRUCTURE)

| ThÃ nh pháº§n | Ä�Æ°á»�ng dáº«n tá»‡p | MÃ´ táº£ nhiá»‡m vá»¥ |
| :--- | :--- | :--- |
| **Ká»‹ch báº£n PhÃ¢n cáº£nh** | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/u»   /screenplay.md) | PhÃ¢n cáº£nh chi tiáº¿t tá»«ng shot, gÃ³c mÃ¡y, chuyá»ƒn Ä‘á»™ng, Ã¡nh sÃ¡ng vÃ  thoáº¡i. |
| **VÄƒn xuÃ´i Gá»‘c** | [`prose.md`](file:///c:/Projects/KieuStory/episodes/uä   /prose.md) | Ä�oáº¡n trÃ­ch tiá»ƒu thuyáº¿t vÄƒn xuÃ´i giÃºp Agent náº¯m trá»�n xÃºc cáº£m vÄƒn há»�c vÃ  tÃ­nh cÃ¡ch nhÃ¢n váº­t. |
| **Prompt Video Muse** | [`prompts/muse_prompts.json`](file:///c:/Projects/KieuStory/episodes/u×   /prompts/muse_prompts.json) | Bá»™ motion prompt Muse.ai riÃªng cho táº­p nÃ y kÃ¨m Audio Guard tá»± nhiÃªn. |
| **Prompt áº¢nh Start Frame** | [`prompts/banana_prompts.json`](file:///c:/Projects/KieuStory/episodes/uÅ   /prompts/banana_prompts.json) | Bá»™ prompt Imagen 3 / Banana sinh Start Frame 720p tá»· lá»‡ 16:9. |
| **Báº£ng phÃ¢n cáº£nh Storyboard** | [`storyboards/`](file:///c:/Projects/KieuStory/episodes/u¶   /storyboards/) | Báº£ng váº½ storyboard, bá»‘ cá»¥c trá»±c quan cho cÃ¡c cáº£nh cao trÃ o. |
| **Kiá»ƒm kÃª Tiáº¿n Ä‘á»™** | [`manifest.json`](file:///c:/Projects/KieuStory/episodes/uê   /manifest.json) | Báº£n Ä‘á»“ tráº¡ng thÃ¡i chi tiáº¿t cá»§a tá»«ng shot, tail frame vÃ  master scene. |

---

## 4. HÆ¯á»šNG DáºªN Sáº¢N XUáº¤T CHO WORKER & SUBAGENT (RUNBOOK)

```bash
# 1. Kiá»ƒm tra tiáº¿n Ä‘á»™ riÃªng cá»§a Táº­p z=:
python 05_Production_Pipeline/episode_manager.py --episode u0   

# 2. Render song song cÃ¡c cáº£nh cá»§a Táº­p u§    báº±ng Worker chuyÃªn trÃ¡ch:
python 05_Production_Pipeline/multi_worker_orchestrator.py --scenes $(python 05_Production_Pipeline/episode_manager.py --pending-scenes u  )

# 3. Ä�á»“ng bá»™ láº¡i cÃ¡c prompt vá»«a chá»‰nh sá»­a vÃ o Master File trung tÃ¢m:
python 05_Production_Pipeline/episode_manager.py --sync-to-master
```

---
*Báº£n quyá»�n sáº£n xuáº¥t Â© 2026 THáº¬P NGÅ¨ NIÃŠN - TÃ¡c giáº£ & Chá»§ sá»Ÿ há»¯u IP: Nguyá»…n SÄ© SÆ¡n.*
)ÚjoinÚupper)r…   r†   r‡   rˆ   Úep_idr   rK   ÚdurationÚcharsÚlocsr$   Ústatus_masterÚpctÚcontents                 rN   Úgenerate_episode_readmer™   Ì   sF  € à�DŒM€EØ�GÔ€EØ�UŒ^€FØÐ(Ô)€HØ�IŠI�gÐ/Ô0Ñ1Ô1€EØ�9Š9�W˜_Ô-Ñ.Ô.€DØ�iÔ €Gà;EÐuÐ7Ð7ÐKu€MØNWÐZ[ÊmÈmˆ^Ð
JÐ
J˜iÐ
JÐ
J¨>¸)Ñ+CÐ
JÐ
JÐ
JÐ
JÐ
JÐaf€Cð7÷ 7ò 7ð 7ð 7ð 7Ø
ð7ð 7ð 7ð 7Ø—K’K‘M”Mð7ð 7ð 7ð 7ð
  &ð7ð 7ð 7ð 7ð
 v{ð7ð 7ð 7ð 7ð —;’;‘=”=ð7ð 7ð 7ð 7ð ,2ð7ð 7ð 7ð 7ð "ð7ð 7ð 7ð 7ð )1ð7ð 7ð 7ð 7ð "'ð7ð 7ð 7ð 7ð  !ð!7ð 7ð 7ð 7ð"  -ð#7ð 7ð 7ð 7ð$ ),ð%7ð 7ð 7ð 7ð. 	ð/7ð 7ð 7ð 7ð> ]bð?7ð 7ð 7ð 7ð@ OTðA7ð 7ð 7ð 7ðB afðC7ð 7ð 7ð 7ðD joðE7ð 7ð 7ð 7ðF afðG7ð 7ð 7ð 7ðH [`ðI7ð 7ð 7ð 7ðV 28ðW7ð 7ð 7ð 7ðX =BðY7ð 7ð 7ð 7ð\ 06ð]7ð 7ð 7ð 7ð^ JOð_7ð 7ð 7ð 7ñ 7ô 7€Gðp €NrP   r’   Ú
shots_dictc                 óü  — |                       ¦   «         }| t          |¦  «        ddg i dœ}|                     ¦   «         D �]W\  }}t          t                               |› d�¦  «        ¦  «        }t          |¦  «        dk    }|r-t          |d                              t          ¦  «        ¦  «        nd}t          |z  }	|	 
                    ¦   «         r"t          |	                     d¦  «        ¦  «        ng }
t          |
¦  «        dk    }|r-t          |
d                              t          ¦  «        ¦  «        nd}|r|dxx         dz  cc<   n|dxx         dz  cc<   |                     d	d
¦  «        |                     dd¦  «        ||||dœ|d         |<   �ŒYt          t                               |› d�¦  «        ¦  «        t          t                               |› d�¦  «        ¦  «        z   }d„ |D ¦   «         |d<   |S )u;   Táº¡o manifest kiá»ƒm tra tÃ¬nh tráº¡ng assets cá»§a táº­p.r   )Ú
episode_idÚtotal_shotsÚrendered_shots_countÚmissing_shots_countÚmaster_scene_filesÚshots_statusz*.mp4Nzclean_frame_*.jpgrž   r   rŸ   Úscene_titler{   Úduration_secé
   )r   r£   ÚrenderedÚ
video_pathÚhas_tail_frameÚtail_frame_pathr¡   z_scene*_master*.mp4c                 ó\   — g | ])}t          |                     t          ¦  «        ¦  «        ‘Œ*S © )ÚstrÚrelative_toÚBASE_DIR)r^   Úfs     rN   ú
<listcomp>z/get_episode_assets_manifest.<locals>.<listcomp><  s,   € Ð%ZÐ%ZÐ%ZÀq¥c¨!¯-ª-½Ñ*AÔ*AÑ&BÔ&BÐ%ZÐ%ZÐ%ZrP   r    )rm   rD   rk   r<   Ú
VIDEOS_DIRÚglobr«   r¬   r­   ÚKEYFRAMES_DIRr9   r]   ÚEXPORTS_DIR)r’   rš   Ú	ep_prefixÚmanifestrr   Ú	shot_dataÚraw_candidatesÚis_renderedÚraw_fileÚkf_dirÚtail_candidatesÚhas_tailÚ	tail_fileÚscene_masterss                 rN   Úget_episode_assets_manifestr¿     s?  € à—’‘”€IàÝ˜:‘”Ø !Ø Ø Øðð €Hð )×.Ò.Ñ0Ô0ð 
ñ 
Ñˆ�å�jŸošo°Ð.?Ð.?Ð.?Ñ@Ô@ÑAÔAˆÝ˜.Ñ)Ô)¨AÒ-ˆØCNÐX•3�~ aÔ(×4Ò4µXÑ>Ô>Ñ?Ô?Ð?ÐTXˆõ  Ñ(ˆØDJÇMÂMÁOÄOÐ[�$˜vŸ{š{Ð+>Ñ?Ô?Ñ@Ô@Ð@ÐY[ˆÝ�Ñ'Ô'¨!Ò+ˆØEMÐW•C˜¨Ô*×6Ò6µxÑ@Ô@ÑAÔAÐAÐSWˆ	àð 	1ØÐ+Ð,Ð,Ô,°Ñ1Ð,Ð,Ñ,Ð,àÐ*Ð+Ð+Ô+¨qÑ0Ð+Ð+Ñ+ð —]’] =°"Ñ5Ô5Ø%ŸMšM¨.¸"Ñ=Ô=Ø#Ø"Ø&Ø(ð-
ð -
ˆ�Ô  Ñ)Ñ)õ �Ÿš¨IÐ)JÐ)JÐ)JÑKÔKÑLÔLÍtÕT_×TdÒTdÐhqð  fGð  fGð  fGñ  UHô  UHñ  PIô  PIñ  I€MØ%ZÐ%ZÈMÐ%ZÑ%ZÔ%Z€HÐ!Ñ"à€OrP   FÚ	overwritec                 óx  — t          d¦  «         t          d¦  «         t          d¦  «         t                               dd¬¦  «         t          ¦   «         }t	          ¦   «         \  }}t          ¦   «         }t                               ¦   «         D �]7\  }}|d         }t          |z  }|dz  }	|dz  }
|                     dd¬¦  «         |	                     dd¬¦  «         |
                     dd¬¦  «         t          d	|› d
|d         dd…         › d|                     t          ¦  «        › �¦  «         t          |d         z  }|dz  }|                     ¦   «         rBt          j        ||¦  «         t          d|                     ¦   «         j        dz  › d�¦  «         |dz  }|                     |d¦  «        }|r7|                     |d¬¦  «         t          dt%          |¦  «        › d�¦  «         |                     |di i¦  «        }|	dz  }|                     t'          j        |dd¬¦  «        d¬¦  «         t%          |                     di ¦  «        ¦  «        }t          d|› d �¦  «         |                     |di i¦  «        }|	d!z  }|                     t'          j        |dd¬¦  «        d¬¦  «         t          d"¦  «         |d#k    rEt*          d$z  }|                     ¦   «         r't          j        ||
d$z  ¦  «         t          d%¦  «         t-          ||                     di ¦  «        ¦  «        }|d&z  }|                     t'          j        |dd¬¦  «        d¬¦  «         |d'         }t%          |d(         ¦  «        d)k    }t/          ||||¦  «        }|d*z                       |d¬¦  «         t          d+¦  «         �Œ9t          d,z  }|                     t'          j        |dd¬¦  «        d¬¦  «         t1          ¦   «          t          d¦  «         t          d-¦  «         t          d.¦  «         dS )/ux   
    PhÃ¢n tÃ¡ch toÃ n diá»‡n dá»± Ã¡n sang mÃ´ hÃ¬nh thÆ° má»¥c tá»«ng táº­p:
    episodes/ep01 ... episodes/ep06.
    zO
==============================================================================uS   ðŸŽ¬ KHá»žI Táº O Cáº¤U TRÃšC PHÃ‚N Cáº¤P Táº¬P PHIM (MODULAR EPISODE ARCHITECTURE)zN==============================================================================T)ÚparentsÚexist_okr   r|   Ústoryboardsu   
ðŸ“‚ Ä�ang Ä‘Ã³ng gÃ³i Táº­p r�   r   Né-   z... -> r!   zscreenplay.mdu1      âœ“ Ká»‹ch báº£n phÃ¢n cáº£nh: screenplay.md (i   z KB)zprose.mdr{   r	   r
   u-      âœ“ VÄƒn xuÃ´i tiá»ƒu thuyáº¿t: prose.md (u
    kÃ½ tá»±)rR   úmuse_prompts.jsonFr&   ©Úensure_asciiÚindentu7      âœ“ Motion Prompts Muse: prompts/muse_prompts.json (z shots)úbanana_prompts.jsonu8      âœ“ Image Prompts Banana: prompts/banana_prompts.jsonr   zEp01_Gia_Bien_Storyboard.mdu.      âœ“ Storyboard: Ep01_Gia_Bien_Storyboard.mdúmanifest.jsonrž   r    r   ú	README.mduD      âœ“ Sá»• tay Ä‘iá»�u phá»‘i táº­p: README.md (Ä�Ã£ hoÃ n thiá»‡n)z thematic_and_shorts_prompts.jsonuP   ðŸŽ‰ HOÃ€N Táº¤T THIáº¾T Láº¬P Cáº¤U TRÃšC 6 Táº¬P Ä�á»˜C Láº¬P Táº I episodes/!zO==============================================================================
)r:   ÚEPISODES_DIRÚmkdirrO   rv   r„   ÚEPISODES_INFOrk   r¬   r­   ÚFILMMAKER_DIRr9   ÚshutilÚcopy2ÚstatÚst_sizer]   Ú
write_textrD   rh   ÚdumpsÚSTORYBOARDS_DIRr¿   r™   Úgenerate_master_episodes_readme)rÀ   rH   Úep_muse_promptsrq   Úep_banana_promptsrK   Úmetar’   Úep_dirÚprompts_dirÚstoryboard_dirÚscreenplay_srcÚscreenplay_dstÚ	prose_dstÚprose_contentÚ	muse_dataÚmuse_prompts_dstr†   Úbanana_dataÚ
banana_dstÚsb_srcÚmanifest_dataÚmanifest_dstÚrendered_cntrˆ   Úreadme_contentÚspecial_dsts                              rN   Úsplit_all_episodesrí   A  s‡  € õ
 
ˆ/ÑÔÐÝ	Ð
_Ñ`Ô`Ð`Ý	ˆ(�O„O€Oå×Ò˜t¨dÐÑ3Ô3Ð3Ý)Ñ+Ô+€IÝ'GÑ'IÔ'IÑ$€O�_Ý:Ñ<Ô<Ðå%×+Ò+Ñ-Ô-ð 8Wñ 8W‰ˆ�Ø�T”
ˆÝ Ñ%ˆØ˜yÑ(ˆØ -Ñ/ˆà�Š˜T¨DˆÑ1Ô1Ð1Ø×Ò $°ÐÑ6Ô6Ð6Ø×Ò T°DÐÑ9Ô9Ð9åÐs°ÐsÐs¸$¸w¼-ÈÈÈÔ:LÐsÐsÐU[×UgÒUgÕhpÑUqÔUqÐsÐsÑtÔtÐtõ '¨Ð.?Ô)@Ñ@ˆØ /Ñ1ˆØ× Ò Ñ"Ô"ð 	sÝŒL˜¨Ñ8Ô8Ð8ÝÐqÀn×FYÒFYÑF[ÔF[ÔFcÐgkÑFkÐqÐqÐqÑrÔrÐrð ˜ZÑ'ˆ	Ø!Ÿš f¨bÑ1Ô1ˆØð 	bØ× Ò  ¸Ð ÑAÔAÐAÝÐ`Å#ÀmÑBTÔBTÐ`Ð`Ð`ÑaÔaÐað $×'Ò'¨Ð0@À"Ð/EÑFÔFˆ	Ø&Ð)<Ñ<ÐØ×#Ò#¥D¤J¨yÀuÐUVÐ$WÑ$WÔ$WÐbiÐ#ÑjÔjÐjÝ˜	ŸšÐ&6¸Ñ;Ô;Ñ<Ô<ˆ	ÝÐZÈ	ÐZÐZÐZÑ[Ô[Ð[ð (×+Ò+¨E°I¸r°?ÑCÔCˆØ Ð#8Ñ8ˆ
Ø×Ò�dœj¨À5ÐQRÐSÑSÔSÐ^eÐÑfÔfÐfÝÐIÑJÔJÐJð �FŠ?ˆ?Ý$Ð'DÑDˆFØ�}Š}‰Œð IÝ”˜V ^Ð6SÑ%SÑTÔTÐTÝÐGÑHÔHÐHõ 4°E¸9¿=º=ÐIYÐ[]Ñ;^Ô;^Ñ_Ô_ˆØ Ñ/ˆØ×Ò¥¤
¨=ÀuÐUVÐ WÑ WÔ WÐbiÐÑjÔjÐjØ$Ð%;Ô<ˆÝ˜Ð';Ô<Ñ=Ô=ÀÒAˆ
õ 1°°yÀ,ÐPZÑ[Ô[ˆØ	�+Ñ	×)Ò)¨.À7Ð)ÑKÔKÐKÝÐUÑVÔVÐVÑVõ Ð!CÑC€KØ×Ò�4œ: oÀEÐRSÐTÑTÔTÐ_fÐÑgÔgÐgõ $Ñ%Ô%Ð%å	ˆ/ÑÔÐÝ	Ð
\Ñ]Ô]Ð]Ý	ˆ/ÑÔÐÐÐrP   c                  óL   — t           dz  } d}|                      |d¬¦  «         dS )uO   Táº¡o README.md tá»•ng quan Ä‘iá»�u phá»‘i cho toÃ n bá»™ thÆ° má»¥c episodes/.rÌ   u™  # THáº¬P NGÅ¨ NIÃŠN (THE FIFTEEN SPRINGS)
## Há»† THá»�NG Ä�Iá»€U PHá»�I 6 Táº¬P Ä�Iá»†N áº¢NH (EPISODE PRODUCTION UNITS)

> **Má»¤C TIÃŠU KIáº¾N TRÃšC**:
> 1. **Chá»‘ng LoÃ£ng Ngá»¯ Cáº£nh (Zero Dilution)**: ThÆ° má»¥c gá»‘c chá»‰ lÆ°u tÃ i liá»‡u tá»•ng thá»ƒ. Má»—i táº­p phim lÃ  má»™t mÃ´i trÆ°á»�ng lÃ m viá»‡c khÃ©p kÃ­n (self-contained). AI Agent chá»‰ náº¡p thÆ° má»¥c cá»§a táº­p tÆ°Æ¡ng á»©ng.
> 2. **Chá»‘ng Chá»“ng ChÃ©o (Zero Overlap)**: CÃ¡c Worker vÃ  Subagent cÃ³ thá»ƒ lÃ m viá»‡c song song trÃªn cÃ¡c táº­p khÃ¡c nhau mÃ  khÃ´ng bao giá»� gÃ¢y xung Ä‘á»™t file hay git conflict.
> 3. **Má»Ÿ Rá»™ng Ä�a Worker**: Há»— trá»£ 6 tÃ i khoáº£n Muse.ai cháº¡y song song trÃªn 6 táº­p phim.

---

## Báº¢NG Ä�Iá»€U HÆ¯á»šNG 6 Táº¬P PHIM (EPISODE INDEX)

| Táº­p | TÃªn PhÃ¢n Táº­p | ThÆ° Má»¥c | Sá»‘ Shot | Ká»‹ch Báº£n & VÄƒn XuÃ´i | TÃ¬nh Tráº¡ng |
| :---: | :--- | :--- | :---: | :--- | :---: |
| **EP01** | XuÃ¢n Sáº¯c Thá»� Nguyá»‡n & GiÃ´ng BÃ£o Ä�oáº¡n TrÆ°á»�ng | [`ep01/`](file:///c:/Projects/KieuStory/episodes/ep01/) | 192 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep01/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep01/prose.md) | Ä�ang má»Ÿ rá»™ng |
| **EP02** | Ná»—i Ä�au BÃ¡n MÃ¬nh & Cáº¡m Báº«y Láº§m Than | [`ep02/`](file:///c:/Projects/KieuStory/episodes/ep02/) | 19 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep02/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep02/prose.md) | Sáºµn sÃ ng |
| **EP03** | CÆ¡ DuyÃªn ThÃºc Gia & Ä�Ã²n Ghen Hoáº¡n ThÆ° | [`ep03/`](file:///c:/Projects/KieuStory/episodes/ep03/) | 14 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep03/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep03/prose.md) | Sáºµn sÃ ng |
| **EP04** | Báº» KhÃ³a VÆ°á»£t RÃ o & Oai Danh Tá»« Háº£i | [`ep04/`](file:///c:/Projects/KieuStory/episodes/ep04/) | 12 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep04/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep04/prose.md) | Sáºµn sÃ ng |
| **EP05** | BÃ¡o Ã‚n BÃ¡o OÃ¡n & Cáº¡m Báº«y Giang SÆ¡n | [`ep05/`](file:///c:/Projects/KieuStory/episodes/ep05/) | 8 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep05/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep05/prose.md) | Sáºµn sÃ ng |
| **EP06** | Há»“n Ä�oáº¡n Tiá»�n Ä�Æ°á»�ng & Ä�oÃ n ViÃªn Thanh Tá»‹nh | [`ep06/`](file:///c:/Projects/KieuStory/episodes/ep06/) | 8 | [`screenplay.md`](file:///c:/Projects/KieuStory/episodes/ep06/screenplay.md) / [`prose.md`](file:///c:/Projects/KieuStory/episodes/ep06/prose.md) | Sáºµn sÃ ng |

---

## CÃ�C Lá»†NH Ä�Iá»€U HÃ€NH THÆ¯á»œNG DÃ™NG

```bash
# BÃ¡o cÃ¡o tá»•ng thá»ƒ tiáº¿n Ä‘á»™ cáº£ 6 táº­p:
python 05_Production_Pipeline/episode_manager.py --status

# Xem chi tiáº¿t má»™t táº­p cá»¥ thá»ƒ:
python 05_Production_Pipeline/episode_manager.py --episode ep01

# Ä�á»“ng bá»™ ngÆ°á»£c tá»« cÃ¡c táº­p vá»� file master tá»•ng:
python 05_Production_Pipeline/episode_manager.py --sync-to-master

# KÃ­ch hoáº¡t 6 Worker render song song 6 Táº­p báº±ng 6 tÃ i khoáº£n Muse:
python 05_Production_Pipeline/multi_worker_orchestrator.py --dispatch-episodes
```
r	   r
   N)rÍ   rÕ   )Úmaster_readmer˜   s     rN   rØ   rØ   •  s5   € å  ;Ñ.€Mð&€GðN ×Ò˜W¨wÐÑ7Ô7Ð7Ð7Ð7rP   c                  óD  — t          d¦  «         t                               ¦   «         st          dt          › �¦  «         dS t          j        t                               d¬¦  «        ¦  «        } d}t          dd¦  «        D ]“}d	|› �}t          |z  d
z  dz  }|                     ¦   «         rht          j        |                     d¬¦  «        ¦  «        }|                     di ¦  «        }| 	                    ¦   «         D ]\  }}|| d         |<   |dz  }ŒŒ”t           
                    t          j        | dd¬¦  «        d¬¦  «         t          d|› dt          j        › d�¦  «         t                               ¦   «         �r t          j        t                               d¬¦  «        ¦  «        }	d}
t          dd¦  «        D ]�}d	|› �}t          |z  d
z  dz  }|                     ¦   «         rbt          j        |                     d¬¦  «        ¦  «        }|                     d
i ¦  «        }| 	                    ¦   «         D ]\  }}||	|<   |
dz  }
ŒŒŽt           
                    t          j        |	dd¬¦  «        d¬¦  «         t          d|
› dt          j        › d�¦  «         dS dS )u\   Gá»™p toÃ n bá»™ muse_prompts.json vÃ  banana_prompts.json tá»« cÃ¡c táº­p vá»� file master.uA   
ðŸ”„ Ä�ang Ä‘á»“ng bá»™ Prompts tá»« tá»«ng Táº­p vá»� Master...u$   [!] File master khÃ´ng tá»“n táº¡i: Nr	   r
   r   r   rb   rU   r|   rÆ   rR   Fr&   rÇ   u#   âœ“ Ä�Ã£ Ä‘á»“ng bá»™ thÃ nh cÃ´ng u    shots tá»« 6 táº­p vÃ o ú!rÊ   z!
)r:   rg   r9   rh   ri   r;   rj   rÍ   r]   rk   rÕ   rÖ   Únamer€   )Úmaster_dataÚtotal_mergedrI   r’   Úep_prompts_fileÚep_dataÚshotsÚsidÚsdataÚbanana_masterÚbanana_mergedÚep_banana_fileÚep_bdataÚbshotss                 rN   Úsync_to_masterrÿ   Â  sÃ  € å	Ð
NÑOÔOÐOÝ×%Ò%Ñ'Ô'ð ÝÐJÕ5HÐJÐJÑKÔKÐKØˆå”*Õ0×:Ò:ÀGÐ:ÑLÔLÑMÔM€KØ€Lå�1�a‰[Œ[ð "ð "ˆØ�a�	�	ˆÝ&¨Ñ.°Ñ:Ð=PÑPˆØ×!Ò!Ñ#Ô#ð 	"Ý”j ×!:Ò!:ÀGÐ!:Ñ!LÔ!LÑMÔMˆGØ—K’KÐ 0°"Ñ5Ô5ˆEØ#Ÿkšk™mœmð "ð "‘
��UØ5:�Ð,Ô-¨cÑ2Ø Ñ!��øå×"Ò"¥4¤:¨kÈÐVWÐ#XÑ#XÔ#XÐcjÐ"ÑkÔkÐkÝ	Ð
r°Ð
rÐ
rÕWjÔWoÐ
rÐ
rÐ
rÑsÔsÐsõ ×#Ò#Ñ%Ô%ñ }Ýœ
Õ#8×#BÒ#BÈGÐ#BÑ#TÔ#TÑUÔUˆØˆÝ�q˜!‘”ð 	'ð 	'ˆAØ˜!�I�IˆEÝ)¨EÑ1°IÑ=Ð@UÑUˆNØ×$Ò$Ñ&Ô&ð 'Ýœ: n×&>Ò&>ÈÐ&>Ñ&PÔ&PÑQÔQ�Ø!Ÿš i°Ñ4Ô4�Ø"(§,¢,¡.¤.ð 'ð '‘J�C˜Ø).�M #Ñ&Ø! QÑ&�M�MøÝ×(Ò(­¬°MÐPUÐ^_Ð)`Ñ)`Ô)`ÐkrÐ(ÑsÔsÐsÝÐ{°MÐ{Ð{Õ\qÔ\vÐ{Ð{Ð{Ñ|Ô|Ð|Ð|Ð|ð}ð }rP   c                 óD  — t          d¦  «         t          d¦  «         t          d¦  «         t          dd›ddd›dd	d
›ddd›d�¦  «         t          d¦  «         | r|                      ¦   «         gnd„ t          dd¦  «        D ¦   «         }|D �]€}t          |z  }|                     ¦   «         st          |d›d�¦  «         Œ5|dz  }|                     ¦   «         rˆt          j        |                     d¬¦  «        ¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dg ¦  «        }|rdnd}	|dk    r|› d|› d||z  d›d�nd }
nd!\  }}}
}	t          | 
                    d"d#¦  «         
                    d$d#¦  «        ¦  «        }t                               |i ¦  «        }|                     d%|¦  «        d&d'…         }t          |                     ¦   «         d›d|d›d|d
›d|
d›d|	› �	¦  «         �Œ‚t          d(¦  «         d&S ))u0   Hiá»ƒn thá»‹ bÃ¡o cÃ¡o tráº¡ng thÃ¡i cÃ¡c táº­p.zQ
================================================================================uK   ðŸ“Š BÃ�O CÃ�O TIáº¾N Ä�á»˜ Sáº¢N XUáº¤T THEO Tá»ªNG Táº¬P (EPISODE STATUS)zP================================================================================u   Táº¬Pz<8z | u
   TÃŠN Táº¬Pz<35u	   Sá»� SHOTz<10ÚRENDERz<12z	 | MASTERzP--------------------------------------------------------------------------------c                 ó   — g | ]}d |› �‘ŒS )rU   rª   )r^   rI   s     rN   r¯   z'show_episode_status.<locals>.<listcomp>ò  s   € Ð/OÐ/OÐ/O¸a°	°a°	°	Ð/OÐ/OÐ/OrP   r   rb   u     | ChÆ°a khá»Ÿi táº¡o thÆ° má»¥crË   r	   r
   r�   r   rž   r    u   âœ“ Ä�Ã£ cÃ³u   â�³ Ä�ang lÃ mrŠ   r‹   rŒ   r�   rŽ   )r   r   õ   â€”r  rU   r{   Úepr   Né"   zQ================================================================================
)r:   rm   rj   rÍ   r9   rh   ri   r;   r]   rA   ÚreplacerÏ   r‘   )r’   Ú
target_epsÚeidrÜ   Úmanifest_fileÚmdataÚtotÚdoneÚmastersrˆ   r—   rK   Úinfor   s                 rN   Úshow_episode_statusr  ê  sn  € å	ˆ/ÑÔÐÝ	Ð
WÑXÔXÐXÝ	ˆ(�O„O€OÝ	ˆWÐ
\Ð
\Ð
\˜LÐ
\Ð
\Ð
\°Ð
\Ð
\Ð
\ÀXÐ
\Ð
\Ð
\Ð
\Ñ]Ô]Ð]Ý	ˆ(�O„O€Oà$)ÐO�%—+’+‘-”-��Ð/OÐ/OÅ5ÈÈAÁ;Ä;Ð/OÑ/OÔ/O€Jàð Xñ XˆÝ Ñ#ˆØ�}Š}‰Œð 	Ý�SÐ=Ð=Ð=Ð=Ñ>Ô>Ð>Øà Ñ0ˆØ×ÒÑ!Ô!ð 	<Ý”J˜}×6Ò6ÀÐ6ÑHÔHÑIÔIˆEØ—)’)˜M¨1Ñ-Ô-ˆCØ—9’9Ð3°QÑ7Ô7ˆDØ—i’iÐ 4°bÑ9Ô9ˆGØ+2ÐH˜˜Ð8HˆJØ69¸A²g°g�TÐ2Ð2˜CÐ2Ð2 4¨¡8Ð2Ð2Ð2Ð2Ð2À5ˆCˆCà);Ñ&ˆC��s˜Jõ �S—[’[ ¨Ñ+Ô+×3Ò3°D¸"Ñ=Ô=Ñ>Ô>ˆÝ× Ò  ¨Ñ,Ô,ˆØ—’˜ #Ñ&Ô& s¨ sÔ+ˆå�—’‘”ÐVÐVÐV EÐVÐVÐV°#ÐVÐVÐV¸cÐVÐVÐVÈ*ÐVÐVÑWÔWÐWÑWå	ˆ/ÑÔÐÐÐrP   Ú__main__u%   Episode Manager for Tháº­p NgÅ© NiÃªn)Údescriptionz--split-allÚ
store_trueu?   TÃ¡ch dá»¯ liá»‡u master thÃ nh 6 thÆ° má»¥c táº­p Ä‘á»™c láº­p)ÚactionÚhelpz--sync-to-masteru4   Ä�á»“ng bá»™ prompt tá»« cÃ¡c táº­p vá»� file masterz--statusu7   Hiá»ƒn thá»‹ bÃ¡o cÃ¡o tráº¡ng thÃ¡i toÃ n bá»™ 6 táº­pz	--episodeuC   Xem chi tiáº¿t hoáº·c thao tÃ¡c vá»›i 1 táº­p cá»¥ thá»ƒ (vd: ep01))Útyper  )F)N)<Ú__doc__ÚosÚsysr=   rh   rÑ   ÚargparseÚpathlibr   Útypingr   r   r   r   ÚplatformÚstdoutÚreconfigureÚstderrÚ	ExceptionÚ__file__ÚresolveÚparentr­   rÍ   ÚSCRIPTS_DIRrÐ   ÚPROMPTS_DIRr×   Ú
ASSETS_DIRr°   r²   r³   rg   r€   r8   rÏ   rA   r«   rO   rv   r„   Úboolr™   r¿   rí   rØ   rÿ   r  Ú__name__ÚArgumentParserÚparserÚadd_argumentÚ
parse_argsÚargsÚ	split_allÚstatusÚanyÚvarsÚvaluesrY   rª   rP   rN   ú<module>r3     s¹  ððð ð 
€	€	€	Ø 
€
€
€
Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð „<�7ÒÐðØŒ
×Ò¨ÐÑ0Ô0Ð0ØŒ
×Ò¨ÐÑ0Ô0Ð0Ð0øØð ð ð Øˆðøøøð ˆ4�‰>Œ>×!Ò!Ñ#Ô#Ô*Ô1€Ø˜*Ñ$€ØÐ2Ñ2€Ø˜;Ñ&€Ø˜Ñ(€ØÐ-Ñ-€Ø˜Ñ#€
Ø˜(Ñ"€
Ø˜[Ñ(€Ø˜Ñ%€à!Ð$@Ñ@Ð Ø#Ð&BÑBÐ ØÐ!QÑQÐ ð ØØjØAØSð Kð  Kð  Kð _ð  _ð  _ð \ð	ð 	ð ØØ\Ø-ØKØiÐiÐiØ|Ð|Ð|ð Xð	ð 	ð ØØVØ-ØMØgÐgÐgØtÐtÐtð bð	ð 	ð ØØ[Ø-ØJØfÐfÐfð Gð  Gð  Gð nð	ð 	ð ØØ^Ø-ØJð Vð  Vð  Vð Fð  Fð  Fð Fð	ð 	ð ØØhØ-ØRð [ð  [ð  [ð Uð  Uð  Uð Rð	ð 	ðg=ð =€ð@ 4¨¨S¨¤>ð ð ð ð ð(*'¨$¨s°D¨y¬/ð *'ð *'ð *'ð *'ðZ¨D°°d°¬Oð ð ð ð ð6E Tð E°cð EÈ3ð EÐ\`ð EÐehð Eð Eð Eð EðP* sð *¸ð *Àð *ð *ð *ð *ðZQð Q $ð Qð Qð Qð Qðh*8ð *8ð *8ðZ%}ð %}ð %}ðP"ð "˜x¨œ}ð "ð "ð "ð "ðJ ˆzÒÑØ$ˆXÔ$Ð1XÐYÑYÔY€FØ
×Ò˜¨lð  BCÐñ  Dô  Dð  DØ
×ÒÐ*°<ÐF|ÐÑ}Ô}Ð}Ø
×Ò˜
¨<Ð>wÐÑxÔxÐxØ
×Ò˜¨#Ð4yÐÑzÔzÐzà×ÒÑÔ€Dà„~ð *ØÐÑÔÐÐÐØ	Ô	ð *ØˆÑÔÐÐÐØ	Œð *˜C˜C   T¡
¤
× 1Ò 1Ñ 3Ô 3Ñ4Ô4ð *ØÐ˜DœLÑ)Ô)Ð)Ð)Ð)Ø	Œð *ØÐ˜DœLÑ)Ô)Ð)Ð)Ð)ð! Ðð*ð *s   ¹6A0 Á0A8Á7A8