
    Soi0                        S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
JrJrJrJrJrJr  \\-  r\\-  \-  \-  rSr " S S	5      rg)
    )annotationsN)Queue)Any)Config)LifespanScopeLifespanShutdownCompleteEventLifespanShutdownEventLifespanShutdownFailedEventLifespanStartupCompleteEventLifespanStartupEventLifespanStartupFailedEventz2Got invalid state transition on lifespan protocol.c                  P    \ rS rSrS
S jrSS jrSS jrSS jrSS jrSS jr	Sr
g	)
LifespanOn   c                j   UR                   (       d  UR                  5         Xl        [        R                  " S5      U l        [        R                  " 5       U l        [        R                  " 5       U l	        [        R                  " 5       U l        SU l        SU l        SU l        SU l        0 U l        g )Nzuvicorn.errorF)loadedloadconfiglogging	getLoggerloggerasyncioEventstartup_eventshutdown_eventr   receive_queueerror_occuredstartup_failedshutdown_failedshould_exitstate)selfr   s     O/var/www/html/land-ocr/venv/lib/python3.13/site-packages/uvicorn/lifespan/on.py__init__LifespanOn.__init__    sz    }}KKM''8$]]_%mmo<CMMO"#$ %'
    c                8  #    U R                   R                  S5        [        R                  " 5       nUR	                  U R                  5       5      nSS0nU R                  R                  U5      I S h  vN   U R                  R                  5       I S h  vN   U R                  (       d+  U R                  (       a=  U R                  R                  S:X  a#  U R                   R                  S5        SU l        g U R                   R                  S5        g  N N7f)Nz Waiting for application startup.typezlifespan.startuponz$Application startup failed. Exiting.TzApplication startup complete.)r   infor   get_event_loopcreate_taskmainr   putr   waitr   r   r   lifespanerrorr    )r"   loopmain_lifespan_taskr   s       r#   startupLifespanOn.startup/   s     ;<%%'!--diik: 067I.J  $$]333  %%'''4#5#5$++:N:NRV:VKKDE#DKK<= 	4's%   A2D4D5!DDB DDc                  #    U R                   (       a  g U R                  R                  S5        SS0nU R                  R	                  U5      I S h  vN   U R
                  R                  5       I S h  vN   U R                  (       d+  U R                   (       a=  U R                  R                  S:X  a#  U R                  R                  S5        SU l        g U R                  R                  S5        g  N N7f)Nz!Waiting for application shutdown.r(   zlifespan.shutdownr)   z%Application shutdown failed. Exiting.TzApplication shutdown complete.)r   r   r*   r   r.   r   r/   r   r   r0   r1   r    )r"   r   s     r#   shutdownLifespanOn.shutdown@   s     <=179L0M  $$^444!!&&(((D$6$64;;;O;OSW;WKKEF#DKK=> 	5(s%   AC8C4!C84C65B C86C8c                `  #     U R                   R                  nSU R                   R                  SS.U R                  S.nU" X R                  U R
                  5      I S h  vN   U R                  R                  5         U R                  R                  5         g  N9! [         a  nS U l        SU l        U R                  (       d  U R                  (       a9   S nAU R                  R                  5         U R                  R                  5         g U R                   R                  S:X  a"  SnU R                  R!                  U5         S nANSnU R                  R#                  XCS	9   S nAGNS nAff = f! U R                  R                  5         U R                  R                  5         f = f7f)
Nr0   z2.0)versionspec_version)r(   asgir!   Tautoz-ASGI 'lifespan' protocol appears unsupported.z!Exception in 'lifespan' protocol
)exc_info)r   
loaded_appasgi_versionr!   receivesendBaseExceptionr<   r   r   r   r   setr   r0   r   r*   r1   )r"   appscopeexcmsgs        r#   r-   LifespanOn.mainN   sH    	&++((C"$(KK$<$<eT$E
 e\\499555 ""$##% 6 
	5DI!%D""d&:&: ""$##% {{##v-E  %%:!!#!4
	5 ""$##%sk   F.AB !B"B &5F.B 
E2'0E-E5 5F.7E-E5 E-'E5 -E22E5 56F++F.c                  #    US   S;   d   eUS   S:X  ao  U R                   R                  5       (       a   [        5       eU R                  R                  5       (       a   [        5       eU R                   R	                  5         g US   S:X  a  U R                   R                  5       (       a   [        5       eU R                  R                  5       (       a   [        5       eU R                   R	                  5         SU l        UR                  S5      (       a  U R                  R                  US   5        g g US   S:X  ao  U R                   R                  5       (       d   [        5       eU R                  R                  5       (       a   [        5       eU R                  R	                  5         g US   S:X  a  U R                   R                  5       (       d   [        5       eU R                  R                  5       (       a   [        5       eU R                  R	                  5         SU l	        UR                  S5      (       a  U R                  R                  US   5        g g g 7f)	Nr(   )lifespan.startup.completelifespan.startup.failedlifespan.shutdown.completelifespan.shutdown.failedrK   rL   TmessagerM   rN   )
r   is_setSTATE_TRANSITION_ERRORr   rD   r   getr   r1   r   )r"   rO   s     r#   rB   LifespanOn.sendf   s    v #
 
 	
 
 6?99))0022J4JJ2**1133K5KK3""$V_ 99))0022J4JJ2**1133K5KK3""$"&D{{9%%!!')"45 & V_ <<%%,,..F0FF.**1133K5KK3##%V_ ::%%,,..F0FF.**1133K5KK3##%#'D {{9%%!!')"45 & ;s   I%I'c                R   #    U R                   R                  5       I S h  vN $  N7f)N)r   rR   )r"   s    r#   rA   LifespanOn.receive   s      ''++----s   '%')r<   r   r   r   r   r    r   r   r   r   r!   N)r   r   returnNone)rV   rW   )rO   LifespanSendMessagerV   rW   )rV   LifespanReceiveMessage)__name__
__module____qualname____firstlineno__r$   r4   r7   r-   rB   rA   __static_attributes__ r&   r#   r   r      s!    (>"?&0 6D.r&   r   )
__future__r   r   r   r   typingr   uvicornr   uvicorn._typesr   r   r	   r
   r   r   r   rY   rX   rQ   r   r_   r&   r#   <module>rd      sk    "        .0EE !""# $$  N j. j.r&   