
    xh                     0   S SK JrJrJrJrJrJr  S SKJrJ	r	  S SK
JrJr  SSKJr   " S S\	5      r " S S	\\5      r " S
 S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\5      r " S S\\5      r " S S\5      r " S S\\5      r " S S\5      r " S S\5      r " S  S!\5      r\\\-  \-  \-  \-  \-  \-  \-  \-  \-  \-  \-  \" S"S#94   r/ S$QrS%\S&\4S' jr\\ \!\\-  4   \" \5      4   r"g())    )	AnnotatedAnyCallableLiteralOptional	TypedDict)FieldSchema)BeforeValidatormodel_serializer   )LaxIngestSchemac                   F    \ rS rSrSr\" SS9S\S\\\	4   4S j5       r
Srg)	ExcludeNoneSchema	   z
Implements model_dump's exclude_none on the schema itself
Useful for nested schemas where more granular control is needed
Related https://github.com/pydantic/pydantic/discussions/5461
wrap)modereturnc                     [        U [        5      (       a5  U R                   Vs0 s H  n[        X5      c  M  U[        X5      _M     sn$ U" U 5      $ s  snf N)
isinstancer
   model_fieldsgetattr)selfr   model_fields      $/code/apps/shared/schema/contexts.py	ser_modelExcludeNoneSchema.ser_model   s\    dF## $(#4#4#4K4- 8WT77#4 
 Dzs
   AA N)__name__
__module____qualname____firstlineno____doc__r   r   dictstrr   r   __static_attributes__r       r   r   r   	   s6     6"h 4S>  #r(   r   c                   `   \ rS rSr% Sr\S   \S'   Sr\\	   \S'   Sr
\\	   \S'   Sr\\	   \S'   Sr\\	   \S'   Sr\\	   \S	'   Sr\\   \S
'   Sr\\	   \S'   Sr\\	   \S'   Sr\\	   \S'   Sr\\	   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr \\   \S'   Sr!\\   \S'   Sr"\\   \S'   Sr#\\   \S'   Sr$\\   \S'   Sr%\\	   \S'   Sr&\\	   \S'   Sr'\\	   \S '   Sr(\\   \S!'   Sr)\\	   \S"'   Sr*\\   \S#'   Sr+\\	   \S$'   Sr,\\	   \S%'   Sr-\\	   \S&'   Sr.\\   \S''   Sr/\\   \S('   Sr0\\   \S)'   Sr1\\   \S*'   Sr2\\   \S+'    " S, S-\3Rh                  5      r4S.r5g)/DeviceContext   devicetypeNnamefamilymodelmodel_idarchbattery_levelorientationmanufacturerbrandscreen_resolutionscreen_height_pixelsscreen_width_pixelsscreen_density
screen_dpionlinecharging
low_memory	simulatormemory_sizefree_memoryusable_memorystorage_sizefree_storageexternal_storage_sizeexternal_free_storage	boot_timetimezonelanguageprocessor_countcpu_descriptionprocessor_frequencydevice_typebattery_statusdevice_unique_identifiersupports_vibrationsupports_accelerometersupports_gyroscopesupports_audiosupports_location_servicec                       \ rS rSrSrSrg)DeviceContext.ConfigE   r   N)r    r!   r"   r#   protected_namespacesr'   r   r(   r   ConfigrV   E   s    !r(   rY   r   )6r    r!   r"   r#   r-   r   __annotations__r.   r   r&   r/   r0   r1   r2   r3   floatr4   r5   r6   r7   r8   intr9   r:   r;   r<   boolr=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   rY   r'   r   r(   r   r*   r*      sP   &D'(
&D(3- FHSM E8C="Hhsm"D(3-%)M8E?)!%K#%"&L(3-&E8C='+x}+*.(3-.)-#-&*NHUO*"&J&!FHTN!#Hhtn#!%J% $Ix~$!%K#%!%K#%#'M8C='"&L(3-&"&L(3-&+/8C=/+/8C=/#Ix}#"Hhsm""Hhsm"%)OXc])%)OXc])+/%/!%K#%$(NHSM(.2hsm2)---1HTN1)--%)NHTN)04x~4"'' "r(   r*   c                       \ rS rSr% Sr\S   \S'   \\S'   Sr\	\   \S'   Sr
\	\   \S'   Sr\	\   \S'   Sr\	\   \S	'   Sr\	\   \S
'   Sr\	\   \S'   Srg)	OSContextI   osr-   r.   Nversionbuildkernel_versionrootedthemeraw_descriptionr   )r    r!   r"   r#   r-   r   rZ   r&   rb   r   rc   rd   re   r]   rf   rg   r'   r   r(   r   r_   r_   I   si    D'$-
I!GXc]!E8C=$(NHSM(!FHTN!E8C=%)OXc])r(   r_   c                   f    \ rS rSr% Sr\S   \S'   Sr\S-  \S'   Sr	\S-  \S'   Sr
\S-  \S'   Srg)	RuntimeContextT   runtimer-   Nr.   rb   rg   r   )r    r!   r"   r#   r-   r   rZ   r.   r&   rb   rg   r'   r   r(   r   ri   ri   T   s;    (D')
(D#*GS4Z"&OS4Z&r(   ri   c                       \ rS rSr% Sr\S   \S'   Sr\\	   \S'   Sr
\\	   \S'   Sr\\	   \S'   Sr\\	   \S'   Sr\\	   \S	'   Sr\\	   \S
'   Sr\\	   \S'   Sr\\   \S'   Sr\\   \S'   Srg)
AppContext[   appr-   Napp_start_timedevice_app_hash
build_typeapp_identifierapp_nameapp_version	app_build
app_memoryin_foregroundr   )r    r!   r"   r#   r-   r   rZ   rp   r   r&   rq   rr   rs   rt   ru   rv   rw   r\   rx   r]   r'   r   r(   r   rm   rm   [   s     D'%. $(NHSM(%)OXc]) $J$$(NHSM("Hhsm"!%K#%#Ix}# $J$$(M8D>(r(   rm   c                   H    \ rS rSr% Sr\S   \S'   \\S'   Sr\	\   \S'   Sr
g)BrowserContexth   browserr-   r.   Nrb   r   )r    r!   r"   r#   r-   r   rZ   r&   rb   r   r'   r   r(   r   rz   rz   h   s$    (D')
(
I!GXc]!r(   rz   c                   L   \ rS rSr% Sr\S   \S'   \\S'   Sr\	\   \S'   Sr
\	\   \S'   Sr\	\   \S'   Sr\	\   \S	'   Sr\	\   \S
'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Srg)
GPUContextn   gpur-   r.   Nrb   id	vendor_idvendor_namer@   api_typemulti_threaded_renderingnpot_supportmax_texture_sizegraphics_shader_levelsupports_draw_call_instancingsupports_ray_tracingsupports_compute_shaderssupports_geometry_shadersr   )r    r!   r"   r#   r-   r   rZ   r&   rb   r   r   r   r   r@   r\   r   r   r]   r   r   r   r   r   r   r   r'   r   r(   r   r~   r~   n   s     D'%. 
I!GXc]!B#Ix}#!%K#%!%K#%"Hhsm"/3htn3"&L(3-&&*hsm*+/8C=/48!8D>8+/(4.//3htn304x~4r(   r~   c                   4    \ rS rSr% Sr\S   \S'   \\S'   Srg)StateContext   stater-   r   N	r    r!   r"   r#   r-   r   rZ   r%   r'   r   r(   r   r   r      s    $D''
$Kr(   r   c                       \ rS rSr% Sr\S   \S'   Sr\\	   \S'   Sr
\\	   \S'   Sr\\	   \S'   Sr\\   \S'   Sr\\	   \S	'   S
rg)CultureContext   culturer-   Ncalendardisplay_namelocaleis_24_hour_formatrH   r   )r    r!   r"   r#   r-   r   rZ   r   r   r&   r   r   r   r]   rH   r'   r   r(   r   r   r      sX    (D')
("Hhsm""&L(3-& FHSM (,x~,"Hhsm"r(   r   c                   >    \ rS rSr% Sr\S   \S'   \\S'   \\S'   Srg)CloudResourceContext   cloud_resourcer-   cloudhostr   Nr   r   r(   r   r   r      s    &6D'"
#6K
Jr(   r   c                       \ rS rSr% Sr\S   \S'   \\S'   \\S'   Sr\S-  \S'   Sr	\S-  \S'   Sr
\S-  \S	'   Sr\S-  \S
'   Sr\S-  \S'   Sr\\-  S-  \S'   Sr\S-  \S'   Sr\S-  \S'   Srg)TraceContext   tracer-   trace_idspan_idNparent_span_idopstatusexclusive_timeclient_sample_ratetagsdynamic_sampling_contextoriginr   )r    r!   r"   r#   r-   r   rZ   r&   r   r   r   r   r[   r   r   r%   listr   r   r'   r   r(   r   r   r      s    $D''
$ML!%NC$J%Bd
FC$J#'NEDL''++#D$+
#,0dTk0FC$Jr(   r   c                   4    \ rS rSr% Sr\S   \S'   \\S'   Srg)ReplayContext   replayr-   	replay_idr   N)	r    r!   r"   r#   r-   r   rZ   r&   r'   r   r(   r   r   r      s    &D'(
&Nr(   r   c                   4    \ rS rSr% Sr\S   \S'   \\S'   Srg)ResponseContext   responser-   status_coder   N)	r    r!   r"   r#   r-   r   rZ   r\   r'   r   r(   r   r   r      s     *D'*
*r(   r   c                       \ rS rSr% \\S'   \\S'   \\S'   \\S'   \	\S'   \
\S'   \\S'   \\S	'   \\S
'   \\S'   \\S'   \\S'   Srg)ContextsDict   r,   ra   rk   ro   r|   r   r   r   r   r   r   r   r   N)r    r!   r"   r#   r*   rZ   r_   ri   rm   rz   r~   r   r   r   r   r   r   r'   r   r(   r   r   r      sG    M	O	O((r(   r   r-   )discriminator)r,   ra   rk   ro   r|   r   r   r   r   r   r   r   vr   c                     [        S U R                  5        5       5      (       a>  U R                  5        VVs0 s H   u  pUU[        ;   a  SU;  a  0 UESU0EOU_M"     snn$ U $ s  snnf )Nc              3   B   #    U  H  n[        U[        5      v   M     g 7fr   )r   r%   ).0values     r   	<genexpr> default_types.<locals>.<genexpr>   s     
;
u:eT""
s   r-   )allvaluesitemstype_strings)r   keyr   s      r   default_typesr      s    

;

;;;  ggi
 (
  l"vU':	
  (
 	
 H
s   'A&N)#typingr   r   r   r   r   r   ninjar	   r
   pydanticr   r   baser   r   r*   r_   ri   rm   rz   r~   r   r   r   r   r   r   r   ContextsUnionr   r   r%   r&   Contextsr   r(   r   <module>r      s   I I  6 ! $+"O%6 +"\*!2 *'_&7 '
)"3 
)"_&7 "5"3 5&? 
#_&7 #? ?$5 O 
o 
9    	
     	 
  
!" S S   T#}s223_]5SSTr(   