
    ^h
                        % S SK JrJrJrJrJrJr  S SKJr  \(       a*  S SK	J
r
  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  / r\\S
      \S'   / r\\S      \S'   / r\\S      \S'   / r\\S      \S'   / r\\S      \S'   / r\\S      \S'   \(       a  \S*SSS\S
   4S jj5       r\S+S j5       rS*S\S   S\\S
   S
4   4S jjrS\S
   4S jrS\S
   4S jr S\!S\S
   4S  jr"S\S
   4S! jr#S\S   4S" jr$S\S   4S# jr%\(       a  \S*S$SS\S   4S% jj5       r&\S,S& j5       r&S*S$\S   S\\S   S4   4S' jjr&S\S   4S( jr'S\S   4S) jr(g)-    )TYPE_CHECKINGListOptionalTypeUnionoverload)flow)Cell)	Namespace)Scope)	Statement)Symbol)	Timestamp)IdTyper
   _CodeCellContainerr   _NamespaceContainerr   _ScopeContainerr   _StatementContainerr   _SymbolContainerr   _TimestampContainerNcell_idreturnc                     g N r   s    H/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/models.pycellsr          58    r   c                     g r   r   r   s    r   r   r          ,/r    c                     [         S   nU c  U$ [        U [        5      (       a$  XR                  5       ::  a  UR	                  U 5      $ UR                  U 5      $ Nr   )r   
isinstanceintexec_counter
at_counterfrom_id)r   clazzs     r   r   r   !   sQ    q!E	GS	!	!g1C1C1E&E((}}W%%r    c                      [        5       R                  n U c   e[        5       R                  [        5       R	                  U 5      R
                  S-
  5      $ N   r	   active_cell_idr   at_positionr)   positionr/   s    r   
cell_abover3   +   D    V**N%%%7uw~>GG!KLLr    c                      [        5       R                  n U c   e[        5       R                  [        5       R	                  U 5      R
                  S-   5      $ r,   r.   r2   s    r   
cell_belowr6   1   r4   r    offsetc                     [        5       R                  nUc   e[        5       R                  [        5       R	                  U5      R
                  U -   5      $ r   r.   )r7   r/   s     r   cell_at_offsetr9   7   sD    V**N%%%7uw~>GG&PQQr    c                  f    [        5       R                  [        5       R                  5       S-
  5      $ r,   )r   r(   r'   r   r    r   last_run_cellr;   =   s%    7eg224q899r    c                      [         S   $ r$   )r   r   r    r   
namespacesr=   A       q!!r    c                      [         S   $ r$   )r   r   r    r   scopesr@   E   s    1r    symc                     g r   r   rA   s    r   symbolsrD   K   r   r    c                     g r   r   rC   s    r   rD   rD   N   r"   r    c                     U c	  [         S   $ U $ r$   )r   rC   s    r   rD   rD   R   s    
{""
r    c                      [         S   $ r$   )r   r   r    r   
statementsrH   Y   r>   r    c                      [         S   $ r$   )r   r   r    r   
timestampsrJ   ]   r>   r    r   )r   r   r   r
   )rA   r   r   r   ))typingr   r   r   r   r   r   ipyflow.singletonsr	   ipyflow.data_model.cellr
   ipyflow.data_model.namespacer   ipyflow.data_model.scoper   ipyflow.data_model.statementr   ipyflow.data_model.symbolr   ipyflow.data_model.timestampr   ipyflow.typesr   r   __annotations__r   r   r   r   r   r   r3   r6   r&   r9   r;   r=   r@   rD   rH   rJ   r   r    r   <module>rU      s   G G G #,6.606$ *, Df& +/1 T${+, 1')d7m$ )/1 T${+, 1)+ $tH~& +/1 T${+, 1 8t8tF|8 8/ /&8H% &tF|V7K1L &MHV$ MMHV$ MR3 R8F#3 R:x' :"D% "W  8T8T(^8 8/ /(# uT(^X5M/N "D% ""D% "r    