
    ]j                        U d dl Z d dlZd dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlm Z  d d	l!m"Z"m#Z# d d
l$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*mZ+ d dl*m,Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z?m@Z@mAZA d dlBmCZCmDZD dZEeFeGd<   deFdeeF   deeF   fdZHeFj                  dddddddd       ZJd!edefd"ZKd#ee3   deFfd$ZLeeFeeF   f   ZMeeFe3f   ZN ej                         ZPeQeGd%<   ddePfd&ee3   d'eeN   d(eeeF      d)eQdeee3   eNeeF   f   f
d*ZRd+eFd,eFdeeFeFf   fd-ZSd.eFd/eFd0eFdeeFeFf   fd1ZTeD G d2 d3eC             ZU ed4      ZVdGd5ed6eeeV      deeV   fd7ZWd8eFdeFfd9ZXd:e3dee3   fd;ZYd<eFd=ee3   dee4   fd>ZZd?ee?   dee?   fd@Z[ G dA dBe       Z\ G dC dDe       Z] G dE dFe      Z^y)H    N)ABCabstractmethod)OrderedDictdefaultdict)groupby)Path)AnyCallableDefaultDictDictIterableIteratorListMapping
NamedTupleOptionalSequenceSetTupleTypeTypeVarUnion)ParseResult)	BaseModel)CodeFormatterPythonVersion)IMPORT_ANNOTATIONSIMPORT_LITERALIMPORT_LITERAL_BACKPORTImportImports)pydantic)pydantic_v2)	ALL_MODEL	UNDEFINEDBaseClassDataTypeConstraintsBase	DataModelDataModelFieldBase)EnumMember)DefaultPutDictLiteralType)ModelResolver	Reference)DataTypeDataTypeManagerStrictTypes)Protocolruntime_checkablez+#-datamodel-code-generator-#-{}-#-special-#SPECIAL_PATH_FORMATkeywordpathreturnc                 4    g |t         j                  |       S N)r5   format)r6   r7   s     N/root/env/lib/python3.12/site-packages/datamodel_code_generator/parser/base.pyget_special_pathr=   8   s    7T7&--g677    z\\z\'z\bz\fz\nz\rz\t)\'
	itemc                 p   t        | t        t        f      rt        t        d | D                    S t        | t              r)t        t        d | j                         D                    S t        | t              rt        d | D              S t        | t              rt        | j	                               S | S )Nc              3   2   K   | ]  }t        |        y wr:   to_hashable.0is     r<   	<genexpr>zto_hashable.<locals>.<genexpr>Q   s     9qKN9   c              3   <   K   | ]  \  }}|t        |      f  y wr:   rI   rL   kvs      r<   rN   zto_hashable.<locals>.<genexpr>T   s*      
 Aq Ns   c              3   2   K   | ]  }t        |        y wr:   rI   rK   s     r<   rN   zto_hashable.<locals>.<genexpr>]   s     6AQ6rO   )

isinstancelisttuplesorteddictitemsset	frozensetr   rJ   )rF   s    r<   rJ   rJ   I   s    	
 V9D99::	D$	 
 !JJL 
 	
 
D#	6666	D)	$499;''Kr>   	templatesc                 2    dj                  d | D              S )Nz


c              3   2   K   | ]  }t        |        y wr:   )str)rL   ms     r<   rN   z!dump_templates.<locals>.<genexpr>d   s     3AQ3rO   )join)r]   s    r<   dump_templatesrc   c   s    ==3333r>   MAX_RECURSION_COUNTunsorted_data_modelssorted_data_modelsrequire_update_action_modelsrecursion_countc           	         |
t               }|g }t        |      }g }| D ]  }|j                  s|||j                  <   |j                  |j                  v rCt        |j                        dk(  r+|||j                  <   |j	                  |j                         z|j                  |j                  hz
  t        |      z
  sD|||j                  <   |j                  |j                  v s|j	                  |j                         |j	                  |        |r|t        |      k7  r|r	 t        ||||dz
        S 	 g }|D cg c]  }|j                   }	}|D ]  }|j                  D 
cg c]K  }
|
j                  r=|
j                  j                  |	v r%|	j                  |
j                  j                        M }}
|r|j	                  t        |      |f       |j	                  d|f        t        |d       D cg c]  }|d   	 }}||k(  rn|}t        |	      }|D ]  }|j                  |j                  hz
  t        |      z
  }|j                  D cg c]  }t        |j                  dd        }}t        |      j                  |      }|s-|||j                  <   |r|j	                  |j                         ||z
  s+|||j                  <   |j	                  |j                         dj                  d |D              }t!        d| d	       |||fS # t        $ r Y w xY wc c}w c c}
w c c}w c c}w )
N   c                     | d   S )Nr    )ra   s    r<   <lambda>z"sort_data_models.<locals>.<lambda>   s
    1Q4 r>   keyr7   z, c              3   V   K   | ]!  }d |j                    d|j                   d # yw)z[class: z references: ]N)r7   reference_classes)rL   rF   s     r<   rN   z#sort_data_models.<locals>.<genexpr>   s2      + 499+]43I3I2J!L+s   ')z"A Parser can not resolve classes: .)r   lenrs   r7   appendr[   sort_data_modelsRecursionErrorbase_classes	referenceindexmaxrX   getattrintersectionrb   	Exception)re   rf   rg   rh   sorted_model_countunresolved_referencesmodelordered_modelsra    unresolved_reference_model_namesbindexessorted_unresolved_modelsunsorted_data_model_namesunresolved_modelsbase_modelsupdate_action_parentunresolved_classess                      r<   rw   rw   m   s    !(]#+')$!"45-/% 0&&-2uzz*JJ%111c%:Q:Q6RVW6W-2uzz*(//

;''5::,6=O9PP-2uzz*zzU444,33EJJ?!((/0  %7!88_')&0#a'	  :<N@U/V1/V,/V.  #//{{((,LL 5::1;;;K;KL  "))L! #))!, %^H(!($ ( (+@@$<!; @ %((H$I!* 	XE''5::,6=O9PP  =B<N<N78VT2K  $''C#D#Q#Q$  $16"5::.'077

C#&??16"5::.,33EJJ?!% +1+ " @AS@TTUVWW1	X2 !"46RRR} "  0W((s+   +L" L2+AL7L<M"	L/.L/current_modulerz   c                 J   | r| j                  d      ng }|j                  d      ^ }}||k(  ryd}t        ||      D ]  \  }}||k7  r n|dz  } dt        |      |z
  z  }dj                  ||d       }	|sd}|	s|}	||	fS d|	v r|	j	                  dd      \  }
}	||
z  }||	fS )zFind relative module path.rt   ) r   r   rj   N)splitzipru   rb   rsplit)r   rz   current_module_pathreference_pathnamerM   xyleftrightextras              r<   relativer      s     8F...s32%OOC0^Tn,	A'8 16	Q
 #)*Q./DHH^AB'(E
 ;	 
||C+u;r>   from_import_
short_namec                 F    | t        |       dz  k(  r|  | |fS |  d| |fS )Nrt   )ru   )r   r   r   s      r<   exact_importr      s?    E
S   	"J..WAgY++r>   c                   (    e Zd Zedee   fd       Zy)Childr8   c                     t         r:   NotImplementedErrorselfs    r<   parentzChild.parent       !!r>   N)__name__
__module____qualname__propertyr   r	   r   rm   r>   r<   r   r      s    " " "r>   r   Tvaluetype_c                 n    t        | t              r$|t        | |      st        | j                  |      S | S r:   )rU   r   get_most_of_parentr   )r   r   s     r<   r   r     s/    %U]*UE:R!%,,66Lr>   titlec                     t        j                  dd|       }dj                  d |j                         D              }|S )Nz[^A-Za-z0-9]+ r   c              3   B   K   | ]  }|j                         r|  y wr:   )isspace)rL   r   s     r<   rN   z&title_to_class_name.<locals>.<genexpr>  s     HaAIIKHs   )resubrb   r   )r   	classnames     r<   title_to_class_namer   
  s5    U3IH9??#4HHIr>   r   c                     | j                   D cg c]H  }|j                  r:t        |j                  j                  t              r|j                  j                  J c}S c c}w r:   )ry   rz   rU   sourcer(   )r   r   s     r<   _find_base_classesr     sN     ##;;:akk&8&8)D 	
  s   AAoriginal_namemodelsc                      dt         dt        t        t           t        t            f   f fd}|D ]$  } ||      \  }}|r|c S |j                  |       & y )Nmodel_r8   c                 j    | j                   D ]  }|j                  k(  s|g fc S  d t        |       fS r:   )fieldsr   r   )r   field_r   s     r<   _find_field_and_base_classesz1_find_field.<locals>._find_field_and_base_classes  sC     mm 	"F##}4rz!	" '///r>   )r(   r   r   r)   r   extend)r   r   r   r   fieldr   s   `     r<   _find_fieldr     se    00	x*+T)_<	=0  #9%@{Lk"	# r>   
data_typesc                 V   g }| D ]  }|j                   r,|j                  |j                  |j                                ;|j                  r<|j	                         }t        |j                        |_        |j                  |       |j                  |j	                                 |S )Nrz   )rz   rv   	__class__r   copy_copy_data_types)r   copied_data_types
data_type_copied_data_types       r<   r   r   ,  s    (*  
8
$$$$z/C/C$D "")0*::;P;P*Q'$$%56$$Z__%67
8 r>   c                   ,    e Zd ZU eed<   dZee   ed<   y)ResultbodyNr   )r   r   r   r`   __annotations__r   r   r   rm   r>   r<   r   r   <  s    
I!FHTN!r>   r   c            	       D    e Zd ZU eed<   eed<   ededededd fd       Zy)Sourcer7   text	base_pathencodingr8   c                 T     | |j                  |      |j                  |            S )N)r   r7   r   )relative_to	read_text)clsr7   r   r   s       r<   	from_pathzSource.from_pathE  s+    !!),2
 	
r>   N)r   r   r   r   r   r`   classmethodr   rm   r>   r<   r   r   A  s:    
J
I
T 
d 
c 
h 
 
r>   r   c                      e Zd Zej                  ej
                  ej                  ej                  ddddej                  dddddddddddddddddddddddddddde
ddddddddddddddddddddddddddddddCdeeeee   ef   dee   dee   dee   d	ee   d
ee   deee      dee   deeeeeef   f      dedeeee   gef      dededededeeeef      dededededee   dedee   dedededed ed!ee   d"ed#ed$ed%ed&ed'eeeef      d(ed)eee      d*ee   d+eeegef      d,eee      d-ed.eee      d/ee   d0ed1ed2ed3eee eef         d4ed5ed6ed7ee   d8ed9ed:ed;ed<ee   d=ed>ed?ed@edAeee      dBeee      dCeeeef      dDedEeee eef         dFedGedHeeeef      dIdfdJZ!e"dIe#e$   fdK       Z%deee      dIdfdLZ&dMedIefdNZ'e(dMedIee   fdO       Z)e"dIee*   fdP       Z+e,dndQ       Z-dRee   dIdfdSZ.e(dRee   dIdfdT       Z/dRee   dUe0dVe1dWedIdf
dXZ2e(dRee   dIdfdY       Z3dRee   dUe0dIdfdZZ4e(d[e*dIee*   fd\       Z5dRee   dIdfd]Z6e(dRee   dIdfd^       Z7dRee   d_ee   dIdfd`Z8dRee   daee   dUe0dVe1dIdf
dbZ9dRee   dIdfdcZ:dRee   dIdfddZ;dRee   dUe0dIdfdeZ<dRee   dIdfdfZ=e(dg        Z>dRee   dUe0dVe1dIdfdhZ?	 	 	 dodiee   djee   dkee   dIeeee edlf   e@f   f   fdmZAy)pParserNFzutf-8)Cdata_model_typedata_model_root_typedata_type_manager_typedata_model_field_type
base_classadditional_importscustom_template_dirextra_template_datatarget_python_versiondump_resolve_reference_action
validationfield_constraintssnake_case_fieldstrip_default_nonealiasesallow_population_by_field_name(apply_default_values_for_required_fieldsallow_extra_fields"force_optional_for_required_fields
class_nameuse_standard_collectionsr   use_schema_descriptionuse_field_descriptionuse_default_kwargreuse_modelr   enum_field_as_literalset_default_enum_memberuse_subclass_enumstrict_nullableuse_generic_container_typesenable_faux_immutabilityremote_text_cachedisable_appending_item_suffixstrict_typesempty_enum_field_namecustom_class_name_generatorfield_extra_keysfield_include_all_keys!field_extra_keys_without_x_prefixwrap_string_literaluse_title_as_nameuse_operation_id_as_nameuse_unique_items_as_sethttp_headershttp_ignore_tlsuse_annotated2use_non_positive_negative_number_constrained_typesoriginal_field_name_delimiteruse_double_quotesuse_union_operatorallow_responses_without_contentcollapse_root_modelsspecial_field_name_prefix remove_special_field_name_prefixcapitalise_enum_memberskeep_model_orderuse_one_literal_as_defaultknown_third_partycustom_formatterscustom_formatters_kwargsuse_pendulumhttp_query_parameterstreat_dots_as_moduleuse_exact_importsdefault_field_extrasr   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  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&  r8   c       C         6    ||
||!|%|5@      | _         || _        || _        || _        t	        C      | _        |C| _        | j                  |       || _        |
| _	        g | _
        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        | | _        |!| _        |5| _        |"| _        |'| _        |(xs
 t?               | _         |*xs
 t?               | _!        |)| _"        |#xs
 tG               | _$        d | _%        |,| _&        |-| _'        |.| _(        |r|| _)        nitU        |tV              r@|jY                         r|j[                         n|j[                         j\                  | _)        ntW        j^                         | _)        || _0        || _1        |	xs te        tf              | _4        |rd| jh                  tj           d<   |rd| jh                  tj           d<   |"rd| jh                  tj           d<   tm        tU        |tn              r|jq                         nd |$rdnd ||&||'| jR                  |3|8|9|:	      | _9        || _:        |+| _;        |/| _<        A| _=        |0| _>        |1| _?        | j~                  r| j                  st        d
      |2| _A        |4| _B        |6| _C        |7| _D        |:| _E        |;| _F        |<| _G        |=| _H        |>| _I        |?| _J        B| _K        D| _L        y )N)python_versionr   r  r  r  r"  )r   Tr   r   Fallow_mutationr   )base_urlsingular_name_suffixr   empty_field_namer   r	  r   r  r  r  r  zA`use_annotated=True` has to be used with `field_constraints=True`)Mdata_type_managerr   r   r   r!   importsr%  _append_additional_importsr   r   resultsr   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  current_source_pathr  r  r  r   rU   r   is_dirabsoluter   cwdr   r   r   rY   r   r$   r.   r   geturlmodel_resolverr   r  r  r#  r  r  r   r  r  r  r  r  r  r  r  custom_formatterr!  r$  r&  )Er   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  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&  sE                                                                        r<   __init__zParser.__init__N  sT   T 3I0%=(C%1%3
 1@5I!?T" '(9 :'8'';M'N)34I"(*) 	* !+'8&6(:4 	5 / 	/ -C#+@"'8!,%<Q"-D$'8%41L((:.F%' 	( +;*Cce-6 	. -C# 1!1 	 48 '8.F%-D$&DN%%+]]_!&//:K:R:R N "XXZDNAG#6 4;t#4 	  *TXD$$Y/0PQHLD$$Y/0DE#DID$$Y/0@A+(26;(GV]]_T'D$2-(Cnn*G&?-M$;
 *43F AM! 	" &5#0d&<&<S  ? 	? "3/N,$8!'>$ 0*D'!2 1(@%$8!>R!r>   c              #     K   t        | j                  t              r"t        t	               | j                         y t        | j                  t              r| j                  j                         rkt        | j                  j                  d      d       D ]@  }|j                         st        j                  || j                  | j                         B y t        j                  | j                  | j                  | j                         y t        | j                  t              r?| j                  D ]/  }t        j                  || j                  | j                         1 y t        t	        | j                  j                        | j                  j                  | j                  j!                         | j"                               y w)Nr   *c                     | j                   S r:   )r   )ps    r<   rn   z$Parser.iter_source.<locals>.<lambda>  s
     r>   ro   default_factory)rU   r   r`   r   r   r2  rX   rglobis_filer   r   r   rV   r7   r  
get_or_putr5  _get_text_from_url)r   r7   s     r<   iter_sourcezParser.iter_source  sH    dkk3'df4;;77T*{{!!#"4;;#4#4S#9?OP TD||~$..tT^^T]]SST &&t{{DNNDMMRRT* L&&tT^^T]]KKL $++**+++66KK&&($:Q:Q 7  s   B+G.D+Gc                     |g }|D ]5  }|t        j                  |      }| j                  j                  |       7 y r:   )r    from_full_pathr.  rv   )r   r   additional_import_string
new_imports       r<   r/  z!Parser._append_additional_imports+  sL     %!#(: 	,$'/../GHJLL
+		,r>   urlc                 X     ddl m  j                  j                   fd      S )Nr   )get_bodyc                 V     j                   j                  j                        S r:   )r  r  r#  )url_rJ  r   rH  s    r<   rn   z+Parser._get_text_from_url.<locals>.<lambda><  s'    T&&(<(<d>X>X* r>   r=  )datamodel_code_generator.httprJ  r  rA  )r   rH  rJ  s   ``@r<   rB  zParser._get_text_from_url7  s,    :%%00 1 
 	
r>   c                 v    |j                    d|j                   g|j                  j                  d      dd  S )Nz:///rj   )schemehostnamer7   r   )r   rH  s     r<   get_url_path_partszParser.get_url_path_partsA  s@     zzl#cll^,
XX^^C $
 	
r>   c                 .    | j                   j                  S r:   )r-  	data_typer   s    r<   rT  zParser.data_typeH  s    %%///r>   c                     t         r:   r   r   s    r<   	parse_rawzParser.parse_rawL  r   r>   r   c                 
   i }t        t              }|d d  D ]  }t        || j                        r|j                  d   j
                  }|j                  r|j                  s|j                  s|j                  j                  |v r|j                  j                  | j                  j                  |j                  j                  d      j                  k(  rz|j                  j                  d d  D ]  }|j                  |j                          |j!                  |       |j"                  D ]  }|j                  s|j%                          ! <|j                  j                  D ]y  }t        |t&              s|j(                  d d  D ]7  }|j                  |j                  k(  s|j(                  j!                  |       9 |j(                  rj|j+                          { |j,                  xs |j.                  }	|	|v rt1        d |j3                  |j,                        |j4                  fD              }
||	   }t1        d |j3                  |j,                        |j4                  fD              }|
|k(  r||   j7                  |       ||||	<    |j9                         D ]V  \  }}|D ]L  }|j                  j                  d d  D ]  }|j                  |j                          |j!                  |       N X y )Nr   F)uniquec              3   2   K   | ]  }t        |        y wr:   rI   rL   rS   s     r<   rN   z3Parser.__delete_duplicate_models.<locals>.<genexpr>z  s      "  N"rO   r   c              3   2   K   | ]  }t        |        y wr:   rI   rZ  s     r<   rN   z3Parser.__delete_duplicate_models.<locals>.<genexpr>  s      +  N+rO   )r   rV   rU   r   r   rT  rz   is_dictis_listr   r   r6  get_class_namer   childrenreplace_referenceremoveall_data_typesremove_referencer(   ry   set_base_classduplicate_class_namer   rW   renderr.  rv   rZ   )r   r   model_class_namesmodel_to_duplicate_modelsr   root_data_typechildrT  r   r   	model_keyoriginal_modeloriginal_model_keyduplicate_modelsduplicate_models                  r<   __delete_duplicate_modelsz Parser.__delete_duplicate_modelsP  s   24 	" AY 9	2E%!:!:;!&a!:!:
 #,,*22*22&00776A&0055**9955e : d "'!9!9!!< J//0H0HIJMM%(%*%9%9 9	$..%6689  #__55 3E!%3*/*<*<Q*? FJ)33uF % 2 2 9 9* EF  %11!0023 33Gu7G7GJ..! " 0J0JK" 	 "3:!>%* + '--'5'J'J .  '..	+ &"  22-n=DDUK,1j)s9	2t (A'F'F'H 	/#E##3 /,66??B =E++EOO<=o./	/r>   c           	         t        |D ch c]-  }|j                  D ]  }|j                  xs |j                   / c}}d      }i }|D ]S  }|j                  }|j                  |j                  g|dd      j                  }||k7  r||_        |||j                  <   U |D ]/  }|j                  }	|	s|	|vs||j                  = |	|_        |||	<   1 y c c}}w )NModel)exclude_namesduplicate_name_suffixT)rX  r   )	r.   r.  aliasr   r   addr7   r   rf  )
r   r   ra   rM   scoped_model_resolvermodel_namesr   r   generated_nameduplicate_names
             r<   "__replace_duplicate_name_in_modulez)Parser.__replace_duplicate_name_in_module  s     -9?SASA177/aii/S/S")!

 -/ 	2E#..J"7";";j$ #< #d  ^+#1 ,1K(()	2  	4E"77N."C 0 01#1 .3N+	4 Ts   2C
r.  rx  initc           
      B   |D ])  }|j                  |j                  g|j                         + |D ]k  }|j                  }|j	                  |       |j
                  D ]  }|j                  r|j                  j                  |v r)t        |t              rut        |j                  |j                        \  }}	|j                  d      rdj                  ||	g      ndj                  ||	g      }
|j                  j                  }|
|f}nt        |j                  |j                        x\  }
}}|j                   r$t#        |
||j                  j                        \  }
}|j%                  dd      }t'        |j(                        dkD  rP|j(                  d   j+                  d      dkD  r/| j,                  s#|j(                  d   j+                  d      }|
|d  }
|j                  ||      j.                  }|j                  j                  }|
r.|r,||k7  r'|j                  j                  |k(  r|n| d| |_        |rd|
z   }
|j	                  t3        |
|||j                  j                                |j                  }||k7  s[|j	                  |       n y )	Nrt   r   -_rj   rk   r   r   r   rv  r   )rw  r7   r   r.  rv   rc  rz   r   rU   r&   r   module_name	full_nameendswithrb   r   	use_exactr   replaceru   module_pathcountr$  r   rv  r    )r   r   r.  rx  r}  r   before_importrT  r   r   r   r   	full_pathrel_path_depthrv  r   after_imports                    r<   __change_from_importzParser.__change_from_import  s     	FE!%%uzzlE4D4DE	F ;	-E!MMMNN=)"11 5	 !**i.A.A.H.HF.R i):;"*5+<+<i>Q>Q"RKD%  ==- u. XXtUm4 
 (11<<G %wI19))9+>+>2 NE7Y (()5!7I,?,?,J,J*w &ooc37GE--.2!--b177<q@ $ 9 9).):):2)>)D)DS)I %no 6-11)WEJJ **55W$ %..99WD  %wav. O %KE# '#'0':':'?'?	]5l !==L,|,w;	-r>   c                    |d d  D ]  }|j                   rg }|j                  D ]G  }|j                  s|j                  j                  }t	        |t
              s7|j                  |       I |sk|j                  |j                  |      |d   j                  |D cg c]  }|j                   D ]  }|  c}}|j                  |j                               |j                  |        y c c}}w )Nr   )r   descriptionrz   )r   ry   rz   r   rU   r*   rv   insertr{   r   r  rb  )r   r   r   enums
base_modelsource_modelefs           r<   __extract_inherited_enumzParser.__extract_inherited_enum  s    AY 	%E|| "E#00 /
!++)33::lD1LL./ LL'!H&&+0Ca!((CQCC$)$5$5"'// '  e$'	%  Ds   C0c                 z   |D ]  }|j                   D ]  }|j                  j                  d      }|rt        |t              s2|j                  d      }|sF|j                  di       }|j
                  j                  D ]0  }|j                  s|j                  j                  }	t        |	t        j                  t        j                  f      sRg }
|r"|j                         D ]  \  }}|	j                  j                  d      d   |j                  d      d   k7  r|j                  d      s$|	j                  d d |j                  d      d   k7  r|t!        |      j#                  d      dz   d  }|	j                  d t!        |	j                        j#                  d       j%                  d	      }dj'                  |j                  d      dd        }||k7  r||k7  r|
j)                  |        n|	j                  j                  d      d   g}
|
s"t+        d
|j                  j                         d}|	j                   D ]  }|j,                  xs |j.                  |k7  r!|j
                  j0                  }|
rt3        |      dk(  r|d   |
d   k(  rnnd}W|j
                  j4                  D ]  }|j                  s|j7                          ! | j                  |
      |_        ||j
                  _        d|_        |j)                  |j<                         d} |s=|	j                   j)                  | j?                  || j                  |
      d             | j@                  jB                  rtD        ntF        tI        fd|D              }|s |j)                         3   y )NdiscriminatorpropertyNamemappingz#/rk   rO  rj   #z../z!Discriminator type is not found. Fr   T)literals)r   rT  requiredc              3   (   K   | ]	  }|k(    y wr:   rm   )rL   r   literals     r<   rN   z4Parser.__apply_discriminator_type.<locals>.<genexpr>d  s      //67*/s   )%r   extrasgetrU   rY   rT  r   rz   r   pydantic_modelr   pydantic_model_v2rZ   r7   r   
startswithr`   findlstriprb   rv   RuntimeErrorr   r   r  ru   rc  rd  r   r  r.  r   r   has_literal_typer   r   any)r   r   r.  r   r   r  property_namer  rT  discriminator_model
type_namesr   r7   t_patht_disct_disc_2has_one_literaldiscriminator_fieldr  field_data_typehas_imported_literalr  s                        @r<   __apply_discriminator_typez!Parser.__apply_discriminator_type  s   
  X	0E W0 % 0 0 A$J}d,K - 1 1. A$'++Ir:!&!;!; O0I$.. *3*=*=*D*D'%+'113D3N3NO !!#J*1--/ 4JD$ 3 8 8 > >t DR H#'::d#3B#7!8 %)OOD$9':'?'?'D'+zz#r':(; .2#d)..2E2I2K-LF-@-E-E(Q#.A.F.F*G*L*LS*Q.&&,fUm %+ 03xxS8I!"8M/NH'-'7Fh<N(0&--d3#4& ':&>&>&D&DS&I"&M%N
%*?	@S@S@X@X?YZ  ',O/B/I/I /+/== 8277*+ %#6#@#@#I#I  *  MQ.8A;*Q-3O!%.2O$ 1::IIC+.88 / @ @ B	C
 9=%/ 9G 9+5 @S+55<7;+4':'B'BC*.3/4 ++2299 66%2*...*.*M)- 7   55FF '4 
 ,/ /:A/ ,( ,w/_O0W0X	0r>   rT  c                 .   |j                   r8|j                         }d|_         d|_        |j                  D ]	  }||_         |S |j                  rEt        |j                  d d        D ](  \  }}| j                  |      }|s||j                  |<   * |S y )NFT)r^  r   is_setr   r   	enumerate_create_set_from_list)r   rT  new_data_typer   r{   nested_data_typeset_data_types          r<   r  zParser._create_set_from_listj  s    %NN,M$)M!#'M +66 2
$1
!2  !!+4Y5I5I!5L+M @'' # 9 9:J K 2?I((/@ r>   c                    |D ]  }|j                   D ]o  }| j                  s|j                  r|j                  j                  s3| j	                  |j
                        }|sQd |j
                  _        ||_        ||_        q  y r:   )r   r  constraintsunique_itemsr  rT  r   )r   r   r   model_fieldr  s        r<   __replace_unique_list_to_setz#Parser.__replace_unique_list_to_set{  s     	7E$|| 733  ++0G0G0T0T $ : :;;P;P Q 37K))0,9K)+6M(7	7r>   c                    |D ]  }|j                   D ]  }|j                  j                  r|j                  r&t	        |j                  j                  j
                  t              sU|j                  j                  j
                  j                  t        k7  s|j                  j                  j
                  j                  |_          y r:   )	r   rT  rz   has_defaultrU   r   r(   defaultr%   )r   r   r   r  s       r<   &__set_reference_default_value_to_fieldz-Parser.__set_reference_default_value_to_field  s     
	E$|| 	",,66+:Q:Q))33::I #,,66==EER'11;;BBJJ $+	
	r>   rg   c                 >   | j                   sy i }g }|d d  D ]k  }t        d |j                  d      |j                  fD              }|j	                  |      }|rt        |t              rQ|j                  j                  d d  D ]#  }t        |      }	|	|v s|j                  |       % |j                  |       |j                  |      }
|j                  g |g|j                  t        |j                   |j                  j"                  dz         |j$                        }|j"                  |v r|j                  |j"                         |j'                  |
|       |j)                  |       ]|j                  ||<   n |D ]  }|j)                  |        y )Nc              3   2   K   | ]  }t        |        y wr:   rI   rZ  s     r<   rN   z'Parser.__reuse_model.<locals>.<genexpr>  s      #$ArO   Mr[  z/reuse)r   r7   )r   ry   r  rz   r   )r   rW   rg  r.  r  rU   r*   rz   r`  r   ra  rv   r{   r   r  r/   r   r7   _custom_template_dirr  rb  )r   r   rg   model_cache
duplicatesr   rl  cached_model_referencerk  
data_modelr{   inherited_model	duplicates                r<   __reuse_modelzParser.__reuse_model  s    8:
AY  	9E ).)Eu}}(U I &1__Y%?"%eT*!&!9!9!!< L%7%>
%/!334JKL %%e,"LL/E&+oo!&<%=$)$5$5"+!&!&!5!5!@# -2,F,F '6 	'O .226RR4;;O<P<PQMM%9MM%( */I&A 	9D $ 	%IMM)$	%r>   unused_modelsc                 	   | j                   sy |D ]  }|j                  D ]  }|j                  j                  D ]  }|j                  }|r t        |j                  | j                        s3|j                  }	|	j                  d   }
| j                  rWt        |
j                  t              r=|
j                  j                  r't        d |j                  j                  D              r|
j                  j                         }t        |j                  | j                        r}i |
j                   |j                   |_        |j#                          | j                  r/t        j$                  |
j                  |j                        |_	        ||j                  _        nk|j                  j&                  r| j                  r/t        j$                  |
j                  |j                        |_	        t        |
t(        j*                        rG|j                   j-                  d      s,|
j                   j-                  d      }|r||j                   d<   |j                  j.                  j1                  |       |j                  j.                  j3                  |       nnt        |j                  t4              rRt7        |      }g |j                  j.                  |D cg c]  }t7        |      |k7  r| c}|j                  _        n|
j                  j.                  D ]  }|j                  t9        |j:                  |j<                        x\  }}}|s8|s;|j?                  ||      }|j                  j@                  |k(  r|jB                  n$|jB                   d|j                  j@                   |_"        |j3                  tG        |||jB                  |j                  jH                        g        tK        |tL              }|r|j3                  |jN                         |jQ                          |	j                  jR                  D cg c]  }tU        |dd       r| c}|	j                  _)        |jW                  |	jH                         |	j                  jR                  rt|j3                  |	          y c c}w c c}w )Nr   c              3   P   K   | ]  }|j                   s|j                  r|   y wr:   )r]  is_union)rL   ds     r<   rN   z0Parser.__collapse_root_models.<locals>.<genexpr>  s%        ! yyAJJ  s   $&r  rt   r  r   ),r  r   rT  rc  rz   rU   r   r   r   r  r'   has_constraintsr  r   r   r   r  process_constmerge_constraintsr^  r  DataModelFieldr  r   rb  rv   r0   idr   r  r  rw  r   r   rv  r    r7   r   r)   r.  rd  r`  r}   remove_referenced_imports)r   r   r  r.  rx  r   r  rT  rz   root_type_modelroot_type_fieldr   r  data_type_idr  r   r   r  rv  original_fieldcs                        r<   __collapse_root_modelszParser.__collapse_root_models  s@    (( n	>E$|| m>!,!6!6!E!E l>I ) 3 3I$J!(($*C*C- ! '0&6&6O&5&<&<Q&?O ..&'B'BOT+77GG  %0%:%:%I%I   ! (7'@'@'E'E'G$!)"2"2D4N4NO.-44.)00.* $113116E6W6W / ; ;[=T=T7K3 6F	((2"))11116E6W6W / ; ;[=T=T7K3 &+*99 #."4"4"8"8"I,;,B,B,F,F,WM,FS 2 2? C!((33::% "((33::;KL#I$4$4h?'))} &Vy'7'7'B'B%UDT%U7 !!!u4 7	((3 !,66AA ;;.$5=!--q{{6 w !W$9$=$=i$QE $%;;#9#9W#D !&

(-

|1Q[[5K5K4L%M G
 $NN$*.307.3jj78{{7G7G	%&!"	0 &8	CU%VN%~'='=>..0 "1!:!:!C!C:"1h5 :O--6 55o6J6JK*44==%,,_=Yl>m>n	>~7N:s   !S	
S
c                    | j                   sy |D ]/  }|j                  D ]  }|j                  s|j                  j                  D ]  j
                  st        j
                  j                  t              s5t        |j                  t              r%fd|j                  D        D cg c]  }|r| }}n/j
                  j                  j                  |j                        }|s||_        j                  st        |t              r|D ]  }j                  |_         j                  |_          2 y c c}w )Nc              3   h   K   | ])  }j                   j                  j                  |       + y wr:   )rz   r   find_member)rL   r  rT  s     r<   rN   z3Parser.__set_default_enum_member.<locals>.<genexpr>P  s0      *"() %.$7$7$>$>$J$J1$M*"s   /2)r   r   r  rT  rc  rz   rU   r   r*   rV   r  rv  )r   r   r   r  r  enum_memberenum_member_rT  s          @r<   __set_default_enum_memberz Parser.__set_default_enum_member?  sA    ++ 	DE$|| D"**!,!6!6!E!E DI **z!++22D0 &k&9&94@*"-8-@-@*"R$% $% !"RK R +4*=*=*D*D*P*P + 3 3+K  +$.9+$??)+t<4? !IL9BL$6!I 5>OO 13DD	DRs   .E
c                    |D ]  }t        |t        | j                  f      r!t        |j                  d d        D ]  \  }}|j
                  }|j                  r<|j                  s0|j                  s$|j                  s|j                  s|j                  r\t        |j                  t        |            }|s|j                  j                  |       |j                         }|j
                  j                  r1| j                   j                  |j
                  j                        }n|j
                  j                  rW|j
                  j                         }t#        |j
                  j                        |_        |j                  D ]	  }||_         n|j
                  j                         }||_        ||_        ||_        d|_        |j                  j)                  ||       |j                  j                  |         y )Nr   T)rU   r*   r   r  r   rT  r   r   rz   typer  dict_keyr   r   rb  r   r-  r   r   r  r  )	r   r   r   r{   r  rT  r  copied_original_fieldr   s	            r<   __override_required_fieldz Parser.__override_required_fieldd  s     (	1E%$(A(A!BC&/Q&@ %1"{'11	#11 ++ ** ~~ )) ))!,--/A%/H" &LL''4(6(;(;(=%!++55 $ 6 6 @ @"0":":"D"D !A !I $--88 . 8 8 = = ?I+;&00;;,I( '0&:&: 6
,5
)6 !/ 8 8 = = ?I#8	 2;%//4%,15%.##E+@A##K0K%1(	1r>   c                 $   | j                   sy |j                  d        |j                         D ch c]  }|D ]  }|  }}}i }|D ]H  }|j                  }||j                  D 	ch c]  }	|	j
                  s|	j                   c}	|hz
  f||<   J d}
|
rld}
|j                         }t        t        |      dz
        D ]<  }||   }||   \  }}||z
  s|j                  |       '||dz      |c||<   ||dz   <   d}
> |
rky y c c}}w c c}	w )Nc                     | j                   S r:   r[  )r   s    r<   rn   z&Parser.__sort_models.<locals>.<lambda>  s
    !,, r>   ro   TFrj   )r  sortvaluesr   ry   rz   	type_hintr   rangeru   rw  )r   r   r.  rS   rM   importedmodel_class_name_baseclassesr   r   r   changedresolvedbaseclassess                r<   __sort_modelszParser.__sort_models  s4   
 $$./&~~/;!;AA;A;;NP$ 	E))J&+&8&8HAKKHJ<W3(/	 G}}H3v;?+ q	*Fu*M'
K"X-LL,+1!a%=%(q	6!a%=  < Is   D)D;Dc                 "   | j                   sy |D ]}  }|j                  D ]l  }|j                  r"t        |j                  j
                        dk7  r2|j                  j
                  d   |_        d|_        |j                  dusfd|_        n  y )Nrj   r   FT)r  r   r  ru   rT  r  r  nullable)r   r   r   r  s       r<   __set_one_literal_on_defaultz#Parser.__set_one_literal_on_default  s    .. 	1E$|| 1"++s;3H3H3Q3Q/RVW/W&1&;&;&D&DQ&G#',$''t3+0K(1	1r>   c                    dt         t        df   fd}|j                         D ci c]  \  }} ||      | }}}|j                         D cg c]  \  }}|d   dk(  s| c}}d   }|j                         D ch c]  }|d   j	                  d      r|d d n| }}|D ];  }t        t        |            D ]"  }	|d |	dz    }
|
d	z   }|j                  ||i       $ = |S c c}}w c c}}w c c}w )
Nr8   .c                    g }| D ][  }|j                  d      }t        |      dkD  r)|j                  |d d        |j                  |d          K|j                  |       ] |d d |d    d|d    gz   }t	        |      S )Nrt   rj   rk   )r   ru   r   rv   rW   )input_tuplerrF   r<  s       r<   processz4Parser.__postprocess_result_modules.<locals>.process  s    A# #JJsOq6A:HHQsV$HHQrUOHHTN# #2QrUG1QrUG,--A8Or>   rk   __init__.pyr   .pyrj   r  )r   r`   rZ   keysr  r  ru   update)r   r0  r   rR   rS   init_resulttfoldersfolderrM   	subfolder	init_files               r<   __postprocess_result_modulesz#Parser.__postprocess_result_modules  s    	E#s(O 	 .5]]_=TQ71:q===%,]]_OTQ"8NqOPQRCJ<<>RaQrU^^E21Sb69RR 	9F3v;' 9"7QUO	%(88		;789	9
  >ORs   C$C*!C*>"C0c           	         |j                         D ch c]F  \  }}|D ]<  }||j                  |   v r'||j                  |   |   k7  r|j                  |   |   n|> H }}}}|D ]v  }|j                  |vr|j                  t	        d|j
                  j                  d            |j                  j                  dd      j                  |j                  _        x y c c}}}w )Nimported_namerO  T)r7   r   rX  r   )	rZ   rv  r   rw  r=   r7   r   rz   r   )	r   r   r.  rx  r   r   rM   imported_namesr   s	            r<   __change_imported_model_namez#Parser.__change_imported_model_name  s     #*--/	
 
 w

  GMM%((Q'--2Fq2I-I MM% #

 
  		E~5#8#<#<%ouzz7G7G7LM#oo22	 $= $
 d OO 			
s   AC with_importformat_settings_path.c                 0  ' | j                          |r<| j                  t        j                  k7  r| j                  j                  t               |rPt        | j                  || j                  | j                   | j                  | j                  | j                        }nd }t        | j                        \  }}'i }dt        dt         t"        df   fd}dt        dt         t$        t         t"        df   f   fd}	t'        t)        |j+                         |	d      |	      }
g }g }i }i }d
}d |
D        D ]  \  }}|D ]	  }||f||<    | j-                  |       | j/                  |       t1        |      t1        |      z
  dkD  r=t3        t1        |      dz
  t1        |      d      D ]  }|j                  |d | g f        |j                  ||f       |}  G d dt4              }g }|D ]b  \  }}t7        | j8                        x}||<   d}|rSg |d d d}||vrt;        d      ||<   g |d|v r
g |d}d}n%g |d d |d    d}t=        d |D              }nd}t?               }| jA                  |       | jC                  |       | jE                  ||||       | jG                  |       | jI                  |       | jK                  |'       | jM                  ||||       | jO                  |       | jQ                  ||       | jS                  ||       | jU                  |       |j                   ||||||             e |D ]8  }|jV                  D ]'  }|j                  j                  |j                         ) : |D ]@  }||   \  }}||v s||   }|jY                  |j                         |jY                  |       B |D ]  }t#        dj[                  |jV                  D cg c]  }t#        |       c}            }|j                  j]                         D  cg c]  \  }}|D ]
  } | |vr|| f  }!}}} |!D ]+  \  }} |j                  jY                  t_        ||              -  |D ]  \  }}}}}| ja                  |||        |D ]  \  }}}}}g }"|rb|r$|"t#        | j                        t#        |      dgz  }"tc        |      }#|"|#gz  }"| jd                  |"d| je                  'fd|D              gz  }"|"s|stdj[                  |"      }$|r|jg                  |$      }$t;        |$|r|d   jh                  nd       ||<    g |dgk(  r|d   jj                  S |j]                         D %&ci c]  \  }%}&t=        d |%D              |& }}%}&| jl                  r| jo                  |      }|S |j]                         D %&ci c]  \  }%}&t=        d |%D              |& c}&}%}|S c c}w c c} }}w c c}&}%w c c}&}%w )N)skip_string_normalizationr  r   r!  r  r8   .c                 ,    t        | j                        S r:   )rW   r  r  s    r<   
module_keyz Parser.parse.<locals>.module_key  s    //00r>   c                 V    t        | j                        t        | j                        fS r:   )ru   r  rW   r  s    r<   sort_keyzParser.parse.<locals>.sort_key  s#    
../z7M7M1NOOr>   T)rp   reversero   rm   c              3   .   K   | ]  \  }}|g |f  y wr:   rm   rQ   s      r<   rN   zParser.parse.<locals>.<genexpr>#  s     DTQ4Q4yDs   rj   rk   c                   P    e Zd ZU eedf   ed<   ee   ed<   eed<   e	ed<   e
ed<   y)Parser.parse.<locals>.Processed.moduler   r}  r.  rx  N)r   r   r   r   r`   r   r   r(   boolr!   r.   rm   r>   r<   	Processedr  8  s+    #s(O#O#J#00r>   r!  Fr  r   )r   r  c              3   @   K   | ]  }|j                  d d        ywr  r  Nr  rL   parts     r<   rN   zParser.parse.<locals>.<genexpr>M  s     "Md4<<S#9"M   r  rC   )r   r   c              3   f   K   | ](  }|j                   v r|j                  j                   * y wr:   )r7   rz   r   )rL   ra   rg   s     r<   rN   zParser.parse.<locals>.<genexpr>  s0      ; ! vv)EE KK22;s   .1r   )r   r   c              3   @   K   | ]  }|j                  d d        ywr#  r$  rK   s     r<   rN   zParser.parse.<locals>.<genexpr>  s     83,8r'  c              3      K   | ]=  }|d |j                  d       j                  dd      ||j                  d      d  z    ? y w)Nrt   r  )rfindr  r%  s     r<   rN   zParser.parse.<locals>.<genexpr>  sO      
  .tzz#/77SAtzz#012s   AA)8rV  r   r   PY_36r.  rv   r   r   r  r  r  r7  r!  rw   r0  r(   r   r`   intr   rX   r   _Parser__delete_duplicate_models)_Parser__replace_duplicate_name_in_moduleru   r  r   r!   r%  r   rW   r.    _Parser__override_required_field#_Parser__replace_unique_list_to_set_Parser__change_from_import_Parser__extract_inherited_enum-_Parser__set_reference_default_value_to_field_Parser__reuse_model_Parser__collapse_root_models _Parser__set_default_enum_member_Parser__sort_models!_Parser__apply_discriminator_type#_Parser__set_one_literal_on_defaultr   rb  rb   rZ   r    #_Parser__change_imported_model_namerc   r   format_code	file_pathr   r$  #_Parser__postprocess_result_modules)(r   r  r  r  code_formatterr  rf   r0  r  r  grouped_modelsmodule_modelsr  model_to_module_modelsmodule_to_importprevious_moduler  r   r   partsr!  processed_modelsr.  r}  r   rx  processed_modelunused_modelra   
model_coder   imports_r   unused_importsresultcoder   rR   rS   rg   s(                                          @r<   parsezParser.parse  s    	))]-@-@@##$676C**((.2.D.D*D"&"8"8"&"7"7)-)F)F7N "N>NLL?
;; 24	19 	1sCx 	1	P 	PuS%S/5I/J 	P !%,,.HdK

 HJ)+  	 <>D^D 	%NFF ?06&u-?**6233F;?#c&k1A5"3#7!#;S["M E!((+FU3    %O'	%*	1
 	1 -/+ "	NFF189O9O1PPG&v.D66#2;66(&,"oGFO+V+]+w65v5}5FD?vcr{?vbzl#,>?F""Mf"MMF)$1O!**62--f5%%fg7LdS))&177?v'CD''w0E **62vw/++FG<--f5##&&$9NOA"	H  0 	>O(// >''..u}}=>	> * 	,L3LANFFv%*62|334l+	,  0 
	UOTYY8N8N'O1A'OPQJ (7'>'>'D'D'F #E8' *,   N  #1 Uw''..vE7/STU
	U EU 	V@FFD'+@--fg?TU	V EU 	@FFD'+@ "Fs4<<0#g,EEF%f-4& 55A:: ;%+;  F $99V$D%11$7$&)"5"5TGFO1	: W:*+++,111HOX158a88!;XX (( --g6 	 	 $MMO	 Aq  
 !"  	 	 } (PZ Y	s   :X 5X
XX)r8   N)TTN)Br   r   r   r  r   CustomRootTyper1   r  r   PY_38r   r   r`   r   r   r   r   r(   r)   r   r   r   r	   r
   r   r   r   r-   r,   r   r2   r   r   r8  r   r   r   rC  r/  rB  r   rR  r0   rT  r   rV  r.  r/  r!   r.   r2  r3  r9  r  r1  r4  r5  r6  r7  r0  r8  r:  r>  r;  r   rN  rm   r>   r<   r   r   M  s	   
 ,:+C+C0>0M0M8F8V8V:H:W:W$(26.2JN/</B/BRV "'!&#(/3/49>#(38$().$(',&+"'!7;(-"' %,1).@D.38</3  /3',@D.2"').(-<@ %#CH7;"'#(05%*3716(-!&+01515=A"EI%*"'9=QESc4d[89ES i	ES
 #9oES !%_ 5ES  $$67ES SMES %T#Y/ES &d^ES &k#tCH~2E&FGES  -ES (0(3-#9M0N'OES ES  ES  !ES" !#ES$ '#s(+,%ES& )-'ES( 37)ES* !+ES, -1-ES. SM/ES0 #'1ES2 D>3ES4 !%5ES6  $7ES8  9ES: ;ES< =ES>  (4?ES@ "&AESB  CESD EESF &*GESH #'IESJ $N38$<=KESL (,MESN x45OESP  (}QESR &.cUCZ &
SESX #3s8,YESZ !%[ES\ ,4CH+=]ES^ &d^_ES`  aESb #'cESd "&eESf xc3h89gESh iESj kESl =AmESn (0}oESp  qESr !sESt *.uESv #wESx $,C=yESz +/{ES| "&}ES~ ES@ %)AESB $DI.CESD $DI.EESF #+4S>":GESH IESJ  (sCx(ABKESL #MESN  OESP 'tCH~6QESR 
SESN Xf-  *
,"*49"5
,	
,
c 
c 
 
[ 
T#Y 
 
 04> 0 0 " "C/Y C/D C/J 4Y 4D 4 40D-YD- D-  -	D-
 D- 
D-L %d9o %$ % %,]0Y]0 ]0 
	]0~ h 8H;M   74	? 7t 7  DO PT  *%9o*%EI#Y*%	*%Xx>Yx> Ix> 	x>
  -x> 
x>t#DY#D 
#DJ,1Y,1 
,1\Y  
	@
14	? 
1t 
1  2Y   -	
 
4 '+"&(,	@d^@ $@  ~	@
 
sDsCx&011	2@r>   r   r:   )_r   sysabcr   r   collectionsr   r   	itertoolsr   pathlibr   typingr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   urllib.parser   r"   r   datamodel_code_generator.formatr   r    datamodel_code_generator.importsr   r   r   r    r!   datamodel_code_generator.modelr  r#   r  #datamodel_code_generator.model.baser$   r%   r&   r'   r(   r)   #datamodel_code_generator.model.enumr*   r+   datamodel_code_generator.parserr,   r-   "datamodel_code_generator.referencer.   r/   datamodel_code_generator.typesr0   r1   r2   datamodel_code_generator.utilr3   r4   r5   r`   r   r=   	maketransescape_charactersrJ   rc   ReferenceMapSetSortedDataModelsgetrecursionlimitrd   r-  rw   r   r   r   r   r   r   r   r   r   r   r   r   rm   r>   r<   <module>rf     s   	 
 # 0      $ %  H  F K  = G G Q Q EH S H8c 8c 8tCy 8 MM
 c c 44d9o 4# 4 sCH}%Y' 03002 S 2
 6:8<.	dSy/dS !12dS #+49"5dS 	dS
 4	?,d3i78dSNS S U38_ :, ,c ,s ,uS#X , "H " " CLc (47*; xPQ{ s s i DO  $Y !(h DN  "Y "
	
Y 	
cS cr>   