+
    AžÀjQõ ã            4       óx  a € R© tÈ0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHtHtHtHt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  ^ RI!H"t"H#t# ^ RI$H%t%H&t&H't'H(t(H)t)H*t* ^ RI+t+^ RI,H-t- ^ R	I.H/t/ ^ R
I0H1t1 ^ RI2H3t3H4t4H5t5 ^ RI6H7t7H8t8 ^ RI9H:t:H;t;H<t<H=t= ^ RI>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtG ^ RIHHItI ^ RIJHKtKHLtLHMtMHNtNHOtO ^ RIPHQtQHRtRHStSHTtTHUtU ^ RIVHWtWHXtXHYtYHZtZH[t[ ^ RI\H]t]H^t^ ^ RI_H`t`HataHbtbHctc ^ RIdHete ^ RIfHgtg ^ RIhHitiHjtj ^ RIkHltlHmtm ^ RInHotoHptpHqtq ^ RIrHsts ^ RItHutu ^ RIvHwtwHxtxHytyHztzH{t{ ^ RI|H}t}H~t~HtH€t€H�t� ^ RI|H‚t‚ ^ RIƒH„t„ ^ R I…H†t†H‡t‡HˆtˆH‰t‰HŠtŠH‹t‹ ^ R!IŒH�t� ^ R"IŽH�t� R# R$ lt�R% R& lt‘])! R'4      t’ ! R( R)]]’,          4      t“R* R+ lt”R, R- lt• ! R. R/4      t–/ t—] ^ k R0 R1 lt˜R2RR3RR4RR5R6R7R8R9R8R:R8R;R6R<RR=R8/
R> R? llt™R@ RA ltšRB RC lt›RR]7! ]w4      RRRR6R8R8R8RR8]7! R64      RR83RD RE lltœRªRF RG llt� ! RH RI]eEP<                  4      tŸRJt RKt¡RLt¢RMt£RNt¤]! RORRP7      t¥] ^k ]¦! 4       t§RQ RR lt¨RS RT lt© ! RU RV](4      tªRW RX lt«RY RZ lt¬R[ R\ lt­R] R^ lt®R_ R` lt¯Ra Rb lt° ! Rc Rd](4      t±Re]7! R4      RfRRgRRhRRiRRjRRkRlRmRRnRRoRRpRRqRRrRRsRRtR6RuR8RvR8RwR8RxR6Ry]7! ]w4      RzRR{RR|RR}]7! ]a4      R~]7! R64      RR/R€ R� llt² ! R‚ Rƒ]eEPf                  4      t´] ! R„ R…4      4       tµ] ! R† R‡4      4       t¶]! R6Rˆ7       ! R‰ RŠ4      4       t·] ! R‹ RŒ]}4      4       t¸R� RŽ lt¹R� R� ltºR‘ R’ lt»R“ R” lt¼R• R– lt½R— R˜ lt¾R™ Rš lt¿R› Rœ ltÀ ! R� Rž]„4      tÁRŸ R  ltÂR¡ R¢ ltÃ ! R£ R¤]}4      tÄ ! R¥ R¦]}4      tÅ ! R§ R¨]eEPŒ                  4      tÇR# )«é    N)	ÚAsyncIteratorÚ	AwaitableÚCallableÚ
CollectionÚ	CoroutineÚ	GeneratorÚIteratorÚMappingÚSequence)ÚAbstractAsyncContextManagerÚAbstractContextManagerÚAsyncExitStackÚasynccontextmanager)Ú
ContextVar)Ú	dataclassÚfield)ÚEnumÚIntEnum)Ú	AnnotatedÚAnyÚLiteralÚProtocolÚTypeVarÚcast)ÚDoc)ÚObjectReceiveStream)Úparams)Ú
ModelFieldÚ	UndefinedÚlenient_issubclass)ÚDefaultÚDefaultPlaceholder)Ú	DependantÚ_is_async_gen_callableÚ_is_coroutine_callableÚ_is_gen_callable)	ÚSolvedDependencyÚ_get_body_fieldÚ_get_flat_body_paramsÚ_should_embed_body_fieldsÚget_dependantÚget_parameterless_sub_dependantÚget_stream_item_typeÚget_typed_return_annotationÚsolve_dependencies)Újsonable_encoder)ÚEndpointContextÚFastAPIErrorÚRequestValidationErrorÚResponseValidationErrorÚWebSocketRequestValidationError)Ú_PING_INTERVALÚKEEPALIVE_COMMENTÚEventSourceResponseÚServerSentEventÚformat_sse_event)Ú
_operationÚ_route_selectedÚ_run_sync_endpointÚ_validation_failedÚget_telemetry_data)ÚDecoratedCallableÚIncEx)Úcreate_model_fieldÚgenerate_unique_idÚget_value_or_defaultÚis_body_allowed_for_status_code)Úrouting)Úwrap_app_handling_exceptions)Úget_route_pathÚis_async_callable)Úiterate_in_threadpoolÚrun_in_threadpool)ÚURLÚFormDataÚURLPath)ÚHTTPException)ÚRequest)ÚJSONResponseÚPlainTextResponseÚRedirectResponseÚResponseÚStreamingResponse)Ú	BaseRouteÚMatchÚNoMatchFoundÚcompile_pathÚget_name)ÚMount)ÚStaticFiles)ÚAppTypeÚASGIAppÚLifespanÚReceiveÚScopeÚSend©Ú	WebSocket)Ú
deprecatedc                ó€   € V ^8„  d   QhR\         \        .\        \        ,          \        ,          3,          R\        /# ©é   ÚfuncÚreturn)r   rP   r   rT   r^   )Úformats   "Úc/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/fastapi/routing.pyÚ__annotate__rm   €   s2   € ÷ 'ñ 'Ü
”G�9œi¬Õ1´HÕ<Ð<Õ
=ð'äñ'ó    c                óv   a€ \        V 4      '       d   T M\        P                  ! \        V 4      oR V3R llpV# )z]
Takes a function or coroutine `func(request) -> response`,
and returns an ASGI application.
c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# ©rh   ÚscopeÚreceiveÚsendrj   N©ra   r`   rb   )rk   s   "rl   rm   Ú&request_response.<locals>.__annotate__�   s.   € ÷ Oñ Oœð O¬ð O¼ð OÀñ Orn   c              “   óx   <a"  € \        WV4      oR  VV3R llp\        VS4      ! WV4      G Rj  x€L
  R#  L5i)c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rq   ru   )rk   s   "rl   rm   Ú3request_response.<locals>.app.<locals>.__annotate__�   s(   € ÷ 	ñ 	œUð 	¬Wð 	¼Dð 	ÀTñ 	rn   c           
   “   óÄ  <"  € R p\        4       ;_uu_4       GRj  x€L
 pW@R&   \        4       ;_uu_4       GRj  x€L
 pWPR&   S! S4      G Rj  x€L
 pRRR4      GRj  x€L
  X! WV4      G Rj  x€L
  RpRRR4      GRj  x€L
  V'       g   \        R4      hR#  L Lb LP LB  + GRj  x€L 
 '       g   i     LY; i LO L?  + GRj  x€L 
 '       g   i     LV; i5i)FNÚfastapi_inner_astackÚfastapi_function_astackTar  Response not awaited. There's a high chance that the application code is raising an exception and a dependency with yield has a block with a bare except, or a block with except Exception, and is not raising the exception again. Read more about it in the docs: https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#dependencies-with-yield-and-except)r   r2   )	rr   rs   rt   Úresponse_awaitedÚrequest_stackÚfunction_stackÚresponseÚfÚrequests	   &&&    €€rl   ÚappÚ*request_response.<locals>.app.<locals>.app�   s¸   øé € à$ÐÜ%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ù%& w£Z×/�H÷ ,×+ñ ˜u¨tÓ4×4Ð4à#'Ð ÷ (×'÷ $Ü"ðKóð ñ $ñ (á+á/÷ ,×+×+Ò+úñ 5÷ (×'×'Ò'üs¹   ƒC œB�C  C»B¼C¿B$	ÁB ÁB$	ÁCÁB"Á CÁ0C Á1CÁ7C ÂCÂC ÂC ÂCÂ B$	Â"CÂ$B=Â*B-Â+
B=Â6B=Â8	CÃC ÃC	Ã
CÃ
C	ÃC	ÃC N)rP   rG   )rr   rs   rt   rƒ   r‚   r�   s   &&& @€rl   rƒ   Úrequest_response.<locals>.app�   s5   ùé € Ü˜%¨$Ó/ˆ÷	ñ 	ô* +¨3°Ô8¸ÈÓN×NÔNùs   „-:±8²:)rI   Ú	functoolsÚpartialrK   )ri   rƒ   r�   s   & @rl   Úrequest_responserˆ   €   s>   ø€ ô ˜T×"Ò"ñ 	ä×ÒÔ0°$Ó7ð ÷Oð Oð4 €Jrn   c                ób   € V ^8„  d   QhR\         \        .\        R,          3,          R\        /# )rh   ri   Nrj   )r   rd   r   r^   )rk   s   "rl   rm   rm   ¬   s,   € ÷ ñ Ü
”I�;¤	¨$¥Ð/Õ
0ðäñrn   c                ó   a € R V 3R llpV# )zE
Takes a coroutine `func(session)`, and returns an ASGI application.
c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rq   ru   )rk   s   "rl   rm   Ú'websocket_session.<locals>.__annotate__´   s.   € ÷ Oñ Oœð O¬ð O¼ð OÀñ Orn   c              “   óz   <a"  € \        WVR 7      oR VV3R llp\        VS4      ! WV4      G Rj  x€L
  R#  L5i))rs   rt   c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# rq   ru   )rk   s   "rl   rm   Ú4websocket_session.<locals>.app.<locals>.__annotate__·   s(   € ÷ 	(ñ 	(œUð 	(¬Wð 	(¼Dð 	(ÀTñ 	(rn   c           
   “   ór  <"  € \        4       ;_uu_4       GR j  x€L
 pW0R&   \        4       ;_uu_4       GR j  x€L
 pW@R&   S! S4      G R j  x€L
  R R R 4      GR j  x€L
  R R R 4      GR j  x€L
  R #  LY L< L* L  + GR j  x€L 
 '       g   i     L3; i L*  + GR j  x€L 
 '       g   i     R # ; i5i)Nr{   r|   )r   )rr   rs   rt   r~   r   ri   Úsessions   &&&  €€rl   rƒ   Ú+websocket_session.<locals>.app.<locals>.app·   sw   øé € Ü%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ù˜w›-×'Ð'÷ ,×+÷ (×'Ó'á+á'÷ ,×+×+Ò+ú÷ (×'×'Ó'üs§   ƒB7šA4›B7žB¹A6ºB½A<	ÁA8ÁA<	ÁBÁA:ÁBÁ"B7Á-BÁ.B7Á6BÁ8A<	Á:BÁ<BÂBÂ
BÂBÂBÂB7ÂB4	Â B#Â!
B4	Â,B4	Â.	B7N)rd   rG   )rr   rs   rt   rƒ   r‘   ri   s   &&& @€rl   rƒ   Úwebsocket_session.<locals>.app´   s5   ùé € Ü˜E¸Ô>ˆ÷	(ñ 	(ô +¨3°Ô8¸ÈÓN×NÔNùs   „.;²9³;© )ri   rƒ   s   f rl   Úwebsocket_sessionr•   ¬   s   ø€ ÷Oð Oð €Jrn   Ú_Tc                   óZ   a € ] tR t^Èt o RtV 3R lR ltV 3R lR ltV 3R lR ltRtV t	R	# )
Ú_AsyncLiftContextManagerz|
Wraps a synchronous context manager to make it async.

This is vendored from Starlette to avoid importing private symbols.
c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )rh   Úcmrj   N)r   r–   )rk   Ú__classdict__s   "€rl   rm   Ú%_AsyncLiftContextManager.__annotate__Ï   s!   ø€ ÷ ñ Ñ1±"Õ5ð ¸$ñ rn   c                ó   € Wn         R # ©N©Ú_cm)Úselfrš   s   &&rl   Ú__init__Ú!_AsyncLiftContextManager.__init__Ï   s   € ØŽrn   c                ó    <€ V ^8„  d   QhRS[ /# ©rh   rj   )r–   )rk   r›   s   "€rl   rm   rœ   Ò   s   ø€ ÷ $ñ $¡"ñ $rn   c              ƒ  ó>   "  € V P                   P                  4       # 5irž   )r    Ú	__enter__©r¡   s   &rl   Ú
__aenter__Ú#_AsyncLiftContextManager.__aenter__Ò   s   é € Ø�x‰x×!Ñ!Ó#Ð#ùs   ‚c          	      óŽ   <€ V ^8„  d   QhRS[ S[,          R,          RS[R,          RS[P                  R,          RS[R,          /# )rh   Úexc_typeNÚ	exc_valueÚ	tracebackrj   )ÚtypeÚBaseExceptionÚtypesÚTracebackTypeÚbool)rk   r›   s   "€rl   rm   rœ   Õ   sW   ø€ ÷ Añ Aá‘}Õ%¨Õ,ðAñ ! 4Õ'ðAñ ×&Ñ&¨Õ-ð	Añ
 
��ñArn   c              ƒ  óB   "  € V P                   P                  WV4      # 5irž   )r    Ú__exit__)r¡   r¬   r­   r®   s   &&&&rl   Ú	__aexit__Ú"_AsyncLiftContextManager.__aexit__Õ   s   é € ð �x‰x× Ñ  °iÓ@Ð@ùs   ‚rŸ   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r¢   r©   r¶   Ú__static_attributes__Ú__classdictcell__©r›   s   @rl   r˜   r˜   È   s*   ø‡ € ñ÷ð ÷$ð $÷Aö Arn   r˜   c                óº   € V ^8„  d   QhR\         \        .\        \        \        \        3,          3,          R\         \        .\        \        ,          3,          /# )rh   Úlifespan_contextrj   )r   r   r   r   )rk   s   "rl   rm   rm   ß   sE   € ÷ ñ Ü¤˜u¤i´´S¼#°Õ&>Ð>Õ?ðäŒsˆeÔ0´Õ5Ð5Õ6ñrn   c                óx   a€ \         P                  ! V 4      o\        P                  ! S4      R V3R ll4       pV# )z�
Wrap a generator-based lifespan context into an async context manager.

This is vendored from Starlette to avoid importing private symbols.
c                óF   € V ^8„  d   QhR\         R\        \         ,          /# )rh   rƒ   rj   )r   r˜   )rk   s   "rl   rm   Ú0_wrap_gen_lifespan_context.<locals>.__annotate__ê   s    € ÷ 3ñ 3”Sð 3Ô5´cÕ:ñ 3rn   c                 ó&   <€ \        S! V 4      4      # rž   )r˜   )rƒ   Úcmgrs   &€rl   ÚwrapperÚ+_wrap_gen_lifespan_context.<locals>.wrapperé   s   ø€ ä'©¨S«	Ó2Ð2rn   )Ú
contextlibÚcontextmanagerr†   Úwraps)rÁ   rÇ   rÆ   s   & @rl   Ú_wrap_gen_lifespan_contextrÌ   ß   s8   ø€ ô ×$Ò$Ð%5Ó6€Dä‡_‚_�TÓ÷3ó ð3ð €Nrn   c                ó~   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          /# )rh   Úoriginal_contextÚnested_contextrj   )r_   r   )rk   s   "rl   rm   rm   ð   s0   € ÷ ñ Üœs•mðÜ5=¼cµ]ðäŒc…]ñrn   c                 ó0   a a€ \         R  VV 3R ll4       pV# )c                óv   € V ^8„  d   QhR\         R\        \        \        \        3,          R,          ,          /# )rh   rƒ   rj   N)r]   r   r
   Ústrr   )rk   s   "rl   rm   Ú-_merge_lifespan_context.<locals>.__annotate__ô   s3   € ÷ Yñ YÜðYä	”wœs¤C˜xÕ(¨4Õ/Õ	0ñYrn   c           
     óŒ  <"  € S! V 4      ;_uu_4       GR j  x€L
 pS! V 4      ;_uu_4       GR j  x€L
 pVf   Vf   R 5x € M/ T;'       g    / CT;'       g    / C5x € R R R 4      GR j  x€L
  R R R 4      GR j  x€L
  R #  Lj LS L  + GR j  x€L 
 '       g   i     L1; i L(  + GR j  x€L 
 '       g   i     R # ; i5irž   r”   )rƒ   Úmaybe_original_stateÚmaybe_nested_staterÏ   rÎ   s   &  €€rl   Úmerged_lifespanÚ0_merge_lifespan_context.<locals>.merged_lifespanó   sŒ   øé € ñ $ C×(×(Ô(Ð,@Ù% c×*×*Ô*Ð.@Ø%Ò-Ð2FÒ2NØ”JàXÐ0×6Ð6°BÐXÐ<P×<VÐ<VÐTVÐXÓX÷	 +×*÷ )×(Ó(ß*×*×*Ô*ú÷ )×(×(Ó(üs¡   ƒC˜B™CœB'±B²B'µB		ÁB		ÁB		Á!B'Á,BÁ-B'Á1CÁ<B%Á=CÂB'ÂB'Â	B"ÂBÂ
B"ÂB"ÂB'Â%CÂ'C	Â-B0Â.
C	Â9C	Â;	C)r   )rÎ   rÏ   r×   s   ff rl   Ú_merge_lifespan_contextrÙ   ð   s'   ù€ ô ÷Yð Yó ðYð Ðrn   c                   ól   a € ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltRt	V t
R# )Ú_DefaultLifespani  a@  
Default lifespan context manager that runs on_startup and on_shutdown handlers.

This is a copy of the Starlette _DefaultLifespan class that was removed
in Starlette. FastAPI keeps it to maintain backward compatibility with
on_startup and on_shutdown event handlers.

Ref: https://github.com/Kludex/starlette/pull/3117
c                ó"   <€ V ^8„  d   QhRRRR/# )rh   ÚrouterÚ	APIRouterrj   Nr”   )rk   r›   s   "€rl   rm   Ú_DefaultLifespan.__annotate__  s   ø€ ÷ ñ ˜{ð ¨tñ rn   c                ó   € Wn         R # rž   ©Ú_router)r¡   rÝ   s   &&rl   r¢   Ú_DefaultLifespan.__init__  s   € ØŽrn   c                ó   <€ V ^8„  d   QhRR/# ©rh   rj   Nr”   )rk   r›   s   "€rl   rm   rß     s   ø€ ÷ &ñ & $ñ &rn   c              ƒ  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5irž   )râ   Ú_startupr¨   s   &rl   r©   Ú_DefaultLifespan.__aenter__  s   é € Ø�l‰l×#Ñ#Ó%×%Ô%ùó   ‚) '¡)c                ó$   <€ V ^8„  d   QhRS[ RR/# )rh   Úexc_inforj   N)Úobject)rk   r›   s   "€rl   rm   rß     s   ø€ ÷ 'ñ '©ð '°Dñ 'rn   c              ‡  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5irž   )râ   Ú	_shutdown)r¡   rë   s   &*rl   r¶   Ú_DefaultLifespan.__aexit__  s   é € Ø�l‰l×$Ñ$Ó&×&Ô&ùré   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )rh   r¡   rƒ   rj   )r–   rì   )rk   r›   s   "€rl   rm   rß     s"   ø€ ÷ ñ ‘rð ¡ð ©2ñ rn   c                ó   € V # rž   r”   )r¡   rƒ   s   &&rl   Ú__call__Ú_DefaultLifespan.__call__  s   € Øˆrn   rá   N)r¸   r¹   rº   r»   r¼   r¢   r©   r¶   rò   r½   r¾   r¿   s   @rl   rÛ   rÛ     s2   ø‡ € ñ÷ð ÷&ð &÷'ð '÷ö rn   rÛ   c                ó0   € V ^8„  d   QhR\         R\        /# rg   )r   r1   )rk   s   "rl   rm   rm     s   € ÷ ñ ¤Cð ¬Oñ rn   c                óJ  € \        V 4      pV\        9   d   \        V,          #  / p\        P                  ! V 4      ;pe   W2R&   \        P                  ! V 4      ^,          ;pe   WBR&   \        V RR4      ;pe   WRR&   T\        T&   T#   \         d    \        4       p L"i ; i)zAExtract endpoint context with caching to avoid repeated file I/O.NÚfileÚliner¸   Úfunction)ÚidÚ_endpoint_context_cacheÚinspectÚgetsourcefileÚgetsourcelinesÚgetattrÚ	Exceptionr1   )ri   Úfunc_idÚctxÚsource_fileÚline_numberÚ	func_names   &     rl   Ú_extract_endpoint_contextr    s®   € ä�‹h€GàÔ)Ô)Ü& wÕ/Ð/ð
 Ø!ˆä"×0Ò0°Ó6Ð6ˆKÒCØ%�‰KÜ"×1Ò1°$Ó7¸Õ:Ð:ˆKÒGØ%�‰KÜ   z°4Ó8Ð8ˆIÒEØ'�
‰Oð (+Ô˜GÑ$Ø€Jøô	 ô  ÜÓŠð ús   ¥AB
 Â
B"Â!B"r   ÚincludeÚexcludeÚby_aliasTÚexclude_unsetFÚexclude_defaultsÚexclude_noneÚis_coroutineÚendpoint_ctxÚ	dump_jsonc                óà   € V ^8„  d   QhR\         R,          R\        R\        R,          R\        R,          R\        R\        R\        R	\        R
\        R\        R,          R\        R\        /# )rh   r   NÚresponse_contentr  r  r  r	  r
  r  r  r  r  rj   )r   r   rA   r³   r1   )rk   s   "rl   rm   rm   4  s”   € ÷ (2ñ (2ä˜Õð(2ô ð(2ô �T�\ð	(2ô
 �T�\ð(2ô ð(2ô ð(2ô ð(2ô ð(2ô ð(2ô " DÕ(ð(2ô ð(2ô 	ñ(2rn   c           
   ƒ   ól  "  € V '       d�   V'       d   V P                   ! V/ RR7      w  r¼M#\        V P                   V/ RR7      G Rj  x€L
 w  r¼V'       d#   T	;'       g    \        4       p\        VVVR7      hV
'       d   V P                  MV P
                  pV! VVVVVVVR7      # \        V4      #  Lj5i)r€   ©ÚlocN©ÚerrorsÚbodyr  ©r  r  r  r	  r
  r  ©r€   )ÚvalidaterK   r1   r4   Úserialize_jsonÚ	serializer0   )r   r  r  r  r  r	  r
  r  r  r  r  Úvaluer  r  Ú
serializers   $$$$$$$$$$$    rl   Úserialize_responser  4  s¸   é € ÷ ßØ!ŸNšNÐ+;¸RÀ]ÔS‰MˆE�6ä"3Ø—‘Ð 0°"¸-ô#÷ ‰MˆE÷ Ø×3Ð3¤/Ó"3ˆCÜ)ØØ%Ø ôð ÷
 .7�U×)Ò)¸E¿O¹Oˆ
ÙØØØØØ'Ø-Ø%ô
ð 	
ô  Ð 0Ó1Ð1ñ-ùs(   ‚B4“4B4ÁB2ÁB4ÁB4Á B4Â 3B4c                ój   € V ^8„  d   QhR\         R\        \        \        3,          R\        R\        /# )rh   Ú	dependantÚvaluesr  rj   )r#   ÚdictrÒ   r   r³   )rk   s   "rl   rm   rm   _  s4   € ÷ 
ñ 
Üð
Ü%)¬#¬s¨(¥^ð
ÜCGð
äñ
rn   c              ƒ   óD  "  € V P                   f   Q R4       hV'       dE   \        RV P                   R7      ;_uu_ 4        V P                   ! R/ VB G R j  x€L
 uuR R R 4       # \        \        V P                   VR7      G R j  x€L
 #  L2  + '       g   i     R # ; i L5i)Nú!dependant.call must be a functionÚendpoint©Únamerø   )rø   Ú	argumentsr”   )Úcallr;   rK   r=   ©r   r!  r  s   $$$rl   Úrun_endpoint_functionr+  _  s‚   é € ð
 �>‰>Ò%ÐJÐ'JÓJÐ%çÜ˜Z°)·.±.×AÖAØ"ŸšÑ1¨&Ñ1×1÷ BÒAô 'Ü¨¯©À6ô
÷ 
ð 	
ñ 2÷ B×AÐAúñ
ùs?   ‚B  B ¿B
ÁBÁB
Á*B ÂBÂB ÂB
Â
B	Â
B c                ól   € V ^8„  d   QhR\         R,          R\        R\        \        \        3,          /# )rh   Ústatus_codeNÚsolved_resultrj   )Úintr   r"  rÒ   )rk   s   "rl   rm   rm   o  s0   € ÷ ñ Ü˜$•JðÜ/2ðä	Œ#Œsˆ(…^ñrn   c                 óÜ   € R VP                   /pV '       d   T MVP                  P                  pVe   W2R&   VP                  P                  '       d   VP                  P                  VR&   V# )Ú
backgroundr-  )Úbackground_tasksr€   r-  )r-  r.  Úresponse_argsÚcurrent_status_codes   $$  rl   Ú_build_response_argsr5  o  sn   € ð 	�m×4Ñ4ð%€M÷ #‰¨×(>Ñ(>×(JÑ(Jð ð Ò&Ø':�mÑ$Ø×Ñ×)×)Ð)Ø'4×'=Ñ'=×'IÑ'Iˆ�mÑ$ØÐrn   c          '      óØ  € V ^8„  d   QhR\         R\        R,          R\        R,          R\        \        ,          \
        ,          R\        R,          R\        R,          R\        R,          R	\        R
\        R\        R\        R\        R,          R\        R\        \
        ,          R\        R,          R\        R\        \        .\        \        \        \        3,          3,          /# )rh   r   Ú
body_fieldNr-  Úresponse_classÚresponse_fieldÚresponse_model_includeÚresponse_model_excludeÚresponse_model_by_aliasÚresponse_model_exclude_unsetÚresponse_model_exclude_defaultsÚresponse_model_exclude_noneÚdependency_overrides_providerÚembed_body_fieldsÚstrict_content_typeÚstream_item_fieldÚis_json_streamrj   )r#   r   r/  r¯   rT   r"   rA   r³   r   r   rP   r   )rk   s   "rl   rm   rm   �  s  € ÷ Oñ OÜðOä˜TÕ!ðOô �t•ðOô œ•NÔ%7Õ7ð	Oô
  Õ%ðOô " D�LðOô " D�LðOô "ðOô #'ðOô &*ðOô "&ðOô $'¨¥:ðOô ðOô Ô 2Õ2ðOô " DÕ(ðOô  ð!Oô" Œwˆiœ¤3¬¬XÐ#5Õ6Ð6Õ7ñ#Orn   c                 óÊ  a aaaaaaaaa	a
aaaaaaaaa€ S P                   f   Q R4       h\        S P                   4      oS;'       d%    \        SP                  \        P
                  4      o\        S\        4      '       d   SP                  oMSo\        S\        4      o\        V\        4      '       d   VP                  oMVoR VVVV VVVVVVVVVVV	V
VVVV3R llpV# )Nr$  c                ó0   € V ^8„  d   QhR\         R\        /# )rh   r‚   rj   )rP   rT   )rk   s   "rl   rm   Ú)get_request_handler.<locals>.__annotate__   s   € ÷ nñ nœ7ð n¤xñ nrn   c              “   óÜ  <aaaa a!a""  € \        4       pVe   Wn        R pV P                  P                  R4      p\	        V\
        4      '       g   Q R4       hS&P                  '       d   \        S&P                  4      M	\        4       o S&P                  '       dL   V P                  P                  RR4      P                  R4      pV P                   RV S&P                   2S R&    R pS%'       Ed4   S)'       d5   V P                  4       G R j  x€L
 pVP                  VP                  4       M÷V P                  4       G R j  x€L
 pV'       dØ   \         pV P"                  P                  R4      pV'       g"   S$'       g   V P%                  4       G R j  x€L
 pM}\&        P(                  P+                  4       p	W‰R&   V	P-                  4       R	8X  dG   V	P/                  4       p
V
R
8X  g   V
P1                  R4      '       d   V P%                  4       G R j  x€L
 pV\         8w  d   TpMTpVe   WQn        . pV P                  P                  R4      p\	        V\
        4      '       g   Q R4       h\C        RS&P                  R7      ;_uu_ 4        \E        V S&\G        \H        \J        \L        3,          \N        ,          \P        ,          R ,          V4      S'VS(R7      G R j  x€L
 pVe#   VPR                  Vn)        VPT                  Vn*        R R R 4       XPT                  pS&P                  '       g   Q hV'       Eg=   R V V/V0V1V2V3V4V63R lloS,'       Ed5   S&P                  ! R</ VPR                  B o!R  V3R! llo\W        S&P                  4      '       d   S!PY                  4       o"M\[        S!4      o"\\        R" VV"3R# ll4       pVP_                  V! 4       4      G R j  x€L
 pVP                  VP`                  4       R$ R% lpV! V4      p\c        S5VR&7      p\e        V3R'R(/VB pR)VP"                  R*&   R+VP"                  R,&   VP"                  Pf                  Pi                  VPj                  P"                  Pf                  4       EMïS+'       dÄ   S&P                  ! R</ VPR                  B o!R- V3R. llo\W        S&P                  4      '       d   R/ VV!3R0 llpV! 4       pMR1 VV!3R2 llpV! 4       p\c        S5VR&7      p\e        V3R'R3/VB pVP"                  Pf                  Pi                  VPj                  P"                  Pf                  4       EM$\W        S&P                  4      '       g   \m        S&P                  4      '       d¢   S&P                  ! R</ VPR                  B o!\W        S&P                  4      '       d   R4 R5 lpV! S!4      o!\c        S5VR&7      pS#! R<R6S!/VB pVP"                  Pf                  Pi                  VPj                  P"                  Pf                  4       EMM\o        S&VPR                  S*R77      G R j  x€L
 p\	        V\p        4      '       d#   VPr                  f   VPt                  Vn9        TpMõ\c        S5VR&7      pS.R J;'       d    \	        S-\v        4      p\C        R8S&P                  R7      ;_uu_ 4        \y        S.VS4S0S/S3S1S2S*S VR97      G R j  x€L
 pR R R 4       V'       d   \q        R<R6XR'R:/VB pM	S#! X3/ VB p\{        VP|                  4      '       g   R;Vn        VP"                  Pf                  Pi                  VPj                  P"                  Pf                  4       V'       d   \5        WåS R7      p\=        V4       VhV'       g   Q hV#  EL’ ELa EL EL˜  \$        P2                   dN   p\5        RRRRTP6                  3RRR/ RRTP8                  //.TP:                  S R7      p\=        T4       YËhR p?i\>         d    h \@         d   p\?        RRR7      pYÛhR p?ii ; i EL_  + '       g   i     EL@; i ELy EL ELw  + '       g   i     EL~; i5i)=NÚfastapi_middleware_astackz4fastapi_middleware_astack not found in request scopeÚ	root_pathÚ Ú/Ú Úpathúcontent-typeÚapplicationÚjsonz+jsonr¯   Újson_invalidr  r  ÚmsgzJSON decode errorÚinputr  Úerror)r  r  i�  z#There was an error parsing the body)r-  Údetailr{   ú/fastapi_inner_astack not found in request scopeÚdependenciesr&  )r‚   r   r  r@  Úasync_exit_stackrA  c                ó0   € V ^8„  d   QhR\         R\        /# )rh   Údatarj   ©r   Úbytes)rk   s   "rl   rm   Ú6get_request_handler.<locals>.app.<locals>.__annotate__  s   € ÷ <ñ <¤cð <¬eñ <rn   c           
      ó$  <€ S'       dY   SP                  V / RR7      w  rV'       d#   S;'       g    \        4       p\        VV VR7      hSP                  VS
SSS	SSR7      # \	        V 4      p \
        P                  ! V 4      P                  R4      # )r€   r  r  r  úutf-8r  )r  r1   r4   r  r0   rQ  ÚdumpsÚencode)r[  r  Úerrors_r  r  r<  r;  r>  r?  r=  r:  rC  s   &   €€€€€€€€rl   Ú_serialize_dataÚ9get_request_handler.<locals>.app.<locals>._serialize_data  s¥   ø€ ß$Ø%6×%?Ñ%?Ø˜b mð &@ó &‘N�E÷ Ø*×?Ð?¬oÓ.?˜Ü5Ø#*Ø!%Ø),ôð ð
 -×;Ñ;ØØ 6Ø 6Ø!8Ø&BØ)HØ%@ð <ó ð ô ,¨DÓ1�DÜŸ:š: dÓ+×2Ñ2°7Ó;Ð;rn   c                ó0   € V ^8„  d   QhR\         R\        /# ©rh   Úitemrj   r\  )rk   s   "rl   rm   r^  !  s   € ÷ ñ ¬cð ´eñ rn   c                 óú  <€ \        V \        4      '       dÅ   V P                  e   V P                  pMqV P                  eb   \	        V P                  R4      '       d   V P                  P                  4       pM,\        P                  ! \        V P                  4      4      pMR p\        VV P                  V P                  V P                  V P                  R7      # \        S! V 4      P                  R4      R7      # )NÚmodel_dump_json)Údata_strÚeventrù   ÚretryÚcommentr`  )rk  )Ú
isinstancer9   Úraw_datar[  Úhasattrrj  rQ  ra  r0   r:   rl  rù   rm  rn  Údecode)rh  rk  rd  s   & €rl   Ú_serialize_sse_itemÚ=get_request_handler.<locals>.app.<locals>._serialize_sse_item!  s¾   ø€ Ü! $¬×8Ò8ð
  Ÿ=™=Ò4Ø37·=±=™HØ!ŸY™YÒ2Ü& t§y¡yÐ2C×DÒDØ+/¯9©9×+DÑ+DÓ+F¡ä+/¯:ª:Ô6FÀtÇyÁyÓ6QÓ+R¡à'+˜HÜ/Ø%-Ø"&§*¡*Ø#Ÿw™wØ"&§*¡*Ø$(§L¡Lô ð ô  0Ù%4°TÓ%:×%AÑ%AÀ'Ó%Jô ð rn   c                óP   € V ^8„  d   QhR\         \        \        ,          ,          /# r¥   )r   r   r]  )rk   s   "rl   rm   r^  D  s    € ÷ 11ñ 11´Ü'¬Õ.õ1ñ 11rn   c                 ó  <aaa"  € \         P                  \        ,          ! ^R7      w  ooR VVV3R llp \         P                  \        ,          ! ^R7      w  opR VV3R llp\         P                  ! 4       ;_uu_4       GRj  x€L
 pVP	                  V 4       VP	                  V4       V5x € VP
                  P                  4        RRR4      GRj  x€L
  R#  LW L  + GRj  x€L 
 '       g   i     R# ; i5i)é   )Úmax_buffer_sizec                ó   € V ^8„  d   QhRR/# rå   r”   )rk   s   "rl   rm   ÚPget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>.__annotate__Y  s   € ÷ Vñ V¨Tñ Vrn   c               “   óú   <"  € S;_uu_4       GR j  x€L
  S  R j  x€L
  p SP                  S! V 4      4      G R j  x€L
  K+   L1 L( L
D+R R R 4      GR j  x€L 
  R #   + GR j  x€L 
 '       g   i     R # ; i5irž   )rt   )Úraw_itemrs  Úsend_streamÚ	sse_aiters    €€€rl   Ú	_producerÚMget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._producerY  sZ   øé € ß#.§;¢;Ù2;÷ Vð V hØ&1×&6Ñ&6Ñ7JÈ8Ó7TÓ&U× UÒ Uñ $/ñVÙ Uð 3<÷ $/§;§;§;§;¤;üsz   ƒA;’A“A;–A™A
�A
žA
¡A½A
¾AÁA;ÁA
ÁAÁ
AÁA;ÁAÁA;ÁA8	Á$A'Á%
A8	Á0A8	Á2	A;c                ó   € V ^8„  d   QhRR/# rå   r”   )rk   s   "rl   rm   rz  b  s   € ÷ %ñ %°tñ %rn   c               “  ó¢  <"  € S;_uu_4       GRj  x€L
  S;_uu_4       GRj  x€L
     \         P                  ! \        4      ;_uu_ 4        SP                  4       G Rj  x€L
 p RRR4       SP	                  X 4      G Rj  x€L
  K`   Lx Lg L+  + '       g   i     L1; i L  \
         d#    SP	                  \        4      G Rj  x€L 
   K§  i ; i  \         P                   d     Mi ; iRRR4      GRj  x€L 
  M  + GRj  x€L 
 '       g   i     M; iRRR4      GRj  x€L 
  R#   + GRj  x€L 
 '       g   i     R# ; i5i)zZRead from the producer and forward to the output,
inserting keepalive comments on timeout.N)ÚanyioÚ
fail_afterr6   rs   rt   ÚTimeoutErrorr7   ÚEndOfStream)r[  Úreceive_streamÚsend_keepalives    €€rl   Ú_keepalive_inserterÚWget_request_handler.<locals>.app.<locals>._sse_producer_cm.<locals>._keepalive_inserterb  sÓ   øé € ÷ $2§>¢>·>·>²>ð	%Ø&*ð%UÜ-2×-=Ò-=¼n×-MÕ-MØ9G×9OÑ9OÓ9Q×3Q¨D÷ .Nà.<×.AÑ.AÀ$Ó.G×(GÒ(Gñ $2±>ñ
 4R÷ .N×-Múá(GøÜ+7ô %UØ.<×.AÑ.AÔBSÓ.T×(TÔ(Tð%Uûä#(×#4Ñ#4ô %Ù $ð%ú÷ 4B·>·>·>·>²>ú§>§>§>§>§>¤>üs  ƒE’B“E–D2¥B¦D2©D	«C­"B&ÁBÁ#BÁ$BÁ(B&ÂB$ÂB&Â	CÂEÂD2ÂBÂB!Â	B&Â&#CÃ	CÃ
CÃCÃCÃCÃC.Ã+D	Ã-C.Ã.D	Ã1D2Ã<C?Ã=D2ÄDÄ	DÄ

DÄDÄD2ÄEÄ*D-Ä+EÄ2E	Ä8D;Ä9
E	ÅE	Å	EN)rƒ  Úcreate_memory_object_streamr]  Úcreate_task_groupÚ
start_soonÚcancel_scopeÚcancel)	r  Úreceive_keepaliver‰  Útgr‡  rˆ  r}  rs  r~  s	       @@@€€rl   Ú_sse_producer_cmÚ:get_request_handler.<locals>.app.<locals>._sse_producer_cmC  s·   ûé € ô$ 38×2SÑ2SÜö3à&'ô3)Ñ/�K ÷Vò Vô ×9Ñ9¼%Ö@ÐQRÔSñ 6�NÐ$5÷%ñ %ô  %×6Ò6×8×8Ô8¸BØŸ™ iÔ0ØŸ™Ð&9Ô:Ø/Ó/ØŸ™×.Ñ.Ô0÷	  9×8×8×8×8×8üsO   †BD ÂCÂD ÂAC#ÃD ÃC!ÃD Ã!D Ã#C=	Ã)C,Ã*
C=	Ã5C=	Ã7	D c                ó\   € V ^8„  d   QhR\         \        ,          R\        \        ,          /# )rh   Ústreamrj   )r   r]  r   )rk   s   "rl   rm   r^  ‚  s&   € ÷ -ñ -Ü/´Õ6ð-ä"¤5Õ)ñ-rn   c                óz   "  € V   R j  x€L
  pV5x € \         P                  ! ^ 4      G R j  x€L
  K/   L* LD-R # 5irž   ©rƒ  Úsleep)r•  r[  s   & rl   Ú_sse_with_checkpointsÚ?get_request_handler.<locals>.app.<locals>._sse_with_checkpoints‚  s=   é € ñ '-÷ -ð -˜dØ"›
ô $Ÿkšk¨!›n×,Ò,ñ-ñ
 -ò '-ùó(   ‚;…8‰4Š8� ;­6®;´8¶;¸;)r-  r.  Ú
media_typeztext/event-streamzno-cachezCache-ControlÚnozX-Accel-Bufferingc                ó0   € V ^8„  d   QhR\         R\        /# rg  r\  )rk   s   "rl   rm   r^     s   € ÷ 9ñ 9¬#ð 9´%ñ 9rn   c                 ó"   <€ S! V 4      R ,           # )ó   
r”   )rh  rd  s   &€rl   Ú_serialize_itemÚ9get_request_handler.<locals>.app.<locals>._serialize_item   s   ø€ Ù*¨4Ó0°5Õ8Ð8rn   c                ó:   € V ^8„  d   QhR\         \        ,          /# r¥   )r   r]  )rk   s   "rl   rm   r^  ¥  s   € ÷ 1ñ 1´}ÄUÕ7Kñ 1rn   c                 óˆ   <"  € S  R j  x€L
  p S! V 4      5x € \         P                  ! ^ 4      G R j  x€L
  K5   L0 LD3R # 5irž   r—  ©rh  r¡  Úgens    €€rl   Ú_async_stream_jsonlÚ=get_request_handler.<locals>.app.<locals>._async_stream_jsonl¥  sB   øé € Ù*-÷ 1ð 1 $Ù"1°$Ó"7Ó7ô #(§+¢+¨a£.×0Ò0ñ	1ñ 1ò	 +.ùs-   ƒA†?Š;‹?Ž&A´=µA»?½A¿Ac                ó:   € V ^8„  d   QhR\         \        ,          /# r¥   )r	   r]  )rk   s   "rl   rm   r^  ±  s   € ÷ 8ñ 8´¼µñ 8rn   c               3   ó6   <"  € S F  p S! V 4      x € K  	  R # 5irž   r”   r¥  s    €€rl   Ú_sync_stream_jsonlÚ<get_request_handler.<locals>.app.<locals>._sync_stream_jsonl±  s   øé € Û$'˜DÙ"1°$Ó"7Ô7ó %(ùs   ƒzapplication/jsonlc                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# )rh   Ú	async_genrj   )r   r   )rk   s   "rl   rm   r^  Ç  s&   € ÷ 1ñ 1Ü#0´Õ#5ð1ä&¤sÕ+ñ1rn   c                óz   "  € V   R j  x€L
  pV5x € \         P                  ! ^ 4      G R j  x€L
  K/   L* LD-R # 5irž   r—  )r®  Úchunks   & rl   Ú_async_stream_rawÚ;get_request_handler.<locals>.app.<locals>._async_stream_rawÇ  s=   é € ñ ,5÷ 1ð 1 %Ø"'›Kô #(§+¢+¨a£.×0Ò0ñ	1ñ 1ò	 ,5ùr›  Úcontentr*  Úserialization)r   r  r  r  r  r	  r
  r  r  r  r  zapplication/jsonrn   r”   )?r?   r‚   rr   Úgetro  r   r)  r  r1   rN  ÚrstripÚmethodÚformÚpush_async_callbackÚcloser  r   ÚheadersrQ  ÚemailÚmessageÚMessageÚget_content_maintypeÚget_content_subtypeÚendswithÚJSONDecodeErrorr3   ÚposrS  Údocr>   rO   rÿ   r;   r/   r   r"  rÒ   r   rM   r]  r!  r  r$   Ú	__aiter__rJ   r   Úenter_async_contextÚacloser5  rU   ÚrawÚextendr€   r&   r+  rT   r1  r2  r"   r  rE   r-  )7r‚   Útelemetry_datar€   Ú
file_stackÚ
mount_pathr  Ú
body_bytesÚ	json_bodyÚcontent_type_valuer½  ÚsubtypeÚeÚvalidation_errorÚ
http_errorr  rY  r.  r’  Ússe_receive_streamr™  Ússe_stream_contentr3  r§  Újsonl_stream_contentr«  r±  Úraw_responseÚuse_dump_jsonr³  rd  r¡  rs  r  r¦  r~  Úactual_response_classÚactual_strict_content_typer7  r   r@  rA  Úis_body_formr  rD  Úis_sse_streamr8  r9  r<  r;  r>  r?  r=  r:  r-  rC  s7   &                            @@@@@@€€€€€€€€€€€€€€€€€€€€rl   rƒ   Ú get_request_handler.<locals>.app   s’  þé € Ü+Ó-ˆØÒ%Ø%,Ô"Ø$(ˆØ—]‘]×&Ñ&Ð'BÓCˆ
Ü˜*¤n×5Ò5ð 	
ØBó	
Ð5ð �~�~ˆ~ô & i§n¡nÔ5ä Ó"ð 	ð �>�>ˆ>à Ÿ™×*Ñ*¨;¸Ó;×BÑBÀ3ÓGˆJØ&-§n¡nÐ%5°Q°z°lÀ9Ç>Á>ÐBRÐ#SˆL˜Ñ ð0	$ØˆDßˆzßØ!(§¡£×/�DØ×2Ñ2°4·:±:Õ>à'.§|¡|£~×!5�Jß!Ü)2˜	Ø-4¯_©_×-@Ñ-@ÀÓ-PÐ*ß1ß#=Ø29·,±,³.×,@ 	øä&+§m¡m×&;Ñ&;Ó&=˜GØ6H NÑ3Ø&×;Ñ;Ó=ÀÔNØ*1×*EÑ*EÓ*G Ø#*¨fÔ#4¸×8HÑ8HÈ×8QÒ8QØ6=·l±l³n×0D IØ$¬	Ô1Ø#,™Dà#-˜Dð4 Ò%Ø"&Ôð ˆØ"Ÿ=™=×,Ñ,Ð-CÓDÐÜÐ*¬N×;Ò;ð 	
Ø=ó	
Ð;ô ˜^°i·n±n×EÖEÜ"4ØØ#Üœ$œs¤C˜x�.¬8Õ3´eÕ;¸dÕBÀDÓIØ.KØ!1Ø"3ô#÷ ˆMð Ò)Ø(5×(<Ñ(<�Ô%Ø(5×(<Ñ(<�Ô%÷ Fð ×%Ñ%ˆØ�~�~ˆ~Ðˆ~ßˆv÷<÷ <÷2 ˆ}à—n’nÑ< }×';Ñ';Ñ<�÷ð ô: *¨)¯.©.×9Ò9Ø47·M±M³O‘Iä 5°cÓ :�Iä$÷11ð 11ó %ð11ðn ,<×+OÑ+OÙ$Ó&ó,÷ &Ð"ð
 !×4Ñ4Ð5G×5NÑ5NÔOõ-ñ *Ð*<Ó=ð #ô !5Ø +¸=ô!�ô -Ø&ñà2ðð $ñ�ð
 5?�× Ñ  Ñ1à8<�× Ñ Ð!4Ñ5Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOßà—n’nÑ< }×';Ñ';Ñ<�÷9ð 9ô *¨)¯.©.×9Ò9÷1ñ 1ñ ,Ó-ñ )÷
8ñ 8ñ ,>Ó+?Ð(ä 4Ø +¸=ô!�ô -Ø(ñà2ðð $ñ�ð
 × Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOÜ'¨	¯©×7Ò7Ô;KØ—‘÷<ò <ð  —n’nÑ< }×';Ñ';Ñ<�Ü)¨)¯.©.×9Ò9õ1ñ ,¨CÓ0�CÜ 4Ø +¸=ô!�ñ 1ÑN¸ÐNÀÑN�Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÖOä%:Ø'Ø(×/Ñ/Ø!-ô&÷  �ô
 ˜l¬H×5Ò5Ø#×.Ñ.Ò6Ø2?×2PÑ2P˜Ô/Ø+‘Hä$8Ø$/¸}ô%�Mð %3¸$Ð$>÷ %ð %Ä:Ø&Ô(:óD�Mô $¨À9Ç>Á>×RÖRÜ(:Ø"0Ø-9Ø$:Ø$:Ø%<Ø*FØ-LØ)DØ)5Ø)5Ø&3ô)÷ #˜÷ S÷ %Ü#+ñ $Ø$+ð$à'9ð$ð ,ñ$™ñ $9¸Ñ#RÀMÑ#R˜Ü:¸8×;OÑ;O×PÒPØ(+˜œØ×$Ñ$×(Ñ(×/Ñ/°×0FÑ0F×0NÑ0N×0RÑ0RÔSßÜ5Ø°ô Ðô Ð/Ô0Ø"Ð"÷ ˆˆxØˆòg
 0ò "6ò -Aò 1Eøô
 ×#Ñ#ô 	*Ü5ð  Ø ¨¯©˜ØÐ2Ø Ø ¨¯©Ð/ððð —U‘UØ)ô Ðô Ð/Ô0Ø"Ð)ûÜô 	àÜô 	$Ü&ØÐ(MôˆJð Ð#ûð		$úò ÷ F×EÐEúòR&òx ò,#÷ S×RÐRüs~  ‰A a,Á*0a,ÂAa,Ã'
^+ Ã2^+ Ã:^+ Ä^Ä^+ Ä-a,Ä.^+ Å^"Å^+ Å(^+ Å7^+ Å?^+ Æ^%ÆA)^+ Ç=^+ È^(È^+ È"a,È#^+ È%A#a,ÊA`;Ë`8Ë*`;Ì%a,Ì*
a,Ì5a,ÍBa,ÏaÏB2a,Ò
F5a,Ø?aÙ Aa,Ú0a,ÛaÛaÛaÛ#a,Û3Ba,Ý9!a,Þa,Þ^+ Þ"^+ Þ%^+ Þ(^+ Þ+`5ß A`à`5à
`5à `5à!`0à0`5à5a,à8`;à;a	á
a,áa,áaáa)	á#	a,)
r)  r%   ro  Ú
field_infor   ÚFormr"   r  r    r8   )r   r7  r-  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rƒ   rÙ  rÚ  rÛ  r  rÜ  s   fffffffffffff&ff @@@@@rl   Úget_request_handlerrà  �  s¸   ÿÿû€ ð$ �>‰>Ò%ÐJÐ'JÓJÐ%Ü)¨)¯.©.Ó9€LØ×PÐP¤*¨Z×-BÑ-BÄFÇKÁKÓ"P€LÜ�.Ô"4×5Ò5Ø0>×0DÑ0DÑà .ÐÜ&Ð'<Ô>QÓR€MÜÐ%Ô'9×:Ò:Ø+>×+DÑ+DÑ"à%8Ð"÷n÷ n÷ nó nð` €Jrn   c                ó¦   € V ^8„  d   QhR\         R\        R,          R\        R\        \        .\
        \        \        \        3,          3,          /# )rh   r   r@  NrA  rj   )r#   r   r³   r   rd   r   )rk   s   "rl   rm   rm     sK   € ÷ ,ñ ,Üð,ä#&¨¥:ð,ô ð,ô Œyˆkœ9¤S¬#¬s ]Õ3Ð3Õ4ñ	,rn   c                 ó"   a aa€ R  V VV3R llpV# )c                ó(   € V ^8„  d   QhR\         RR/# )rh   Ú	websocketrj   Nrc   )rk   s   "rl   rm   Ú'get_websocket_app.<locals>.__annotate__  s   € ÷ %9ñ %9œYð %9¨4ñ %9rn   c           
   “   óü  <"  € \        4       pVe   Wn        SP                  '       d   \        SP                  4      M	\	        4       pSP
                  '       d@   V P                  P                  RR4      P                  R4      pRV SP
                   2VR&   V P                  P                  R4      p\        V\        4      '       g   Q R4       h\        RSP                  R	7      ;_uu_ 4        \        V SSVS	R
7      G R j  x€L
 pVe#   VP                  Vn        VP                  Vn        R R R 4       XP                  '       d%   \        VP                  VR7      p\!        V4       VhSP                  f   Q R4       h\        RSP                  R	7      ;_uu_ 4        SP                  ! R/ VP                  B G R j  x€L
  R R R 4       R #  LË  + '       g   i     L«; i L#  + '       g   i     R # ; i5i)NrJ  rK  rL  zWS rN  r{   rW  rX  r&  ©r‚   r   r@  rY  rA  )r  r$  r%  r”   )r?   rä  r)  r  r1   rN  rr   rµ  r¶  ro  r   r;   r/   r!  r  r5   r>   )
rä  rÊ  r  rÌ  rY  r.  rÒ  r   r@  rA  s
   &      €€€rl   rƒ   Úget_websocket_app.<locals>.app  s´  øé € Ü+Ó-ˆØÒ%Ø'0Ô$ð �~�~ˆ~ô & i§n¡nÔ5ä Ó"ð 	ð
 �>�>ˆ>à"Ÿ™×,Ñ,¨[¸"Ó=×DÑDÀSÓIˆJØ%(¨¨°Y·^±^Ð4DÐ#EˆL˜Ñ Ø$Ÿ?™?×.Ñ.Ð/EÓFÐÜÐ*¬N×;Ò;ð 	
Ø=ó	
Ð;ô ˜^°i·n±n×EÖEÜ"4Ø!Ø#Ø.KØ!1Ø"3ô#÷ ˆMð Ò)Ø(5×(<Ñ(<�Ô%Ø(5×(<Ñ(<�Ô%÷ Fð ××ÐÜ>Ø×$Ñ$Ø)ô Ðô Ð/Ô0Ø"Ð"Ø�~‰~Ò)ÐNÐ+NÓNÐ)Ü˜Z°)·.±.×AÖAØ—.’.Ñ8 =×#7Ñ#7Ñ8×8Ð8÷ BÑAñ%÷ F×Eúñ( 9÷ B×AÐAüsl   ƒ&G<ª0G<ÁBG<Ã1GÄGÄ*GÄ0G<Å
AG<Æ" G(ÇG&ÇG(Ç
G<ÇGÇG#	ÇG<Ç&G(Ç(G9	Ç3	G<r”   )r   r@  rA  rƒ   s   fff rl   Úget_websocket_appré    s   ú€ ÷
%9ò %9ðN €Jrn   c                   ó`   a a€ ] tR tRt oRRRRRR/V3R lR lltV3R lV 3R	 lltR
tVtV ;t# )ÚAPIWebSocketRouteiB  r'  NrX  r@  c                óž   <€ V ^8„  d   QhRS[ RS[RS[3,          RS[ R,          RS[S[P
                  ,          R,          RS[R,          RR/# )	rh   rN  r%  .r'  NrX  r@  rj   ©rÒ   r   r   r   r   ÚDepends)rk   r›   s   "€rl   rm   ÚAPIWebSocketRoute.__annotate__C  sf   ø€ ÷ 
ñ 
áð
ñ ˜3¡˜8Õ$ð
ñ
 �D�jð
ñ ™vŸ~™~Õ.°Õ5ð
ñ (+¨T¥zð
ð 
ñ
rn   c               óŽ  € Wn         W n        Vf   \        V4      MTV n        \	        T;'       g    . 4      V n        \        V4      w  V n        V n        V n	        \        V P                  V P                  V P
                  R7      w  V n        pV n        \        \        V P                  VV P                  R7      4      V n        R # )N©rN  r)  rX  ©r   r@  rA  )rN  r%  rZ   r'  ÚlistrX  rY   Ú
path_regexÚpath_formatÚparam_convertorsÚ0_build_dependant_with_parameterless_dependenciesr   Ú_embed_body_fieldsr•   ré  rƒ   )r¡   rN  r%  r'  rX  r@  Ú_s   &&&$$$ rl   r¢   ÚAPIWebSocketRoute.__init__C  s®   € ð Œ	Ø ŒØ*.ª,”H˜XÔ&¸DˆŒ	Ü  ×!3Ð!3°Ó4ˆÔÜCOÐPTÓCUÑ@ˆŒ˜Ô)¨4Ô+@ô
 =Ø×!Ñ!Ø—‘Ø×*Ñ*ô
ñ		
ØŒNØØÔ#ô %ÜØŸ.™.Ø.KØ"&×"9Ñ"9ôó
ˆŽrn   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ©rh   rr   rj   ©ra   ÚtuplerW   )rk   r›   s   "€rl   rm   rï  b  s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "rn   c                ó^   <€ \         SV `  V4      w  r#V\        P                  8w  d   WR &   W#3# )Úroute)ÚsuperÚmatchesrW   ÚNONE)r¡   rr   ÚmatchÚchild_scopeÚ	__class__s   &&  €rl   r  ÚAPIWebSocketRoute.matchesb  s1   ø€ Ü"™W™_¨UÓ3ÑˆØ”E—J‘JÔØ#'˜Ñ ØÐ!Ð!rn   )
rø  rƒ   r   rX  r%  r'  rö  rN  rõ  rô  )	r¸   r¹   rº   r»   r¢   r  r½   r¾   Ú__classcell__©r  r›   s   @@rl   rë  rë  B  s<   ù‡ € ð
ð
  ð
ð 9=ð
ð 59÷
ò 
÷>"÷ "ó "rn   rë  ÚfastapiÚeffective_route_contextÚfrontend_pathÚfrontend_specificityÚincluded_routerÚfastapi_effective_route_context)Údefaultc                ó   € V ^8„  d   QhRR/# rå   r”   )rk   s   "rl   rm   rm   t  s   € ÷ 	ñ 	 tñ 	rn   c                  ó   € R # rž   r”   r”   rn   rl   Ú_frontend_dependency_endpointr  t  s   € Ùrn   c                óÎ   € V ^8„  d   QhR\         R\        R\        3,          R\        \        P
                  ,          R\        \        \        \        ,          \        3,          /# )rh   rN  r)  .rX  rj   )rÒ   r   r   r   r   rî  rþ  r#   ró  r   r³   )rk   s   "rl   rm   rm   x  sU   € ÷ 5ñ 5ä
ð5ô �3œ�8Õ
ð5ô œ6Ÿ>™>Õ*ð	5ô
 Œ9”dœ:Õ&¬Ð,Õ-ñ5rn   c           	      óÂ   € \        WR R7      pVRRR1,           F)  pVP                  P                  ^ \        W@R7      4       K+  	  \	        V4      p\        V4      pW5V3# )rø   )rN  r)  rr   N)ÚdependsrN  éÿÿÿÿ)r+   rX  Úinsertr,   r)   r*   )rN  r)  rX  r   r  Úbody_paramsrA  s   $$$    rl   r÷  r÷  x  sh   € ô  4¸*ÔE€IØ¡ " ×%Ð%ˆØ×Ñ×%Ñ%ØÜ+°GÔGö	
ñ &ô
 (¨	Ó2€KÜ1°+Ó>ÐØÐ#4Ð4Ð4rn   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )Ú_RouteWithPathi‰  c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )rh   rN  ©rÒ   )rk   r›   s   "€rl   rm   Ú_RouteWithPath.__annotate__‰  s   ø‡ ‚ Ù
�Iò rn   r”   N©r¸   r¹   rº   r»   Ú__annotate_func__r½   r¾   r¿   s   @rl   r  r  ‰  ó   ø‡ ‡ „ rn   r  c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# rü  )ra   r"  rÒ   r   )rk   s   "rl   rm   rm   �  s"   € ÷ ñ œeð ¬¬S´#¨X­ñ rn   c                 ób   € V P                  \        / 4      p\        V\        4      '       g   Q hV# rž   )Ú
setdefaultÚ_FASTAPI_SCOPE_KEYro  r"  )rr   Úfastapi_scopes   & rl   Ú_get_fastapi_scoper'  �  s.   € Ø×$Ñ$Ô%7¸Ó<€MÜ�m¤T×*Ò*Ð*Ð*ØÐrn   c                ó4   € V ^8„  d   QhR\         R\         RR/# )rh   rr   r  rj   N)ra   )rk   s   "rl   rm   rm   “  s!   € ÷ >ñ >œð >¬Uð >°tñ >rn   c                 óè   € VP                  \        4      pVP                  4        F  w  r4V\        8w  g   K  W@V&   K  	  \        V\        4      '       d   \        V 4      P                  V4       R # R # rž   )rµ  r%  Úitemsro  r"  r'  Úupdate)rr   r  Úfastapi_child_scopeÚkeyr  s   &&   rl   Ú_update_scoper.  “  s`   € Ø%Ÿ/™/Ô*<Ó=ÐØ!×'Ñ'Ö)‰
ˆØÔ$Ö$Ø�#‹Jñ *ô Ð%¤t×,Ò,Ü˜5Ó!×(Ñ(Ð)<Ö=ñ -rn   c                ó>   € V ^8„  d   QhR\         R\        R,          /# ©rh   rr   rj   N©ra   r   )rk   s   "rl   rm   rm   œ  s"   € ÷ Wñ W¬eð W¼¸d½
ñ Wrn   c                 óT   € V P                  \        / 4      P                  \        4      # rž   )rµ  r%  Ú$_FASTAPI_EFFECTIVE_ROUTE_CONTEXT_KEY©rr   s   &rl   Ú"_get_scope_effective_route_contextr5  œ  s    € Ø�9‰9Ô'¨Ó,×0Ñ0Ô1UÓVÐVrn   c                ó>   € V ^8„  d   QhR\         R\        R,          /# r0  r1  )rk   s   "rl   rm   rm      s"   € ÷ Oñ O¤eð O´°dµ
ñ Orn   c                 óT   € V P                  \        / 4      P                  \        4      # rž   )rµ  r%  Ú_FASTAPI_INCLUDED_ROUTER_KEYr4  s   &rl   Ú_get_scope_included_routerr9     s    € Ø�9‰9Ô'¨Ó,×0Ñ0Ô1MÓNÐNrn   c                ó>   € V ^8„  d   QhR\         R\        R,          /# r0  )ra   r/  )rk   s   "rl   rm   rm   ¤  s   € ÷ ñ ¤uð ´°tµñ rn   c                 óˆ   € V P                  \        / 4      P                  \        4      p\        V\        4      '       d   V# R # rž   )rµ  r%  Ú!_FASTAPI_FRONTEND_SPECIFICITY_KEYro  r/  )rr   Úspecificitys   & rl   Ú_frontend_scope_specificityr>  ¤  s9   € Ø—)‘)Ô.°Ó3×7Ñ7Ü)ó€Kô �+œs×#Ò#ØÐÙrn   c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# )rh   rr   r-  Úpreviousrj   N)ra   rÒ   r   )rk   s   "rl   rm   rm   ­  s(   € ÷ &ñ &¤eð &´#ð &Äð &Èñ &rn   c                 ó¤   € V P                  \        4      p\        V\        4      '       g   R # V\        J d   VP                  VR 4       R # W#V&   R # rž   )rµ  r%  ro  r"  Ú_SCOPE_MISSINGÚpop)rr   r-  r@  r&  s   &&& rl   Ú_restore_fastapi_scope_keyrD  ­  sA   € Ø—I‘IÔ0Ó1€MÜ�m¤T×*Ò*ÙØ”>Ó!Ø×Ñ˜#˜tÖ$à%�cÓrn   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )Ú_APIRouteLikei·  c                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[RS[3,          ;R&   S[R,          ;R&   S[;R&   S[ R,          ;R&   S[ ;R&   S[R,          ;R	&   S[ R,          ;R
&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[,          ;R&   S[R,          ;R&   S[S[	,          R,          ;R&   S[
S[ S[3,          R,          ;R&   S[S[.S[ 3,          S[,          ;R&   S[S[,          ;R&   S[S[ S[,          ,          ;R&   S[
S[S[ ,          S[
S[ S[3,          3,          ;R&   S[ ;R&   S[;R&   S[ ;R&   S[
S[ S[3,          ;R&   S[S[ ,          ;R&   S[ ;R&   S[R,          ;R &   S[R,          ;R!&   S[R,          ;R"&   S[S[P                   ,          ;R#&   S[ ;R$&   S[
S[S[ ,          S[3,          ;R%&   S[;R&&   S[;R'&   S[R,          ;R(&   S[;R)&   S[;R*&   # )+rh   rN  .r%  NÚstream_item_typeÚresponse_modelÚsummaryÚresponse_descriptionre   Úoperation_idr:  r;  r<  r=  r>  r?  Úinclude_in_schemar8  r@  Ú	callbacksÚopenapi_extraÚgenerate_unique_id_functionrB  ÚtagsÚ	responsesr'  rô  rõ  rö  ÚmethodsÚ	unique_idr-  r9  rC  rX  ÚdescriptionÚresponse_fieldsr   rø  r7  rÜ  rD  )rÒ   r   r   r³   rA   r¯   rT   r"   ró  rV   r"  r   r/  Úsetr   r   rî  r#   )rk   r›   s   "€rl   rm   Ú_APIRouteLike.__annotate__·  sÈ  ø‡ ‚ Ù
�Iñ á�s™C�xÕ Ñ ñ ñ ˜D•jÑ ñ ñ Ññ	 ñ
 �4�ZÑñ ñ Ññ ñ �t•Ññ ñ ˜•*Ññ ñ " D�LÑ(ñ ñ " D�LÑ(ñ ñ "Ñ!ñ ñ #'Ñ&ñ ñ &*Ñ)ñ ñ "&Ñ%ñ ñ Ññ ñ  ™•NÑ%7Õ7Ñ7ñ! ñ" $'¨¥:Ñ-ñ# ñ$ ‘I� Õ%Ñ%ñ% ñ& ™™S˜•> DÕ(Ñ(ñ' ñ( "*©3¨%±¨*Õ!5Ñ8JÕ!JÑJñ) ñ* Ñ 2Õ2Ñ2ñ+ ñ, ‰s‘T�zÕ
Ññ- ñ. ‘C™#•I™t¡C© H�~Ð-Õ.Ñ.ñ/ ñ0 �Iñ1 ñ2 �Oñ3 ñ4 Ññ5 ñ6 ™3¡˜8•nÑ$ñ7 ñ8 ‘�XÑñ9 ñ: �Nñ; ñ< �t•Ññ= ñ>  Õ%Ñ%ñ? ñ@ " DÕ(Ñ(ñA ñB ‘v—~‘~Õ&Ñ&ñC ñD ÑñE ñF ™#¡�)¡ZÐ/Õ0Ñ0ñG ñH ÑñI ñJ ÑñK ñL ˜TÕ!Ñ!ñM ñN ÑñO ñP ÑòQ rn   r”   Nr  r¿   s   @rl   rF  rF  ·  r!  rn   rF  rI  r-  rQ  rX  rJ  rU  rK  úSuccessful ResponserR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rH  c          <      ó  € V ^8„  d   QhR\         R\        R\        R\        3,          R\        R\        R,          R\
        \        \        ,          ,          R,          R	\        \        P                  ,          R,          R
\        R,          R\        R,          R\        R\        \        \        ,          \        \        \        3,          3,          R,          R\        R,          R\        R,          R\        \        ,          \
        \        ,          ,          R,          R\        R,          R\        R,          R\        R,          R\        R\        R\        R\        R\        R\        \        ,          \         ,          R\        R,          R\
        \"        ,          R,          R\        \        \        3,          R,          R\        \        .\        3,          \         ,          R\        \         ,          R\        R,          R R/# )!rh   r   rN  r%  .rI  r-  NrQ  rX  rJ  rU  rK  rR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rH  rj   )rF  rÒ   r   r   r/  ró  r   r   r   rî  r"  r³   rW  rA   r¯   rT   r"   rV   )rk   s   "rl   rm   rm   â  s	  € ÷ b'ñ b'Üðb'ä
ðb'ô �sœC�xÕ ðb'ô
 ðb'ô �t•ðb'ô Œs”T�zÕ
˜TÕ
!ðb'ô œ6Ÿ>™>Õ*¨TÕ1ðb'ô �4�Zðb'ô �t•ðb'ô ðb'ô ”Cœ#•Iœt¤C¬ H�~Ð-Õ.°Õ5ðb'ô �t•ðb'ô ��*ðb'ô ”�XœœS�	Õ! DÕ(ðb'ô  ˜•*ð!b'ô" " D�Lð#b'ô$ " D�Lð%b'ô& "ð'b'ô( #'ð)b'ô* &*ð+b'ô, "&ð-b'ô. ð/b'ô0 œ•NÔ%7Õ7ð1b'ô2 $'¨¥:ð3b'ô4 ”I� Õ%ð5b'ô6 œœS˜•> DÕ(ð7b'ô8 "*¬3¨%´¨*Õ!5Ô8JÕ!Jð9b'ô> Ô 2Õ2ð?b'ô@ ˜D•jðAb'ðB 
ñCb'rn   c                ó.
  € Wn         W n        VV n        Wpn        W�n        W°n        Wàn        Wðn        VV n        VV n	        VV n
        VV n        VV n        VV n        VV n        VV n        VV n        VV n        VV n        VV n        T;'       g    . V n        T
;'       g    / V n        Vf   \-        V4      MTV n        \1        V4      w  V n        V n        V n        Vf   R.pV Uu0 uF  pVP9                  4       kK  	  upV n        \=        V\>        4      '       d   VP@                  pMTpV P                  ;'       g	    V! V 4      V n!        \=        V\D        4      '       d   \G        V4      pW@n$        \K        T;'       g    . 4      V n&        T;'       g5    \N        PP                  ! V P                  PR                  ;'       g    R4      V n*        V PT                  PW                  R4      ^ ,          PY                  4       V n*        / pV P*                  P[                  4        F  w  p p!\=        V!\\        4      '       g   Q R4       hV!P_                  R4      p"V"'       g   K>  \a        V 4      '       g   Q RV  R24       hRV  R	V PB                   2p#\c        V#V"R
R7      p$V$VV &   K�  	  V'       d	   VV n2        M/ V n2        \g        V4      '       g   Q R4       h\i        V P4                  V P                  V PL                  R7      w  V n5        p%V n6        \o        V%V PB                  V Pl                  R7      V n8        \s        V Pj                  Pt                  4      ;'       g     \w        V Pj                  Pt                  4      p&T&;'       d    \y        V\z        4      V n>        T&;'       d    \=        V\>        4      V n?        \=        V\>        4      '       dŠ   \�        V4      p'\y        V'\‚        4      '       d   R pMe\…        V'4      p(V(eU   V&'       dM   \=        V\>        4      '       g   \y        V\z        4      '       d   \y        V(\†        4      '       g   V(V n        R pMT'pW0nD        V Pˆ                  '       dN   \a        V4      '       g   Q RV R24       hRV PB                  ,           p#\c        V#V Pˆ                  R
R7      V nE        MR V nE        V P                  '       d3   RV PB                  ,           p)\c        V)V P                  R
R7      V nF        R # R V nF        R # u upi )NÚGETrK  Úz%An additional response must be a dictÚmodelzStatus code z must not have a response bodyÚ	Response_rù  r´  )r'  Útype_ÚmodezAn endpoint must be a callablerñ  )r  r'  rA  ÚStreamItem_)GrN  r%  rH  rJ  rK  re   rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rQ  rR  rZ   r'  rY   rô  rõ  rö  ÚupperrS  ro  r"   r  rT  r   r/  r-  ró  rX  rû   Úcleandocr¼   rU  ÚsplitÚstripr*  r"  rµ  rE   rB   rV  Úcallabler÷  r   rø  r(   r7  r$   r)  r&   r    r8   rÜ  rD  r.   rT   r-   r9   rI  r9  rC  )*r   rN  r%  rI  r-  rQ  rX  rJ  rU  rK  rR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rH  r·  Úcurrent_generate_unique_idrV  Úadditional_status_coder€   r^  Úresponse_namer9  r  Úis_generatorÚreturn_annotationÚstream_itemÚstream_item_names*   &&&$$$$$$$$$$$$$$$$$$$$$$$$$$             rl   Ú_populate_api_route_statero  â  s«  € ðD „JØ„NØ-€EÔØ„MØ!5ÔØ!ÔØ%ÔØ#9Ô Ø#9€EÔ Ø$;€EÔ!Ø)E€EÔ&Ø,K€EÔ)Ø(C€EÔ%Ø/€EÔØ)€EÔØ*G€EÔ'Ø€E„OØ'€EÔØ(C€EÔ%Ø 3€EÔØ—�˜€E„JØ—o�o 2€E„OØ'+¢|”˜(Ô#¸€E„JÜBNÈtÓBTÑ?€EÔ�eÔ'¨Ô)?Ø‚Ø�'ˆÙ29Ó:±'¨�V—\‘\–^±'Ñ:€E„MÜÐ-Ô/A×BÒBà'×-Ñ-ñ 	#ð &AÐ"Ø×(Ñ(×MÐMÑ,FÀuÓ,M€E„Oä�+œw×'Ò'Ü˜+Ó&ˆØ#ÔÜ˜l×0Ð0¨bÓ1€EÔØ#×UÐU¤w×'7Ò'7¸¿¹×8NÑ8N×8TÐ8TÐRTÓ'U€EÔð ×)Ñ)×/Ñ/°Ó5°aÕ8×>Ñ>Ó@€EÔØ€OØ,1¯O©O×,AÑ,AÖ,CÑ(Ð Ü˜(¤D×)Ò)ÐRÐ+RÓRÐ)Ø—‘˜WÓ%ˆß‰5Ü2Ð3I×JÒJð ØÐ5Ð6Ð6TÐUóÐJð (Ð(>Ð'?¸qÀÇÁÐ@QÐRˆMÜ/Ø"¨%°oôˆNð 7EˆOÐ2Ó3ñ -D÷ Ø /ˆÕà "ˆÔä�H×ÒÐ?Ð?Ó?Ðô
 	9Ø×ÑØ�^‰^Ø×'Ñ'ô	ñ	ØŒØØÔ ô 'ØØ�_‰_Ø×2Ñ2ô€EÔô *¨%¯/©/×*>Ñ*>Ó?÷ ð ÔCSØ�‰×ÑóD€Lð '÷ ð Ô+=ØÔ+ó,€EÔð (÷ ð ¬JØÔ*ó-€EÔô �.Ô"4×5Ò5Ü7¸ÓAÐÜÐ/´×:Ò:Ø!‰Nä.Ð/@ÓAˆKØÒ&¯<ô ˜~Ô/A×BÒBÜ)¨.Ô:M×NÒNÜ,¨[¼/×JÒJØ-8�EÔ*Ø!%‘à!2�Ø)ÔØ××ÐÜ.¨{×;Ò;ð 	
Ø˜;˜-Ð'EÐFó	
Ð;ð $ e§o¡oÕ5ˆÜ1ØØ×&Ñ&Ø ô 
ˆÕð  $ˆÔØ××ÐØ(¨5¯?©?Õ:ÐÜ"4Ø!Ø×(Ñ(Ø ô#
ˆÖð #'ˆÖùòM ;s   Ã'Tc            4       ó  a a€ ] tR tRt oR]! R4      RRRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRR]! ]4      RRRRRRR]! ]4      R]! R4      /V3R lR  lltV3R! lR" ltV3R# lV 3R$ llt	V3R% lV 3R& llt
V3R' ltR(tVtV ;t# ))ÚAPIRoutei‡  rI  Nr-  rQ  rX  rJ  rU  rK  rY  rR  re   r'  rS  rL  r:  r;  r<  Tr=  Fr>  r?  rM  r8  r@  rN  rO  rP  rB  c          8      óÒ  <€ V ^8„  d   QhRS[ RS[RS[3,          RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          R	S[ R,          R
S[ R,          RS[ RS[	S[S[ ,          S[	S[ S[3,          3,          R,          RS[
R,          RS[ R,          RS[S[ ,          S[S[ ,          ,          R,          RS[ R,          RS[R,          RS[R,          RS[
RS[
RS[
RS[
RS[
RS[S[,          S[,          RS[R,          RS[S[,          R,          RS[	S[ S[3,          R,          RS[R.S[ 3,          S[,          RS[
S[,          RR/# ) rh   rN  r%  .rI  r-  NrQ  rX  rJ  rU  rK  rR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rq  rB  rj   )rÒ   r   r   r/  ró  r   r   r   rî  r"  r³   rW  rA   r¯   rT   r"   rV   )rk   r›   s   "€rl   rm   ÚAPIRoute.__annotate__ª  sÓ  ø€ ÷ >>ñ >>áð>>ñ ˜3¡˜8Õ$ð>>ñ
 ð>>ñ ˜4•Zð>>ñ ‘3™•:Õ Õ%ð>>ñ ™vŸ~™~Õ.°Õ5ð>>ñ �t•ð>>ñ ˜4•Zð>>ñ "ð>>ñ ™™c�	¡4©©S¨¥>Ð1Õ2°TÕ9ð>>ñ ˜4•Kð>>ñ �D�jð>>ñ ‘S•™D¡�IÕ%¨Õ,ð>>ñ  ˜D•jð!>>ñ" !&¨¥ð#>>ñ$ !&¨¥ð%>>ñ& "&ð'>>ñ( '+ð)>>ñ* *.ð+>>ñ, &*ð->>ñ.  ð/>>ñ0 ™X�Ñ);Õ;ð1>>ñ2 (+¨T¥zð3>>ñ4 ™	•? TÕ)ð5>>ñ6 ™C¡˜H•~¨Õ,ð7>>ñ8 &.¨z¨l¹CÐ.?Õ%@Ù
õ&ð9>>ñ< "Ñ$6Õ6ð=>>ð> 
ñ?>>rn   c               ó  € \        \        \        V 4      VV3/ R VbRVbRVbRVbRVbRVbRV	bRV
bRVbR	VbR
VbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVb  \        V P	                  4       4      V n        R# )rI  r-  rQ  rX  rJ  rU  rK  rR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  N)ro  r   rF  rˆ   Úget_route_handlerrƒ   )r¡   rN  r%  rI  r-  rQ  rX  rJ  rU  rK  rR  re   r'  rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  s   &&&$$$$$$$$$$$$$$$$$$$$$$$$$rl   r¢   ÚAPIRoute.__init__ª  s3  € ô@ 	"Ü” Ó%ØØò	
ñ *ð		
ñ
 $ð	
ñ ð	
ñ &ð	
ñ ð	
ñ $ð	
ñ "6ð	
ñ  ð	
ñ "ð	
ñ ð	
ñ ð	
ñ &ð	
ñ  $:ð!	
ñ" $:ð#	
ñ$ %<ð%	
ñ& *Fð'	
ñ( -Lð)	
ñ* )Dð+	
ñ, 0ð-	
ñ. *ð/	
ñ0 +Hð1	
ñ2  ð3	
ñ4 (ð5	
ñ6 )Dð7	
ñ8 !4ñ9	
ô< $ D×$:Ñ$:Ó$<Ó=ˆŽrn   c                óR   <€ V ^8„  d   QhRS[ S[.S[S[S[S[3,          3,          /# r¥   )r   rP   r   r   rT   )rk   r›   s   "€rl   rm   rs  ê  s,   ø€ ÷ 
ñ 
¡8©W¨I±yÁÁcÉ8ÐASÕ7TÐ,TÕ#Uñ 
rn   c                óD  € \        \        V 4      p\        P                  4       pVe!   VP                  V J d   \        \        V4      p\        R/ RVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bRVP                  bR	VP                  bR
VP                  bRVP                   bRVP"                  bRVP$                  bRVP&                  bRVP(                  bRVP*                  b # )Nr   r7  r-  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  r”   )r   rF  Ú_effective_route_context_varrµ  Úoriginal_routerà  r   r7  r-  r8  r9  r:  r;  r<  r=  r>  r?  r@  rø  rB  rC  rD  )r¡   r   Úeffective_contexts   &  rl   ru  ÚAPIRoute.get_route_handlerê  sH  € Ü”] DÓ)ˆô 9×<Ñ<Ó>ÐØÒ(Ð->×-MÑ-MÐQUÓ-UÜœÐ(9Ó:ˆEÜ"ò 
Ø—o’oð
à×'Ò'ð
ð ×)Ò)ð
ð !×/Ò/ð	
ð
 !×/Ò/ð
ð $)×#?Ò#?ð
ð $)×#?Ò#?ð
ð %*×$AÒ$Að
ð */×)KÒ)Kð
ð -2×,QÒ,Qð
ð ).×(IÒ(Ið
ð +0×*MÒ*Mð
ð $×6Ò6ð
ð !&× 9Ò 9ð
ð $×5Ò5ð
ð  !×/Ò/ð!
ð 	
rn   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   rs    s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "rn   c                óÄ   <€ \        V4      pVe%   VP                  V J d   VP                  V4      w  r4M\        SV `	  V4      w  r4V\        P
                  8w  d   WR&   W43# )Nr   )r5  rz  r  r  rW   r  )r¡   rr   r{  r  r  r  s   &&   €rl   r  ÚAPIRoute.matches  sf   ø€ Ü>¸uÓEÐØÒ(Ð->×-MÑ-MÐQUÓ-UØ!2×!:Ñ!:¸5Ó!AÑˆE�;ä!&¡¡°Ó!7ÑˆEØ”E—J‘JÔØ#'˜Ñ ØÐ!Ð!rn   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   rs    s)   ø€ ÷ 3ñ 3¡%ð 3±'ð 3Áð 3È$ñ 3rn   c              ƒ  ó¶  <"  € \        V4      pVe§   VP                  V J d—   VP                  pV'       dW   VR,          V9  dI   RRP                  V4      /pRV9   d   \	        RVR7      h\        RRVR7      pV! WV4      G R j  x€L
  R # VP                  f   Q hVP                  WV4      G R j  x€L
  R # \        SV `!  WV4      G R j  x€L
  R #  LL L" L
5i)Nr·  ÚAllowz, rƒ   é•  )r-  r»  zMethod Not Allowed)	r5  rz  rS  ÚjoinrO   rR   rƒ   r  Úhandle)	r¡   rr   rs   rt   r{  rS  r»  r€   r  s	   &&&&    €rl   r…  ÚAPIRoute.handle  sØ   øé € Ü>¸uÓEÐØÒ(Ð->×-MÑ-MÐQUÓ-UØ'×/Ñ/ˆGß˜5 �?°'Ô9Ø" D§I¡I¨gÓ$6Ð7�Ø˜E”>Ü'°CÀÔIÐIÜ,Ø(°cÀ7ô�ñ ˜u¨tÓ4×4Ð4ÙØ$×(Ñ(Ò4Ð4Ð4Ø#×'Ñ'¨¸Ó=×=Ð=ÙÜ‰g‰n˜U¨TÓ2×2Ò2ñ 5ñ >á2ùs;   ƒ3C·ACÂCÂ+CÂ2CÂ3CÃCÃCÃCÃCc                ó€  <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ ;R&   S[R,          ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[,          ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[	S[S[ 3,          R,          ;R&   S[
S[ .S[3,          S[,          ;R&   S[S[,          ;R&   S[S[S[,          ,          ;R&   S[	S[S[,          S[	S[S[ 3,          3,          ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[S[P                  ,          ;R&   S[;R&   S[	S[S[,          S[3,          ;R&   S[;R&   S[;R&   S[R,          ;R &   S[;R!&   S[;R"&   # )#rh   NrH  rI  rJ  rK  re   rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rQ  rR  rT  r-  r9  rC  rX  rU  rV  r   rø  r7  rÜ  rD  )r   rÒ   r³   rA   r¯   rT   r"   ró  rV   r"  r   r   r/  r   r   rî  r#   )rk   r›   s   "€rl   rm   rs  ‡  sM  ø‡ ‚ Ù˜D•jÑ ñ áÑñ ñ �4�ZÑñ ñ Ññ	 ñ
 �t•Ññ ñ ˜•*Ññ ñ " D�LÑ(ñ ñ " D�LÑ(ñ ñ "Ñ!ñ ñ #'Ñ&ñ ñ &*Ñ)ñ ñ "&Ñ%ñ ñ Ññ ñ ™•NÑ%7Õ7Ñ7ñ ñ $'¨¥:Ñ-ñ ñ  ‘I� Õ%Ñ%ñ! ñ" ™™S˜•> DÕ(Ñ(ñ# ñ$ "*©3¨%±¨*Õ!5Ñ8JÕ!JÑJñ% ñ& Ñ 2Õ2Ñ2ñ' ñ( ‰s‘T�zÕ
Ññ) ñ* ‘C™#•I™t¡C© H�~Ð-Õ.Ñ.ñ+ ñ, �Nñ- ñ. �t•Ññ/ ñ0  Õ%Ñ%ñ1 ñ2 " DÕ(Ñ(ñ3 ñ4 ‘v—~‘~Õ&Ñ&ñ5 ñ6 Ññ7 ñ8 ™#¡�)¡ZÐ/Õ0Ñ0ñ9 ñ: Ññ; ñ< Ññ= ñ> ˜TÕ!Ñ!ñ? ñ@ ÑñA ñB ÑòC rn   ©rƒ   )r¸   r¹   rº   r»   r!   rQ   rC   r¢   ru  r  r…  r   r½   r¾   r  r	  s   @@rl   rq  rq  ‡  sG  ù‡ € ðF>>ñ
 & d›mð>>ð #'ð>>ð )-ð>>ð 9=ð>>ð #ð>>ð #'ð>>ð %:ð>>ð =Að>>ð #'ð>>ð  ð>>ð 04ð>>ð  $(ð!>>ð" 04ð#>>ð$ 04ð%>>ð& )-ð'>>ð( .3ð)>>ð* 16ð+>>ð, -2ð->>ð. #'ð/>>ñ0 ?FÀlÓ>Sð1>>ð2 59ð3>>ð4 -1ð5>>ð6 04ð7>>ñ:  'Ð'9Ó:ð;>>ñ< :AÀ»÷=>>ò >>÷@
ð 
÷4"ó "÷3ó 3÷O … rn   rq  c                   ó@  a € ] tR tRt o Rt]! ]R7      t]! ]R7      t]! R R7      t	]! ]
R7      t]! ]R7      tRtRt]! R R7      t]! R R7      tRt]R	RR
RRRR]! ]4      RRRRRRRRR]! ]4      /	V 3R lR ll4       tV 3R lR ltV 3R lR ltV 3R ltRtV tR# )Ú_RouterIncludeContexti!  rK  ©Údefault_factoryc                 ó    € \        \        4      # rž   ©r!   rQ   r”   rn   rl   Ú<lambda>Ú_RouterIncludeContext.<lambda>(  ó	   € ¤¬Ô 5rn   NTc                 ó    € \        \        4      # rž   ©r!   rC   r”   rn   rl   r�  r�  /  ó
   € ¤Ô(:Ô ;rn   c                 ó   € \        R 4      # ©T©r!   r”   rn   rl   r�  r�  2  ó   € ¤¨¤rn   ÚprefixrQ  rX  Údefault_response_classrR  rN  re   rM  rP  c                óz  <€ V ^8„  d   QhRRRRRS[ RS[S[ S[,          ,          R,          RS[S[P
                  ,          R,          RS[S[,          S[,          R	S[	S[
S[ ,          S[	S[ S[3,          3,          R,          R
S[S[,          R,          RS[R,          RS[RS[S[.S[ 3,          S[,          RR/# )rh   Úparent_routerrÞ   r  r™  rQ  NrX  rš  rR  rN  re   rM  rP  rj   rŠ  )rÒ   ró  r   r   r   rî  r¯   rT   r"   r"  r/  r   rV   r³   r   rq  )rk   r›   s   "€rl   rm   Ú"_RouterIncludeContext.__annotate__7  sæ   ø€ ÷ #
ñ #
ð #ð#
ð %ð	#
ñ
 ð#
ñ ‘3™•:Õ Õ%ð#
ñ ™vŸ~™~Õ.°Õ5ð#
ñ !%¡X¥Ñ1CÕ Cð#
ñ ™™c�	¡4©©S¨¥>Ð1Õ2°TÕ9ð#
ñ ™	•? TÕ)ð#
ñ ˜4•Kð#
ñ  ð#
ñ &.©x¨j¹#¨oÕ%>Ù
õ&ð#
ð" 
!ñ##
rn   c               óÐ  € T ! TVP                   V,           . VP                  OT;'       g    . O. VP                  OT;'       g    . O\        WaP                  4      / VP
                  CT;'       g    / C. VP                  OT;'       g    . OT	;'       g    VP                  VP                  ;'       d    T
\        W±P                  4      VP                  VP                  R 7      # ©)r  r™  rQ  rX  rš  rR  rN  re   rM  rP  rB  r@  )r™  rQ  rX  rD   rš  rR  rN  re   rM  rP  rB  r@  )Úclsrœ  r  r™  rQ  rX  rš  rR  rN  re   rM  rP  s   &$$$$$$$$$$$rl   Úfor_includeÚ!_RouterIncludeContext.for_include6  sä   € ñ& Ø+Ø ×'Ñ'¨&Õ0Ø5�=×%Ñ%Ð5¨¯¨°Ð5ØM˜=×5Ñ5ÐM¸×9KÐ9KÈÐMÜ#7Ø&×(LÑ(Ló$ð G˜×0Ñ0ÐF°Y·_°_À"ÐFØD˜×/Ñ/ÐD°9·?°?ÀÐDØ!×=Ð= ]×%=Ñ%=Ø+×=Ñ=×SÐSÐBSÜ(<Ø+×-VÑ-Vó)ð !.× AÑ AØ*7×*UÑ*Uô!
ð 	
rn   c                ó"   <€ V ^8„  d   QhRRRR/# )rh   Úchild_contextrŠ  rj   r”   )rk   r›   s   "€rl   rm   r�  \  s   ø€ ÷ 
ñ 
Ø4ð
à	 ñ
rn   c                óz  € \        VP                  V P                  VP                  ,           . V P                  OVP                  O. V P                  OVP                  O\        VP                  V P                  4      / V P                  CVP                  C. V P                  OVP                  OV P                  ;'       g    VP                  V P                  ;'       d    VP                  \        VP                  V P                  4      \        VP                  V P                  4      V P                  R 7      # rŸ  )rŠ  r  r™  rQ  rX  rD   rš  rR  rN  re   rM  rP  rB  r@  )r¡   r¤  s   &&rl   ÚcombineÚ_RouterIncludeContext.combine\  s  € ô %Ø)×9Ñ9Ø—;‘; ×!5Ñ!5Õ5Ø2�4—9‘9Ð2˜}×1Ñ1Ð2ØJ˜4×,Ñ,ÐJ¨}×/IÑ/IÐJÜ#7Ø×4Ñ4°d×6QÑ6Qó$ð D˜Ÿ™ÐC¨=×+BÑ+BÐCØA˜Ÿ™ÐA¨×)@Ñ)@ÐAØ—‘×BÐB¨-×*BÑ*BØ"×4Ñ4÷ 0ð 0Ø×/Ñ/Ü(<Ø×9Ñ9Ø×0Ñ0ó)ô !5Ø×1Ñ1°4×3KÑ3Kó!ð +/×*LÑ*Lô)
ð 	
rn   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rh   r   rj   )r  rÒ   )rk   r›   s   "€rl   rm   r�  v  s   ø€ ÷ (ñ (™nð (±ñ (rn   c                ó<   € V P                   VP                  ,           # rž   ©r™  rN  ©r¡   r   s   &&rl   Úpath_forÚ_RouterIncludeContext.path_forv  s   € Ø�{‰{˜UŸZ™ZÕ'Ð'rn   c                ó¬  <€ V ^8„  d   Qh/ R;R&   S[ ;R&   S[S[ S[,          ,          ;R&   S[S[P                  ,          ;R&   S[S[,          S[,          ;R&   S[S[	S[ ,          S[S[ S[
3,          3,          ;R&   S[S[,          ;R&   S[R	,          ;R
&   S[;R&   S[S[.S[ 3,          S[,          ;R&   S[S[,          ;R&   S[
R	,          ;R&   # )rh   rÞ   r  r™  rQ  rX  rš  rR  rN  Nre   rM  rP  rB  r@  )rÒ   ró  r   r   rî  r¯   rT   r"   r"  r/  r   rV   r³   r   rq  )rk   r›   s   "€rl   rm   r�  !  sú   ø‡ ‚ à Ñ ñ ñ Ññ ñ ‰s‘T�zÕ
Ñ8ñ	 ñ
 ‘v—~‘~Õ&ÑDñ ñ !¡�NÑ-?Õ?ñ ñ ñ ‘C™#•I™t¡C© H�~Ð-Õ.ÑLñ ñ ‘I�Ñ<ñ ñ �t•Ñ"ñ ñ Ñ"ñ ñ "*©8¨*±c¨/Õ!:Ñ=OÕ!Oñ ñ ñ  Ñ 2Õ2ñ ñ! ñ& $'¨¥:Ñ4ò' rn   r”   )r¸   r¹   rº   r»   r™  r   ró  rQ  rX  rš  r"  rR  rN  re   rM  rP  rB  r@  Úclassmethodr!   rQ   rC   r¡  r¦  r¬  r   r½   r¾   r¿   s   @rl   rŠ  rŠ  !  s  ø‡ € ð €FÙ"°4Ô8€DÙ).¸tÔ)D€LÙBGÙ5ôCÐñ 27ÀtÔ1L€IÙ!&°tÔ!<€IØ"€JØ"ÐÙRWÙ;ôSÐñ 6;Ù-ô6Ðð 15Ð!àð#
ð
 ð#
ð )-ð#
ð 9=ð#
ñ GNØóG
ð#
ð =Að#
ð -1ð#
ð #'ð#
ð #'ð#
ñ   'Ð'9Ó:÷!#
ñ #
ó ð#
÷J
ð 
÷4(ð (÷k ƒ rn   rŠ  c                   óÊ  a € ] tR tRt o Rt]! RRRR7      tRtRtRt	Rt
RtRtRtRtRtRtRtRtRtRtRtRt]! R R	7      tRtRtRt]! R
 R	7      t]! R R	7      t]! ]R	7      t]! ]R	7      t Rt!Rt"Rt#]! ]R	7      t$]! ]%R	7      t&Rt'Rt(Rt)Rt*]! ]R	7      t+Rt,]! ]R	7      t-Rt.Rt/Rt0Rt1Rt2]3V 3R lR l4       t4]3V 3R lR l4       t5V 3R lR lt6V 3R lR lt7V 3R lt8Rt9V t:R# )Ú_EffectiveRouteContextiz  NF)r  ÚreprÚcomparerK  rY  Tc                 ó    € \        \        4      # rž   rŽ  r”   rn   rl   r�  Ú_EffectiveRouteContext.<lambda>�  r‘  rn   r‹  c                 ó    € \        \        4      # rž   r“  r”   rn   rl   r�  rµ  –  r”  rn   c                 ó   € \        R 4      # r–  r—  r”   rn   rl   r�  rµ  ™  r˜  rn   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rh   rz  Úinclude_contextrj   r±  )rq  rŠ  )rk   r›   s   "€rl   rm   Ú#_EffectiveRouteContext.__annotate__°  s+   ø€ ÷ ;ñ ;ñ !ð;ñ /ð	;ð
 
"ñ;rn   c          
     óÒ  € \        \        V4      pV ! VR 7      p\        \        \        V4      VP                  V4      VP                  3/ RVP
                  bRVP                  bR. VP                  OVP                  ObR. VP                  OVP                  ObRVP                  bRVP                  bRVP                  bR/ VP                  CVP                  CbR	VP                  ;'       g    VP                  bR
VP                  bRVP                  bRVP                   bRVP"                  bRVP$                  bRVP&                  bRVP(                  bRVP*                  bRVP,                  ;'       d    VP,                  bR\/        VP0                  VP2                  P4                  VP4                  4      bRVP6                  bRVP8                  bR. VP:                  OVP:                  ;'       g    . ObRVP<                  bR\/        VP>                  VP2                  P>                  VP>                  4      bR\/        VP@                  VP2                  P@                  VP@                  4      bRVPB                  b  \D        PG                  V4      p \I        VPK                  4       4      Vn&        \D        PO                  V4       V#   \D        PO                  T4       i ; i))rz  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  r@  rN  rO  rP  rB  rH  )(r   rF  ro  r¬  r%  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  rD   r8  r  rš  r'  r@  rN  rO  rP  rB  rH  ry  rW  rˆ   ru  rƒ   Úreset)r   rz  r¹  r   ÚcontextÚtokens   &$$   rl   Úfrom_api_routeÚ%_EffectiveRouteContext.from_api_route¯  sû  € ô ”] NÓ3ˆÙ ^Ô4ˆÜ!Ü” Ó(Ø×$Ñ$ ^Ó4Ø�N‰Nò+	
ð !×/Ò/ð	+	
ð
 ×)Ò)ð+	
ð 6�?×'Ñ'Ð5¨%¯*©*Ñ5ð+	
ð N˜?×7Ñ7ÐM¸%×:LÑ:LÑMð+	
ð —M’Mð+	
ð ×)Ò)ð+	
ð "'×!;Ò!;ð+	
ð G˜×2Ñ2ÐF°e·o±oÑFð+	
ð ×'Ñ'×EÐE¨?×+EÑ+Eøð+	
ð —M’Mð+	
ð ×+Ò+ð+	
ð $)×#?Ò#?ð+	
ð  $)×#?Ò#?ð!+	
ð" %*×$AÒ$Að#+	
ð$ */×)KÒ)Kð%+	
ð& -2×,QÒ,Qð'+	
ð( ).×(IÒ(Ið)+	
ð* $×5Ñ5÷ 2ð 2Ø×1Ñ1øð-+	
ô. 0Ø×$Ñ$Ø×/Ñ/×FÑFØ×6Ñ6ôð/+	
ð8 —’ð9+	
ð: +:×*WÒ*Wð;+	
ð< M˜×1Ñ1ÐL°U·_±_×5JÐ5JÈÑLð=+	
ð>  ×-Ò-ð?+	
ô@ )=Ø×1Ñ1Ø×/Ñ/×KÑKØ×;Ñ;ô)ðA+	
ôJ !5Ø×)Ñ)Ø×/Ñ/×CÑCØ×3Ñ3ô!ðK+	
ðT #×3Ò3ñU+	
ô\ -×0Ñ0°Ó9ˆð	6Ü*¨>×+KÑ+KÓ+MÓNˆGŒKä(×.Ñ.¨uÔ5Øˆøô )×.Ñ.¨uÕ5ús   ÊK ËK&c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rh   rz  Ú_FrontendRouteGroupr¹  rj   r±  )rŠ  )rk   r›   s   "€rl   rm   rº  î  s+   ø€ ÷ ñ ð .ðñ /ð	ð
 
"ñrn   c               óº   € . VP                   OVP                   OpV ! VVP                  VVP                  R 7      p\        R\        VR7      w  Vn        pVn        V# ))rz  Úfrontend_prefixrX  r@  rK  rñ  )rX  r™  r@  r÷  r  r   rø  )r   rz  r¹  rX  r½  rù  s   &$$   rl   Úfrom_frontend_route_groupÚ0_EffectiveRouteContext.from_frontend_route_groupí  sp   € ð U˜×5Ñ5ÐT¸×8SÑ8SÐTˆÙØ)Ø+×2Ñ2Ø%Ø*9×*WÑ*Wô	
ˆô =ØÜ.Ø%ô
ñ		
ØÔØØÔ&ð ˆrn   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   rº    s$   ø€ ÷ 'ñ '™Uð '¡u©U±E¨\Õ':ñ 'rn   c                ó€  € \        V P                  \        4      '       d&   V P                  P                  WP                  4      # \        V P                  \
        4      '       g,   V P                  f   Q hV P                  P                  V4      # VR,          R8w  d   \        P                  / 3# \        V4      pV P                  P                  V4      pV'       g   \        P                  / 3# VP                  4       pVP                  4        F)  w  rVV P                  V,          P!                  V4      WE&   K+  	  \#        VP%                  R/ 4      4      pVP'                  V4       RV P(                  RV/pV P*                  p	V	'       d!   VR,          V	9  d   \        P,                  V3# \        P.                  V3# )Nr¯   ÚhttpÚpath_paramsr%  r·  )ro  rz  rÂ  Úmatches_with_prefixrÄ  rq  Ústarlette_router  rW   r  rH   rô  r  Ú	groupdictr*  rö  Úconvertr"  rµ  r+  r%  rS  ÚPARTIALÚFULL)
r¡   rr   Ú
route_pathr  Úmatched_paramsr-  r  rÊ  r  rS  s
   &&        rl   r  Ú_EffectiveRouteContext.matches  sa  € Ü�d×)Ñ)Ô+>×?Ò?Ø×&Ñ&×:Ñ:¸5×BVÑBVÓWÐWÜ˜$×-Ñ-¬x×8Ò8Ø×'Ñ'Ò3Ð3Ð3Ø×'Ñ'×/Ñ/°Ó6Ð6Ø��=˜FÔ"Ü—:‘:˜r�>Ð!Ü# EÓ*ˆ
Ø—‘×%Ñ% jÓ1ˆßÜ—:‘:˜r�>Ð!ØŸ™Ó*ˆØ(×.Ñ.Ö0‰JˆCØ"&×"7Ñ"7¸Õ"<×"DÑ"DÀUÓ"KˆNÓñ 1ä˜5Ÿ9™9 ]°BÓ7Ó8ˆØ×Ñ˜>Ô*Ø! 4§=¡=°-ÀÐMˆØ—,‘,ˆß�u˜X•¨gÔ5Ü—=‘= +Ð-Ð-Ü�z‰z˜;Ð&Ð&rn   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# ©rh   r'  rÊ  rj   ©rÒ   r   )rk   r›   s   "€rl   rm   rº    s"   ø€ ÷ 3ñ 3¡ð 3¹ð 3Áñ 3rn   c               óä  € \        V P                  \        4      '       g.   V P                  f   Q hV P                  P                  ! V3/ VB # \        VP                  4       4      pV P                  p\        VP                  4       4      pWP                  8w  g   W58w  d   \        P                  ! W4      h\        P                  ! V P                  WB4      w  rgV'       d   Q h\        VRR7      # )NrÉ  )rN  Úprotocol)ro  rz  rq  rÌ  Úurl_path_forrW  Úkeysrö  r'  rF   rX   Úreplace_paramsrõ  rN   )r¡   r'  rÊ  Úseen_paramsrö  Úexpected_paramsrN  Úremaining_paramss   "",     rl   rÙ  Ú#_EffectiveRouteContext.url_path_for  sÍ   € Ü˜$×-Ñ-¬x×8Ò8Ø×'Ñ'Ò3Ð3Ð3Ø×'Ñ'×4Ò4°TÑI¸[ÑIÐIÜ˜+×*Ñ*Ó,Ó-ˆØ×0Ñ0ÐÜÐ.×3Ñ3Ó5Ó6ˆØ—9‘9Ô Ô >Ü×&Ò& tÓ9Ð9Ü!(×!7Ò!7Ø×ÑÐ.ó"
Ñˆ÷ $Ð#Ð#Ü˜D¨6Ô2Ð2rn   c                óv  <€ V ^8„  d   Qh/ S[ ;R&   S[ R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[RS[3,          R,          ;R&   S[R,          ;R	&   S[;R
&   S[R,          ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          S[	,          ;R&   S[R,          ;R&   S[
S[ ,          R,          ;R&   S[S[S[3,          R,          ;R&   S[S[.S[3,          S[	,          ;R&   S[S[	,          ;R&   S[
S[S[,          ,          ;R&   S[S[S[,          S[S[S[3,          3,          ;R&   S[;R&   S[;R&   S[;R &   S[S[S[3,          ;R!&   S[S[,          ;R"&   S[;R#&   S[R,          ;R$&   S[R,          ;R%&   S[R,          ;R&&   S[
S[P"                  ,          ;R'&   S[;R(&   S[S[S[,          S[3,          ;R)&   S[R,          ;R*&   S[;R+&   S[R,          ;R,&   S[;R-&   S[;R.&   # )/rh   rz  NrÌ  rƒ   rÄ  rN  .r%  rH  rI  rJ  rK  re   rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  rQ  rR  r'  rô  rõ  rö  rS  rT  r-  r9  rC  rX  rU  rV  r   rø  r7  rÜ  rD  )rV   r^   rÒ   r   r   r³   rA   r¯   rT   r"   ró  r"  r   r/  rW  r   r   rî  r#   )rk   r›   s   "€rl   rm   rº  z  s-  ø‡ ‚ áÑñ ñ  Õ%Ñ,ñ ñ 
�4�ÑHñ	 ñ
 Ññ ñ �Nñ ñ �s™C�xÕ  4Õ'Ñ.ñ ñ ˜D•jÑ'ñ ñ Ññ ñ �4�ZÑñ ñ Ñ5ñ ñ �t•Ñ"ñ ñ ˜•*Ñ#ñ ñ " D�LÑ/ñ ñ " D�LÑ/ñ ñ  "Ñ(ñ! ñ" #'Ñ.ñ# ñ$ &*Ñ1ñ% ñ& "&Ñ-ñ' ñ( Ñ"ñ) ñ* ™•NÑ%7Õ7ñ ñ+ ñ0 $'¨¥:Ñ4ñ1 ñ2 ‘I� Õ%Ñ,ñ3 ñ4 ™™S˜•> DÕ(Ñ/ñ5 ñ6 "*©3¨%±¨*Õ!5Ñ8JÕ!Jñ ñ7 ñ< Ñ 2Õ2ñ ñ= ñB ‰s‘T�zÕ
Ñ8ñC ñD ‘C™#•I™t¡C© H�~Ð-Õ.ÑLñE ñF �NñG ñH ÑñI ñJ ÑñK ñL ™3¡˜8•nÑBñM ñN ‘�XÑ2ñO ñP ÑñQ ñR �t•Ñ"ñS ñT  Õ%Ñ,ñU ñV " DÕ(Ñ/ñW ñX ‘v—~‘~Õ&ÑDñY ñZ Ññ[ ñ\ ™#¡�)¡ZÐ/Õ0ÑNñ] ñ^ ˜4ÕÑ&ñ_ ñ` Ñ$ña ñb ˜TÕ!Ñ(ñc ñd Ññe ñf Ñ òg rn   r”   );r¸   r¹   rº   r»   rÌ  r   rƒ   rÄ  rN  r%  rH  rI  rJ  rK  re   rL  r:  r;  r<  r=  r>  r?  rM  r8  r@  rN  rO  rP  rB  ró  rQ  r"  rR  r'  rô  rõ  rö  rW  rS  rT  r-  r9  rC  rX  rU  rV  r   rø  r7  rÜ  rD  r¯  r¿  rÅ  r  rÙ  r   r½   r¾   r¿   s   @rl   r±  r±  z  sv  ø‡ € ð )-€OÙ¨°5À%ÔH€CØ€OØ€DØ*.€HØ#'ÐØ€NØ€GØ 5ÐØ"€JØ#€LØ+/ÐØ+/ÐØ$(ÐØ).Ð Ø,1Ð#Ø(-ÐØ"ÐÙ:?Ù5ô;€Nð 15Ð!Ø(,€IØ+/€MÙMRÙ;ôNÐñ 6;Ù-ô6Ðñ #°4Ô8€DÙ16ÀtÔ1L€IØ€DØ€JØ€KÙ',¸TÔ'BÐÙ¨cÔ2€GØ€IØ"€KØ(,€NØ+/ÐÙ).¸tÔ)D€LØ€KÙ38ÈÔ3N€OØ"&€IØ$ÐØ$(€JØ€MØ €Nà÷;ó ð;ðz ÷ó ð÷0'ð '÷.3ð 3÷G ƒ rn   r±  )Úfrozenc                   ó  a € ] tR tRt o ]! RRR7      t]V 3R lR l4       t]V 3R lR l4       t]V 3R	 lR
 l4       t	]V 3R lR l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R ltRtV tR# )ÚRouteContexti-  NF)r  r²  c                ó    <€ V ^8„  d   QhRS[ /# r¥   )rV   )rk   r›   s   "€rl   rm   ÚRouteContext.__annotate__3  s   ø€ ÷ ñ ¡	ñ rn   c                ób   € V P                   e   V P                   P                  # V P                  # rž   )Ú_route_contextrz  r   r¨   s   &rl   rz  ÚRouteContext.original_route2  s*   € à×ÑÒ*Ø×&Ñ&×5Ñ5Ð5Ø�z‰zÐrn   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r¥   ©rV   r±  )rk   r›   s   "€rl   rm   rå  9  s   ø€ ÷ ñ ¡)Ñ.DÕ"Dñ rn   c                óN   € V P                   e   V P                   # V P                  # rž   )rç  r   r¨   s   &rl   Ú_effective_routeÚRouteContext._effective_route8  s$   € à×ÑÒ*Ø×&Ñ&Ð&Ø�z‰zÐrn   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rå   r  )rk   r›   s   "€rl   rm   rå  ?  ó   ø€ ÷ <ñ <‘c˜D•jñ <rn   c                ó0   € \        V P                  R R4      # )rN  N©rþ   rì  r¨   s   &rl   rN  ÚRouteContext.path>  ó   € ä�t×,Ñ,¨f°dÓ;Ð;rn   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rå   r  )rk   r›   s   "€rl   rm   rå  C  s   ø€ ÷ Cñ C™S 4�Zñ Crn   c                ó0   € \        V P                  R R4      # )rõ  Nrñ  r¨   s   &rl   rõ  ÚRouteContext.path_formatB  s   € ä�t×,Ñ,¨m¸TÓBÐBrn   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rå   r  )rk   r›   s   "€rl   rm   rå  G  rï  rn   c                ó0   € \        V P                  R R4      # )r'  Nrñ  r¨   s   &rl   r'  ÚRouteContext.nameF  ró  rn   c                ó>   <€ V ^8„  d   QhRS[ S[,          R,          /# rå   )rW  rÒ   )rk   r›   s   "€rl   rm   rå  K  s   ø€ ÷ ?ñ ?™™S� D�ñ ?rn   c                ó0   € \        V P                  R R4      # )rS  Nrñ  r¨   s   &rl   rS  ÚRouteContext.methodsJ  s   € ä�t×,Ñ,¨i¸Ó>Ð>rn   c                óB   <€ V ^8„  d   QhRS[ RS[3,          R,          /# )rh   rj   .N)r   r   )rk   r›   s   "€rl   rm   rå  O  s%   ø€ ÷ @ñ @™( 3© 8Õ,¨tÕ3ñ @rn   c                ó0   € \        V P                  R R4      # )r%  Nrñ  r¨   s   &rl   r%  ÚRouteContext.endpointN  s   € ä�t×,Ñ,¨j¸$Ó?Ð?rn   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rh   r'  rj   rÖ  )rk   r›   s   "€rl   rm   rå  R  s   ø€ ÷ 4ñ 4¡ð 4©ñ 4rn   c                ó.   € \        V P                  V4      # rž   rñ  )r¡   r'  s   &&rl   Ú__getattr__ÚRouteContext.__getattr__R  s   € Ü�t×,Ñ,¨dÓ3Ð3rn   c                ó@   <€ V ^8„  d   Qh/ S[ ;R&   S[R,          ;R&   # )rh   r   Nrç  rê  )rk   r›   s   "€rl   rm   rå  -  s"   ø‡ ‚ áÑñ ñ +¨TÕ1ÑSò rn   r”   )r¸   r¹   rº   r»   r   rç  Úpropertyrz  rì  rN  rõ  r'  rS  r%  r  r   r½   r¾   r¿   s   @rl   rã  rã  -  s³   ø‡ € ñ 5:À$ÈUÔ4S€Nà÷ó ðð
 ÷ó ðð
 ÷<ó ð<ð ÷Có ðCð ÷<ó ð<ð ÷?ó ð?ð ÷@ó ð@÷4ð 4÷K ƒ rn   rã  c                   ó$  a € ] tR tRt o ]! ]P                  RRR7      t]! ]R7      t	Rt
]! ]R7      tRtV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV tR# )Ú_IncludedRouteriV  F)rŒ  r²  r³  r‹  Nc                ó.   <€ V ^8„  d   QhRS[ R,          /# )rh   rj   ú(_EffectiveRouteContext | _IncludedRouter©ró  )rk   r›   s   "€rl   rm   Ú_IncludedRouter.__annotate__f  s   ø€ ÷ (ñ (¡dÐ+UÕ&Vñ (rn   c                óÈ  € V P                   P                  4       pWP                  8X  d   V P                  # V P                  ;_uu_ 4        V P                   P                  4       pWP                  8X  d   V P                  uuR R R 4       # . pV P                   P
                   F�  p\        V\        4      '       dP   V P                  P                  VP                  4      p\        VP                   VR7      pVP                  V4       Kh  V P                  V4      pVf   K  VP                  V4       K’  	  W n        Wn        VuuR R R 4       #   + '       g   i     R # ; i©N©Úoriginal_routerr¹  )r  Ú_get_routes_versionÚ_effective_candidates_versionÚ_effective_candidatesÚ_effective_routes_lockÚroutesro  r  r¹  r¦  ÚappendÚ_build_effective_context)r¡   Úroutes_versionÚeffective_candidatesr   r¤  Úchild_branchÚroute_contexts   &      rl   r  Ú$_IncludedRouter.effective_candidatesf  s!  € Ø×-Ñ-×AÑAÓCˆØ×?Ñ?Ô?Ø×-Ñ-Ð-Ø×(×(Ó(Ø!×1Ñ1×EÑEÓGˆNØ×!CÑ!CÔCØ×1Ñ1÷ )Ò(ð TVÐ Ø×-Ñ-×4Ô4�Ü˜e¤_×5Ò5Ø$(×$8Ñ$8×$@Ñ$@À×AVÑAVÓ$W�MÜ#2Ø(-×(=Ñ(=Ø(5ô$�Lð )×/Ñ/°Ô=ÙØ $× =Ñ =¸eÓ D�Ø Ô,Ø(×/Ñ/°Ö>ñ 5ð *>Ô&Ø1?Ô.Ø'÷' )×(×(Ó(ús   Á6EÂBEÄ#"EÅE!	c                ó.   <€ V ^8„  d   QhRS[ R,          /# )rh   rj   r±  r
  )rk   r›   s   "€rl   rm   r    s   ø€ ÷ 1ñ 1©tÐ4LÕ/Mñ 1rn   c                ó  € V P                   P                  4       pWP                  8X  d   V P                  # V P                  ;_uu_ 4        V P                   P                  4       pWP                  8X  d   V P                  uuR R R 4       # . pV P                   P
                   F+  pV P                  V4      pVf   K  VP                  V4       K-  	  V P                   P                   Fv  p\        V\        4      '       g   K  V P                  P                  VP                  4      p\        VP                   VR7      pVP                  VP                  4       4       Kx  	  W n        Wn        VuuR R R 4       #   + '       g   i     R # ; ir  )r  r  Ú&_effective_low_priority_routes_versionÚ_effective_low_priority_routesr  Ú_low_priority_routesr  r  r  ro  r  r¹  r¦  rÉ  Úeffective_low_priority_routes)r¡   r  r!  r   r  r¤  r  s   &      rl   r!  Ú-_IncludedRouter.effective_low_priority_routes  sD  € Ø×-Ñ-×AÑAÓCˆØ×HÑHÔHØ×6Ñ6Ð6Ø×(×(Ó(Ø!×1Ñ1×EÑEÓGˆNØ×!LÑ!LÔLØ×:Ñ:÷ )Ò(ð KMÐ)Ø×-Ñ-×BÔB�Ø $× =Ñ =¸eÓ D�Ø Ô,Ø1×8Ñ8¸ÖGñ Cð ×-Ñ-×4Ô4�Ü˜e¤_×5Ô5Ø$(×$8Ñ$8×$@Ñ$@À×AVÑAVÓ$W�MÜ#2Ø(-×(=Ñ(=Ø(5ô$�Lð 2×8Ñ8Ø$×BÑBÓDöñ 5ð 3PÔ/Ø:HÔ7Ø0÷+ )×(×(Ó(ús    Á6E;Â-E;Â>AE;ÄA,E;Å;F	c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )rh   r   rj   Nrê  )rk   r›   s   "€rl   rm   r  š  s&   ø€ ÷ Iñ IÙðIá	 $Õ	&ñIrn   c                ó
  € \        V\        4      '       d"   \        P                  VV P                  R 7      # \        V\
        4      '       d"   \        P                  VV P                  R 7      # \        V\        P                  4      '       d}   \        P                  ! V P                  P                  V4      VP                  \        VP                  ;'       g    . 4      VP                  VP                  R7      p\        VVR7      # \        V\        4      '       d�   \        V P                  P                  V4      VP                  VP                  . V P                  P                   OVP                   OV P                  P"                  R7      p\        VVR7      # \        V\        P$                  4      '       dT   \        P$                  ! V P                  P                  V4      VP                  VP                  R7      p\        VVR7      # \        V\        P&                  4      '       d‚   \(        P(                  ! V4      pV P                  P                  V4      P+                  R4      Vn        \/        VP,                  R,           4      w  Vn        Vn        Vn        \        VVR7      # \        V\        P6                  4      '       d¯   V P                  P8                  '       dN   \        P:                  ! \        P&                  ! V P                  P8                  VP<                  R7      .R7      pMVP<                  p\        P6                  ! VP>                  W1P                  R	7      p\        VVR7      # R
# ))rz  r¹  )r%  rS  r'  rM  )rz  rÌ  ©r%  r'  rX  r@  ©r'  rL  z/{path:path}rˆ  )r  )rƒ   r'  N) ro  rq  r±  r¿  r¹  rÂ  rÅ  rF   ÚRouter¬  r%  ró  rS  r'  rM  rë  rX  r@  ÚWebSocketRouter[   Úcopyr¶  rN  rY   rô  rõ  rö  ÚHostr™  ÚRouterrƒ   Úhost)r¡   r   rÌ  Úprefixed_apps   &&  rl   r  Ú(_IncludedRouter._build_effective_contextš  sÐ  € ô �eœX×&Ò&Ü)×8Ñ8Ø$Ø $× 4Ñ 4ð 9ó ð ô �eÔ0×1Ò1Ü)×CÑCØ$Ø $× 4Ñ 4ð Dó ð ô �eœWŸ]™]×+Ò+Ü)0¯ªØ×$Ñ$×-Ñ-¨eÓ4ØŸ™Ü˜UŸ]™]×0Ð0¨bÓ1Ø—Z‘ZØ"'×"9Ñ"9ô*ˆOô *Ø$Ø /ôð ô �eÔ.×/Ò/Ü/Ø×$Ñ$×-Ñ-¨eÓ4ØŸ™Ø—Z‘ZØV˜t×3Ñ3×@Ñ@ÐVÀ5×CUÑCUÐVà×(Ñ(×FÑFôˆOô *Ø$Ø /ôð ô �eœW×3Ñ3×4Ò4Ü%×4Ò4Ø×$Ñ$×-Ñ-¨eÓ4°e·n±nÈ5Ï:É:ôˆOô *Ø$Ø /ôð ô �eœWŸ]™]×+Ò+Ü"Ÿiši¨Ó.ˆOØ#'×#7Ñ#7×#@Ñ#@ÀÓ#G×#NÑ#NÈsÓ#SˆOÔ ô
 ˜_×1Ñ1°NÕBÓCñ	ØÔ*ØÔ+ØÔ0ä)Ø$Ø /ôð ô �eœWŸ\™\×*Ò*Ø×#Ñ#×*×*Ð*Ü(/¯ªÜ#ŸMšM¨$×*>Ñ*>×*EÑ*EÈ5Ï9É9ÔUÐVô)‘ð  %Ÿy™y�Ü%ŸlšlØ—
‘
 ·:±:ôˆOô *Ø$Ø /ôð ñ rn   c          	      ó`   <€ V ^8„  d   QhRS[ RS[S[S[ S[R,          S[R,          3,          /# r0  ©ra   rþ  rW   rV   r±  )rk   r›   s   "€rl   rm   r  å  s6   ø€ ÷ "*ñ "*Ùð"*á	‰u‘e™Y¨Õ-Ñ/EÈÕ/LÐLÕ	Mñ"*rn   c                ó  € R pV P                  4        EF0  p\        V\        4      '       d   VP                  V4      w  rETpR pMÀ\        VP                  \
        4      '       dl   Tp\        V4      pVP                  \        \        4      p	Wx\        &    VP                  P                  V4      w  rE\        V\        V	4       VP                  pM5TpVP                  V4      w  rEVP                  ;'       g    VP                  pV\        P                  8X  d   WEWg3u # V\        P                  8X  g   EK%  Ve   EK,  WVV3pEK3  	  Ve   Vw  rVp\        P                  WVV3# \        P                  / R R 3#   \        T\        T	4       i ; irž   )r  ro  r  r  rz  rq  r'  rµ  r3  rB  rD  rÌ  rW   rÐ  rÏ  r  )
r¡   rr   r‡   Ú	candidater  r  r   r  r&  Úprevious_contexts
   &&        rl   Ú_matchÚ_IncludedRouter._matchå  sv  € ð RVˆØ×2Ñ2×4ˆIÜ˜)¤_×5Ò5Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø#,�Ø $‘Ü˜I×4Ñ4´h×?Ò?Ø )�Ü 2°5Ó 9�Ø#0×#4Ñ#4Ü8¼.ó$Ð ð GTÔBÑCðØ)2×)AÑ)A×)IÑ)IÈ%Ó)PÑ&�Eä.ØÔCÐEUôð "×0Ñ0‘à )�Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø!×1Ñ1×MÐM°Y×5MÑ5M�ØœŸ
™
Ô"Ø¨5Ð?Ò?ØœŸ™×%¨'­/Ø&¨}Ð=“ñ5 5ð6 ÒØ07Ñ-ˆK Ü—=‘= +°mÐCÐCÜ�z‰z˜2˜t TÐ)Ð)øô /ØÔCÐEUõús   ÂE8Å8Fc                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   r  	  s$   ø€ ÷ ñ ™Uð ¡u©U±E¨\Õ':ñ rn   c                óî   € \        V4      pVP                  \        \        4      pW\        &    V P                  P                  V4      w  rEV/ 3\        V\        V4       #   \        T\        T4       i ; irž   )r'  rµ  r8  rB  r  r  rD  )r¡   rr   r&  Úprevious_routerr  rù  s   &&    rl   r  Ú_IncludedRouter.matches	  sr   € Ü*¨5Ó1ˆØ'×+Ñ+Ü(¬.ó
ˆð 7;Ô2Ñ3ð	Ø×+Ñ+×3Ñ3°EÓ:‰HˆEØ˜"�9ä&ØÔ3°_õøÔ&ØÔ3°_õús   ¯ A! Á!A4c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   r    s/   ø€ ÷ @ñ @¡%ð @±'ð @Áð @È$ñ @rn   c              ƒ  ó~   "  € V \        V4      \        &   V P                  P                  WV4      G R j  x€L
  R #  L5irž   )r'  r8  r  r…  )r¡   rr   rs   rt   s   &&&&rl   r…  Ú_IncludedRouter.handle  s2   é € ØBFÔ˜5Ó!Ô">Ñ?Ø×"Ñ"×)Ñ)¨%¸$Ó?×?Ô?ùs   ‚2=´;µ=c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   r    s-   ø€ ÷ 1ñ 1Ùð1Ù%,ð1Ù48ð1à	ñ1rn   c              ƒ  óÎ  "  € V P                  V4      w  rErgV\        P                  8X  g   Vf'   V P                  P	                  WV4      G R j  x€L
  R # VP                  V4       \        V\        4      '       d   VP                  WV4      G R j  x€L
  R # Ve¤   \        T\        VP                  RR 4      ;'       g    VP                  \        V\        P                  4      R7       V\        V4      \         &   VP"                  p\        V\$        4      '       d!   W�R&   VP                  WV4      G R j  x€L
  R # VP                  WV4      G R j  x€L
  R #  EL LÌ L' L5i)Nrõ  ©rr   rN  Úmountr   )r4  rW   r  r  r  r+  ro  r  r…  r<   rþ   rÌ  rõ  rF   r[   r'  r3  rz  rq  )	r¡   rr   rs   rt   r  r  r   r{  rz  s	   &&&&     rl   Ú_handle_selectedÚ _IncludedRouter._handle_selected  s5  é € ð 8<·{±{À5Ó7IÑ4ˆ˜EØ”E—J‘JÔ %¢-Ø×&Ñ&×.Ñ.¨u¸tÓD×DÐDÙØ�‰�[Ô!Ü�eœ_×-Ò-Ø—,‘,˜u¨tÓ4×4Ð4ÙØÒ(ÜØÜÐ.×>Ñ>ÀÈtÓT÷ 1ð 1Ø$×0Ñ0Ü  ¬¯©Ó6õ	ð "ô ˜uÓ%Ô&JÑKð /×=Ñ=ˆNÜ˜.¬(×3Ò3Ø!/�g‘Ø$×+Ñ+¨E¸DÓA×AÐAÙØ�l‰l˜5¨4Ó0×0Ò0ò+ Eñ 5ñ Bá0ùsP   ‚AE%ÁEÁAE%ÂEÂ-E%ÃA8E%Ä9E!Ä:E%ÅE#ÅE%ÅE%Å!E%Å#E%c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r¥   )r	   r±  )rk   r›   s   "€rl   rm   r  7  s   ø€ ÷  ñ  ©(Ñ3IÕ*Jñ  rn   c              #  ó¨   "  € V P                  4        F7  p\        V\        4      '       d   VP                  4        R j  x€L
  K3  Vx € K9  	  R #  L5irž   )r  ro  r  Úeffective_route_contexts)r¡   r2  s   & rl   rE  Ú(_IncludedRouter.effective_route_contexts7  s?   é € Ø×2Ñ2Ö4ˆIÜ˜)¤_×5Ò5Ø$×=Ñ=Ó?×?Ò?à”ó	 5á?ùs   ‚=A¿AÁ Ac                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÕ  rÖ  )rk   r›   s   "€rl   rm   r  >  s"   ø€ ÷ 6ñ 6¡ð 6¹ð 6Áñ 6rn   c               ó¼   € V P                  4        F  p VP                  ! V3/ VB u # 	  \        P                  ! W4      h  \        P                   d     KI  i ; irž   )rE  rÙ  rF   rX   )r¡   r'  rÊ  r  s   "", rl   rÙ  Ú_IncludedRouter.url_path_for>  s]   € Ø!×:Ñ:Ö<ˆMðØ$×1Ò1°$ÑF¸+ÑFÒFñ =ô
 ×"Ò" 4Ó5Ð5øô ×'Ñ'ô Úðús   •AÁAÁAc                ó¤   <€ V ^8„  d   Qh/ R;R&   S[ ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[R	,          ;R
&   S[R,          ;R&   # )rh   rÞ   r  r¹  r  r	  r  Nr  r±  r  r  )rŠ  r   ró  r/  )rk   r›   s   "€rl   rm   r  V  sx   ø‡ ‚ à Ñ ñ ñ +Ñ*ñ ñ  ñ ñ	 ñ  Ð JÕKñ ñ ñ $'¨¥:Ñ4ñ ñ %)Ð)AÕ$Bñ ñ ñ -0°$­JÑ=ò rn   )r  r  r  r  )r¸   r¹   rº   r»   r   Ú	threadingÚLockr  ró  r  r  r  r  r  r!  r  r4  r  r…  rA  rE  rÙ  r   r½   r¾   r¿   s   @rl   r  r  V  s·   ø‡ € ñ #(Ø!Ÿ™¨U¸Eô#Ðñ OTØôOÐð 15Ð!ÙEJØôFÐ"ð :>Ð*÷(ð (÷21ð 1÷6Ið I÷V"*ð "*÷Hð ÷@ð @÷1ð 1÷8 ð  ÷6ð 6÷Q ƒ rn   r  c                ó\   € V ^8„  d   QhR\         \        ,          R\        \        ,          /# ©rh   r  rj   )r   rV   r	   )rk   s   "rl   rm   rm   G  s$   € ÷ ñ ¬H´YÕ,?ð ÄHÌYÕDWñ rn   c              #   ó‚   "  € \        V 4       F+  w  rVe   VP                  e   VP                  x € K'  Vx € K-  	  R # 5irž   )Ú_iter_routes_with_contextrÌ  ©r  r   r  s   &  rl   Ú_iter_included_route_candidatesrR  G  s:   é € Ü 9¸&Ö AÑˆØÒ$¨×)FÑ)FÒ)RØ×/Ñ/Ô/àŒKó	 !Bùs   ‚=?c                ór   € V ^8„  d   QhR\         \        \        ,          ,          R\        \        ,          /# rN  )r   rV   rã  r	   )rk   s   "rl   rm   rm   O  s/   € ÷ Bñ BÜ”Y¤Õ-Õ.ðBäŒlÕñBrn   c              #   óÂ   "  € V  FT  p\        V\        4      '       d   Vx € K  \        V.4       F%  w  r#Vf   \        V4      x € K  \        W#4      x € K'  	  KV  	  R # 5irž   )ro  rã  rP  )r  r   rz  r  s   &   rl   Úiter_route_contextsrU  O  sW   é € ó ˆÜ�eœ\×*Ò*ØŠKÙÜ-FÈÀwÖ-OÑ)ˆNØÒ$Ü" >Ó2Ô2ä" >ÓAÔAó	 .Pó	 ùs   ‚AAc                óŒ   € V ^8„  d   QhR\         \        ,          R\        \        \        \        R,          3,          ,          /# )rh   r  rj   N)r   rV   r	   rþ  r±  )rk   s   "rl   rm   rm   ]  s6   € ÷ ñ Ü”YÕðäŒe”IÔ5¸Õ<Ð<Õ=Õ>ñrn   c              #   óª   "  € V  FH  p\        V\        4      '       d*   VP                  4        F  pVP                  V3x € K  	  KB  VR 3x € KJ  	  R # 5irž   )ro  r  rE  rz  rQ  s   &  rl   rP  rP  ]  sO   é € ó ˆÜ�eœ_×-Ò-Ø!&×!?Ñ!?Ö!A�Ø#×2Ñ2°MÐAÔAó "Bð ˜�+Ôó ùs   ‚AAc                ó0   € V ^8„  d   QhR\         R\         /# ©rh   rN  rj   r  )rk   s   "rl   rm   rm   h  s   € ÷ ñ ¤3ð ¬3ñ rn   c                 ó    € V '       g   \        R 4      hV P                  R4      '       g   \        R4      hV R8w  d   V P                  R4      p V # )zA frontend path cannot be emptyrL  z#A frontend path must start with '/')ÚAssertionErrorÚ
startswithr¶  ©rN  s   &rl   Ú_normalize_frontend_pathr^  h  sF   € ßÜÐ>Ó?Ð?Ø�?‰?˜3×ÒÜÐBÓCÐCØˆs„{Ø�{‰{˜3ÓˆØ€Krn   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )rh   r™  rN  rj   r  )rk   s   "rl   rm   rm   r  s!   € ÷ ñ ¤ð ¬Cð ´Cñ rn   c                 ó8   € V '       g   V# VR 8X  d   V # W,           # ©rL  r”   rª  s   &&rl   Ú_join_frontend_pathsrb  r  s   € ßØˆØˆs„{ØˆØ�=Ðrn   c                ó0   € V ^8„  d   QhR\         R\        /# rY  )rÒ   r/  )rk   s   "rl   rm   rm   z  s   € ÷ ñ ¤Sð ¬Sñ rn   c                 ó*   € V R 8X  d   ^ # \        V 4      # ra  )Úlenr]  s   &rl   Ú_frontend_path_specificityrf  z  s   € Øˆs„{ÙÜˆt‹9Ðrn   c                óp   € V ^8„  d   QhR\         \        P                  \         ,          ,          R\         /# rY  )rÒ   ÚosÚPathLike)rk   s   "rl   rm   rm   €  s(   € ÷ -ñ -¤c¬B¯K©K¼Õ,<Õ&<ð -Äñ -rn   c                 óh   € \         P                  P                  \         P                  ! V 4      4      # rž   )rh  rN  ÚrealpathÚfspathr]  s   &rl   Ú_get_resolved_absolute_pathrm  €  s   € Ü�7‰7×ÑœBŸIšI d›OÓ,Ð,rn   c                ó    € V ^8„  d   QhR\         \        P                  \         ,          ,          R\        \        R,          ,          R\        /# )rh   Ú	directoryÚ	check_dirÚautorj   )rÒ   rh  ri  r³   r   )rk   s   "rl   rm   rm   „  s?   € ÷ ñ ä”R—[‘[¤Õ%Õ%ðô ”g˜f•oÕ%ðô 
ñ	rn   c                 óþ   € VR 8w  d   V# \         P                  P                  R4      R8w  d   R# \         P                  P	                  V 4      '       g)   \
        P                  ! RV  R\        V 4       R2^R7       R# )	rq  ÚFASTAPI_ENVÚdevelopmentTúFrontend directory 'ú+' does not exist. Resolved absolute path: 'Ú')Ú
stacklevelF)rh  Úenvironrµ  rN  ÚisdirÚwarningsÚwarnrm  ©ro  rp  s   $$rl   Ú_resolve_frontend_check_dirr~  „  sp   € ð
 �FÔØÐÜ	‡z�z‡~�~�mÓ$¨Ô5ÙÜ�7‰7�=‰=˜×#Ò#Ü�ŠØ" 9 +ð .(Ü(CÀIÓ(NÐ'OÈqðRàõ	
ñ
 rn   c                   óà   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR ltV3R lR lt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )Ú_FrontendStaticFilesi–  c                ó€   <€ V ^8„  d   QhRS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# )rh   ro  ÚfallbackNrp  rj   ©rq  ú
index.htmlú404.html©rÒ   rh  ri  r   r³   )rk   r›   s   "€rl   rm   Ú!_FrontendStaticFiles.__annotate__—  sN   ø€ ÷ 0ñ 0ñ ™Ÿ™¡SÕ)Õ)ð0ñ Ð:Õ;¸dÕBð	0ñ
 ð0ð 
ñ0rn   c               ó  <€ W n         V'       dA   \        P                  P                  V4      '       g   \	        R V R\        V4       R24      h\        SV `  VRVRR7       V'       d   VR9   d   V P                  V4       R# R# R# )ru  rv  rw  TF)ro  Úhtmlrp  Úfollow_symlinkN>   r…  r„  )	r‚  rh  rN  rz  ÚRuntimeErrorrm  r  r¢   Ú_check_fallback_file)r¡   ro  r‚  rp  r  s   &$$$€rl   r¢   Ú_FrontendStaticFiles.__init__—  s�   ø€ ð !ŒßœRŸW™WŸ]™]¨9×5Ò5ÜØ& y kð 2,Ü,GÈ	Ó,RÐ+SÐSTðVóð ô 	‰ÑØØØØ ð	 	ô 	
÷ ˜Ð%?Ô?Ø×%Ñ% hÖ/ñ @‰9rn   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rh   r‚  rj   Nr  )rk   r›   s   "€rl   rm   r‡  ­  s   ø€ ÷ ñ ©Sð °Tñ rn   c           	     óÚ   € V P                  V4      w  r#Ve'   \        P                  ! VP                  4      '       g.   \	        RV RV P
                   RV P                  4        R24      hR # )NúFrontend fallback file 'ú' does not exist in directory 'ú!'. Resolved absolute directory: 'rw  )Úlookup_pathÚstatÚS_ISREGÚst_moder‹  ro  Ú_get_resolved_directory©r¡   r‚  rù  Ústat_results   &&  rl   rŒ  Ú)_FrontendStaticFiles._check_fallback_file­  sr   € Ø×)Ñ)¨(Ó3‰ˆØÒ¤d§l¢l°;×3FÑ3F×&GÒ&GÜØ*¨8¨*ð 5Ø"Ÿn™nÐ-ð .Ø×0Ñ0Ó2Ð3°1ð6óð ñ 'Hrn   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r  )rk   r›   s   "€rl   rm   r‡  ¶  s   ø€ ÷ ;ñ ;©ñ ;rn   c                óL   € V P                   f   Q h\        V P                   4      # rž   )ro  rm  r¨   s   &rl   r—  Ú,_FrontendStaticFiles._get_resolved_directory¶  s!   € Ø�~‰~Ò)Ð)Ð)Ü*¨4¯>©>Ó:Ð:rn   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rü  )ra   rÒ   )rk   r›   s   "€rl   rm   r‡  º  s   ø€ ÷ @ñ @™eð @©ñ @rn   c                ó  € \        V4      P                  \        R 4      p\        V\        4      '       g   Q h\
        P                  P                  \
        P                  P                  ! VP                  R4      !  4      # )rK  rL  )
r'  rµ  Ú_FASTAPI_FRONTEND_PATH_KEYro  rÒ   rh  rN  Únormpathr„  re  )r¡   rr   rN  s   && rl   Úget_pathÚ_FrontendStaticFiles.get_pathº  sW   € Ü! %Ó(×,Ñ,Ô-GÈÓLˆÜ˜$¤×$Ò$Ð$Ð$Ü�w‰w×Ñ¤§¡§¢¨d¯j©j¸«oÑ >Ó?Ð?rn   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rü  )ra   rT   )rk   r›   s   "€rl   rm   r‡  ¿  s   ø€ ÷ Dñ D±%ð D¹Hñ Drn   c              ƒ  óÆ   "  € V P                   '       g    V P                  4       G R j  x€L
  RV n         V P                  V P                  V4      V4      G R j  x€L
 #  L4 L5i)NT)Úconfig_checkedÚcheck_configÚget_responser¢  ©r¡   rr   s   &&rl   Úget_response_for_scopeÚ+_FrontendStaticFiles.get_response_for_scope¿  sR   é € Ø×"×"Ð"Ø×#Ñ#Ó%×%Ð%Ø"&ˆDÔØ×&Ñ& t§}¡}°UÓ';¸UÓC×CÐCñ &áCùs!   ‚&A!¨A©/A!ÁAÁA!ÁA!c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )rh   rN  rr   rj   )rÒ   ra   rT   )rk   r›   s   "€rl   rm   r‡  Å  s"   ø€ ÷ -ñ -¡sð -±5ð -¹Xñ -rn   c              ƒ  óX  "  € VR ,          R9  d4   V P                  V4      G Rj  x€L
 e   \        RR7      h\        RR7      hV P                  V4      G Rj  x€L
 pVey   Vw  rEpV'       dZ   VR,          P                  R4      '       g<   \        VR7      pVP	                  VP
                  R,           R7      p\        VR	7      # V P                  WEV4      # V P                  R
8X  g)   V P                  R8X  d4   V P                  R
4      '       d   V P                  R
VRR7      G Rj  x€L
 # V P                  R8X  g)   V P                  R8X  dE   V P                  R4      '       d.   \        V4      '       d   V P                  RV^ÈR7      G Rj  x€L
 # \        RR7      h EL{ ELK L| L5i)r·  Nrƒ  ©r-  é”  rN  rL  r4  r]  ©Úurlr…  rq  r„  )r\  ÚHEAD)Ú_lookup_static_resourcerO   rÁ  rL   ÚreplacerN  rS   Úfile_responser‚  Ú_fallback_file_existsÚ_fallback_responseÚ_is_frontend_navigation_request)r¡   rN  rr   Ústatic_resourceÚ	full_pathr™  Úis_directory_indexr±  s   &&&     rl   r¨  Ú!_FrontendStaticFiles.get_responseÅ  sm  é € Ø��? /Ô1Ø×1Ñ1°$Ó7×7ÒCÜ#°Ô4Ð4Ü¨CÔ0Ð0à $× <Ñ <¸TÓ B×BˆØÒ&Ø9HÑ6ˆIÐ$6ß!¨%°­-×*@Ñ*@À×*EÒ*EÜ Ô&�Ø—k‘k s§x¡x°#¥~�kÓ6�Ü'¨CÔ0Ð0Ø×%Ñ% i¸eÓDÐDà�=‰=˜JÔ&Ø�M‰M˜VÔ#¨×(BÑ(BÀ:×(NÒ(Nà×0Ñ0°¸UÐPSÐ0ÓT×TÐTð �M‰M˜\Ô)Ø—‘ Ô'¨D×,FÑ,FÀ|×,TÒ,TÜ-¨e×4Ò4Ø×0Ñ0°¸uÐRUÐ0ÓV×VÐVä¨Ô,Ð,ò1 8ò Cñ Uñ WùsX   ‚#F*¥F ¦2F*ÁF#Á2F*ÂBF*ÄF*Ä)F&Ä*<F*Å'(F*ÆF(ÆF*Æ#F*Æ&F*Æ(F*c                ó^   <€ V ^8„  d   QhRS[ RS[S[ S[P                  R,          3,          /# ©rh   rN  rj   N)rÒ   rþ  rh  r™  )rk   r›   s   "€rl   rm   r‡  á  s.   ø€ ÷ 
;ñ 
;¡sð 
;©u±S¹"¿.¹.È4Õ:OÐ5OÕ/Pñ 
;rn   c              ƒ  ó*  "  €  \        V P                  V4      G R j  x€L
 #  L  \         d    \        RR7      R h\         d4   pTP
                  \
        P                  8X  d   \        RR7      R hThR p?i\         d    \        RR7      R hi ; i5i)Ni‘  r®  r¯  )rK   r“  ÚPermissionErrorrO   ÚOSErrorÚerrnoÚENAMETOOLONGÚ
ValueError)r¡   rN  Úexcs   && rl   Ú_lookup_pathÚ!_FrontendStaticFiles._lookup_pathá  s€   é € ð		;Ü*¨4×+;Ñ+;¸TÓB×BÐBÑBøÜô 	;Ü¨CÔ0°dÐ:Üô 	Ø�y‰yœE×.Ñ.Ô.Ü#°Ô4¸$Ð>ØˆIûÜô 	;Ü¨CÔ0°dÐ:ð	;üs=   ‚B„$ �"ž$ ¡B¢$ ¤ BÁBÁ.A4Á4BÂBÂBc                ób   <€ V ^8„  d   QhRS[ RS[S[ S[P                  S[3,          R,          /# r¾  )rÒ   rþ  rh  r™  r³   )rk   r›   s   "€rl   rm   r‡  í  s2   ø€ ÷ ñ Ùðá	‰s‘B—N‘N¡DÐ(Õ	)¨DÕ	0ñrn   c              ƒ  óÊ  "  € V P                  V4      G R j  x€L
 w  r#Vf   R # \        P                  ! VP                  4      '       d   W#R3# \        P                  ! VP                  4      '       dj   \
        P                  P                  VR4      pV P                  V4      G R j  x€L
 w  r#Ve+   \        P                  ! VP                  4      '       d   W#R3# R #  LÇ L85i)NFr„  T)rÆ  r”  r•  r–  ÚS_ISDIRrh  rN  r„  )r¡   rN  rº  r™  Ú
index_paths   &&   rl   r³  Ú,_FrontendStaticFiles._lookup_static_resourceí  s¸   é € ð (,×'8Ñ'8¸Ó'>×!>Ñˆ	ØÒÙÜ�<Š<˜×+Ñ+×,Ò,Ø¨5Ð0Ð0Ü�<Š<˜×+Ñ+×,Ò,ÜŸ™Ÿ™ d¨LÓ9ˆJØ+/×+<Ñ+<¸ZÓ+H×%HÑ"ˆIØÒ&¬4¯<ª<¸×8KÑ8K×+LÒ+LØ ¨tÐ3Ð3Ùñ "?ñ &Iùs3   ‚C#—C˜1C#Á
)C#Á44C#Â(C!Â)/C#ÃC#Ã!C#c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rh   r‚  rj   )rÒ   r³   )rk   r›   s   "€rl   rm   r‡  ü  s   ø€ ÷ Mñ M©cð M±dñ Mrn   c                ó€   € V P                  V4      w  r#VR J;'       d!    \        P                  ! VP                  4      # rž   )r“  r”  r•  r–  r˜  s   &&  rl   r¶  Ú*_FrontendStaticFiles._fallback_file_existsü  s6   € Ø×)Ñ)¨(Ó3‰ˆØ $Ð&×LÐL¬4¯<ª<¸×8KÑ8KÓ+LÐLrn   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# )rh   r‚  rr   r-  rj   )rÒ   ra   r/  rT   )rk   r›   s   "€rl   rm   r‡     s-   ø€ ÷ 
ñ 
Ùð
Ù$)ð
Ù;>ð
á	ñ
rn   c          	   ƒ  ó"  "  € \        V P                  V4      G R j  x€L
 w  rEVe'   \        P                  ! VP                  4      '       g.   \        RV RV P                   RV P                  4        R24      hV P                  WEW#R7      #  Lp5i)Nr�  r‘  r’  rw  r®  )	rK   r“  r”  r•  r–  r‹  ro  r—  rµ  )r¡   r‚  rr   r-  rº  r™  s   &&&$  rl   r·  Ú'_FrontendStaticFiles._fallback_response   sœ   é € ô (9¸×9IÑ9IÈ8Ó'T×!TÑˆ	ØÒ¤d§l¢l°;×3FÑ3F×&GÒ&GÜØ*¨8¨*ð 5Ø"Ÿn™nÐ-ð .Ø×0Ñ0Ó2Ð3°1ð6óð ð
 ×!Ñ!Ø Eð "ó 
ð 	
ñ "Uùs   ‚BœB�/BÁAB)r¦  r‚  )r¸   r¹   rº   r»   r¢   rŒ  r—  r¢  rª  r¨  rÆ  r³  r¶  r·  r½   r¾   r  r	  s   @@rl   r€  r€  –  st   ù‡ € ÷0ó 0÷,ð ÷;ð ;÷@ð @÷
Dð D÷-ð -÷8
;ð 
;÷ð ÷Mð M÷
÷ 
ð 
rn   r€  c                óh   € V ^8„  d   QhR\         R\        \        \         \        3,          ,          /# )rh   Úacceptrj   )rÒ   r	   rþ  Úfloat)rk   s   "rl   rm   rm     s(   € ÷ 
ñ 
¤Sð 
¬X´e¼CÄ¸JÕ6GÕ-Hñ 
rn   c              #   óz  "  € V P                  R 4       F�  p\        P                  P                  4       pVP	                  4       VR&   VP                  R4      pRp\        V\        4      '       d    \        V4      pVP                  4        RVP                  4        2V3x € K’  	  R#   \         d     L:i ; i5i)Ú,rO  Úqg      ð?rL  N)re  r¼  r½  r¾  rf  Ú	get_paramro  rÒ   rÕ  rÄ  r¿  rÀ  )rÔ  Ú	raw_valuer½  rØ  Úqualitys   &    rl   Ú_iter_accept_media_typesrÜ    s¯   é € Ø—\‘\ #Ö&ˆ	Ü—-‘-×'Ñ'Ó)ˆØ"+§/¡/Ó"3ˆ�ÑØ×Ñ˜cÓ"ˆØˆÜ�aœ×ÒðÜ ›(�ð ×+Ñ+Ó-Ð.¨a°×0KÑ0KÓ0MÐ/NÐOØð
ô 	
ó 'øô ô Ùðüs*   ‚A/B;Á2B*Á=-B;Â*B8Â5B;Â7B8Â8B;c                ó0   € V ^8„  d   QhR\         R\        /# rü  ©ra   r³   )rk   s   "rl   rm   rm      s   € ÷ ñ ¬5ð ´Tñ rn   c                 óž   € \        V 4      p\        VP                  P                  R R4      4       F  w  r#VR9   g   K  V^ 8w  g   K   R# 	  R# )rÔ  rK  TF>   ú	text/htmlúapplication/xhtml+xml)rP   rÜ  r»  rµ  )rr   r‚   rœ  rÛ  s   &   rl   r¸  r¸     sJ   € Ü�e‹n€GÜ7Ø�‰×Ñ˜H bÓ)ö Ñˆ
ð Ð?Ö?ÀGÈqÆLÚñ	 ñ
 rn   c                   ó”   a € ] tR tRt o RR/V 3R lR lltV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR ltV 3R lR lt	Rt
V tR# )Ú_FrontendRoutei*  r‚  rq  c          
      ó†   <€ V ^8„  d   QhRS[ RS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# ©rh   rN  ro  r‚  Nrp  rj   rƒ  r†  )rk   r›   s   "€rl   rm   Ú_FrontendRoute.__annotate__+  sV   ø€ ÷ 
ñ 
áð
ñ ™Ÿ™¡SÕ)Õ)ð	
ñ
 Ð:Õ;¸dÕBð
ñ ð
ð 
ñ
rn   c               ó€   € VR9  d   \        R4      h\        V4      V n        RR0V n        \	        W#VR7      V n        R# )rq  Nz:fallback must be 'auto', 'index.html', '404.html', or Noner\  r²  ©ro  r‚  rp  >   Nrq  r…  r„  )r[  r^  rN  rS  r€  rƒ   ©r¡   rN  ro  r‚  rp  s   &&$$$rl   r¢   Ú_FrontendRoute.__init__+  sG   € ð ÐCÔCÜ ØLóð ô -¨TÓ2ˆŒ	Ø˜v�ˆŒÜ'Ø¸iô
ˆŽrn   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   ræ  =  s$   ø€ ÷ 8ñ 8™Uð 8¡u©U±E¨\Õ':ñ 8rn   c                ó8   € V P                  WP                  4      # rž   )Úmatches_with_pathrN  r©  s   &&rl   r  Ú_FrontendRoute.matches=  s   € Ø×%Ñ% e¯Y©YÓ7Ð7rn   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# )rh   rr   rN  rj   ©ra   rÒ   rþ  rW   )rk   r›   s   "€rl   rm   ræ  @  s+   ø€ ÷ 'ñ '¡uð '±Cð '¹EÁ%ÉÀ,Õ<Oñ 'rn   c                óV  € VR ,          R8w  d   \         P                  / 3# V P                  V\        V4      4      pVf   \         P                  / 3# \        \
        V\        \        V4      //pVR,          V P                  9  d   \         P                  V3# \         P                  V3# )r¯   rÉ  r·  )rW   r  Ú_get_frontend_pathrH   r%  r   r<  rf  rS  rÏ  rÐ  )r¡   rr   rN  r  r  s   &&&  rl   rí  Ú _FrontendRoute.matches_with_path@  s–   € Ø��=˜FÔ"Ü—:‘:˜r�>Ð!Ø×/Ñ/°´nÀUÓ6KÓLˆØÒ Ü—:‘:˜r�>Ð!äÜ*¨MÜ1Ô3MÈdÓ3Sð!ð
ˆð ��? $§,¡,Ô.Ü—=‘= +Ð-Ð-Ü�z‰z˜;Ð&Ð&rn   c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# )rh   rN  rÑ  rj   Nr  )rk   r›   s   "€rl   rm   ræ  P  s&   ø€ ÷ ñ ¡sð ¹ð ÁÀdÅ
ñ rn   c                ó¢   € VR 8X  d   VP                  R 4      # W!8X  d   R# VR ,           pVP                  V4      '       d   V\        V4      R # R# )rL  rK  N)Úlstripr\  re  )r¡   rN  rÑ  r™  s   &&& rl   rò  Ú!_FrontendRoute._get_frontend_pathP  sQ   € Ø�3Œ;Ø×$Ñ$ SÓ)Ð)ØÔÙØ˜•ˆØ× Ñ  ×(Ò(Øœc &›k˜mÐ,Ð,Ùrn   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   ræ  Z  s)   ø€ ÷ -ñ -¡%ð -±'ð -Áð -È$ñ -rn   c              ƒ  ó~   "  € V P                   P                  V4      G R j  x€L
 pV! WV4      G R j  x€L
  R #  L L5irž   )rƒ   rª  )r¡   rr   rs   rt   r€   s   &&&& rl   r…  Ú_FrontendRoute.handleZ  s5   é € ØŸ™×8Ñ8¸Ó?×?ˆÙ�u tÓ,×,Ò,ñ @Ù,ùs   ‚=¡9¢=²;³=»=c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÕ  ©rÒ   r   rN   )rk   r›   s   "€rl   rm   ræ  ^  ó"   ø€ ÷ .ñ .¡ð .¹ð .Áñ .rn   c               ó   € \        W4      hrž   ©rX   ©r¡   r'  rÊ  s   "",rl   rÙ  Ú_FrontendRoute.url_path_for^  ó   € Ü˜4Ó-Ð-rn   )rƒ   rS  rN  N)r¸   r¹   rº   r»   r¢   r  rí  rò  r…  rÙ  r½   r¾   r¿   s   @rl   rã  rã  *  sM   ø‡ € ð
ð
 FL÷
ò 
÷$8ð 8÷'ð '÷ ð ÷-ð -÷.ö .rn   rã  c                   óÎ   a € ] tR tRt o RRRR/V 3R lR lltRR/V 3R	 lR
 lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt	V 3R lR lt
]V 3R lR l4       tRtV tR# )rÂ  ib  rX  Nr@  c                ój   <€ V ^8„  d   QhRS[ S[P                  ,          R,          RS[R,          RR/# )rh   rX  Nr@  rj   )r   r   rî  r   )rk   r›   s   "€rl   rm   Ú _FrontendRouteGroup.__annotate__c  s=   ø€ ÷ 
ñ 
ñ ™vŸ~™~Õ.°Õ5ð
ñ (+¨T¥zð	
ð
 
ñ
rn   c               ó¨   € . V n         \        T;'       g    . 4      V n        W n        \	        R \
        V P                  R7      w  V n        pV n        R# )rK  rñ  N)r  ró  rX  r@  r÷  r  r   rø  )r¡   rX  r@  rù  s   &$$ rl   r¢   Ú_FrontendRouteGroup.__init__c  sR   € ð -/ˆŒÜ  ×!3Ð!3°Ó4ˆÔØ-JÔ*ô
 =ØÜ.Ø×*Ñ*ô
ñ		
ØŒNØØÖ#rn   r‚  rq  c          
      ó†   <€ V ^8„  d   QhRS[ RS[ S[P                  S[ ,          ,          RS[R,          R,          RS[RR/# rå  r†  )rk   r›   s   "€rl   rm   r  v  sV   ø€ ÷ 
ñ 
áð
ñ ™Ÿ™¡SÕ)Õ)ð	
ñ
 Ð:Õ;¸dÕBð
ñ ð
ð 
ñ
rn   c          	     óV   € V P                   P                  \        VVVVR 7      4       R# )rè  N)r  r  rã  ré  s   &&$$$rl   Úadd_frontend_routeÚ&_FrontendRouteGroup.add_frontend_routev  s*   € ð 	�‰×ÑÜØØ#Ø!Ø#ô	ö	
rn   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   r  ‡  s$   ø€ ÷ "ñ "™Uð "¡u©U±E¨\Õ':ñ "rn   c                ó4   € V P                  VR R7      w  r#pW#3# )rK  ©r™  ©r4  )r¡   rr   r  r  rù  s   &&   rl   r  Ú_FrontendRouteGroup.matches‡  s"   € Ø $§¡¨E¸" Ó =Ñˆ˜AØÐ!Ð!rn   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# )rh   rr   r™  rj   rð  )rk   r›   s   "€rl   rm   r  ‹  s+   ø€ ÷ "ñ "©ð "¹ð "ÁÁeÉUÀlÕ@Sñ "rn   c                ó2   € V P                  WR 7      w  r4pW43# )r  r  )r¡   rr   r™  r  r  rù  s   &&&   rl   rË  Ú'_FrontendRouteGroup.matches_with_prefix‹  s    € Ø $§¡¨E Ó AÑˆ˜AØÐ!Ð!rn   c          
      óT   <€ V ^8„  d   QhRS[ RS[RS[S[S[ S[R,          3,          /# )rh   rr   r™  rj   N)ra   rÒ   rþ  rW   rã  )rk   r›   s   "€rl   rm   r  �  s6   ø€ ÷ $ñ $Ùð$Ù'*ð$á	‰u‘e™^¨dÕ2Ð2Õ	3ñ$rn   c               óà  € R pR pV P                    F’  p\        W%P                  4      pVP                  W4      w  rx\	        V4      p	V\
        P                  8X  d   Ve   W“^,          8”  d   W…V	3pKb  Kd  V\
        P                  8X  g   K{  Ve   W”^,          8”  g   KŽ  W…V	3pK”  	  Ve   Vw  r…p
\
        P                  W…3# Ve   Vw  r…p
\
        P                  W…3# \
        P                  / R 3# rž   )	r  rb  rN  rí  rf  rW   rÐ  rÏ  r  )r¡   rr   r™  Úfullr‡   r   rN  r  r  r=  rù  s   &&$        rl   r4  Ú_FrontendRouteGroup._match�  så   € ð :>ˆØ<@ˆØ—[”[ˆEÜ'¨·
±
Ó;ˆDØ!&×!8Ñ!8¸Ó!EÑˆEÜ4°TÓ:ˆKØœŸ
™
Ô"Ø’< ;°aµÔ#8Ø'°Ð<’Dñ $9àœ%Ÿ-™-Ö'Ø’? k¸AµJÖ&>Ø*°;Ð?’Gñ !ð ÒØ$(Ñ!ˆK Ü—:‘:˜{Ð1Ð1ØÒØ$+Ñ!ˆK Ü—=‘= +Ð4Ð4Ü�z‰z˜2˜tÐ#Ð#rn   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   r  ¦  s)   ø€ ÷ (1ñ (1¡%ð (1±'ð (1Áð (1È$ñ (1rn   c           	   ƒ  ó”  "  € \        V4      p\        V\        4      '       dB   VP                  V J d2   VP                  pVP
                  pVP                  pVP                  pM&R pV P
                  pV P                  pV P                  pV P                  WR7      w  ršpV	\        P                  8X  g   Vf   \        RR7      h\        W4       \        V\        W[P                  4      P!                  R4      R,           R7       V	\        P"                  8X  dë   V'       dã   VP$                  '       dÑ   V P'                  VVVVVVR7      ;_uu_4       GRj  x€L
 pVP(                  P+                  V4      G Rj  x€L
 pVP,                  f   VP.                  Vn        VP0                  P2                  P5                  VP6                  P0                  P2                  4       V! WV4      G Rj  x€L
  RRR4      GRj  x€L
  R# VP9                  WV4      G Rj  x€L
  R#  LÈ L§ L6 L(  + GRj  x€L 
 '       g   i     R# ; i L+5i)	rK  r  Nr¯  r®  rL  z/{path}©rr   rN  rò  )r5  ro  r±  rz  rÄ  r   r@  rø  r4  rW   r  rO   r.  r<   rb  rN  r¶  rÐ  rX  Ú_solve_dependenciesrƒ   rª  r1  r2  r»  rÈ  rÉ  r€   r…  )r¡   rr   rs   rt   r{  r™  r   r@  rA  r  r  r   r.  r€   s   &&&&          rl   r…  Ú_FrontendRouteGroup.handle¦  sð  é € Ü>¸uÓEÐäÐ(Ô*@×AÒAØ!×0Ñ0°DÓ8à&×6Ñ6ˆFØ)×3Ñ3ˆIà!×?Ñ?ð *ð !2× DÑ DÑàˆFØŸ™ˆIØ,0×,NÑ,NÐ)Ø $× 7Ñ 7ÐØ$(§K¡K° KÓ$EÑ!ˆ˜EØ”E—J‘JÔ %¢-Ü¨CÔ0Ð0Ü�eÔ)ÜØÜ% f¯j©jÓ9×@Ñ@ÀÓEÈ	ÕQõ	
ð ”E—J‘JÔ§9°×1G×1GÐ1GØ×/Ñ/ØØØØ#Ø.KØ"3ð 0÷ ÷ ô ð Ø!&§¡×!AÑ!AÀ%Ó!H×H�Ø×&Ñ&Ò.Ø*7×*HÑ*H�HÔ'Ø× Ñ ×$Ñ$×+Ñ+¨M×,BÑ,B×,JÑ,J×,NÑ,NÔOÙ˜u¨tÓ4×4Ð4÷÷ ñ Ø�l‰l˜5¨4Ó0×0Ò0ññ Iñ 5÷÷ ÷ ñ ñ úÙ0ùs‹   ‚D IÄ#IÄ5#IÅH!ÅIÅH)Å;H#Å<A2H)Ç.H%Ç/H)Ç3IÇ>H'Ç?IÈIÈIÈ#H)È%H)È'IÈ)I	È/H2È0
I	È;I	È=
Ic                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rÕ  rü  )rk   r›   s   "€rl   rm   r  Ð  rý  rn   c               ó   € \        W4      hrž   rÿ  r   s   "",rl   rÙ  Ú _FrontendRouteGroup.url_path_forÐ  r  rn   c                ób   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[R,          RS[RS[S[,          /# )	rh   rr   rs   rt   r   r@  NrA  rj   )ra   r`   rb   r#   r   r³   r   r'   )rk   r›   s   "€rl   rm   r  ×  sd   ø€ ÷ $Lñ $Láð$Lñ ð$Lñ ð	$Lñ ð$Lñ (+¨T¥zð$Lñ  ð$Lñ 
Ñ'Õ	(ñ$Lrn   c              ó\  "  € \        WV4      pVP                  R \        4      pVP                  R\        4      p	 \        4       ;_uu_4       GRj  x€L
 p
W¡R &   \        4       ;_uu_4       GRj  x€L
 pW±R&   \	        VVVV
VR7      G Rj  x€L
 pVP
                  '       d   \        VP
                  4      hV5x € RRR4      GRj  x€L
  RRR4      GRj  x€L
  V\        J d   VP                  R R4       MW�R &   V	\        J d   VP                  RR4       R# W‘R&   R#  LÐ L³ L™ L_  + GRj  x€L 
 '       g   i     Lv; i Lm  + GRj  x€L 
 '       g   i     L„; i  T\        J d   TP                  R R4       MY�R &   T	\        J d   TP                  RR4       i Y‘R&   i ; i5i)r{   r|   Nrç  )rP   rµ  rB  r   r/   r  r3   rC  )r¡   rr   rs   rt   r   r@  rA  r‚   Úprevious_inner_astackÚprevious_function_astackr~   r   r.  s   &&&&$$$      rl   r  Ú'_FrontendRouteGroup._solve_dependenciesÖ  sm  é € ô ˜%¨$Ó/ˆØ %§	¡	Ð*@Ä.Ó QÐØ#(§9¡9Ð-FÌÓ#WÐ ð	LÜ%×'×'Ô'¨=Ø0=Ð,Ñ-Ü)×+×+Ô+¨~Ø7EÐ3Ñ4Ü*<Ø 'Ø"+Ø6SØ)6Ø*;ô+÷ %�Mð %×+×+Ð+Ü4°]×5IÑ5IÓJÐJØ'Ó'÷ ,×+÷ (×'ð %¬Ó6Ø—	‘	Ð0°$Õ7à0EÐ,Ñ-Ø'¬>Ó9Ø—	‘	Ð3°TÖ:à3KÐ/Ó0ñ- (á+ñ%÷ ,×+×+Ò+ú÷ (×'×'Ò'ûð %¬Ó6Ø—	‘	Ð0°$Õ7à0EÐ,Ñ-Ø'¬>Ó9Ø—	‘	Ð3°TÕ:à3KÐ/Ò0üsÒ   ‚9F,¼E% ÁD#ÁE% ÁE	Á1D%Á2E	Á5D+	ÂD'ÂD+	Â$D+	Â>E	Ã	D)Ã
E	ÃE% ÃEÃE% ÃAF,Ä#E% Ä%E	Ä'D+	Ä)E	Ä+EÄ1D4Ä2
EÄ=EÄ?E	ÅE% Å	E"	ÅEÅ
E"	ÅE"	ÅE% Å%AF)Æ)F,)rø  r   rX  r@  r  )r¸   r¹   rº   r»   r¢   r
  r  rË  r4  r…  rÙ  r   r  r½   r¾   r¿   s   @rl   rÂ  rÂ  b  s‚   ø‡ € ð
ð 9=ð
ð 59÷	
ò 
ð&
ð
 FL÷
ò 
÷""ð "÷"ð "÷$ð $÷.(1ð (1÷T.ð .ð ÷$Ló ö$Lrn   rÂ  c            4       óš  a a€ ] tR tRt oRtRRRRRRR]! ]4      R	RR
RRRRRRRRRR]RRRRRRRRRRR]! ]4      R]! R4      /V3R lV 3R lllt	V3R lR lt
RpV3R lR lltRpV3R lR lltRqV3R  lV 3R! llltRpV3R" lV 3R# llltR$R%R&R%/V3R' lR( lltV3R) lR* ltV3R+ lR, ltV3R- lR. ltV3R/ lR0 ltV3R1 lR2 ltV3R3 lR4 ltRqV3R5 lR6 lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR=RR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRRHRR
RRIRR]! ]4      R]! R4      /V3RJ lRK lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR=RR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RL lRM lltRpRR/V3RN lRO llltRpRR/V3RP lRQ llltRpV3RR lRS lltRRRRRRR]! ]4      R	RR
RRRRRR]! ]4      /	V3RT lRU lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RV lRW lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RX lRY lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3RZ lR[ lltR7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R\ lR] llt R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R^ lR_ llt!R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3R` lRa llt"R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3Rb lRc llt#R7]! R4      R8RRRRRR9RR:RR;R<R	RRRR>RR?RR@RRARRBRCRDRCRERCRRRF]! ]4      RGRR
RRIRR]! ]4      /V3Rd lRe llt$V3Rf lRg lt%V3Rh lRi lt&V3Rj lRk lt'](! Rl4      V3Rm lRn l4       t)Rot*Vt+V ;t,# )rrÞ   iþ  ac  
`APIRouter` class, used to group *path operations*, for example to structure
an app in multiple files. It would then be included in the `FastAPI` app, or
in another `APIRouter` (ultimately included in the app).

Read more about it in the
[FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/).

## Example

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
router = APIRouter()


@router.get("/users/", tags=["users"])
async def read_users():
    return [{"username": "Rick"}, {"username": "Morty"}]


app.include_router(router)
```
r™  rK  rQ  NrX  rš  rR  rN  r  Úredirect_slashesTr  r@  Úroute_classÚ
on_startupÚon_shutdownÚlifespanre   rM  rP  rB  c          (      óÈ  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R4      3,          RS[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[S[	,          S[! R	4      3,          R
S[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[,          S[! R4      3,          RS[ S[S[. S[3,          ,          R,          S[! R4      3,          RS[ S[S[. S[3,          ,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[R,          S[! R 4      3,          R!S[ S[S[! R"4      3,          R#S[ S[S[.S[3,          S[! R$4      3,          R%S[ S[S[! R&4      3,          R'R/# )(rh   r™  ú'An optional path prefix for the router.rQ  Ná‚  
                A list of tags to be applied to all the *path operations* in this
                router.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                rX  á‘  
                A list of dependencies (using `Depends()`) to be applied to all the
                *path operations* in this router.

                Read more about it in the
                [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
                rš  á
  
                The default response class to be used.

                Read more in the
                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#default-response-class).
                rR  á*  
                Additional responses to be shown in OpenAPI.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/).

                And in the
                [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
                rN  áo  
                OpenAPI callbacks that should apply to all *path operations* in this
                router.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).
                r  a  
                **Note**: you probably shouldn't use this parameter, it is inherited
                from Starlette and supported for compatibility.

                ---

                A list of routes to serve incoming HTTP and WebSocket requests.
                a5  
                You normally wouldn't use this parameter with FastAPI, it is inherited
                from Starlette and supported for compatibility.

                In FastAPI, you normally would use the *path operation methods*,
                like `router.get()`, `router.post()`, etc.
                r&  z�
                Whether to detect and redirect slashes in URLs when the client doesn't
                use the same format.
                r  z€
                Default function handler for this router. Used to handle
                404 Not Found errors.
                r@  zÐ
                Only used internally by FastAPI to handle dependency overrides.

                You shouldn't need to use it. It normally points to the `FastAPI` app
                object.
                r'  a4  
                Custom route (*path operation*) class to be used by this router.

                Read more about it in the
                [FastAPI docs for Custom Request and APIRoute class](https://fastapi.tiangolo.com/how-to/custom-request-and-route/#custom-apiroute-class-in-a-router).
                r(  zý
                A list of startup event handler functions.

                You should instead use the `lifespan` handlers.

                Read more in the [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                r)  a  
                A list of shutdown event handler functions.

                You should instead use the `lifespan` handlers.

                Read more in the
                [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                r*  a'  
                A `Lifespan` context manager handler. This replaces `startup` and
                `shutdown` functions with a single context manager.

                Read more in the
                [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/).
                re   áa  
                Mark all *path operations* in this router as deprecated.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                rM  a³  
                To include (or not) all the *path operations* in this router in the
                generated OpenAPI.

                This affects the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi).
                rP  áÜ  
                Customize the function used to generate unique IDs for the *path
                operations* shown in the generated OpenAPI.

                This is particularly useful when automatically generating clients or
                SDKs for your API.

                Read more about it in the
                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).
                rB  aÃ  
                Enable strict checking for request Content-Type headers.

                When `True` (the default), requests with a body that do not include
                a `Content-Type` header will **not** be parsed as JSON.

                This prevents potential cross-site request forgery (CSRF) attacks
                that exploit the browser's ability to send requests without a
                Content-Type header, bypassing CORS preflight checks. In particular
                applicable for apps that need to be run locally (in localhost).

                When `False`, requests without a `Content-Type` header will have
                their body parsed as JSON, which maintains compatibility with
                certain clients that don't send `Content-Type` headers.

                Read more about it in the
                [FastAPI docs for Strict Content-Type](https://fastapi.tiangolo.com/advanced/strict-content-type/).
                rj   )r   rÒ   r   ró  r   r   r   rî  r¯   rT   r"  r/  r   rV   re   r³   r^   rq  r   r_   )rk   r›   s   "€rl   rm   ÚAPIRouter.__annotate__	  sƒ  ø€ ÷ ^Añ ^Añ ™#šsÐ#LÓMÐMÕNð^Añ Ù‘‘t•Õ˜tÕ#Úðó
ðõ
ð	^Añ$  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð%^Añ< !*Ù‘�NÚðóðõ
!
ð=^AñR Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úð
óðõ
ðS^Añr Ù‘�O˜dÕ"Úðó
ðõ
ðs^AñN Ù‘�O˜dÕ"Úðó	ò ðóðõ
ðO^Añz $ÙÚðóðõ
ð{^AñL Ù�d�NÚðóðõ
ðM^Añ^ (1Ù�$�JÚðóðõ
(
ð_^Añt Ù‘�NÚðóðõ

ðu^AñJ Ù‘X˜b¡#˜gÕ&Õ'¨$Õ.Úðóð	õ
ðK^Añb Ù‘X˜b¡#˜gÕ&Õ'¨$Õ.Úðó	ð
õ
ðc^Añ@ Ù‘S�M˜DÕ Úðóð	õ
ðA^AñX Ù�4�KÚðó	ð
õ
ðY^Añr %ÙÚðó
ðõ
ðs^AñN &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðO^Añl 'ÙÚðóðõ
ðm^AðZ 
ñ[^Arn   c               ó
  <€ Vf   \        V 4      pMR\        P                  ! V4      '       d   \        V4      pM*\        P                  ! V4      '       d   \        V4      pMTpVV n        \        SV `!  VVV	VR7       V'       d=   VP                  R4      '       g   Q R4       hVP                  R4      '       d   Q R4       hVf   . M
\        V4      V n        Vf   . M
\        V4      V n        Wn        T;'       g    . V n        \        T;'       g    . 4      V n        Wðn        VV n        T;'       g    / V n        T;'       g    . V n        W n        W°n        W@n        VV n        VV n        ^ V n        . V n        R V n        R # )N)r  r&  r  r*  rL  ú!A path prefix must start with '/'úFA path prefix must not end with '/', as the routes will start with '/')rÛ   rû   Úisasyncgenfunctionr   ÚisgeneratorfunctionrÌ   rÁ   r  r¢   r\  rÁ  ró  r(  r)  r™  rQ  rX  re   rM  rR  rN  r@  r'  rš  rP  rB  Ú_routes_versionr   Ú_frontend_routes)r¡   r™  rQ  rX  rš  rR  rN  r  r&  r  r@  r'  r(  r)  r*  re   rM  rP  rB  rÁ   r  s   &$$$$$$$$$$$$$$$$$$ €rl   r¢   ÚAPIRouter.__init__	  sw  ø€ ð^ Òä.>¸tÓ.DÑÜ×'Ò'¨×1Ò1Ü2°8Ó<ÑÜ×(Ò(¨×2Ò2Ü9¸(ÓCÑà'ÐØ 0ˆÔä‰ÑØØ-ØØ%ð	 	ô 	
÷ Ø×$Ñ$ S×)Ò)ÐNÐ+NÓNÐ)Ø—‘ s×+Ò+ð ØXóÐ+ð Ò$‰B¬$¨zÓ*:ð 	Œð Ò%‰B¬4°Ó+<ð 	Ôð ŒØ&*§j j¨bˆŒ	Ü  ×!3Ð!3°Ó4ˆÔØ$ŒØ!2ˆÔØ"Ÿ˜ bˆŒØ"Ÿ˜ bˆŒØ-JÔ*Ø&ÔØ&<Ô#Ø+FˆÔ(Ø#6ˆÔ Ø ˆÔØ57ˆÔ!Ø<@ˆÖrn   c                ó   <€ V ^8„  d   QhRR/# rå   r”   )rk   r›   s   "€rl   rm   r4  9
  s   ø€ ÷ "ñ " dñ "rn   c                ó8   € V ;P                   ^,          un         R# )rw  N)r:  r¨   s   &rl   Ú_mark_routes_changedÚAPIRouter._mark_routes_changed9
  s   € Ø×Ò Õ!×rn   c                óD   <€ V ^8„  d   QhRS[ S[,          R,          RS[/# )rh   ÚseenNrj   )rW  r/  )rk   r›   s   "€rl   rm   r4  <
  s#   ø€ ÷ ñ ©©C­°4­ð Á3ñ rn   c                ó.  € Vf   \        4       p\        V 4      pW!9   d   V P                  # VP                  V4       V P                  pV P                   F<  p\        V\        4      '       g   K  W4P                  P                  V4      ,          pK>  	  V# rž   )	rW  rù   r:  Úaddr  ro  r  r  r  )r¡   rB  Ú	router_idÚversionr   s   &&   rl   r  ÚAPIRouter._get_routes_version<
  s{   € ØŠ<Ü“5ˆDÜ�t“Hˆ	ØÔØ×'Ñ'Ð'Ø�‰�ÔØ×&Ñ&ˆØ—[”[ˆEÜ˜%¤×1Ô1Ø×0Ñ0×DÑDÀTÓJÕJ’ñ !ð ˆrn   c                óH   <€ V ^8„  d   QhRRRS[ S[,          R,          RS[/# )rh   rÝ   rÞ   rB  Nrj   )rW  r/  r³   )rk   r›   s   "€rl   rm   r4  I
  s-   ø€ ÷ ñ Ø!ðÙ),©S­°D­ðá	ñrn   c                ó.  € Vf   \        4       p\        V 4      pW29   d   R# VP                  V4       V P                   FR  p\	        V\
        4      '       g   K  VP                  VJ d    R# VP                  P                  W4      '       g   KQ   R# 	  R# )NFT)rW  rù   rD  r  ro  r  r  Ú_contains_router)r¡   rÝ   rB  rE  r   s   &&&  rl   rJ  ÚAPIRouter._contains_routerI
  s|   € ð Š<Ü“5ˆDÜ�t“Hˆ	ØÔÙØ�‰�ÔØ—[”[ˆEÜ˜e¤_×5Ò5ÙØ×$Ñ$¨Ó.ÚØ×$Ñ$×5Ñ5°f×CÔCÚñ !ñ rn   c                ó    <€ V ^8„  d   QhRS[ RS[S[.S[S[,          S[,          3,          RS[S[ ,          R,          RS[ R,          RS[RR/# )rh   rN  r%  rS  Nr'  rM  rj   )rÒ   r   rP   r   rT   r   r³   )rk   r›   s   "€rl   rm   r4  [
  sj   ø€ ÷ $ñ $áð$ñ ™G˜9¡i±Õ&9¹HÕ&DÐDÕEð$ñ ™C• 4Õ'ð	$ñ
 �D�jð$ñ  ð$ð 
ñ$rn   c                óP   <€ \         SV `  VVVVVR 7       V P                  4        R# )©rS  r'  rM  N)r  Ú	add_router?  )r¡   rN  r%  rS  r'  rM  r  s   &&&&&&€rl   rO  ÚAPIRouter.add_route[
  s4   ø€ ô 	‰ÑØØØØØ/ð 	ô 	
ð 	×!Ñ!Ö#rn   c                ód   <€ V ^8„  d   QhRS[ RS[S[.S[R,          3,          RS[ R,          RR/# )rh   rN  r%  Nr'  rj   )rÒ   r   rd   r   )rk   r›   s   "€rl   rm   r4  l
  sG   ø€ ÷ $ñ $áð$ñ ™I˜;©	°$­Ð7Õ8ð$ñ �D�jð	$ð
 
ñ$rn   c                óJ   <€ \         SV `  WVR 7       V P                  4        R# )r&  N)r  Úadd_websocket_router?  )r¡   rN  r%  r'  r  s   &&&&€rl   rS  ÚAPIRouter.add_websocket_routel
  s#   ø€ ô 	‰Ñ# D¸Ð#Ô>Ø×!Ñ!Ö#rn   r‚  rq  rp  c                ó,  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[P                  S[,          ,          S[! R4      3,          RS[ S[R,          R,          S[! R4      3,          R	S[ S[S[R,          ,          S[! R
4      3,          RR/# )rh   rN  z`
                The URL path prefix where the frontend build should be served.
                ro  z\
                The directory containing the static frontend build output.
                r‚  rq  NzX
                The fallback file behavior for missing frontend paths.
                rp  a`  
                Check that the frontend directory exists when the app is created. When
                set to `"auto"`, skip the check with a warning when `FASTAPI_ENV` is
                `"development"`, and check it otherwise. The `fastapi dev` command
                sets `FASTAPI_ENV` to `"development"` if it is not already set.
                rj   rƒ  )r   rÒ   r   rh  ri  r   r³   )rk   r›   s   "€rl   rm   r4  u
  sÐ   ø€ ÷ W$ñ W$áÙÚðóðõ
ðW$ñ Ù‘"—+‘+™cÕ"Õ"Úðóðõ
ðW$ñ& ÙÐ4Õ5¸Õ<Úðóðõ
ð'W$ñ6 Ù‘7˜6•?Õ"Úðóðõ

ð7W$ðL 
ñMW$rn   c               ól  € \        W$R7      p\        V4      pV P                  fL   \        V P                  V P
                  R7      V n        V P                  P                  V P                  4       V P                  P                  \        V P                  V4      VVVR7       V P                  4        R# )u   
Serve a static frontend build as low-priority routes.

Use this for frontend tools that build static files into a directory,
such as `dist`. **FastAPI** path operations are checked first, and
the frontend files are checked only if no normal route matched.

A typical project could look like this:

```text
.
â”œâ”€â”€ pyproject.toml
â”œâ”€â”€ app
â”‚   â”œâ”€â”€ __init__.py
â”‚   â””â”€â”€ main.py
â””â”€â”€ dist
    â”œâ”€â”€ index.html
    â””â”€â”€ assets
        â””â”€â”€ app.js
```

Then in `app/main.py`:

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
router = APIRouter()
router.frontend("/", directory="dist")
app.include_router(router)
```
r}  N)rX  r@  rè  )r~  r^  r;  rÂ  rX  r@  r   r  r
  rb  r™  r?  )r¡   rN  ro  r‚  rp  Únormalized_paths   &&$$$ rl   ÚfrontendÚAPIRouter.frontendu
  s£   € ôN 0Øô
ˆ	ô 3°4Ó8ˆØ× Ñ Ò(Ü$7Ø!×.Ñ.Ø.2×.PÑ.Pô%ˆDÔ!ð ×%Ñ%×,Ñ,¨T×-BÑ-BÔCØ×Ñ×0Ñ0Ü  §¡¨oÓ>ØØØð	 	1ô 	
ð 	×!Ñ!Ö#rn   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   r4  Î
  s/   ø€ ÷ _1ñ _1™uð _1©wð _1¹dð _1Àtñ _1rn   c           	   ƒ  ó°  "  € VR ,          R9   g   Q hRV9  d   WR&   VR ,          R8X  d   V P                  WV4      G Rj  x€L
  R# RpV P                   Fª  pVP                  V4      w  rgV\        P                  8X  d`   VP                  V4       \        V\        VRR4      \        V\        P                  4      R7       VP                  WV4      G Rj  x€L
   R# V\        P                  8X  g   K¡  Ve   K§  WW3pK¬  	  Vec   Vw  rWVP                  V4       \        V\        VRR4      \        V\        P                  4      R7       VP                  WV4      G Rj  x€L
  R# \        V4      pVR ,          R8X  EdS   V P                  '       Ed@   VR8w  Ed8   \        V4      p	VP!                  R4      '       d   V	R,          P#                  R4      V	R&   MV	R,          R,           V	R&   V P                   FÖ  pVP                  V	4      w  rjV\        P$                  8w  g   K-  VP'                  R	4      ed   Tp\        V\(        4      '       d4   VP+                  V	4      w   r¬pVe   VP,                  ;'       g    TMTpKI  \        V\        VRR4      R
7       \/        V	R7      p\1        \3        V4      R7      pV! WV4      G Rj  x€L
   R# 	  V P5                  V4      w  ppppV\        P$                  8w  d¨   Ve¤   \7        VV4       \        T\        T;'       g    TRR4      R
7       VeV   V\9        V4      \:        &   VP<                  p\        V\>        4      '       d"   VVR&   VP                  WV4      G Rj  x€L
  R# VP                  WV4      G Rj  x€L
  R# V PA                  WV4      G Rj  x€L
  R#  ELƒ ELï ELg EL LJ L0 L5i)r¯   rÉ  r*  rÝ   Nrõ  r?  rL  rN  zfastapi.telemetryr  r4  r°  r   )rÉ  rä  r*  )!r*  r  r  rW   rÐ  r+  r<   rþ   ro  rF   r[   r…  rÏ  rH   r&  r"  rÁ  r¶  r  rµ  r  r4  rÌ  rL   rS   rÒ   Ú_match_low_priorityr.  r'  r3  rz  rq  r  )r¡   rr   rs   rt   r‡   r   r  r  rÑ  Úredirect_scoperù  Útelemetry_routeÚmatched_routeÚmatched_contextÚredirect_urlr€   Úlow_priority_matchÚlow_priority_scopeÚlow_priority_routeÚlow_priority_contextrz  s   &&&&                 rl   rƒ   ÚAPIRouter.appÎ
  s…  é € Ø�V�}Ð AÔAÐAÐAà˜5Ô Ø"�(‰Oà��=˜JÔ&Ø—-‘- °Ó5×5Ð5Ùà26ˆØ—[”[ˆEØ!&§¡¨uÓ!5ÑˆEØœŸ
™
Ô"Ø—‘˜[Ô)ÜØÜ  ¨°tÓ<Ü$ U¬G¯M©MÓ:õð
 —l‘l 5°4Ó8×8Ð8ÚØœŸ™Ö%¨'¬/Ø Ð.’ñ !ð ÒØ!(ÑˆEØ�L‰L˜Ô%ÜØÜ˜U M°4Ó8Ü  ¬¯©Ó6õð
 —,‘,˜u¨tÓ4×4Ð4Ùä# EÓ*ˆ
Ø��=˜FÕ" t×'<×'<Ñ'<ÀÈsÕARÜ! %›[ˆNØ×"Ñ" 3×'Ò'Ø)7¸Õ)?×)FÑ)FÀsÓ)K�˜vÒ&à)7¸Õ)?À#Õ)E�˜vÑ&àŸœ�Ø Ÿ=™=¨Ó8‘�ØœEŸJ™JÖ&Ø—y‘yÐ!4Ó5ÒAà!ð (ô )¨¼/×JÒJà /× 6Ñ 6°~Ó Fñ A˜A˜q°ð
 $3Ò#>ð !0× ?Ñ ?× RÐ RÀ?øà%2ò ,ô
 (Ø"'Ü!(¨¸-ÈÓ!Nõô $'¨^Ô#<�LÜ/´C¸Ó4EÔF�HÙ" 5°4Ó8×8Ð8Úñ/ %ð< ×$Ñ$ UÓ+ñ	
ØØØØ à¤§¡Ô+Ð0BÒ0NÜ˜%Ð!3Ô4ÜØÜØ(×>Ð>Ð,>ÀÈtóõð $Ò/à(ô # 5Ó)Ô*NÑOð "6×!DÑ!D�Ü˜n¬h×7Ò7Ø%3�E˜'‘NØ(×/Ñ/°ÀÓE×EÐEÙØ$×+Ñ+¨E¸DÓA×AÐAÙà�l‰l˜5¨4Ó0×0Ò0òq 6ò 9ò 5òB 9ñ0 FáAñ 	1ùs¡   ‚?OÁOÁBOÃOÃOÃ7OÃ=A&OÅ#O
Å$2OÆBOÈ)AOÊ AOËOËB8OÎOÎOÎ!OÎ"OÎ=OÎ>OÏOÏ
OÏOÏOÏOÏOc                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# rq   ru   )rk   r›   s   "€rl   rm   r4  /  s)   ø€ ÷ -ñ -¡%ð -±'ð -Áð -È$ñ -rn   c              ƒ  óä   "  € \        V4      p\        V\        4      '       d-   VP                  V J d   VP	                  WV4      G R j  x€L
  R # V P                  WV4      G R j  x€L
  R #  L" L5irž   )r9  ro  r  r  rA  rƒ   )r¡   rr   rs   rt   r  s   &&&& rl   r…  ÚAPIRouter.handle/  s`   é € Ü4°UÓ;ˆä�¬×8Ò8Ø×/Ñ/°4Ó7à!×2Ñ2°5À4ÓH×HÐHÙØ�h‰h�u tÓ,×,Ò,ñ Iá,ùs$   ‚AA0Á	A,Á
A0Á%A.Á&A0Á.A0c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# rü  rý  )rk   r›   s   "€rl   rm   r4  9  s$   ø€ ÷ ñ ™Uð ¡u©U±E¨\Õ':ñ rn   c                ó¸   € \        V4      p\        V\        4      '       d)   VP                  V J d   VP	                  V4      w  r4 pW43# \
        P                  / 3# rž   )r9  ro  r  r  r4  rW   r  )r¡   rr   r  r  r  rù  s   &&    rl   r  ÚAPIRouter.matches9  sU   € Ü4°UÓ;ˆä�¬×8Ò8Ø×/Ñ/°4Ó7à'6×'=Ñ'=¸eÓ'DÑ$ˆE  1ØÐ%Ð%Ü�z‰z˜2ˆ~Ðrn   c                ó@   <€ V ^8„  d   QhRS[ S[S[,          ,          /# r¥   )r	   rV   r±  )rk   r›   s   "€rl   rm   r4  C  s#   ø€ ÷ Añ Aá	‘)Ñ4Õ4Õ	5ñArn   c              #  óÄ   "  € V P                    R j  x€L
  V P                   F3  p\        V\        4      '       g   K  VP	                  4        R j  x€L
  K5  	  R #  LI L5irž   )r   r  ro  r  r!  r«  s   & rl   Ú_iter_low_priority_routesÚ#APIRouter._iter_low_priority_routesC  sN   é € ð ×,Ñ,×,Ð,Ø—[”[ˆEÜ˜%¤×1Ô1Ø ×>Ñ>Ó@×@Ò@ó !ñ 	-ñ Aùs&   ‚A ’A“&A ¾A ÁAÁA ÁA c          	      ó`   <€ V ^8„  d   QhRS[ RS[S[S[ S[R,          S[R,          3,          /# r0  r0  )rk   r›   s   "€rl   rm   r4  K  s6   ø€ ÷ 0*ñ 0*Ùð0*á	‰u‘e™Y¨Õ-Ñ/EÈÕ/LÐLÕ	Mñ0*rn   c                ó¤  € R pR pV P                  4        EFV  p\        V\        4      '       d¤   TpVP                  p\        V\        4      '       dV   \        V4      pVP                  \        \        4      pWW\        &    VP                  V4      w  rš\        V\        V4       TpMAVP                  V4      w  ršVP                  ;'       g    TpMR pVP                  V4      w  ršTpV	\        P                  8X  d-   Ve   V P                  W¢^ ,          4      '       d   W«V3pEK  EK  V	\        P                  8X  g   EK-  Ve"   V P                  W£^ ,          4      '       g   EKR  W«V3pEKY  	  Ve   Vw  r«p\        P                  W«V3# Ve   Vw  r«p\        P                  W«V3# \        P                   / R R 3#   \        T\        T4       i ; irž   )ro  ro  r±  rz  rq  r'  rµ  r3  rB  r  rD  rÌ  rW   rÐ  Ú _frontend_match_is_more_specificrÏ  r  )r¡   rr   r  r‡   r2  r  rz  r&  r3  r  r  r   s   &&          rl   r\  ÚAPIRouter._match_low_priorityK  sÏ  € ð OSˆØQUˆØ×7Ñ7×9ˆIä˜)Ô%;×<Ò<Ø?H�Ø!*×!9Ñ!9�Ü˜n¬h×7Ò7Ü$6°uÓ$=�MØ'4×'8Ñ'8Ü<¼nó(Ð$ð KXÔ"FÑGðØ-;×-CÑ-CÀEÓ-JÑ*˜ä2Ø!Ü@Ø,ôð
 +‘Eà)2×):Ñ):¸5Ó)AÑ&�EØ%×5Ñ5×GÐG¸‘Eà $�Ø%.×%6Ñ%6°uÓ%=Ñ"�Ø!�ØœŸ
™
Ô"Ø’< 4×#HÑ#HØ a¥÷$ò $ð (°Ð>“Dò$ð œ%Ÿ-™-×'Ø’? d×&KÑ&KØ¨¥÷'õ 'ð  +°=ÐA“GñI :ðJ ÒØ04Ñ-ˆK Ü—:‘:˜{°=Ð@Ð@ØÒØ07Ñ-ˆK Ü—=‘= +°mÐCÐCÜ�z‰z˜2˜t TÐ)Ð)øô; 3Ø!Ü@Ø,õús   ÂF<Æ<Gc                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )rh   r  Úprevious_child_scoperj   rÞ  )rk   r›   s   "€rl   rm   r4  }  s%   ø€ ÷ 2ñ 2Ù ð2Ù8=ð2á	ñ2rn   c                óJ   € \        V4      p\        V4      pVe   Vf   R# W48„  # ©NF)r>  )r¡   r  rv  r=  Úprevious_specificitys   &&&  rl   rs  Ú*APIRouter._frontend_match_is_more_specific}  s2   € ô 2°+Ó>ˆÜ:Ð;OÓPÐØÒÐ"6Ò">ÙØÑ1Ð1rn   c                ó|   <€ V ^8„  d   QhRS[ RS[S[ ,          R,          RS[ R,          RS[RS[S[.S[3,          /# )rh   rN  rS  Nr'  rM  rj   )rÒ   r   r³   r   r@   )rk   r›   s   "€rl   rm   r4  †  sY   ø€ ÷ ñ áðñ ™C• 4Õ'ðñ �D�jð	ñ
  ðñ 
Ñ$Ð%Ñ'8Ð8Õ	9ñrn   c                ó*   a aaaa€ R  VVVVV 3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rg   ©r@   )rk   s   "rl   rm   Ú%APIRouter.route.<locals>.__annotate__�  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	rn   c                 ó4   <€ SP                  SV SSSR 7       V # )rN  )rO  )ri   rM  rS  r'  rN  r¡   s   &€€€€€rl   Ú	decoratorÚ"APIRouter.route.<locals>.decorator�  s*   ø€ Ø�N‰NØØØØØ"3ð ô ð ˆKrn   r”   )r¡   rN  rS  r'  rM  r�  s   fffff rl   r   ÚAPIRouter.route†  s   ü€ ÷	ô 	ð Ðrn   rI  r-  rJ  rU  rK  rY  rS  rL  r:  r;  r<  r=  Fr>  r?  r8  r'  Úroute_class_overriderO  c          8      óä  <€ V ^8„  d   QhRS[ RS[RS[3,          RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          R	S[ R,          R
S[ R,          RS[ RS[	S[S[ ,          S[	S[ S[3,          3,          R,          RS[
R,          RS[S[ ,          S[S[ ,          ,          R,          RS[ R,          RS[R,          RS[R,          RS[
RS[
RS[
RS[
RS[
RS[S[,          S[,          RS[ R,          RS[S[,          R,          RS[S[,          R,          RS[	S[ S[3,          R,          RS[S[.S[ 3,          S[,          RS[
S[,          RR/# )rh   rN  r%  .rI  r-  NrQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  r„  rN  rO  rP  rB  rj   )rÒ   r   r   r/  ró  r   r   r   rî  r"  r³   rW  rA   r¯   rT   r"   rq  rV   )rk   r›   s   "€rl   rm   r4  ™  sõ  ø€ ÷ R$ñ R$áðR$ñ ˜3¡˜8Õ$ðR$ñ
 ðR$ñ ˜4•ZðR$ñ ‘3™•:Õ Õ%ðR$ñ ™vŸ~™~Õ.°Õ5ðR$ñ �t•ðR$ñ ˜4•ZðR$ñ "ðR$ñ ™™c�	¡4©©S¨¥>Ð1Õ2°TÕ9ðR$ñ ˜4•KðR$ñ ‘S•™D¡�IÕ%¨Õ,ðR$ñ ˜D•jðR$ñ  !&¨¥ð!R$ñ" !&¨¥ð#R$ñ$ "&ð%R$ñ& '+ð'R$ñ( *.ð)R$ñ* &*ð+R$ñ,  ð-R$ñ. ™X�Ñ);Õ;ð/R$ñ0 �D�jð1R$ñ2 #¡8�n¨tÕ3ð3R$ñ4 ™	•? TÕ)ð5R$ñ6 ™C¡˜H•~¨Õ,ð7R$ñ8 &.©x¨j¹#¨oÕ%>Ù
õ&ð9R$ñ< "Ñ$6Õ6ð=R$ð> 
ñ?R$rn   c          	     ó¢  € T;'       g    V P                   pT
;'       g    / p
/ V P                  CV
Cp\        VV P                  4      pV P                  P                  4       pV'       d   VP                  V4       V P                  P                  4       p V'       d   V P                  V4       V P                  P                  4       p!V'       d   V!P                  V4       \        VV P                  4      p"T! V P                  V,           3/ R VbRVbRVbRVbRV bRVbRVbRV	bRVbR	T;'       g    V P                  bR
VbRVbRVbRVbRVbRVbRVbRVbRT;'       d    V P                  bRVbRVbRV P                  bRV!bRVbRV"bR\        VV P                  4      b p#V P                  P!                  V#4       V P#                  4        R# )r%  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  r@  rN  rO  rP  rB  N)r'  rR  rD   rš  rQ  r)  rÉ  rX  rN  rP  r™  re   rM  r@  rB  r  r  r?  )$r¡   rN  r%  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  r„  rN  rO  rP  rB  r'  Úcombined_responsesÚcurrent_response_classÚcurrent_tagsÚcurrent_dependenciesÚcurrent_callbacksrh  r   s$   &&&$$$$$$$$$$$$$$$$$$$$$$$$$        rl   Úadd_api_routeÚAPIRouter.add_api_route™  s@  € ð@ +×>Ð>¨d×.>Ñ.>ˆØ—O�O ˆ	Ø< §¡Ð<°)Ð<ÐÜ!5Ø˜D×7Ñ7ó"
Ðð —y‘y—~‘~Ó'ˆßØ×Ñ Ô%Ø#×0Ñ0×5Ñ5Ó7ÐßØ ×'Ñ'¨Ô5Ø ŸN™N×/Ñ/Ó1ÐßØ×$Ñ$ YÔ/Ü%9Ø'¨×)IÑ)Ió&
Ð"ñ Ø�K‰K˜$Õò
áð
ñ *ð
ñ $ð	
ñ
 ð
ñ .ð
ñ ð
ñ $ð
ñ "6ð
ñ )ð
ð "×4Ð4 T§_¡_øð
ñ ð
ñ &ð
ñ $:ð
ñ $:ð
ñ  %<ð!
ñ" *Fð#
ñ$ -Lð%
ñ& )Dð'
ð( 0×JÐJ°D×4JÑ4Jøð)
ñ* 2ð+
ñ, ð-
ð. +/×*LÒ*Lð/
ñ0 (ð1
ñ2 (ð3
ñ4 )Cð5
ô6 !5Ø# T×%=Ñ%=ô!ð7
ˆð> 	�‰×Ñ˜5Ô!Ø×!Ñ!Ö#rn   c          4      ój  <€ V ^8„  d   QhRS[ RS[RS[R,          RS[S[ S[,          ,          R,          RS[S[P                  ,          R,          RS[ R,          RS[ R,          R	S[ R
S[S[S[ ,          S[S[ S[3,          3,          R,          RS[	R,          RS[S[ ,          R,          RS[ R,          RS[
R,          RS[
R,          RS[	RS[	RS[	RS[	RS[	RS[S[,          RS[ R,          RS[S[,          R,          RS[S[ S[3,          R,          RS[S[.S[ 3,          RS[S[.S[3,          /# )rh   rN  rI  r-  NrQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  rN  rO  rP  rj   )rÒ   r   r/  ró  r   r   r   rî  r"  r³   rA   r¯   rT   rV   r   rq  r@   )rk   r›   s   "€rl   rm   r4  í  s™  ø€ ÷ <ñ <áð<ñ ð	<ñ
 ˜4•Zð<ñ ‘3™•:Õ Õ%ð<ñ ™vŸ~™~Õ.°Õ5ð<ñ �t•ð<ñ ˜4•Zð<ñ "ð<ñ ™™c�	¡4©©S¨¥>Ð1Õ2°TÕ9ð<ñ ˜4•Kð<ñ ‘c•˜TÕ!ð<ñ ˜D•jð<ñ !&¨¥ð<ñ  !&¨¥ð!<ñ" "&ð#<ñ$ '+ð%<ñ& *.ð'<ñ( &*ð)<ñ*  ð+<ñ, ™X�ð-<ñ. �D�jð/<ñ0 ™	•? TÕ)ð1<ñ2 ™C¡˜H•~¨Õ,ð3<ñ4 &.©x¨j¹#¨oÕ%>ð5<ñ: 
Ñ$Ð%Ñ'8Ð8Õ	9ñ;<rn   c               óz   a aaaaaaaaa	a
aaaaaaaaaaaaaa€ R  VVV
VVVVVVVVVVVVVVVVVV	V VVV3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rg   r~  )rk   s   "rl   rm   Ú)APIRouter.api_route.<locals>.__annotate__  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	rn   c                 ó\   <€ SP                  SV SSSSSSSSSSS
SSSSSSSSSSS	SR 7       V # ))rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  rN  rO  rP  )rŒ  )ri   rN  rX  re   rU  rP  rM  rS  r'  rO  rL  rN  r8  rK  rI  r<  r;  r>  r?  r=  r:  rR  r¡   r-  rJ  rQ  s   &€€€€€€€€€€€€€€€€€€€€€€€€€rl   r�  Ú&APIRouter.api_route.<locals>.decorator  sh   ø€ Ø×ÑØØØ-Ø'ØØ)ØØ'Ø%9Ø#Ø%ØØ)Ø'=Ø'=Ø(?Ø-IØ0OØ,GØ"3Ø-ØØ#Ø+Ø,Gð3 ô ð6 ˆKrn   r”   )r¡   rN  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  rN  rO  rP  r�  s   ffddddddddddddddddddddddd rl   Ú	api_routeÚAPIRouter.api_routeí  s'   ÿÿÿø€ ÷<	÷ 	÷ 	÷ 	ð 	ð< Ðrn   c          
      óŠ   <€ V ^8„  d   QhRS[ RS[RS[3,          RS[ R,          RS[S[P
                  ,          R,          RR/# )rh   rN  r%  .r'  NrX  rj   rí  )rk   r›   s   "€rl   rm   r4  +  sX   ø€ ÷ $ñ $áð$ñ ˜3¡˜8Õ$ð$ñ �D�jð	$ñ ™vŸ~™~Õ.°Õ5ð$ð 
ñ$rn   c               ó  € V P                   P                  4       pV'       d   VP                  V4       \        V P                  V,           VVVV P
                  R 7      pV P                  P                  V4       V P                  4        R# )r%  N)	rX  r)  rÉ  rë  r™  r@  r  r  r?  )r¡   rN  r%  r'  rX  rŠ  r   s   &&&&$  rl   Úadd_api_websocket_routeÚ!APIRouter.add_api_websocket_route+  sr   € ð  $×0Ñ0×5Ñ5Ó7ÐßØ ×'Ñ'¨Ô5ä!Ø�K‰K˜$ÕØØØ-Ø*.×*LÑ*Lô
ˆð 	�‰×Ñ˜5Ô!Ø×!Ñ!Ö#rn   c          
      óð   <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[P
                  ,          R,          S[! R4      3,          RS[S[.S[3,          /# )	rh   rN  z1
                WebSocket path.
                r'  NzQ
                A name for the WebSocket. Only used internally.
                rX  a  
                A list of dependencies (using `Depends()`) to be used for this
                WebSocket.

                Read more about it in the
                [FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/).
                rj   )r   rÒ   r   r   r   rî  r   r@   )rk   r›   s   "€rl   rm   r4  A  s¨   ø€ ÷ Añ AáÙÚðóðõ
ðAñ Ù�$�JÚðóðõ
ðAñ&  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð'Añ> 
Ñ$Ð%Ñ'8Ð8Õ	9ñ?Arn   c               ó&   a aaa€ R VVVV 3R llpV# )a  
Decorate a WebSocket function.

Read more about it in the
[FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/).

**Example**

## Example

```python
from fastapi import APIRouter, FastAPI, WebSocket

app = FastAPI()
router = APIRouter()

@router.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
    await websocket.accept()
    while True:
        data = await websocket.receive_text()
        await websocket.send_text(f"Message text was: {data}")

app.include_router(router)
```
c                ó0   € V ^8„  d   QhR\         R\         /# rg   r~  )rk   s   "rl   rm   Ú)APIRouter.websocket.<locals>.__annotate__|  s   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	rn   c                 ó2   <€ SP                  SV SSR 7       V # ))r'  rX  )r˜  )ri   rX  r'  rN  r¡   s   &€€€€rl   r�  Ú&APIRouter.websocket.<locals>.decorator|  s&   ø€ Ø×(Ñ(Ø�d °Lð )ô ð ˆKrn   r”   )r¡   rN  r'  rX  r�  s   fffd rl   rä  ÚAPIRouter.websocketA  s   û€ ÷v	ó 	ð Ðrn   c                óR   <€ V ^8„  d   QhRS[ RS[ R,          RS[S[.S[3,          /# )rh   rN  r'  Nrj   )rÒ   r   r@   )rk   r›   s   "€rl   rm   r4  „  s8   ø€ ÷ ñ ÙðÙ" T�zðá	Ñ$Ð%Ñ'8Ð8Õ	9ñrn   c                ó"   a aa€ R  VVV 3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# rg   r~  )rk   s   "rl   rm   Ú/APIRouter.websocket_route.<locals>.__annotate__‡  ó   € ÷ 	ñ 	Ô-ð 	Ô2Cñ 	rn   c                 ó0   <€ SP                  SV SR 7       V # )r&  )rS  )ri   r'  rN  r¡   s   &€€€rl   r�  Ú,APIRouter.websocket_route.<locals>.decorator‡  s   ø€ Ø×$Ñ$ T¨4°dÐ$Ô;ØˆKrn   r”   )r¡   rN  r'  r�  s   fff rl   Úwebsocket_routeÚAPIRouter.websocket_route„  s   ú€ ÷	ò 	ð Ðrn   c                óª  <€ V ^8„  d   QhRS[ RS[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R4      3,          R	S[ S[S[P                  ,          R,          S[! R
4      3,          RS[ S[S[	,          S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[S[,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[.S[3,          S[! R4      3,          RR/# )rh   rÝ   rÞ   zThe `APIRouter` to include.r™  r,  rQ  Nr-  rX  r.  rš  r/  rR  r0  rN  r1  re   r2  rM  zÛ
                Include (or not) all the *path operations* in this router in the
                generated OpenAPI schema.

                This affects the generated OpenAPI (e.g. visible at `/docs`).
                rP  r3  rj   )r   r   rÒ   ró  r   r   r   rî  r¯   rT   r"  r/  r   rV   r³   r   rq  )rk   r›   s   "€rl   rm   r4  �  sÕ  ø€ ÷ {
ñ {
á˜+¢sÐ+HÓ'IÐIÕJð{
ñ ™#šsÐ#LÓMÐMÕNð	{
ñ
 Ù‘‘t•Õ˜tÕ#Úðó
ðõ
ð{
ñ&  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ð'{
ñ> !*Ù‘�NÚðóðõ
!
ð?{
ñT Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úð
óðõ
ðU{
ñt Ù‘�O˜dÕ"Úðó
ðõ
ðu{
ñP Ù�4�KÚðó	ð
õ
ðQ{
ñj %ÙÚðóðõ

ðk{
ñ@ &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðA{
ð^ 
ñ_{
rn   c       	        óÊ  € WJg   Q R4       hVP                  V 4      '       d   Q R4       hV'       d>   VP                  R4      '       g   Q R4       hVP                  R4      '       d   Q R4       hM¯\        VP                  4       F–  w  r¼Vf   \        VRR4      p\        VRR	4      pMUVP                  e0   \        VP                  RR4      p\        VP                  RR	4      pMVP                  pVP                  pVf   K  V'       d   K‰  \        R
V R24      h	  \        P                  V VVVVVVVVV	V
R7      pV P                  P                  \        WR7      4       V P                  4        VP                   F  pV P!                  RV4       K  	  VP"                   F  pV P!                  RV4       K  	  \%        V P&                  VP&                  4      V n        R# )aü  
Include another `APIRouter` in the same current `APIRouter`.

Read more about it in the
[FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/).

## Example

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
internal_router = APIRouter()
users_router = APIRouter()

@users_router.get("/users/")
def read_users():
    return [{"name": "Rick"}, {"name": "Morty"}]

internal_router.include_router(users_router)
app.include_router(internal_router)
```
zcCannot include the same APIRouter instance into itself. Did you mean to include a different router?zsCannot include an APIRouter instance that already includes this router. Did you mean to include a different router?rL  r6  r7  NrN  r'  Úunknownz6Prefix and path cannot be both empty (path operation: Ú))rœ  r  r™  rQ  rX  rš  rR  rN  re   rM  rP  r  ÚstartupÚshutdown)rJ  r\  rÁ  rP  r  rþ   rÌ  rN  r'  r2   rŠ  r¡  r  r  r?  r(  Úadd_event_handlerr)  rÙ   rÁ   )r¡   rÝ   r™  rQ  rX  rš  rR  rN  re   rM  rP  r   r  rN  r'  r¹  Úhandlers   &&$$$$$$$$$      rl   Úinclude_routerÚAPIRouter.include_router�  só  € ðN Ó!ð 	
ð:ó	
Ð!ð ×*Ñ*¨4×0Ò0ð 	
ð:ó	
Ð0÷ Ø×$Ñ$ S×)Ò)ÐNÐ+NÓNÐ)Ø—‘ s×+Ò+ð ØXóÐ+Ð+ô )BÀ&Ç-Á-Ö(PÑ$�Ø Ò(Ü" 5¨&°$Ó7�DÜ" 5¨&°)Ó<‘DØ"×2Ñ2Ò>Ü" =×#@Ñ#@À&È$ÓO�DÜ" =×#@Ñ#@À&È)ÓT‘Dà(×-Ñ-�DØ(×-Ñ-�DØÔ#¯D©DÜ&ØPÐQUÐPVÐVWÐXóð ñ )Qô 0×;Ñ;ØØ"ØØØ%Ø#9ØØØ!Ø/Ø(Cð <ó 
ˆð 	�‰×ÑÜ¨FÔTô	
ð 	×!Ñ!Ô#Ø×(Ô(ˆGØ×"Ñ" 9¨gÖ6ñ )à×)Ô)ˆGØ×"Ñ" :¨wÖ7ñ *ä 7Ø×!Ñ!Ø×#Ñ#ó!
ˆÖrn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# ©1rh   rN  z§
                The URL path to be used for this *path operation*.

                For example, in `http://example.com/items`, the path is `/items`.
                rI  a’  
                The type to use for the response.

                It could be any valid Pydantic *field* type. So, it doesn't have to
                be a Pydantic model, it could be other things, like a `list`, `dict`,
                etc.

                It will be used for:

                * Documentation: the generated OpenAPI (and the UI at `/docs`) will
                    show it as the response (JSON Schema).
                * Serialization: you could return an arbitrary object and the
                    `response_model` would be used to serialize that object into the
                    corresponding JSON.
                * Filtering: the JSON sent to the client will only contain the data
                    (fields) defined in the `response_model`. If you returned an object
                    that contains an attribute `password` but the `response_model` does
                    not include that field, the JSON sent to the client would not have
                    that `password`.
                * Validation: whatever you return will be serialized with the
                    `response_model`, converting any data as necessary to generate the
                    corresponding JSON. But if the data in the object returned is not
                    valid, that would mean a violation of the contract with the client,
                    so it's an error from the API developer. So, FastAPI will raise an
                    error and return a 500 error code (Internal Server Error).

                Read more about it in the
                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).
                r-  NaM  
                The default status code to be used for the response.

                You could override the status code by returning a response directly.

                Read more about it in the
                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).
                rQ  ac  
                A list of tags to be applied to the *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).
                rX  a[  
                A list of dependencies (using `Depends()`) to be applied to the
                *path operation*.

                Read more about it in the
                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).
                rJ  aL  
                A summary for the *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                rU  a  
                A description for the *path operation*.

                If not provided, it will be extracted automatically from the docstring
                of the *path operation function*.

                It can contain Markdown.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
                rK  z¡
                The description for the default response.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                rR  z½
                Additional responses that could be returned by this *path operation*.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                re   z¡
                Mark this *path operation* as deprecated.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).
                rL  a€  
                Custom operation ID to be used by this *path operation*.

                By default, it is generated automatically.

                If you provide a custom operation ID, you need to make sure it is
                unique for the whole API.

                You can customize the
                operation ID generation with the parameter
                `generate_unique_id_function` in the `FastAPI` class.

                Read more about it in the
                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).
                r:  a\  
                Configuration passed to Pydantic to include only certain fields in the
                response data.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                r;  aW  
                Configuration passed to Pydantic to exclude certain fields in the
                response data.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                r<  a|  
                Configuration passed to Pydantic to define if the response model
                should be serialized by alias when an alias is used.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).
                r=  aÜ  
                Configuration passed to Pydantic to define if the response data
                should have all the fields, including the ones that were not set and
                have their default values. This is different from
                `response_model_exclude_defaults` in that if the fields are set,
                they will be included in the response, even if the value is the same
                as the default.

                When `True`, default values are omitted from the response.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).
                r>  a¹  
                Configuration passed to Pydantic to define if the response data
                should have all the fields, including the ones that have the same value
                as the default. This is different from `response_model_exclude_unset`
                in that if the fields are set but contain the same default values,
                they will be excluded from the response.

                When `True`, default values are omitted from the response.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).
                r?  a~  
                Configuration passed to Pydantic to define if the response data should
                exclude fields set to `None`.

                This is much simpler (less smart) than `response_model_exclude_unset`
                and `response_model_exclude_defaults`. You probably want to use one of
                those two instead of this one, as those allow returning `None` values
                when it makes sense.

                Read more about it in the
                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).
                rM  a‹  
                Include this *path operation* in the generated OpenAPI schema.

                This affects the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi).
                r8  ae  
                Response class to be used for this *path operation*.

                This will not be used if you return a response directly.

                Read more about it in the
                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).
                r'  zW
                Name for this *path operation*. Only used internally.
                rN  aÃ  
                List of *path operations* that will be used as OpenAPI callbacks.

                This is only for OpenAPI documentation, the callbacks won't be used
                directly.

                It will be added to the generated OpenAPI (e.g. visible at `/docs`).

                Read more about it in the
                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).
                rO  ah  
                Extra metadata to be included in the OpenAPI schema for this *path
                operation*.

                Read more about it in the
                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).
                rP  r3  rj   ©r   rÒ   r   r   r/  ró  r   r   r   rî  r"  r³   rA   r¯   rT   rV   r   rq  r@   )rk   r›   s   "€rl   rm   r4  J  ó"  ø€ ÷ w
ñ w
áÙÚðóðõ	
ðw
ñ "ÙÚðóðõ!
ðw
ñ^ Ù�$�JÚðó	ð
õ
ð_w
ñx Ù‘‘t•Õ˜tÕ#Úðó	ð
õ
ðyw
ñR  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ðSw
ñj Ù�$�JÚðó	ð
õ
ðkw
ñD Ù�$�JÚðóðõ
ðEw
ñh (ÙÚðóðõ	
ðiw
ñ| Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úðóðõ	
ð}w
ñP Ù�4�KÚðóðõ	
ðQw
ñd  Ù�$�JÚðóðõ
ðew
ñL !*Ù�D�LÚðóð	õ!
ðMw
ñd !*Ù�D�LÚðóð	õ!
ðew
ñ| "+ÙÚðóð	õ"
ð}w
ñT '0ÙÚðóðõ'
ðUw
ñx *3ÙÚðóðõ*
ðyw
ñZ &/ÙÚðóðõ&
ð[w
ñ| %ÙÚðó	ð
õ
ð}w
ñV "Ù‘�NÚðó	ð
õ
ðWw
ñp Ù�$�JÚðóðõ
ðqw
ñ@	 Ù‘�O˜dÕ"Úð
óðõ
ðA	w
ñ`	 !Ù‘‘c��N˜TÕ!Úðóð	õ
ða	w
ñx	 &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðy	w
ñV
 
Ñ$Ð%Ñ'8Ð8Õ	9ñW
w
rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a  
Add a *path operation* using an HTTP GET operation.

## Example

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
router = APIRouter()

@router.get("/items/")
def read_items():
    return [{"name": "Empanada"}, {"name": "Arepa"}]

app.include_router(router)
```
r\  ©rN  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rS  rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  rN  rO  rP  ©r”  ©r¡   rN  rI  r-  rQ  rX  rJ  rU  rK  rR  re   rL  r:  r;  r<  r=  r>  r?  rM  r8  r'  rN  rO  rP  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   rµ  ÚAPIRouter.getJ  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  Ã  ó"  ø€ ÷ |
ñ |
áÙÚðóðõ	
ð|
ñ "ÙÚðóðõ!
ð|
ñ^ Ù�$�JÚðó	ð
õ
ð_|
ñx Ù‘‘t•Õ˜tÕ#Úðó	ð
õ
ðy|
ñR  Ù‘V—^‘^Õ$ tÕ+Úðóð	õ
ðS|
ñj Ù�$�JÚðó	ð
õ
ðk|
ñD Ù�$�JÚðóðõ
ðE|
ñh (ÙÚðóðõ	
ði|
ñ| Ù‘‘s•™D¡¡c �NÐ*Õ+¨dÕ2Úðóðõ	
ð}|
ñP Ù�4�KÚðóðõ	
ðQ|
ñd  Ù�$�JÚðóðõ
ðe|
ñL !*Ù�D�LÚðóð	õ!
ðM|
ñd !*Ù�D�LÚðóð	õ!
ðe|
ñ| "+ÙÚðóð	õ"
ð}|
ñT '0ÙÚðóðõ'
ðU|
ñx *3ÙÚðóðõ*
ðy|
ñZ &/ÙÚðóðõ&
ð[|
ñ| %ÙÚðó	ð
õ
ð}|
ñV "Ù‘�NÚðó	ð
õ
ðW|
ñp Ù�$�JÚðóðõ
ðq|
ñ@	 Ù‘�O˜dÕ"Úð
óðõ
ðA	|
ñ`	 !Ù‘‘c��N˜TÕ!Úðóð	õ
ða	|
ñx	 &/Ù‘h�Z¡�_Õ%Úð	óðõ&
ðy	|
ñV
 
Ñ$Ð%Ñ'8Ð8Õ	9ñW
|
rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a¥  
Add a *path operation* using an HTTP PUT operation.

## Example

```python
from fastapi import APIRouter, FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

app = FastAPI()
router = APIRouter()

@router.put("/items/{item_id}")
def replace_item(item_id: str, item: Item):
    return {"message": "Item replaced", "id": item_id}

app.include_router(router)
```
ÚPUTr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚputÚAPIRouter.putÃ  se   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�GØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  A  r¾  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a  
Add a *path operation* using an HTTP POST operation.

## Example

```python
from fastapi import APIRouter, FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

app = FastAPI()
router = APIRouter()

@router.post("/items/")
def create_item(item: Item):
    return {"message": "Item created"}

app.include_router(router)
```
ÚPOSTr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚpostÚAPIRouter.postA  óe   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�HØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  ¿  r·  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a&  
Add a *path operation* using an HTTP DELETE operation.

## Example

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
router = APIRouter()

@router.delete("/items/{item_id}")
def delete_item(item_id: str):
    return {"message": "Item deleted"}

app.include_router(router)
```
ÚDELETEr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚdeleteÚAPIRouter.delete¿  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�JØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  8  r·  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a   
Add a *path operation* using an HTTP OPTIONS operation.

## Example

```python
from fastapi import APIRouter, FastAPI

app = FastAPI()
router = APIRouter()

@router.options("/items/")
def get_item_options():
    return {"additions": ["Aji", "Guacamole"]}

app.include_router(router)
```
ÚOPTIONSr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚoptionsÚAPIRouter.options8  se   € ð|
 �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�KØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  ±  r¾  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )a°  
Add a *path operation* using an HTTP HEAD operation.

## Example

```python
from fastapi import APIRouter, FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

app = FastAPI()
router = APIRouter()

@router.head("/items/", status_code=204)
def get_items_headers(response: Response):
    response.headers["X-Cat-Dog"] = "Alone in the world"

app.include_router(router)
```
r²  r¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚheadÚAPIRouter.head±  rÈ  rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  /  r¾  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )aŠ  
Add a *path operation* using an HTTP PATCH operation.

## Example

```python
from fastapi import APIRouter, FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

app = FastAPI()
router = APIRouter()

@router.patch("/items/")
def update_item(item: Item):
    return {"message": "Item updated in place"}

app.include_router(router)
```
ÚPATCHr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚpatchÚAPIRouter.patch/  óe   € ðF �~‰~ØØ)Ø#ØØ%ØØ#Ø!5ØØ!Ø�IØ%Ø#9Ø#9Ø$;Ø)EØ,KØ(CØ/Ø)ØØØ'Ø(Cð1 ó 
ð 	
rn   c          2      óT  <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[S[,          ,          R,          S[! R	4      3,          R
S[ S[S[P                  ,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[
S[S[,          S[
S[S[3,          3,          R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[R,          S[! R4      3,          RS[ S[S[! R4      3,          RS[ S[S[! R4      3,          R S[ S[S[! R!4      3,          R"S[ S[S[! R#4      3,          R$S[ S[S[! R%4      3,          R&S[ S[S[,          S[! R'4      3,          R(S[ S[R,          S[! R)4      3,          R*S[ S[S[,          R,          S[! R+4      3,          R,S[ S[
S[S[3,          R,          S[! R-4      3,          R.S[ S[S[.S[3,          S[! R/4      3,          R0S[S[.S[3,          /# rµ  r¶  )rk   r›   s   "€rl   rm   r4  ­  r¾  rn   c               óV   € V P                  VVVVVVVVV	V
R.VVVVVVVVVVVVVR7      # )at  
Add a *path operation* using an HTTP TRACE operation.

## Example

```python
from fastapi import APIRouter, FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

app = FastAPI()
router = APIRouter()

@router.trace("/items/{item_id}")
def trace_item(item_id: str):
    return None

app.include_router(router)
```
ÚTRACEr¹  rº  r»  s   &&$$$$$$$$$$$$$$$$$$$$$$rl   ÚtraceÚAPIRouter.trace­  rÜ  rn   c                ó   <€ V ^8„  d   QhRR/# rå   r”   )rk   r›   s   "€rl   rm   r4  ,  s   ø€ ÷ ñ  ñ rn   c              ƒ  óŠ   "  € V P                    F,  p\        V4      '       d   V! 4       G Rj  x€L
  K%  V! 4        K.  	  R#  L5i)zÐ
Run any `.on_startup` event handlers.

This method is kept for backward compatibility after Starlette removed
support for on_startup/on_shutdown handlers.

Ref: https://github.com/Kludex/starlette/pull/3117
N)r(  rI   ©r¡   r±  s   & rl   rç   ÚAPIRouter._startup,  s1   é € ð —”ˆGÜ  ×)Ò)Ù“i—’á–	ó	 'áùó   ‚+A­A®Ac                ó   <€ V ^8„  d   QhRR/# rå   r”   )rk   r›   s   "€rl   rm   r4  <  s   ø€ ÷ ñ  ñ rn   c              ƒ  óŠ   "  € V P                    F,  p\        V4      '       d   V! 4       G Rj  x€L
  K%  V! 4        K.  	  R#  L5i)zÑ
Run any `.on_shutdown` event handlers.

This method is kept for backward compatibility after Starlette removed
support for on_startup/on_shutdown handlers.

Ref: https://github.com/Kludex/starlette/pull/3117
N)r)  rI   rä  s   & rl   rî   ÚAPIRouter._shutdown<  s3   é € ð ×'Ô'ˆGÜ  ×)Ò)Ù“i—’á–	ó	 (áùræ  c                ó>   <€ V ^8„  d   QhRS[ RS[. S[3,          RR/# )rh   Ú
event_typeri   rj   N)rÒ   r   r   )rk   r›   s   "€rl   rm   r4  L  s2   ø€ ÷ *ñ *áð*ñ �r™3�wÕð*ð 
ñ	*rn   c                ó–   € VR9   g   Q hVR8X  d   V P                   P                  V4       R# V P                  P                  V4       R# )zá
Add an event handler function for startup or shutdown.

This method is kept for backward compatibility after Starlette removed
support for on_startup/on_shutdown handlers.

Ref: https://github.com/Kludex/starlette/pull/3117
r®  N)r®  r¯  )r(  r  r)  )r¡   rë  ri   s   &&&rl   r°  ÚAPIRouter.add_event_handlerL  sA   € ð Ð4Ô4Ð4Ð4Ø˜Ô"Ø�O‰O×"Ñ" 4Ö(à×Ñ×#Ñ# DÖ)rn   zÌ
        on_event is deprecated, use lifespan event handlers instead.

        Read more about it in the
        [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).
        c                ó`   <€ V ^8„  d   QhRS[ S[S[! R4      3,          RS[S[.S[3,          /# )rh   rë  zM
                The type of event. `startup` or `shutdown`.
                rj   )r   rÒ   r   r   r@   )rk   r›   s   "€rl   rm   r4  g  sH   ø€ ÷ ñ áÙÚðóðõ
ðñ 
Ñ$Ð%Ñ'8Ð8Õ	9ñrn   c                ó   a a€ R VV 3R llpV# )zô
Add an event handler for the router.

`on_event` is deprecated, use `lifespan` event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/#alternative-events-deprecated).
c                ó0   € V ^8„  d   QhR\         R\         /# rg   r~  )rk   s   "rl   rm   Ú(APIRouter.on_event.<locals>.__annotate__{  r¥  rn   c                 ó,   <€ SP                  SV 4       V # rž   )r°  )ri   rë  r¡   s   &€€rl   r�  Ú%APIRouter.on_event.<locals>.decorator{  s   ø€ Ø×"Ñ" :¨tÔ4ØˆKrn   r”   )r¡   rë  r�  s   ff rl   Úon_eventÚAPIRouter.on_event_  s   ù€ ÷8	ñ 	ð Ðrn   )r;  r   r:  rN  rš  rX  r@  re   rP  rM  rÁ   r)  r(  r™  rR  r'  rB  rQ  rž   )NNT)-r¸   r¹   rº   r»   r¼   r!   rQ   rq  rC   r¢   r?  r  rJ  rO  rS  rX  rƒ   r…  r  ro  r\  rs  r   rŒ  r”  r˜  rä  r¨  r²  rµ  rÁ  rÆ  rÌ  rÑ  rÕ  rÚ  rà  rç   rî   r°  re   rô  r½   r¾   r  r	  s   @@rl   rÞ   rÞ   þ  sÏ  ù‡ € ñð4^Að RTð^Að" ð#^Að: ð;^AñP �LÓ!ðQ^Aðp ðq^AðL ðM^Aðx ðy^AðJ ðK^Að\ ð]^Aðr ðs^AðH ðI^Að` ða^Aðz ð{^AðV ðW^Aðp ðq^AðL ðM^Añj Ð&Ó'ðk^AñX �D‹M÷Y^Aõ ^A÷@	"ð "÷ò ÷ò ÷$$õ $÷"$õ $ðW$ð4 ð5W$ðJ ÷KW$ò W$÷r_1ð _1÷B-ð -÷ð ÷Að A÷0*ð 0*÷d2ð 2÷ò ð&R$ñ
 & d›mðR$ð #'ðR$ð )-ðR$ð 9=ðR$ð #ðR$ð #'ðR$ð %:ðR$ð =AðR$ð #'ðR$ð 04ðR$ð $(ðR$ð  04ð!R$ð" 04ð#R$ð$ )-ð%R$ð& .3ð'R$ð( 16ð)R$ð* -2ð+R$ð, #'ð-R$ñ. ?FÀlÓ>Sð/R$ð0  ð1R$ð2 7;ð3R$ð4 -1ð5R$ð6 04ð7R$ñ:  'Ð'9Ó:ð;R$ñ< :AÀ»÷=R$ò R$ðh<ñ & d›mð	<ð
 #'ð<ð )-ð<ð 9=ð<ð #ð<ð #'ð<ð %:ð<ð =Að<ð #'ð<ð %)ð<ð $(ð<ð 04ð<ð  04ð!<ð" )-ð#<ð$ .3ð%<ð& 16ð'<ð( -2ð)<ð* #'ð+<ñ, *1°Ó)>ð-<ð.  ð/<ð0 -1ð1<ð2 04ð3<ñ4 BIØóB
÷5<ò <ñ|$ð 9=÷$ó $ñ,Að< ÷=Aó A÷Fò ð{
ð RTð	{
ð$ ð%{
ð< ð={
ñR �LÓ!ðS{
ðr ðs{
ðN ðO{
ðh ði{
ð~ ð{
ñ\ Ð&Ó'÷]{
ò {
ðzw
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðr|
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð|w
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðrw
ñ\ �D‹Mð]w
ðv ðww
ðP ðQw
ðh ðiw
ðB ðCw
ðf ðgw
ðz "ð{w
ðN ðOw
ðb ðcw
ðJ ðKw
ðb ðcw
ðz ð{w
ðR ðSw
ðv ðww
ðX ðYw
ðz ð{w
ðT ðUw
ñn �LÓ!ðow
ð~ ðw
ð^	 ð_	w
ðv	 ðw	w
ñT
 Ð&Ó'÷U
w
ò w
ðr|
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
ð||
ñ\ �D‹Mð]|
ðv ðw|
ðP ðQ|
ðh ði|
ðB ðC|
ðf ðg|
ðz "ð{|
ðN ðO|
ðb ðc|
ðJ ðK|
ðb ðc|
ðz ð{|
ðR ðS|
ðv ðw|
ðX ðY|
ðz ð{|
ðT ðU|
ñn �LÓ!ðo|
ð~ ð|
ð^	 ð_	|
ðv	 ðw	|
ñT
 Ð&Ó'÷U
|
ò |
÷~ð ÷ ð ÷ *ð *ñ& ð	ó÷ó÷ð rn   rÞ   c                ó®   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   ^\         9   d   \        \
        R,          ,          ;R&   # )rh   rú   Nry  )Ú__conditional_annotations__r"  r/  r1   r   r   )rk   s   "rl   rm   rm      sG   € × Ñ ÷r 9Ò 8œœc¤?Ð2Õ3Ñ 8ñs ÷Zò œj¬¨t­Õ4ñ ò[ rn   rx  )Ér÷  rÉ   r)  Úemail.messager¼  rÂ  r†   rû   rQ  rh  r”  rK  r±   r{  Úcollections.abcr   r   r   r   r   r   r	   r
   r   r   r   r   r   Úcontextvarsr   Údataclassesr   r   Úenumr   r   Útypingr   r   r   r   r   r   rƒ  Úannotated_docr   Ú	anyio.abcr   r
  r   Úfastapi._compatr   r   r    Úfastapi.datastructuresr!   r"   Úfastapi.dependencies.modelsr#   r$   r%   r&   Úfastapi.dependencies.utilsr'   r(   r)   r*   r+   r,   r-   r.   r/   Úfastapi.encodersr0   Úfastapi.exceptionsr1   r2   r3   r4   r5   Úfastapi.sser6   r7   r8   r9   r:   Úfastapi.telemetry._apir;   r<   r=   r>   r?   Úfastapi.typesr@   rA   Úfastapi.utilsrB   rC   rD   rE   Ú	starletterF   Ústarlette._exception_handlerrG   Ústarlette._utilsrH   rI   Ústarlette.concurrencyrJ   rK   Ústarlette.datastructuresrL   rM   rN   Ústarlette.exceptionsrO   Ústarlette.requestsrP   Ústarlette.responsesrQ   rR   rS   rT   rU   Ústarlette.routingrV   rW   rX   rY   rZ   r[   Ústarlette.staticfilesr\   Ústarlette.typesr]   r^   r_   r`   ra   rb   Ústarlette.websocketsrd   Útyping_extensionsre   rˆ   r•   r–   r˜   rÌ   rÙ   rÛ   rú   r  r  r+  r5  rà  ré  r(  rë  r%  r3  r   r<  r8  ry  rì   rB  r  r÷  r  r'  r.  r5  r9  r>  rD  rF  ro  r'  rq  rŠ  r±  rã  r  rR  rU  rP  r^  rb  rf  rm  r~  r€  rÜ  r¸  rã  rÂ  r+  rÞ   rm   )r÷  s   @rl   Ú<module>r     sÝ  øðß Ð Û Û Û Û Û Û Û 	Û Û Û Û ÷
÷ 
õ 
÷ó õ #ß (ß ÷÷ ó Ý Ý )Ý ÷ñ ÷
 ?÷ó ÷
÷ 
õ 
õ .÷õ ÷õ ÷õ ÷ 3÷ó õ Ý Eß >ß Jß ;Ñ ;Ý .Ý &÷õ ÷õ õ -Ý -ß L× LÝ *Ý (õ
'õXñ0 ˆTƒ]€ôAÐ:¸2Õ>ô Aõ.õ"÷"ñ ð2 79Ð Ó 8õð.(2à#ð(2ð !ð	(2ð
 !ð(2ð ð(2ð  ð(2ð #ð(2ð ð(2ð ð(2ð ,0ð(2ð ÷(2õV
õ ð( %)Ø"Ù:AÀ,Ó:OØ(,Ø+/Ø+/Ø$(Ø).Ø,1Ø(-Ø04Ø#Ù5<¸T³]Ø+/Ø ÷!O÷d,ô^$"˜×.Ò.ô $"ðN Ð Ø'@Ð $Ø,Ð Ø$:Ð !Ø0Ð Ù7AØ%¨tô8Ð ó ñ “€õ	õ5ô"�Xô õõ>õWõOõõ&ô(�Hô (ðVb'ñ
 " $›-ðb'ð #ðb'ð %)ðb'ð 59ðb'ð ðb'ð #ðb'ð !6ðb'ð 9=ðb'ð #ðb'ð ðb'ð ,0ðb'ð   $ð!b'ð" ,0ð#b'ð$ ,0ð%b'ð& %)ð'b'ð( */ð)b'ð* -2ð+b'ð, ).ð-b'ð. #ð/b'ñ0 ;BÀ,Ó:Oð1b'ð2 15ð3b'ð4 )-ð5b'ð6 ,0ð7b'ñ8 NUØóNð9b'ñ> 6=¸T³]ð?b'ð@ $(÷Ab'ôJW3ˆw�}Š}ô W3ðt ÷U(ð U(ó ðU(ðp ÷o3ð o3ó ðo3ñd �$Ô÷%4ð %4ó ð%4ðP ôm6�ió m6ó ðm6õ`õBõõõõõ-õô$v
˜;ô v
õr
õ"ô5.�Yô 5.ôpYL˜)ô YLôxAB�—’ö ABrn   