§
   ÐÎËÚ˜ðã                   óö   — d Z ddlZddlmZ dZdZdZddd	d
ddddœZddddddddœZddddddddddddddœZ	d Z
d!\  ZZd"„ Zd#„ Zd$„ Zd%„ Zd&„ Zd'„ Zd(„ Zd)„ Zd*„ Zd+„ Z G d,„ d-¦  «        Zd.„ Z G d/„ d0¦  «        ZdS )1u/  What a game design shows: the window properties `WCS.Game.*` derived from the state of the game controller.

`view(game)` is pure (no Kodi): it turns the controller (MillionaireGameController) into the properties of the
current screen, so a design (an XML file) only decides how they look. One screen is active at a time:

    title      welcome of the game: the work, its facts, "ZaÄ�Ã­t hru / Pravidla"
    rules      how the game is played
    intro      the moderator's welcome while the first question is prepared
    loading    the next question is prepared
    question   a question with answers, lifelines and the ladder (also while the answer is being evaluated)
    feedback   a right answer: explanation and the way on
    gameover   a wrong answer: both answers, what was reached, explanation
    win        the last question answered: the million
    results    the summary of a won game
    error      the moderator could not get his words

Every key is always present (empty when it does not apply), so a screen never shows a property of the previous one.
é    N)ÚMONEY_AMOUNTSé	   ÚABCD))Úeasyu   SNADNÃ�é   é   )Úmediumu	   STÅ˜EDNÃ�é   é   )Úhardu   TÄšÅ½KÃ�é   r   u   FILMOVÃ� VÃ�ZVAu   SERIÃ�LOVÃ� VÃ�ZVAu   KANÃ�LOVÃ� VÃ�ZVAu   HERECKÃ� VÃ�ZVAu   REÅ½ISÃ‰RSKÃ� VÃ�ZVAu   SCENÃ�RISTICKÃ� VÃ�ZVAu   TVÅ®RCOVSKÃ� VÃ�ZVA)ÚmovieÚseriesÚchannelÚactorÚdirectorÚwriterÚcreatorÚfilmõ   seriÃ¡lu   kanÃ¡lÚherceu
   reÅ¾isÃ©rau   scÃ©nÃ¡ristuu   tvÅ¯rceÚtitleÚrulesÚintroÚloadingÚquestionÚfeedbackÚgameoverÚwinÚerror)r   Úmillionaire_welcomeÚmillionaire_rulesÚgenerating_welcomeÚwelcome_screenÚgenerating_questionÚplayingÚanswer_pendingÚgenerating_feedbackÚanswer_feedbackÚ	game_overÚgame_finishedr    )r)   r+   )éF   é   c                  óJ   — t          d„ | D ¦   «         ¦  «        }|t          k    S )zJTrue when the texts would not fit the moderator's card in its normal font.c           
   3   ó¬   K  — | ]O}|¯|                      ¦   «         ¯t          d t          t          j        |t
          ¦  «        ¦  «        ¦  «        V — ŒPdS ©r   N)ÚstripÚmaxÚlenÚtextwrapÚwrapÚMODERATOR_CHARS)Ú.0Útexts     úa/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/games/game_view.pyú	<genexpr>z"moderator_small.<locals>.<genexpr>/   sX   è è € ÐmÐmÀdÐW[ÐmÐ`d×`jÒ`jÑ`lÔ`lÐm•�A•s�8œ=¨­Ñ?Ô?Ñ@Ô@ÑAÔAÐmÐmÐmÐmÐmÐmó    )ÚsumÚMODERATOR_LINES)ÚtextsÚliness     r9   Úmoderator_smallr@   -   s)   € åÐmÐmÈeÐmÑmÔmÑmÔm€EØ•?Ò"Ð"r;   c                 ó4   — | rt          j        | d¦  «        ndS )Nu   0 KÄ�)r   Úget©Ú	round_nums    r9   ÚmoneyrE   3   s   € Ø4=ÐJ�=Ô˜Y¨Ñ0Ô0Ð0À7ÐJr;   c                 ól   ‡ — t          ˆ fd„t          D ¦   «         t          d         dd…         ¦  «        S )z*(key, label) of the difficulty of a round.c              3   óJ   •K  — | ]\  }}}}|‰cxk    r|k    ¯n n||fV — Œd S )N© )r7   ÚkeyÚlabelÚfirstÚlastrD   s        €r9   r:   ztier_of.<locals>.<genexpr>9   sR   øè è € ÐaÐaÑ"9 # u¨e°TÀeÈyÐF`ÐF`ÒF`ÐF`Ð\`ÒF`ÐF`ÐF`ÐF`ÐF`�#�u�ÐF`ÐF`ÐF`ÐF`ÐaÐar;   éÿÿÿÿNé   )ÚnextÚTIERSrC   s   `r9   Útier_ofrQ   7   s;   ø€ åÐaÐaÐaÐa½UÐaÑaÔaÕchÐikÔclÐmoÐnoÐmoÔcpÑqÔqÐqr;   c                 óx   — t                                | j        d¦  «        }|dk    rt          | dd¦  «        rdS |S )Nr   r   Ú_results_shownFÚresults)ÚSCREENSrB   Ú
game_stateÚgetattr)ÚgameÚscreens     r9   Ú	screen_ofrZ   <   s;   € Ý�[Š[˜œ¨'Ñ2Ô2€FØ�‚€�7 4Ð)9¸5ÑAÔA€ØˆyØ€Mr;   c                 ó–   — | j         dk    rt          S | j         t          v r| j        S | j         dv rdS t	          d| j        dz
  ¦  «        S )z Questions answered right so far.r+   )r   r!   r"   r   r#   r$   r   r   )rV   ÚROUNDSÚ	EVALUATEDÚcurrent_roundr2   )rX   s    r9   Ú	completedr_   C   s[   € à„˜/Ò)Ð)ÝˆØ„�)Ð#Ð#ØÔ!Ð!Ø„ð -ð -ð -àˆqÝˆq�$Ô$ qÑ(Ñ)Ô)Ð)r;   c                 óª  — | j         pi }|                     dg ¦  «        }g }t          d¦  «        D ]¡}|t          |¦  «        k     r||         nd}| j        r| j        r|| j        vrd}|s|                     d¦  «         ŒP|dk    r6| j        dk    r+|t          | dd¦  «        k    r|                     d	¦  «         ŒŒ|                     d¦  «         Œ¢|S )
zGState of every answer button: '' | removed | pending | correct | wrong.Úoptionsr
   Ú Úremovedr   r'   Úselected_answer_indexrM   Úpending)	Úcurrent_questionrB   Úranger3   Úlifeline_5050_usedÚlifeline_5050_indicesÚappendrV   rW   )rX   rY   r   ra   ÚstatesÚindexr8   s          r9   Ú_answer_statesrm   O   s  € àÔ$Ð*¨€HØ�lŠl˜9 bÑ)Ô)€GØ€FÝ�q‘”ð 	ð 	ˆØ!&­¨W©¬Ò!5Ð!5ˆw�uŒ~ˆ~¸2ˆØÔ"ð 	 tÔ'Að 	ÀeÐSWÔSmÐFmÐFmØˆDØð 	Ø�MŠM˜)Ñ$Ô$Ð$Ð$Ø�zÒ!Ð! d¤oÐ9IÒ&IÐ&IÈeÕW^Ð_cÐe|ð  Añ  XBô  XBò  OBð  OBØ�MŠM˜)Ñ$Ô$Ð$Ð$à�MŠM˜"ÑÔÐÐØ€Mr;   c                 ó®   — i }t           D ]J\  }}}}t          dt          | |¦  «        |z
  dz   ¦  «        }d                     |||z
  dz   ¦  «        ||<   ŒK|S )Nr   r   z{}/{})rP   r2   ÚminÚformat)ÚdoneÚresultrI   Ú_labelrK   rL   Úrights          r9   Ú_tier_countsru   a   sg   € Ø€FÝ$)ð >ð >Ñ ˆˆV�U˜DÝ�A•s˜4 ‘”¨Ñ.°Ñ2Ñ3Ô3ˆØ—n’n U¨D°5©L¸1Ñ,<Ñ=Ô=ˆˆs‰ˆØ€Mr;   c                 óò   — i }t          dt          dz   ¦  «        D ][}||k    rd||<   Œ|dk    r|| j        k    rd||<   Œ%|dk    r|| j        dz   k    rd||<   Œ?|dk    r|| j        k    rd||<   ŒVd||<   Œ\|S )	Nr   rq   r   Úcurrentr   r   ÚfailedÚtodo)rg   r\   r^   )rX   rY   rq   rk   Únumbers        r9   Ú_ladderr{   i   s¶   € Ø€FÝ˜�6 A™:Ñ&Ô&ð 
$ð 
$ˆØ�TŠ>ˆ>Ø#ˆF�6‰NˆNØ�zÒ!Ð! f°Ô0BÒ&BÐ&BØ&ˆF�6‰NˆNØ�zÒ!Ð! f°Ô0BÀQÑ0FÒ&FÐ&FØ&ˆF�6‰NˆNØ�zÒ!Ð! f°Ô0BÒ&BÐ&BØ%ˆF�6‰NˆNà#ˆF�6‰NˆNØ€Mr;   c                 ó"  — | j         pi }| j        pi }t          |                     d¦  «        pg d¢¦  «        g d¢z   }|s|r| j        nd|                     dd¦  «        |                     d¦  «        dv r|                     dd¦  «        nd|r|                     d¦  «        rdndnd|                     d	d¦  «        t          |d
         ¦  «        t          |d         ¦  «        t          |d         ¦  «        t          |d         ¦  «        dœ	S )z2Tip card and audience poll: their state and texts.rT   )r   r   r   r   rb   Ústate)Úreadyr    r8   ÚfinalÚrunningÚstatusr   r   rN   r   )	ÚHelpKindÚTipStateÚTipTextÚ	PollStateÚ
PollStatusÚPollAÚPollBÚPollCÚPollD)Útip_viewÚ	poll_viewÚlistrB   Ú	help_kindÚstr)rX   ÚtipÚpollrT   s       r9   Ú_helpr’   y   s  € à
Œ-Ð
˜2€CØŒ>Ð˜R€DÝ�4—8’8˜IÑ&Ô&Ð6¨,¨,¨,Ñ7Ô7¸,¸,¸,ÑF€Gà'*Ð;¨dÐ;�D”N�N¸Ø—G’G˜G RÑ(Ô(Ø*-¯'ª'°'Ñ*:Ô*:Ð>PÐ*PÐ*P�3—7’7˜6 2Ñ&Ô&Ð&ÐVXØFJÐR §¢¨'Ñ!2Ô!2ÐA�g�g¸	¸	ÐPRØ—h’h˜x¨Ñ,Ô,Ý�W˜Q”Z‘”­3¨w°q¬z©?¬?ÅSÈÐQRÌÁ_Ä_Õ_bÐcjÐklÔcmÑ_nÔ_nðð ð r;   c                 ót
  — t          | ¦  «        }| j        }t          | ¦  «        }|dv r| j        nd}| j        pi }|dv r|                     dg ¦  «        ng }t          |¦  «        dgdt          |¦  «        z
  z  z   }| j        pi }|rt          | j        ¦  «        nd\  }}	t                               | j        d¦  «        }
| j        | j        | j        d	œ}|                     d
d¦  «        }t          | dd¦  «        }| j        }t#          | |¦  «        }t%          |¦  «        }t'          | ||¦  «        }i d|“dt(                               | j        t(          d         ¦  «        “d|
“dt          |dd¦  «        p$d                     |
dk    rdn	|
dk    rdn|
¦  «        “dt          |dd¦  «        pd                     | j        ¦  «        “d|rt/          |¦  «        nd“d|rd                     |t0          ¦  «        nd“d|“d|	“d|rt3          | j        ¦  «        nd“d|d k    r'| j        t0          k     rt3          | j        d!z   ¦  «        nd“d"t3          |¦  «        “d#|dv r|                     d$d¦  «        nd“d%|d         “d&|d!         “d'|d(         “d)|d*         “i d+|d         “d,|d!         “d-|d(         “d.|d*         “d/| j        rt/          | j        ¦  «        nd“d0|                      d1¬2¦  «        “d3|d4         rd5nd“d6|d7         rd5nd“d8|d9         rd5nd“d:t/          t9          d;„ |                     ¦   «         D ¦   «         ¦  «        ¦  «        “d<|d=k    r	| j        pdnd“d>|d?k    s|d@k    s|d=k    r	| j        €d5nd“dB|dCv r|                     dDd¦  «        nd“dE|d k    r:tA          |                     dDd¦  «        |                     dFd¦  «        ¦  «        rd5nd“dG|dCv r|                     dFd¦  «        nd“dH|dIv r|                     dJd¦  «        nd“dK|dLk    rtB          |         nd“¥|dLk    r||         nd|dIv rtB          |         nd|dIv r||         ndt/          |¦  «        dM                     |t0          ¦  «        dN                     |t0          ¦  «        |dO         |dP         |dQ         dRœ	¥}| "                    |d$k    rtG          | ¦  «        ntG          tH          ¦  «        ¦  «         tK          d!t0          d!z   ¦  «        D ] }||         |dS                     |¦  «        <   Œ!|S )TzZThe properties (name without the `WCS.Game.` prefix -> text) of the screen the game is on.)r   r   r   r   r   )r   r   r   ra   rb   r
   )rb   rb   r   )Ú5050ÚTipÚAudienceÚcorrectrd   ÚScreenÚKickerr   ÚSubjectÚTaglineÚtaglineu   Jak dobÅ™e znÃ¡te {}?z
tento filmr   u   tento seriÃ¡lÚWinLineÚwin_lineu!   ZnÃ¡te {} do poslednÃ­ho detailu.ÚRoundÚ
RoundLabelu   OTÃ�ZKA {} / {}ÚTierKeyÚ	TierLabelÚMoneyÚ	NextMoneyr   r   ÚEarnedÚQuestionTextr   ÚOptAÚOptBÚOptCrN   ÚOptDr   ÚStateAÚStateBÚStateCÚStateDÚ	CountdownÚTipLabelT©ÚshortÚLife5050Usedr”   ÚtrueÚLifeTipUsedr•   ÚLifeAudienceUsedr–   Ú	LivesUsedc              3   ó   K  — | ]}|¯d V — Œ	dS r0   rH   )r7   Úuseds     r9   r:   zview.<locals>.<genexpr>¯   s'   è è € ÐBÐB 4¸TÐB˜QÐBÐBÐBÐBÐBÐBr;   Ú	Moderatorr   ÚLoadingr#   r   NÚResult)r   r   r   Úresult_announcementÚModeratorSmallÚtransition_textÚ
TransitionÚExplanation)r   r   ÚexplanationÚ
YourLetterr   z{} z {}z{} / {}r   r	   r   )	ÚYourTextÚRightLetterÚ	RightTextÚCorrectCountÚCorrectLabelÚScoreÚTierEasyÚ
TierMediumÚTierHardzLadder.{}.State)&rZ   rV   r_   r^   rf   rB   r�   r3   Úfeedback_datarQ   ÚSUBJECTSÚ
media_typerh   Úlifeline_tip_usedÚlifeline_audience_usedrW   Úcontentrm   ru   r{   ÚKICKERSrp   r   r�   r\   rE   Ú	countdownÚ_get_tip_textr<   ÚvaluesÚmoderator_welcomeÚprefetched_questionr@   ÚLETTERSÚupdater’   Ú_NoHelprg   )rX   rY   r}   rq   rD   r   ra   r   Útier_keyÚ
tier_labelÚsubjectÚlivesr—   ÚchosenrÒ   rk   ÚcountsÚladderÚdatarz   s                       r9   Úviewrä   ˆ   s¥  € å�t‰_Œ_€FØŒO€EÝ�T‰?Œ?€DØ&,Ð0_Ð&_Ð&_�Ô"Ð"Ðef€IØÔ$Ð*¨€HØ-3Ð7[Ð-[Ð-[ˆh�lŠl˜9 bÑ)Ô)Ð)Ðac€GÝ�7‰mŒm˜r˜d a­#¨g©,¬,Ñ&6Ñ7Ñ7€GØÔ!Ð' R€HØ:CÐQ�7 4Ô#5Ñ6Ô6Ð6ÈÑ€HˆjÝ�lŠl˜4œ?¨FÑ3Ô3€GØÔ,°TÔ5KÐY]ÔYtÐuÐu€EØ�lŠl˜9 aÑ(Ô(€GÝ�TÐ2°AÑ6Ô6€FØŒl€GÝ˜D &Ñ)Ô)€FÝ˜$ÑÔ€FÝ�T˜6 4Ñ(Ô(€Fð$Ø�&ð$à•'—+’+˜dœo­w°wÔ/?Ñ@Ô@ð$ð 	�7ð$ð 	•7˜7 I¨rÑ2Ô2ð iÐ6M×6TÒ6TØ# vÒ-Ð-ˆLˆLÀgÐQZÒFZÐFZ°?°?Ð`gñ7iô 7ið	$ð 	•7˜7 J°Ñ3Ô3ÐmÐ7Z×7aÒ7aÐbfÔblÑ7mÔ7mð$ð 	 9Ð4•�Y‘”�°"ð$ð 	ÀYÐVÐ'×.Ò.¨y½&ÑAÔAÐAÐTVð$ð 	�8ð$ð )¨*ð$ð 	¨iÐ?•�tÔ)Ñ*Ô*Ð*¸Rð$ð 	°fÀ
Ò6JÐ6JÈtÔOaÕdjÒOjÐOj•U˜4Ô-°Ñ1Ñ2Ô2Ð2Ðprð$ð 	•%˜‘+”+ð$ð 	¸ÐBfÐ8fÐ8f˜Ÿš Z°Ñ4Ô4Ð4Ðlnð$ð 	�˜”
ð$ð # G¨A¤Jð$ð 17¸À¼
ð$ð EKÈGÐTUÌJð$ð $ð 	�&˜”)ð$ð & v¨a¤yð$ð 3;¸FÀ1¼Ið$ð HPÐQWÐXYÔQZð$ð  	¨D¬NÐB•S˜œÑ(Ô(Ð(Àð!$ð" 	�D×&Ò&¨TÐ&Ñ2Ô2ð#$ð$ 	 %¨¤-Ð7˜˜°Rð%$ð$ :GÐRWÐX]ÔR^ÐHfÈÈÐdfð%$ð& 	 e¨JÔ&7Ð?˜F˜F¸Rð'$ð( 	•S�ÐBÐB¨5¯<ª<©>¬>ÐBÑBÔBÑBÔBÑCÔCð)$ð* 	°vÀÒ7HÐ7H�dÔ,Ð2°øÈbð+$ð, 	˜UÐ&:Ò:Ð:¸fÈ	Ò>QÐ>QØ�gÒÐ $Ô":Ð"Bð �6ØIKð/$ð0 	¸VÐGfÐ=fÐ=f�(—,’,Ð4°bÑ9Ô9Ð9Ðlnð1$ð2 	 F¨jÒ$8Ð$8½_Ø�LŠLÐ.°Ñ3Ô3°X·\²\ÐBSÐUWÑ5XÔ5Xñ>Zô >ZÐ$8˜&˜&Ø_að5$ð6 	¸VÐGfÐ=fÐ=f�h—l’lÐ#4°bÑ9Ô9Ð9Ðlnð7$ð8 	¸&ÐD\Ð:\Ð:\�x—|’| M°2Ñ6Ô6Ð6Ðbdð9$ð: 	¨°:Ò)=Ð)=•g˜f”o�oÀ2ð;$ð $ð< (.°Ò';Ð';�G˜F”O�OÀØ+1Ð5MÐ+MÐ+M•w˜wÔ'Ð'ÐSUØ)/Ð3KÐ)KÐ)K�W˜WÔ%Ð%ÐQSÝ˜D™	œ	°9×3CÒ3CÀDÍ&Ñ3QÔ3QØ×!Ò! $­Ñ/Ô/Ø˜6”N°&¸Ô2BÐPVÐW]ÔP^ðG$ð $ð $€DðJ 	‡K‚K˜v¨Ò3Ð3•�d‘”�½½w¹¼ÑHÔHÐHÝ˜�6 A™:Ñ&Ô&ð @ð @ˆØ17¸´ˆÐ×%Ò% fÑ-Ô-Ñ.Ð.Ø€Kr;   c                   ó   — e Zd ZdZdxZZdZdS )rÛ   z_Stand-in game without a running lifeline (the help keys are empty outside the question screen).Nrb   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r‹   rŒ   rŽ   rH   r;   r9   rÛ   rÛ   Æ   s#   € € € € € ØiÐiØÐ€HˆyØ€I€I€Ir;   rÛ   c                  óV   — t          ¦   «         } t          t          | ¦  «        ¦  «        S )zAEvery property name `view` sets (so a design can clear them all).)Ú_ProbeÚsortedrä   )Úprobes    r9   Úkeysrî   Ì   s   € å‰HŒH€EÝ•$�u‘+”+ÑÔÐr;   c                   ón   — e Zd ZdZdZdZdZdZdxZZ	dZ
dZdxZxZZdZdZdZdZdZdZed
d	„¦   «         ZdS )rë   z0A game at its very beginning, enough for `keys`.r   r   Nrb   r   Fr   c                 ó   — dS )Nrb   rH   r±   s    r9   rÕ   z_Probe._get_tip_textã   s   € àˆrr;   )F)ræ   rç   rè   ré   rV   r^   rf   rÍ   r‹   rŒ   rŽ   rÔ   rh   rÐ   rÑ   ri   rÏ   r   r×   rØ   rÒ   ÚstaticmethodrÕ   rH   r;   r9   rë   rë   Ò   s”   € € € € € Ø:Ð:Ø€JØ€MØÐØ€MØÐ€HˆyØ€IØ€IØFKÐKÐÐKÐ*Ð-CØ ÐØ€JØ€EØÐØÐØ€Gàðð ð ñ „\ðð ð r;   rë   )ré   r4   Úwcs.games.millionaire_promptsr   r\   rÙ   rP   rÓ   rÎ   rU   r]   r6   r=   r@   rE   rQ   rZ   r_   rm   ru   r{   r’   rä   rÛ   rî   rë   rH   r;   r9   ú<module>ró      sÆ  ððð ð$ €€€à 7Ð 7Ð 7Ð 7Ð 7Ð 7à	
€Ø
€Ø^€Ø%Ð1EÐReØ%Ð3IÐUmØ+ð-ð -€ð  y¸XÐPWÐeqØ$°ð<ð <€à°GÐRYØ!(¸GÐ\eØ °JÐWaØ(°zÐTYÐdkðmð m€ð
 1€	ð
 $)Ñ  €�ð#ð #ð #ðKð Kð Kðrð rð rð
ð ð ð	*ð 	*ð 	*ðð ð ð$ð ð ðð ð ð ð ð ð;ð ;ð ;ð|ð ð ð ð ñ ô ð ðð ð ðð ð ð ð ñ ô ð ð ð r;   