+
    "Ý³j5\  ã                  óÖ  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIH	t	H
t
HtHtHt ^RIHtHtHtHt ^RIHt ^RIHtHtHtHtHt ^R	IHtHtHt ]	]] .R3,          t!R
t"R t#]! RR7       ! R R4      4       t$]! RR7       ! R R4      4       t%]! RR7       ! R R4      4       t&]! RR7       ! R R4      4       t']! RR7       ! R R4      4       t( ! R R4      t) ! R R4      t*. ROt+R# )z9Coordinator primitives for region-aware LogBar renderers.)Úannotations)Ú	dataclass©ÚwrapsN)ÚCallableÚDictÚIteratorÚOptionalÚSequence)Ú
ANSI_RESETÚ
strip_ansiÚtruncate_ansiÚvisible_length)Ú
CellBuffer)ÚDividerAssignmentÚLeafNodeÚ
LayoutNodeÚResolvedLayoutÚViewport)ÚRenderContextÚclip_rendered_linesÚline_region_start_rowÚrootc                ó0   a € \        S 4      V 3R l4       pV# )z=Serialize one coordinator API call through its instance lock.c                ó‚   <€ V P                   ;_uu_ 4        S! V .VO5/ VB uuR R R 4       #   + '       g   i     R # ; i©N)Ú_lock)ÚselfÚargsÚkwargsÚmethods   &*,€ÚS/home/luca/screen-checking/.venv/lib/python3.14/site-packages/logbar/coordinator.pyÚwrapperÚ$_coordinator_locked.<locals>.wrapper   s*   ø€ à�Z�Z‹ZÙ˜$Ð0 Ò0¨Ñ0÷ �Z�Z‹Zús   –-­>	r   )r    r"   s   f r!   Ú_coordinator_lockedr$      s"   ø€ ô ˆ6ƒ]ô1ó ð1ð €Nó    T)Úfrozenc                  ó:   € ] tR t^$t$ RtR]R&   R]R&   R]R&   RtR	# )
ÚResolvedRegionzEBind one registered region object to its resolved terminal rectangle.ÚstrÚ	region_idÚobjectÚregionr   Úviewport© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r.   r%   r!   r(   r(   $   s   ‡ áOàƒNØƒNØ×r%   r(   c                  ó:   € ] tR t^-t$ RtR]R&   R]R&   R]R&   RtR	# )
ÚResolvedCoordinatorLayoutz;Bind one resolved layout tree to registered region objects.r   Úroot_viewportr   Úlayoutúlist[ResolvedRegion]Úregionsr.   Nr/   r.   r%   r!   r8   r8   -   s   ‡ áEàÓØÓØ!×!r%   r8   c                  ó:   € ] tR t^6t$ RtR]R&   R]R&   R]R&   RtR# )	Ú
RowSegmentz?Describe one already-clipped line segment placed on a root row.ÚintÚxÚwidthr)   Útextr.   Nr/   r.   r%   r!   r>   r>   6   s   ‡ áIà
ƒFØƒJØ
‡Ir%   r>   c                  óD   € ] tR t^?t$ RtR]R&   R]R&   R]R&   R]R&   R	tR
# )ÚPositionedRegionzHCarry one resolved region with its render context and root-local offset.r(   Úresolvedr   Úcontextr?   Úlocal_xÚlocal_yr.   Nr/   r.   r%   r!   rD   rD   ?   s   ‡ áRàÓØÓØƒLØ‡Lr%   rD   c                  óN   € ] tR t^It$ RtR]R&   R]R&   R]R&   R]R&   R]R&   R	tR
# )ÚClippedDividerzFDescribe one root-clipped divider rectangle in root-local coordinates.r?   rG   rH   rA   Úheightr)   Úfillr.   Nr/   r.   r%   r!   rJ   rJ   I   s   ‡ áPàƒLØƒLØƒJØƒKØ
‡Ir%   rJ   c                  óB   € ] tR t^TtRtR
R R lltR R ltR R ltR	tR# )ÚRenderCoordinatorStatez<Mutable state container for one render coordinator instance.Nc               ó    € V ^8„  d   QhRRRR/# )é   Ú	on_changeúOptional[StateChangeCallback]ÚreturnÚNoner.   )Úformats   "r!   Ú__annotate__Ú#RenderCoordinatorState.__annotate__W   s   € ÷ ;ñ ;Ð"?ð ;È4ñ ;r%   c                ól  € \         P                  V RV4       \         P                  V R. 4       \         P                  V R\        4       4       \         P                  V R^ 4       \         P                  V RR4       \         P                  V R. 4       \         P                  V RR	4       \         P                  V R
R	4       \         P                  V RR	4       \         P                  V R. 4       \         P                  V RR	4       \         P                  V RR4       \         P                  V RR4       R# )zFInitialize the coordinator state with the current single-stack fields.Ú
_on_changeÚ_attached_progress_barsÚ_dirty_progress_barsÚ_last_drawn_progress_countÚ_last_rendered_terminal_sizeNÚ_last_rendered_progress_linesÚ_cursor_positioned_above_stackFÚ_cursor_positioned_on_stack_topÚ_stack_redraw_invalidatedÚ_deferred_log_recordsÚ_cursor_hiddenÚ_refresh_threadÚ_last_active_drawg        )r+   Ú__setattr__Úset)r   rQ   s   &&r!   Ú__init__ÚRenderCoordinatorState.__init__W   sü   € ô 	×Ñ˜4 ¨yÔ9Ü×Ñ˜4Ð!:¸BÔ?Ü×Ñ˜4Ð!7¼»Ô?Ü×Ñ˜4Ð!=¸qÔAÜ×Ñ˜4Ð!?ÀÔFÜ×Ñ˜4Ð!@À"ÔEÜ×Ñ˜4Ð!AÀ5ÔIÜ×Ñ˜4Ð!BÀEÔJÜ×Ñ˜4Ð!<¸eÔDÜ×Ñ˜4Ð!8¸"Ô=Ü×Ñ˜4Ð!1°5Ô9Ü×Ñ˜4Ð!2°DÔ9Ü×Ñ˜4Ð!4°cÖ:r%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   Únamer)   Úvaluer+   rS   rT   r.   )rU   s   "r!   rV   rW   h   s!   € ÷ 	#ñ 	# ð 	#¨Fð 	#°tñ 	#r%   c                óx   € \         P                  WV4       VR8X  d   R# V P                  pVe   V! W4       R# R# )zDStore a state field and notify the compatibility layer on rebinding.rY   N)r+   rf   rY   )r   rk   rl   rQ   s   &&& r!   rf   Ú"RenderCoordinatorState.__setattr__h   s;   € ô 	×Ñ˜4 uÔ-Ø�<ÔÙà—O‘Oˆ	ØÒ Ù�dÖ"ñ !r%   c               ó   € V ^8„  d   QhRR/# )rP   rS   zSequence[str]r.   )rU   s   "r!   rV   rW   s   s   € ÷ 
ñ 
˜]ñ 
r%   c                ó   € R# )z@Return the mutable state field names tracked by the coordinator.)rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   r.   ©r   s   &r!   Úfield_namesÚ"RenderCoordinatorState.field_namess   s   € ð
ð 	
r%   r.   r   )	r0   r1   r2   r3   r4   rh   rf   rr   r6   r.   r%   r!   rN   rN   T   s   † ÙF÷;õ"	#÷
ñ 
r%   rN   c            	      ót  € ] tR t^†tRtRTR]/R R lllt]R R l4       t]R R	 l4       t	R
 R lt
]RTR R ll4       t]RRRRRR/R R ll4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]RRRRRRRR/R  R! ll4       t]RRRRRR/R" R# ll4       t]RRRRRRR$R/R% R& ll4       t]RRRRRRR$R/R' R( ll4       t]RRRRRRR$R/R) R* ll4       tRRRRRR/R+ R, lltRRRRRR/R- R. lltRRRRRR/R/ R0 lltRRRRRR/R1 R2 lltRRRRRR/R3 R4 lltR5 R6 lt]R7 R8 l4       t]R9 R: l4       t]R; R< l4       t ]R= R> l4       t!]R? R@ l4       t"RA RB lt#]RC RD l4       t$]RE RF l4       t%RG RH lt&]RI RJ l4       t']RK RL l4       t(RM RN lt)]RO RP l4       t*RQ RR lt+RSt,R# )UÚRenderCoordinatorz=Own the mutable render state for one LogBar terminal surface.NÚroot_region_idc               ó$   € V ^8„  d   QhRRRRRR/# )rP   Úon_state_changerR   rv   r)   rS   rT   r.   )rU   s   "r!   rV   ÚRenderCoordinator.__annotate__‰   s-   € ÷ Gñ Gà6ðGð ð	Gð
 
ñGr%   c               óä   € \        V4      P                  4       ;'       g    \        pW0n        \	        V4      V n        / V n        \        P                  ! 4       V n	        \        VR7      V n        R# )z9Create a coordinator around a fresh mutable state object.)rQ   N)r)   ÚstripÚDEFAULT_ROOT_REGION_IDÚ_root_region_idr   Ú_layout_rootÚ_regionsÚ	threadingÚRLockr   rN   Ústate)r   rx   rv   Únormalized_roots   &&$ r!   rh   ÚRenderCoordinator.__init__‰   sT   € ô ˜nÓ-×3Ñ3Ó5×OÐOÔ9OˆØ.ÔÜ(0°Ó(AˆÔØ+-ˆŒÜ—_’_Ó&ˆŒ
Ü+°oÔFˆŽ
r%   c               ó   € V ^8„  d   QhRR/# )rP   rS   r)   r.   )rU   s   "r!   rV   ry   ™   s   € ÷ $ñ $ ñ $r%   c                ó   € V P                   # )z?Return the identifier used by the default single-region layout.)r}   rq   s   &r!   rv   Ú RenderCoordinator.root_region_id˜   s   € ð ×#Ñ#Ð#r%   c               ó   € V ^8„  d   QhRR/# )rP   rS   r   r.   )rU   s   "r!   rV   ry   Ÿ   s   € ÷ !ñ !˜Zñ !r%   c                ó   € V P                   # )z$Return the current layout tree root.)r~   rq   s   &r!   Úlayout_rootÚRenderCoordinator.layout_rootž   s   € ð × Ñ Ð r%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   Úcolumnsr?   ÚlinesrS   r   r.   )rU   s   "r!   rV   ry   ¤   s&   € ÷ Hñ H¨ð H°Cð H¸Hñ Hr%   c               ój   € \        ^ ^ \        ^ \        V4      4      \        ^ \        V4      4      4      # )zHBuild the coordinator's root terminal rectangle from backend dimensions.)r   Úmaxr?   )r   r�   rŽ   s   &$$r!   r9   ÚRenderCoordinator.root_viewport¤   s+   € ô ˜˜1œc !¤S¨£\Ó2´C¸¼3¸u»:Ó4FÓGÐGr%   c               ó    € V ^8„  d   QhRRRR/# )rP   rŠ   zOptional[LayoutNode]rS   r   r.   )rU   s   "r!   rV   ry   ª   s   € ÷ !ñ !Ð&:ð !Àjñ !r%   c                óZ   € Ve   TM\        V P                  4      V n        V P                  # )z>Install a layout tree or restore the default single-root leaf.)r   r}   r~   )r   rŠ   s   &&r!   Ú
set_layoutÚRenderCoordinator.set_layout©   s+   € ð ,7Ò+B™KÌÐQU×QeÑQeÓHfˆÔØ× Ñ Ð r%   r�   rŽ   r-   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rP   r�   úOptional[int]rŽ   r-   úOptional[Viewport]rS   zDict[str, Viewport]r.   )rU   s   "r!   rV   ry   ±   s:   € ÷ 	eñ 	eð ð	eð ð		eð
 %ð	eð 
ñ	er%   c               óN   € \        V P                  WVR7      P                  4      # )z=Resolve the active layout tree into concrete leaf rectangles.©r�   rŽ   r-   )ÚdictÚ_resolve_layoutÚ	viewports©r   r�   rŽ   r-   s   &$$$r!   Úresolve_viewportsÚ#RenderCoordinator.resolve_viewports°   s&   € ô �D×(Ñ(°ÐPXÐ(ÓY×cÑcÓdÐdr%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   r*   r)   r,   r+   rS   r.   )rU   s   "r!   rV   ry   ½   s!   € ÷ ñ ¨ð °fð Àñ r%   c                óz   € \        V4      P                  4       pV'       g   \        R4      hW P                  V&   V# )z:Associate one region object with a layout leaf identifier.úregion_id must not be empty.)r)   r{   Ú
ValueErrorr   )r   r*   r,   Ú
normalizeds   &&& r!   Úregister_regionÚ!RenderCoordinator.register_region¼   s6   € ô ˜“^×)Ñ)Ó+ˆ
ßÜÐ;Ó<Ð<Ø$*�‰�jÑ!Øˆr%   c               ó    € V ^8„  d   QhRRRR/# ©rP   r*   r)   rS   úOptional[object]r.   )rU   s   "r!   rV   ry   Ç   s   € ÷ 3ñ 3¨3ð 3Ð3Cñ 3r%   c                ó€   € \        V4      P                  4       pV'       g   R# V P                  P                  VR4      # )z/Remove one previously registered region object.N)r)   r{   r   Úpop)r   r*   r¥   s   && r!   Úunregister_regionÚ#RenderCoordinator.unregister_regionÆ   s3   € ô ˜“^×)Ñ)Ó+ˆ
ßÙØ�}‰}× Ñ  ¨TÓ2Ð2r%   c               ó    € V ^8„  d   QhRRRR/# r©   r.   )rU   s   "r!   rV   ry   Ð   s   € ÷ 9ñ 9 ð 9Ð(8ñ 9r%   c                óf   € V P                   P                  \        V4      P                  4       4      # )z7Return the registered object for one region identifier.)r   Úgetr)   r{   )r   r*   s   &&r!   r,   ÚRenderCoordinator.regionÏ   s&   € ð �}‰}× Ñ ¤ Y£×!5Ñ!5Ó!7Ó8Ð8r%   c               ó   € V ^8„  d   QhRR/# )rP   rS   zDict[str, object]r.   )rU   s   "r!   rV   ry   Ö   s   € ÷ #ñ #Ð$5ñ #r%   c                ó,   € \        V P                  4      # )z/Return a defensive copy of the region registry.)r›   r   rq   s   &r!   Úregistered_regionsÚ$RenderCoordinator.registered_regionsÕ   s   € ô �D—M‘MÓ"Ð"r%   rk   Úsupports_ansiTrQ   Úfooter_delegatec               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rP   r*   r)   rk   zOptional[str]r·   ÚboolrQ   z"Optional[Callable[[object], None]]r¸   rª   rS   z'RegionLogBar'r.   )rU   s   "r!   rV   ry   Ü   sF   € ÷ 
ñ 
àð
ð ð	
ð
 ð
ð 6ð
ð *ð
ð 
ñ
r%   c               ó:  € ^RI Hp ^RIHp \	        V4      P                  4       pV'       g   \        R4      hV P                  V4      p	V	f   V P                  W†! 4       4      p	M!\        W–4      '       g   \        RV: R24      hT! T;'       g    TV	VVVR7      # )z@Return a region-bound logger backed by one registered LogRegion.)Ú	LogRegion)ÚRegionLogBarr£   úRegistered region z is not a LogRegion.)r,   r·   rQ   r¸   )
r,   r¼   Úregion_loggerr½   r)   r{   r¤   r¦   Ú
isinstanceÚ	TypeError)
r   r*   rk   r·   rQ   r¸   r¼   r½   r¥   r,   s
   &&$$$$    r!   Úcreate_region_loggerÚ&RenderCoordinator.create_region_loggerÛ   s—   € õ 	&Ý/ä˜“^×)Ñ)Ó+ˆ
ßÜÐ;Ó<Ð<à—‘˜ZÓ(ˆØŠ>Ø×)Ñ)¨*°i³kÓB‰FÜ˜F×.Ò.ÜÐ0°±Ð>RÐSÓTÐTáØ×Ð�JØØ'ØØ+ô
ð 	
r%   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rP   r�   r—   rŽ   r-   r˜   rS   r;   r.   )rU   s   "r!   rV   ry   ý   s4   € ÷ 
ñ 
ð ð
ð ð	
ð
 %ð
ð 
ñ
r%   c               óN   € \        V P                  WVR7      P                  4      # )zIResolve the layout tree and bind each leaf to a registered region object.rš   )ÚlistÚ_resolve_registered_layoutr<   rž   s   &$$$r!   Úresolve_registered_regionsÚ,RenderCoordinator.resolve_registered_regionsü   s+   € ô Ø×+Ñ+°GÐS[Ð+Ó\×dÑdó
ð 	
r%   Ústyle_enabledc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
rP   r�   r—   rŽ   r-   r˜   rÊ   rº   rS   r   r.   )rU   s   "r!   rV   ry     s>   € ÷ ñ ð ðð ð	ð
 %ðð ðð 
ñr%   c               óZ  € V P                  WVR7      p\        VP                  P                  VP                  P                  4      pV P                  WTR7       F<  pV P                  V4      pVP                  VVP                  VP                  R7       K>  	  V P                  We4       V# )zARender all registered layout leaves into one composed root frame.rš   ©rÊ   )Údest_xÚdest_y)rÇ   r   r9   rA   rK   Ú_iter_positioned_regionsÚ_render_region_bufferÚblitrG   rH   Ú _draw_layout_dividers_into_frame)	r   r�   rŽ   r-   rÊ   Úresolved_layoutÚframeÚ
positionedÚregion_buffers	   &$$$$    r!   Úcompose_frameÚRenderCoordinator.compose_frame
  s¨   € ð ×9Ñ9À'ÐaiÐ9ÓjˆÜØ×)Ñ)×/Ñ/Ø×)Ñ)×0Ñ0ó
ˆð ×7Ñ7¸Ð7ÖeˆJØ ×6Ñ6°zÓBˆMØ�J‰JØØ!×)Ñ)Ø!×)Ñ)ð ö ñ fð 	×-Ñ-¨eÔEàˆr%   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# ©
rP   r�   r—   rŽ   r-   r˜   rÊ   rº   rS   ú	list[str]r.   )rU   s   "r!   rV   ry   '  sE   € ÷ Rñ Rð ðRð ð	Rð
 %ðRð ðRð 
ñRr%   c               óª   € V P                  WVR7      p\        V P                  WTR7      4      pV P                  VP                  VP
                  4      # )zDResolve and render the default root region as visible terminal rows.rš   rÍ   )Ú_resolve_single_root_layoutÚnextrÐ   Ú_render_region_linesrE   rF   )r   r�   rŽ   r-   rÊ   rÔ   rÖ   s   &$$$$  r!   Úcompose_root_linesÚ$RenderCoordinator.compose_root_lines&  sQ   € ð ×:Ñ:À7ÐbjÐ:ÓkˆÜ˜$×7Ñ7¸Ð7ÓeÓfˆ
Ø×(Ñ(¨×)<Ñ)<¸j×>PÑ>PÓQÐQr%   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rÛ   r.   )rU   s   "r!   rV   ry   6  s>   € ÷ +
ñ +
ð ð+
ð ð	+
ð
 %ð+
ð ð+
ð 
ñ+
r%   c               óö  € V P                  WVR7      pVP                  pVP                  ^ 8:  d   . # \        VP                  4       Uu. uF  p. NK  	  ppV P	                  WTR7       EFG  p	V P                  V	P                  V	P                  4      p
V
'       g   K4  \        V	P                  P                  P                  \        V
4      \        V	P                  P                  RR4      R7      p\        V
4       F°  w  rÍV	P                  V,           V,           pV^ 8  g   WæP                  8¼  d   K8  WŽ,          P                  \!        V	P"                  V	P                  P                  P$                  V P'                  WÙP                  P                  P$                  4      R7      4       K²  	  EKJ  	  V P)                  W…4       V Uu. uF  pV P+                  WöP$                  4      NK   	  up# u upi u upi )zGCompose all registered leaf regions into full-width root terminal rows.rš   rÍ   Úvertical_anchorÚtop)rK   Ú
line_countrå   ©r@   rA   rB   )rÇ   r9   rK   ÚrangerÐ   rà   rE   rF   r   r-   ÚlenÚgetattrr,   Ú	enumeraterH   Úappendr>   rG   rA   Ú_normalize_region_lineÚ_append_layout_divider_segmentsÚ_compose_row_from_segments)r   r�   rŽ   r-   rÊ   rÔ   r9   Ú_Úrow_segmentsrÖ   Úlocal_linesÚstart_yÚoffsetÚlineÚ
absolute_yÚsegmentss   &$$$$           r!   Úcompose_layout_linesÚ&RenderCoordinator.compose_layout_lines5  s¹  € ð ×9Ñ9À'ÐaiÐ9ÓjˆØ'×5Ñ5ˆØ×Ñ 1Ô$ØˆIä<AÀ-×BVÑBVÔ<WÓ/XÑ<W°q³Ñ<WˆÐ/XØ×7Ñ7¸Ð7×eˆJØ×3Ñ3°J×4GÑ4GÈ×I[ÑI[Ó\ˆKßÙä+Ø!×*Ñ*×3Ñ3×:Ñ:Ü˜{Ó+Ü '¨
×(;Ñ(;×(BÑ(BÐDUÐW\Ó ]ôˆGô
 !*¨+Ö 6‘�Ø'×/Ñ/°'Õ9¸FÕB�
Ø ”> Z×3GÑ3GÔ%GÙØÕ(×/Ñ/ÜØ$×,Ñ,Ø(×1Ñ1×:Ñ:×@Ñ@Ø!×8Ñ8¸×?RÑ?R×?[Ñ?[×?aÑ?aÓbôöô	 !7ñ fð, 	×,Ñ,¨\ÔKñ )ó
á(�ð ×+Ñ+¨H×6IÑ6IÖJÙ(ñ
ð 	
ùò3 0Yùò2
s   Á
G1Ç
$G6c               ó(   € V ^8„  d   QhRRRRRRRR/# )rP   r�   r—   rŽ   r-   r˜   rS   r   r.   )rU   s   "r!   rV   ry   c  s4   € ÷ 
ñ 
ð ð
ð ð	
ð
 %ð
ð 
ñ
r%   c               ó0   € V P                  WVR7      w  rEV# )z8Resolve the active layout tree once for a root viewport.rš   )Ú_resolve_root_layout)r   r�   rŽ   r-   rñ   rÔ   s   &$$$  r!   rœ   Ú!RenderCoordinator._resolve_layoutc  s#   € ð "×6Ñ6¸wÐ^fÐ6ÓgÑˆØÐr%   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©rP   r�   r—   rŽ   r-   r˜   rS   r8   r.   )rU   s   "r!   rV   ry   o  s4   € ÷ 
ñ 
ð ð
ð ð	
ð
 %ð
ð 
#ñ
r%   c               óh   € V P                  VVVR7      w  rE\        VVV P                  V4      R7      # )zCResolve one layout tree and bind every leaf to a registered region.rš   )r9   r:   r<   )rý   r8   Ú_bind_registered_regions)r   r�   rŽ   r-   r9   rÔ   s   &$$$  r!   rÇ   Ú,RenderCoordinator._resolve_registered_layouto  sI   € ð *.×)BÑ)BØØØð *Có *
Ñ&ˆô
 )Ø'Ø"Ø×1Ñ1°/ÓBô
ð 	
r%   c               ó(   € V ^8„  d   QhRRRRRRRR/# r   r.   )rU   s   "r!   rV   ry   ƒ  s4   € ÷ ñ ð ðð ð	ð
 %ðð 
#ñr%   c               óÎ   € V P                  WVR7      p\        VP                  4      ^8w  g-   VP                  ^ ,          P                  VP                  8w  d   \        R4      hV# )zGResolve one registered layout that must occupy the whole root viewport.rš   zLcompose_root_lines requires a single region that occupies the root viewport.)rÇ   rê   r<   r-   r9   r¤   )r   r�   rŽ   r-   rÔ   s   &$$$ r!   rÞ   Ú-RenderCoordinator._resolve_single_root_layoutƒ  s^   € ð ×9Ñ9À'ÐaiÐ9ÓjˆÜˆ×&Ñ&Ó'¨1Ô,°×0GÑ0GÈÕ0J×0SÑ0SÐWf×WtÑWtÔ0tÜÐkÓlÐlØÐr%   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rP   r�   r—   rŽ   r-   r˜   rS   r   r.   )rU   s   "r!   rV   ry   ‘  s:   € ÷ @ñ @ð ð@ð ð	@ð
 %ð@ð 
ñ@r%   c               óX   € Ve   V# Ve   Vf   \        R4      hV P                  WR7      # )z<Normalize caller-provided dimensions into one root viewport.z=columns and lines are required when viewport is not provided.)r�   rŽ   )r¤   r9   rž   s   &$$$r!   Ú_resolve_root_viewportÚ(RenderCoordinator._resolve_root_viewport‘  s8   € ð ÒØˆOØŠ?˜ešmÜÐ\Ó]Ð]Ø×!Ñ!¨'Ð!Ó?Ð?r%   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rP   r�   r—   rŽ   r-   r˜   rS   ztuple[Viewport, ResolvedLayout]r.   )rU   s   "r!   rV   ry      s:   € ÷ 
Gñ 
Gð ð
Gð ð	
Gð
 %ð
Gð 
)ñ
Gr%   c               ó`   € V P                  WVR7      pW@P                  P                  V4      3# )zDResolve the active layout tree once together with its root viewport.rš   )r	  r~   Úresolve)r   r�   rŽ   r-   r9   s   &$$$ r!   rý   Ú&RenderCoordinator._resolve_root_layout   s4   € ð ×3Ñ3¸GÐ[cÐ3ÓdˆØ×/Ñ/×7Ñ7¸ÓFÐFÐFr%   c               ó    € V ^8„  d   QhRRRR/# )rP   rÔ   r   rS   r;   r.   )rU   s   "r!   rV   ry   ¬  s   € ÷  ñ  ¸ð  ÐK_ñ  r%   c           	     óê   € . pVP                   P                  4        FR  w  r4W0P                  9  d   \        RV: 24      hVP	                  \        VV P                  V,          VR7      4       KT  	  V# )zABind one resolved layout's leaf ids to registered region objects.z*Layout references unregistered region id: )r*   r,   r-   )r�   Úitemsr   ÚKeyErrorrí   r(   )r   rÔ   Úresolved_regionsr*   Úregion_viewports   &&   r!   r  Ú*RenderCoordinator._bind_registered_regions¬  st   € ð 24ÐØ*9×*CÑ*C×*IÑ*IÖ*KÑ&ˆIØ§¡Ô-ÜÐ!KÈIÉ=ÐYÓZÐZØ×#Ñ#ÜØ'ØŸ=™=¨Õ3Ø,ôöñ +Lð  Ðr%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rÔ   r8   rÊ   rº   rS   zIterator[PositionedRegion]r.   )rU   s   "r!   rV   ry   ½  s(   € ÷ ñ Ø2ðð ðð 
$ñ	r%   c          
   #  óR  "  € V P                    F’  p\        V\        VP                  V P                  VR7      VP                  P
                  V P                  P
                  ,
          VP                  P                  V P                  P                  ,
          R7      x € K”  	  R# 5i)zIYield registered regions with their render context and root-local offset.)r-   r9   rÊ   )rE   rF   rG   rH   N)r<   rD   r   r-   r9   r@   Úy)rÔ   rÊ   rE   s   &$ r!   rÐ   Ú*RenderCoordinator._iter_positioned_regions¼  s†   é € ð (×/Ô/ˆHÜ"Ø!Ü%Ø%×.Ñ.Ø"1×"?Ñ"?Ø"/ôð
 !×)Ñ)×+Ñ+¨o×.KÑ.K×.MÑ.MÕMØ ×)Ñ)×+Ñ+¨o×.KÑ.K×.MÑ.MÕMô	ô 	ó 0ùs   ‚B%B'c               ó    € V ^8„  d   QhRRRR/# ©rP   Úpbr+   rS   rT   r.   )rU   s   "r!   rV   ry   Ñ  s   € ÷ 0ñ 0 fð 0°ñ 0r%   c                óÎ   € WP                   P                  9  d&   V P                   P                  P                  V4       V P                   P                  P	                  V4       R# )z6Register one progress renderable with the coordinator.N)r‚   rZ   rí   r[   Úadd©r   r  s   &&r!   Úattach_progress_barÚ%RenderCoordinator.attach_progress_barÐ  sD   € ð —Z‘Z×7Ñ7Ô7Ø�J‰J×.Ñ.×5Ñ5°bÔ9Ø�
‰
×'Ñ'×+Ñ+¨BÖ/r%   c               ó    € V ^8„  d   QhRRRR/# r  r.   )rU   s   "r!   rV   ry   Ù  s   € ÷ 4ñ 4 fð 4°ñ 4r%   c                óÎ   € WP                   P                  9   d&   V P                   P                  P                  V4       V P                   P                  P	                  V4       R# )z4Remove one progress renderable from the coordinator.N)r‚   rZ   Úremover[   Údiscardr  s   &&r!   Údetach_progress_barÚ%RenderCoordinator.detach_progress_barØ  sD   € ð —‘×3Ñ3Ô3Ø�J‰J×.Ñ.×5Ñ5°bÔ9Ø�
‰
×'Ñ'×/Ñ/°Ö3r%   c               ó    € V ^8„  d   QhRRRR/# r  r.   )rU   s   "r!   rV   ry   á  s   € ÷ 4ñ 4¨&ð 4°Tñ 4r%   c                óˆ   € WP                   P                  9   d(   V P                   P                  P                  V4       R# R# )z1Flag one attached renderable for a future redraw.N)r‚   rZ   r[   r  r  s   &&r!   Úmark_progress_bar_dirtyÚ)RenderCoordinator.mark_progress_bar_dirtyà  s1   € ð —‘×3Ñ3Ô3Ø�J‰J×+Ñ+×/Ñ/°Ö3ñ 4r%   c               ó   € V ^8„  d   QhRR/# )rP   rS   zlist[object]r.   )rU   s   "r!   rV   ry   è  s   € ÷ 8ñ 8 lñ 8r%   c                ó@   € \        V P                  P                  4      # )z>Return a stable snapshot of the attached progress renderables.)rÆ   r‚   rZ   rq   s   &r!   Úactive_progress_barsÚ&RenderCoordinator.active_progress_barsç  s   € ô �D—J‘J×6Ñ6Ó7Ð7r%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rE   r(   rF   r   rS   rÜ   r.   )rU   s   "r!   rV   ry   í  s"   € ÷ 
ñ 
¨^ð 
Àmð 
ÐXañ 
r%   c           	     óš   € \        V P                  V4      ! V4      VP                  P                  \	        VP
                  RR4      R7      # )zKAsk one registered region for line output in the transitional line backend.rå   ræ   )rK   rå   )r   Ú_lookup_region_line_rendererr-   rK   rë   r,   )r   rE   rF   s   &&&r!   rà   Ú&RenderCoordinator._render_region_linesí  sD   € ô #Ø×-Ñ-¨hÔ7¸Ó@Ø×#Ñ#×*Ñ*Ü# H§O¡OÐ5FÈÓNô
ð 	
r%   c               ó   € V ^8„  d   QhRR/# ©rP   rE   r(   r.   )rU   s   "r!   rV   ry   ÷  s   € ÷ ñ ¨~ñ r%   c                óŠ   € \        V P                  RR4      p\        V4      '       g   \        RV P                  : R24      hV# )z:Return the line-render callable for one registered region.Úrender_linesNr¾   z( does not provide render_lines(context).©rë   r,   ÚcallablerÁ   r*   )rE   r7  s   & r!   r2  Ú.RenderCoordinator._lookup_region_line_rendererö  sJ   € ô ˜xŸ™°ÀÓEˆÜ˜×%Ò%ÜØ$ X×%7Ñ%7Ñ$:Ð:bÐcóð ð Ðr%   c               ó   € V ^8„  d   QhRR/# r5  r.   )rU   s   "r!   rV   ry     s   € ÷ ñ °ñ r%   c                óŠ   € \        V P                  RR4      p\        V4      '       g   \        RV P                  : R24      hV# )zAReturn the cell-buffer render callable for one registered region.ÚrenderNr¾   z" does not provide render(context).r8  )rE   r=  s   & r!   Ú_lookup_region_buffer_rendererÚ0RenderCoordinator._lookup_region_buffer_renderer  sI   € ô ˜Ÿ™¨(°DÓ9ˆÜ˜×ÒÜØ$ X×%7Ñ%7Ñ$:Ð:\Ð]óð ð ˆr%   c               ó    € V ^8„  d   QhRRRR/# )rP   rÖ   rD   rS   r   r.   )rU   s   "r!   rV   ry     s   € ÷ ñ Ð0@ð ÀZñ r%   c                óê   € V P                  VP                  4      ! VP                  4      p\        V\        4      '       g2   \        RVP                  P                  : R\        V4      : R24      hV# )z:Render one positioned region into a validated cell buffer.zRegion z
 returned z; expected CellBuffer.)r>  rE   rF   rÀ   r   rÁ   r*   Útype)r   rÖ   r×   s   && r!   rÑ   Ú'RenderCoordinator._render_region_buffer  sn   € ð ×;Ñ;¸J×<OÑ<OÔPÐQ[×QcÑQcÓdˆÜ˜-¬×4Ò4ÜØ˜*×-Ñ-×7Ñ7Ñ:¸*ÄTÈ-ÓEXÑD[Ð[qÐróð ð Ðr%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rö   r)   rA   r?   rS   r.   )rU   s   "r!   rV   ry     s!   € ÷ ñ  Sð °ð ¸ñ r%   c                óJ  € \        ^ \        V4      4      pV^ 8:  d   R# \        V 4      p\        V4      pW18”  d    \	        W!4      pRV9  d   \        V4      # V# W18  dD   RW,
          ,          pRV9   d(   VP                  \        4      '       g   V \         V 2# V V 2# V# )zCClip or pad one rendered region row to the assigned viewport width.Ú z[Ú )r�   r?   r)   r   r   r   Úendswithr   )rö   rA   ÚrenderedÚcurrent_widthÚclippedÚpads   &&    r!   rî   Ú(RenderCoordinator._normalize_region_line  s«   € ô �A”s˜5“zÓ"ˆØ�AŒ:Ùä�t“9ˆÜ& xÓ0ˆØÔ Ü# HÓ4ˆGØ˜hÔ&Ü! 'Ó*Ð*ØˆNØÔ Ø˜Õ.Õ/ˆCØ˜(Ô"¨8×+<Ñ+<¼Z×+HÒ+HØ"˜¤J <°¨uÐ5Ð5Ø�Z ˜uÐ%Ð%Øˆr%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rø   zSequence[RowSegment]Útotal_widthr?   rS   r)   r.   )rU   s   "r!   rV   ry   -  s$   € ÷ !ñ !Ð-Að !ÐPSð !ÐX[ñ !r%   c                ót  € V^ 8:  d   R# V '       g
   RV,          # ^ p. p\        V R R7       FÔ  pVP                  V8  d   \        R4      hVP                  V8”  d   K2  VP                  V,
          pV^ 8”  d!   VP                  RV,          4       W%,          p\	        ^ W,
          4      pV^ 8:  d    MQ\        VP                  V4      pVP                  \        P                  VP                  V4      4       W',          pKÖ  	  W!8  d   VP                  RW,
          ,          4       RP                  V4      # )zHAssemble one root terminal row from non-overlapping horizontal segments.rF  rG  c                ó   € V P                   # r   )r@   )Úitems   &r!   Ú<lambda>Ú>RenderCoordinator._compose_row_from_segments.<locals>.<lambda>8  s   € ¸¿ºr%   )Úkeyz>Overlapping row segments cannot be composed deterministically.)Úsortedr@   r¤   rí   r�   ÚminrA   ru   rî   rB   Újoin)rø   rO  ÚcursorÚpartsÚsegmentÚgapÚ	remainingrA   s   &&      r!   rð   Ú,RenderCoordinator._compose_row_from_segments,  s  € ð ˜!ÔÙçØ˜Õ$Ð$àˆØˆÜ˜hÑ,?×@ˆGØ�y‰y˜6Ô!Ü Ð!aÓbÐbØ�y‰y˜;Ô&Ùà—)‘)˜fÕ$ˆCØ�QŒwØ—‘˜S 3�YÔ'Ø•�ä˜A˜{Õ3Ó4ˆIØ˜AŒ~Ùä˜Ÿ™ yÓ1ˆEØ�L‰LÔ*×AÑAÀ'Ç,Á,ÐPUÓVÔWØ�OŠFñ# Að& ÔØ�L‰L˜ Õ 4Õ5Ô6à�w‰w�u‹~Ðr%   c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rò   zlist[list[RowSegment]]rÔ   r8   rS   rT   r.   )rU   s   "r!   rV   ry   P  s(   € ÷ ñ à,ðð 3ðð 
ñ	r%   c           
     ón  € V P                  V4       FŸ  pVP                  VP                  ,          p\        VP                  4       Ff  pVP
                  V,           pV^ 8  g   V\        V4      8¼  d   K/  W,          P                  \        VP                  VP                  VR7      4       Kh  	  K¡  	  R# )z=Append all layout divider rectangles to the row segment grid.rè   N)
Ú_iter_clipped_dividersrL   rA   ré   rK   rH   rê   rí   r>   rG   )r   rò   rÔ   ÚdividerrB   Ú
row_offsetr÷   s   &&&    r!   rï   Ú1RenderCoordinator._append_layout_divider_segmentsP  s�   € ð ×2Ñ2°?ÖCˆGØ—<‘< '§-¡-Õ/ˆDÜ# G§N¡NÖ3�
Ø$Ÿ_™_¨zÕ9�
Ø ”> Z´3°|Ó3DÔ%DÙØÕ(×/Ñ/ÜØ!Ÿ/™/Ø%Ÿm™mØ!ôöó	 4ó Dr%   c               ó    € V ^8„  d   QhRRRR/# )rP   rÔ   r8   rS   zIterator[ClippedDivider]r.   )rU   s   "r!   rV   ry   f  s   € ÷ ñ Ø2ðà	!ñr%   c           	   #  óÜ  "  € V P                   pV P                  P                   FÁ  pVP                  P	                  V4      pVP
                  ^ 8:  g$   VP                  ^ 8:  g   VP                  '       g   KT  \        VP                  VP                  ,
          VP                  VP                  ,
          VP
                  VP                  VP                  R,          R7      x € KÃ  	  R# 5i)zFYield all visible layout divider rectangles in root-local coordinates.:Né   N)rG   rH   rA   rK   rL   N)r9   r:   Údividersr-   ÚintersectionrA   rK   rL   rJ   r@   r  )rÔ   r9   rb  rK  s   &   r!   ra  Ú(RenderCoordinator._iter_clipped_dividerse  s§   é € ð (×5Ñ5ˆØ&×-Ñ-×6Ô6ˆGØ×&Ñ&×3Ñ3°MÓBˆGØ�}‰} Ô! W§^¡^°qÔ%8ÀÇÇÀÙÜ ØŸ	™	 M§O¡OÕ3ØŸ	™	 M§O¡OÕ3Ø—m‘mØ—~‘~Ø—\‘\ "Õ%ôô ó	 7ùs   ‚A4C,Á7A5C,c               ó$   € V ^8„  d   QhRRRRRR/# )rP   rÕ   r   rÔ   r8   rS   rT   r.   )rU   s   "r!   rV   ry   x  s-   € ÷ 
Uñ 
Uàð
Uð 3ð
Uð 
ñ	
Ur%   c                ó  € V P                  V4       Fj  pVP                  VP                  ,          p\        VP                  4       F1  pVP                  VP                  VP                  V,           V4       K3  	  Kl  	  R# )z?Fill all resolved layout dividers into one composed cell frame.N)ra  rL   rA   ré   rK   Ú	draw_textrG   rH   )r   rÕ   rÔ   rb  rB   rc  s   &&&   r!   rÓ   Ú2RenderCoordinator._draw_layout_dividers_into_framex  s\   € ð ×2Ñ2°?ÖCˆGØ—<‘< '§-¡-Õ/ˆDÜ# G§N¡NÖ3�
Ø—‘ §¡°·±À:Õ1MÈtÖTó 4ó Dr%   )r~   r   r   r}   r‚   r   )-r0   r1   r2   r3   r4   r|   rh   Úpropertyrv   rŠ   r9   r$   r”   rŸ   r¦   r­   r,   rµ   rÂ   rÈ   rØ   rá   rù   rœ   rÇ   rÞ   r	  rý   r  ÚstaticmethodrÐ   r   r&  r*  r.  rà   r2  r>  rÑ   rî   rð   rï   ra  rÓ   r6   r.   r%   r!   ru   ru   †   s¯  † ÙGñGð 5÷	Gð Gð ô$ó ð$ð
 ô!ó ð!õ
Hð
 ö!ó ð!ð ð	eð "&ð	eð  $ð		eð
 (,ö	eó ð	eð ôó ðð ô3ó ð3ð ô9ó ð9ð
 ô#ó ð#ð
 ð
ð #ð	
ð
 #ð
ð 9=ð
ð -1ö
ó ð
ð@ ð
ð "&ð
ð  $ð	
ð
 (,ö
ó ð
ð ðð "&ðð  $ð	ð
 (,ðð #öó ðð6 ðRð "&ðRð  $ð	Rð
 (,ðRð #öRó ðRð ð+
ð "&ð+
ð  $ð	+
ð
 (,ð+
ð #ö+
ó ð+
ðZ
ð "&ð
ð  $ð	
ð
 (,÷
ð
ð "&ð
ð  $ð	
ð
 (,÷
ð(ð "&ðð  $ð	ð
 (,÷ð@ð "&ð@ð  $ð	@ð
 (,÷@ð
Gð "&ð
Gð  $ð	
Gð
 (,÷
Gõ ð  ôó ðð& ô0ó ð0ð ô4ó ð4ð ô4ó ð4ð ô8ó ð8õ

ð ôó ðð ôó ðõð ôó ðð* ô!ó ð!õFð* ôó ð÷$
Uñ 
Ur%   ru   )r|   ru   rN   r(   r>   ),r4   Ú
__future__r   Údataclassesr   Ú	functoolsr   r€   Útypingr   r   r   r	   r
   Údrawingr   r   r   r   rÕ   r   r:   r   r   r   r   r   r,   r   r   r   r)   r+   ÚStateChangeCallbackr|   r$   r(   r8   r>   rD   rJ   rN   ru   Ú__all__r.   r%   r!   Ú<module>rx     s
  ðñ @å "å !Ý Û ß ?Õ ?ç JÓ JÝ ß UÕ Uß MÑ Mð   V˜}¨dÐ2Õ3Ð ØÐ òñ �$Ô÷ð ó ðñ �$Ô÷"ð "ó ð"ñ �$Ô÷ð ó ðñ �$Ô÷ð ó ðñ �$Ô÷ð ó ð÷/
ñ /
÷d|Uñ |Uò~‚r%   