§ <ˆj1ãó†—dZddlZddlmZddlmZddlmZddlmZddlmZdd l m Z dd l m Z dd l m Z dd l mZe¦«Zd „ZGd„de¦«ZGd„de¦«ZGd„de¦«ZGd„de¦«Zeje¦«d„¦«Gd„de¦«Zd„ZGd„de¦«Zd„Zd„ZdS)z±Routines to handle the string class registry used by declarative. This system allows specification of classes and expressions used in :func:`_orm.relationship` using strings. éNé)Úexc)Ú inspection)Úutil)Ú class_mapper)Ú interfaces)ÚColumnProperty)ÚRelationshipProperty)ÚSynonymProperty)Ú_get_table_keycó—||jvr>|j|}t|t¦«st||g¦«x}|j|<n ||j|< |jd}n*#t$rt dd¦«x|jd<}YnwxYw|j d¦«}|r^| d¦«}| |¦«}|D]}| |¦«}Œ|  ||¦«|°\dSdS)z^Add a class to the _decl_class_registry associated with the given declarative class. Ú_sa_module_registryNú.r) Ú_decl_class_registryÚ isinstanceÚ_MultipleClassMarkerÚKeyErrorÚ _ModuleMarkerÚ __module__ÚsplitÚpopÚ get_moduleÚ add_class)Ú classnameÚclsÚexistingÚ root_moduleÚtokensÚtokenÚmodules ú]/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/ext/declarative/clsregistry.pyrr!sa€ð �CÔ,Ð,Ð,àÔ+¨IÔ6ˆÝ˜(Õ$8Ñ9Ô9ð 6õ% c¨8 _Ñ5Ô5ð 6ˆH�sÔ/Øñøð/2ˆÔ  Ñ+ðEØÔ.Ð/DÔEˆ ˆ øÝ ðEðEðEõ(Ð(=¸tÑDÔDð EˆÔ Ø !ñ à ˆKˆKðEøøøð Œ^× !Ò ! #Ñ &Ô &€Fð ð)Ø— ’ ˜1‘ ” ˆØ×'Ò'¨Ñ.Ô.ˆØð .ð .ˆEØ×&Ò& uÑ-Ô-ˆFˆFØ×Ò˜ CÑ(Ô(Ð(ð ð)ð)ð)ð)ð)sÁ A!Á!$BÂBcó6—eZdZdZdZd d„Zd„Zd„Zd„Zd„Z dS) rzRrefers to multiple classes of the same name within _decl_class_registry. )Ú on_removeÚcontentsÚ __weakref__Nc󊇗|‰_tˆfd„|D¦«¦«‰_t ‰¦«dS)NcóD•—g|]}tj|‰j¦«‘ŒS©)ÚweakrefÚrefÚ _remove_item)Ú.0ÚitemÚselfs €r!ú z1_MultipleClassMarker.__init__..Ts(ø€Ð FÐ FÐ F°d�WŒ[˜˜tÔ0Ñ 1Ô 1Ð FÐ FÐ Fó)r#Úsetr$Ú _registriesÚadd)r.Úclassesr#s` r!Ú__init__z_MultipleClassMarker.__init__QsLø€Ø"ˆŒÝØ FÐ FÐ FÐ F¸gÐ FÑ FÔ Fñ ô ˆŒ õ �Š˜ÑÔÐÐÐr0có$—d„|jD¦«S)Nc3ó*K—|]}|¦«V—ŒdS©Nr(©r,r*s r!ú z0_MultipleClassMarker.__iter__..Ys(èè€Ð/Ð/˜#��‘”Ð/Ð/Ð/Ð/Ð/Ð/r0©r$)r.s r!Ú__iter__z_MultipleClassMarker.__iter__Xs€Ø/Ð/ ¤Ð/Ñ/Ô/Ð/r0cóü—t|j¦«dkr.tjdd ||gz¦«z¦«‚t |j¦«d}|¦«}|€t |¦«‚|S)NézxMultiple classes found for path "%s" in the registry of this declarative base. Please use a fully module-qualified path.rr)Úlenr$rÚInvalidRequestErrorÚjoinÚlistÚ NameError)r.ÚpathÚkeyr*rs r!Ú attempt_getz _MultipleClassMarker.attempt_get[s…€Ý ˆtŒ}Ñ Ô  Ò !Ð !ÝÔ)ðBð—8’8˜D C 5™LÑ)Ô)ñ+ñôð õ�t”}Ñ%Ô% aÔ(ˆCØ�#‘%”%ˆC؈{Ý ‘n”nÐ$؈Jr0cóº—|j |¦«|js7t |¦«|jr| ¦«dSdSdSr8)r$Úremover2Údiscardr#)r.r*s r!r+z!_MultipleClassMarker._remove_itemjsj€Ø Œ ×Ò˜SÑ!Ô!Ð!ØŒ}ð !Ý × Ò  Ñ %Ô %Ð %ØŒ~ð !Ø—’Ñ Ô Ð Ð Ð ð !ð !ð !ð !r0có—td„d„|jD¦«D¦«¦«}|j|vr%tjd|j›d|j›d�¦«|j tj||j ¦«¦«dS)Ncó —g|] }|®|j‘Œ Sr8)r)r,rs r!r/z1_MultipleClassMarker.add_item..vs'€ð ð ð àØ�?ð”à"�?�?r0có"—g|] }|¦«‘Œ Sr(r(r9s r!r/z1_MultipleClassMarker.add_item..xs€Ð;Ð;Ð; c˜C˜C™EœEÐ;Ð;Ð;r0z[This declarative base already contains a class with the same class name and module name as rz2, and will be replaced in the string-lookup table.) r1r$rrÚwarnÚ__name__r3r)r*r+)r.r-Úmoduless r!Úadd_itemz_MultipleClassMarker.add_itemqs©€õð ð à;Ð;¨T¬]Ð;Ñ;Ô;ð ñ ô ñ ô ˆð Œ?˜gÐ %Ð %Ý ŒIˆIð”?�?�? D¤M M Mð3ñ ô ð ð Œ ×Ò�'œ+ d¨DÔ,=Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r0r8) rNrÚ __qualname__Ú__doc__Ú __slots__r5r<rFr+rPr(r0r!rrIsz€€€€€ððð 7€Iððððð0ð0ð0ð ð ð ð!ð!ð!ð@ð@ð@ð@ð@r0rcó@—eZdZdZdZd„Zd„Zd„Zd„Zd„Z d„Z d „Z d S) rz>Refers to a module name within _decl_class_registry. )ÚparentÚnamer$Úmod_nsrDr%cóÞ—||_||_i|_t|¦«|_|jr|jj|jgz|_ng|_t  |¦«dSr8)rUrVr$Ú_ModNSrWrDr2r3)r.rVrUs r!r5z_ModuleMarker.__init__Žsd€ØˆŒ ؈Œ ؈Œ ݘT‘l”lˆŒ Ø Œ;ð Øœ Ô(¨D¬I¨;Ñ6ˆDŒIˆIàˆDŒIÝ�Š˜ÑÔÐÐÐr0có—||jvSr8r;©r.rVs r!Ú __contains__z_ModuleMarker.__contains__™s€Ø�t”}Ð$Ð$r0có—|j|Sr8r;r[s r!Ú __getitem__z_ModuleMarker.__getitem__œs€ØŒ}˜TÔ"Ð"r0cóÒ—|j |d¦«|jsB|j�=|j |j¦«t  |¦«dSdSdSr8)r$rrUr+rVr2rIr[s r!r+z_ModuleMarker._remove_itemŸsm€Ø Œ ×Ò˜$ Ñ%Ô%Ð%ØŒ}ð & ¤Ð!8Ø ŒK× $Ò $ T¤YÑ /Ô /Ð /Ý × Ò  Ñ %Ô %Ð %Ð %Ð %ð &ð &Ð!8Ð!8r0có,—t|j|¦«Sr8)ÚgetattrrW©r.rEs r!Ú resolve_attrz_ModuleMarker.resolve_attr¥s€Ý�t”{ CÑ(Ô(Ð(r0cóh—||jvrt||¦«}||j|<n |j|}|Sr8)r$r)r.rVÚmarkers r!rz_ModuleMarker.get_module¨s>€Ø �t”}Ð $Ð $Ý" 4¨Ñ.Ô.ˆFØ"(ˆDŒM˜$Ñ Ð à”] 4Ô(ˆF؈ r0c󤇇—‰‰jvr$‰j‰}| |¦«dSt|gˆˆfd„¬¦«x}‰j‰<dS)Ncó.•—‰ ‰¦«Sr8)r+)rVr.s€€r!úz)_ModuleMarker.add_class..¶sø€¨×):Ò):¸4Ñ)@Ô)@€r0)r#)r$rPr)r.rVrrs`` r!rz_ModuleMarker.add_class°ssøø€Ø �4”=Ð Ð Ø”} TÔ*ˆHØ × Ò ˜cÑ "Ô "Ð "Ð "Ð "å-AØ�Ð!@Ð!@Ð!@Ð!@Ð!@ð.ñ.ô.ð ˆH�t”} TÑ*Ð*Ð*r0N) rNrrQrRrSr5r\r^r+rcrrr(r0r!rr†s�€€€€€ððð N€Ið ð ð ð%ð%ð%ð#ð#ð#ð&ð&ð&ð )ð)ð)ððððððððr0rcó—eZdZdZd„Zd„ZdS)rY)Ú__parentcó—||_dSr8)Ú_ModNS__parent)r.rUs r!r5z_ModNS.__init__½s €ØˆŒ ˆ ˆ r0có2— |jj|}|�St|t¦«r|jSt|t ¦«sJ‚| |jj|¦«Sn#t$rYnwxYwtd|jj ›d|›�¦«‚)NzModule z1 has no mapped classes registered under the name ) rlr$rrrWrrFrDrÚAttributeErrorrV)r.rEÚvalues r!Ú __getattr__z_ModNS.__getattr__ÀsÁ€ð FØ”MÔ*¨3Ô/ˆEðРݘe¥]Ñ3Ô3ðFØ œ<Ð'å% eÕ-AÑBÔBÐBÐBÐBØ ×,Ò,¨T¬]Ô-?ÀÑEÔEÐEð !øõð ð ð Ø ˆDð øøøõˆnà.2¬mÔ.@Ð.@Ð.@À#À#ð Gñ ô ð s‚A*Á* A7Á6A7N©rNrrQrSr5rpr(r0r!rYrYºs7€€€€€Ø€Iðððð ð ð ð ð r0rYcó—eZdZdZd„Zd„ZdS)Ú _GetColumns©rcó—||_dSr8rt)r.rs r!r5z_GetColumns.__init__Õs €ØˆŒˆˆr0cóŒ—t|jd¬¦«}|r˜||jvrtjd|j›d|›�¦«‚|j|}|jt jurP|j}t|t¦«r|j }n,t|t¦«stjd|z¦«‚t|j|¦«S)NF)Ú configurezClass z% does not have a mapped column named zaProperty %r is not an instance of ColumnProperty (i.e. does not correspond directly to a Column).)rrÚall_orm_descriptorsrr@Úextension_typerÚ NOT_EXTENSIONÚpropertyrr rVr ra)r.rEÚmpÚdescÚprops r!rpz_GetColumns.__getattr__Øsà€Ý ˜$œ(¨eÐ 4Ñ 4Ô 4ˆØ ð Ø˜"Ô0Ð0Ð0ÝÔ-Ð-à”x�x�x  ð&ñôðð Ô)¨#Ô.ˆDØÔ"¥jÔ&>Ð>Ð>Ø”}�ݘd¥OÑ4Ô4ðØœ)�C�CÝ# D­.Ñ9Ô9ðÝÔ1ð2à47ñ8ñôðõ �t”x Ñ%Ô%Ð%r0Nrqr(r0r!rsrsÒs7€€€€€Ø€Iðððð&ð&ð&ð&ð&r0rscó4—tj|j¦«Sr8)rÚinspectr)Útargets r!rhrhðs€•:Ô% f¤jÑ1Ô1€r0có—eZdZdZd„Zd„ZdS)Ú _GetTable©rEÚmetadatacó"—||_||_dSr8r„)r.rEr…s r!r5z_GetTable.__init__÷s€ØˆŒØ ˆŒ ˆ ˆ r0cóL—|jjt||j¦«Sr8)r…Útablesr rErbs r!rpz_GetTable.__getattr__ûs€ØŒ}Ô#¥N°3¸¼Ñ$AÔ$AÔBÐBr0Nrqr(r0r!rƒrƒôs<€€€€€Ø!€Ið!ð!ð!ðCðCðCðCðCr0rƒcóv—t|t¦«r| g|¦«}t|¦«Sr8)rrrFrs)rEros r!Ú_determine_containerrŠÿs8€Ý�%Õ-Ñ.Ô.ð+Ø×!Ò! " cÑ*Ô*ˆÝ �uÑ Ô Ðr0có.—eZdZdd„Zd„Zd„Zd„Zd„ZdS) Ú_class_resolverFcó¤—||_||_|x|_|_||_t j|j¦«|_d|_ ||_ dS)Nr() rr~ÚargÚ_declarative_argÚfallbackrÚ PopulateDictÚ _access_clsÚ_dictÚ _resolversÚ favor_tables)r.rr~r�rŽr•s r!r5z_class_resolver.__init__sP€ØˆŒØˆŒ Ø+.Ð.ˆŒ�4Ô(Ø ˆŒ ÝÔ& tÔ'7Ñ8Ô8ˆŒ ؈ŒØ(ˆÔÐÐr0cóR—|j}|jrC||jjvr|jj|S||jjvrt ||j¦«S||jvrt||j|¦«S|jsC||jjvr|jj|S||jjvrt ||j¦«Sd|jvr1||jdvr"|jd}| |¦«S|j r|j D]}||¦«}|�|cSŒ|j |S)Nr) rr•r…rˆÚ_schemasrƒrrŠrcr”r�)r.rErÚregistryÚresolvros r!r’z_class_resolver._access_clssZ€ØŒhˆà Ô ð 4Ø�c”lÔ)Ð)Ð)Ø”|Ô*¨3Ô/Ð/ؘœ Ô-Ð-Ð-Ý   c¤lÑ3Ô3Ð3à �#Ô*Ð *Ð *Ý'¨¨SÔ-EÀcÔ-JÑKÔKÐ KàÔ ð 4Ø�c”lÔ)Ð)Ð)Ø”|Ô*¨3Ô/Ð/ؘœ Ô-Ð-Ð-Ý   c¤lÑ3Ô3Ð3ð " SÔ%=Ð =Ð =Ø�sÔ/Ð0EÔFÐFÐFàÔ/Ð0EÔFˆHØ×(Ò(¨Ñ-Ô-Ð -Ø Œ_ð !Øœ/ð !ð !�ؘ˜s™ œ �ØÐ$Ø �L�L�Lð%ðŒ}˜SÔ!Ð!r0c ó˜—tjtjd|jj›d|j›d|›d|j›d� ¦«|¬¦«dS)NzWhen initializing mapper z , expression z failed to locate a name (zG). If this is a class name, consider adding this relationship() to the z6 class after both dependent classes have been defined.)Úfrom_)rÚraise_rr@r~rUrŽr)r.rVÚerrs r!Ú_raise_for_namez_class_resolver._raise_for_name/sh€Ý Œ Ý Ô #Ð #ð ”9Ô#Ð#Ð# T¤X X X¨t¨t¨t°T´X°X°Xð ?ñ ô ðð ñ ô ð ð ð r0cóŒ—|j}|j}d} | d¦«D]}|€ ||}Œ t||¦«}Œ t |t ¦«r|jS|S#t$r!}| ||¦«Yd}~dSd}~wt$r,}| |j d|¦«Yd}~dSd}~wwxYw)Nrr) rŽr“rrarrsrrržrCÚargs)r.rVÚdÚrvalrr�Úns r!Ú _resolve_namez_class_resolver._resolve_name;s€ØŒxˆØ ŒJˆØˆð ØŸš C™œð 0ð 0�Ø�<ؘUœ8�D�Då" 4¨Ñ/Ô/�D�Dð  0õ˜$¥ Ñ,Ô,ð Ø”x�à� øõð ,ð ,ð ,Ø × Ò   sÑ +Ô +Ð +Ð +Ð +Ð +Ð +Ð +Ð +øøøøÝð /ð /ð /Ø × Ò  ¤¨¤¨AÑ .Ô .Ð .Ð .Ð .Ð .Ð .Ð .Ð .øøøøð /øøøs#’3A$Á$ CÁ.B  CÂ!B>Â>Ccó— t|jt¦«|j¦«}t |t ¦«r|jS|S#t$r,}| |j d|¦«Yd}~dSd}~wwxYw)Nr) ÚevalrŽÚglobalsr“rrsrrCržr )r.Úxr£s r!Ú__call__z_class_resolver.__call__Os‹€ð /Ý�T”X�w™yœy¨$¬*Ñ5Ô5ˆAå˜!�[Ñ)Ô)ð Ø”u� à�øÝð /ð /ð /Ø × Ò  ¤¨¤¨AÑ .Ô .Ð .Ð .Ð .Ð .Ð .Ð .Ð .øøøøð /øøøs‚AAÁAÁ A=Á!A8Á8A=N©F)rNrrQr5r’ržr¤r©r(r0r!rŒrŒse€€€€€ð)ð)ð)ð)ð"ð"ð"ð@  ð  ð  ðððð( /ð /ð /ð /ð /r0rŒc󨇇‡—ddl}ddlm}m}|j ¦«Š‰ ||dœ¦«dˆˆˆfd„ }ˆˆˆfd„}||fS)Nr)ÚforeignÚremoteFcó,•—t‰‰‰||¬¦«S)N©r•)rŒ)rŽr•rr�r~s €€€r!Ú resolve_argz_resolver..resolve_argbs%ø€ÝØ ��x °<ð ñ ô ð r0có2•—t‰‰‰|¦«jSr8)rŒr¤)rŽrr�r~s €€€r!Ú resolve_namez_resolver..resolve_namegsø€Ý˜s D¨(°CÑ8Ô8ÔFÐFr0rª)Ú sqlalchemyÚsqlalchemy.ormr¬r­Ú__dict__ÚcopyÚupdate)rr~r³r¬r­r°r²r�s`` @r!Ú _resolverr¸[s¶øøø€ØÐÐÐØ.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àÔ"×'Ò'Ñ)Ô)€HØ ‡O‚O °6Ð:Ð:Ñ;Ô;Ð;ð ð ð ð ð ð ð ð ð GðGðGðGðGðGðGð ˜Ð $Ð$r0c óX—t|t¦«�rt||¦«\}}dD]L}t||¦«}t|tj¦«r t |||||dk¬¦«¦«ŒMdD]F}t||¦«}t|tj¦«rt ||||¦«¦«ŒG|jrat|jt¦«rG|j\}}dD]:}||vr4t||tj¦«r|||¦«||<Œ;|S)N)Úorder_byÚ primaryjoinÚ secondaryjoinÚ secondaryÚ_user_defined_foreign_keysÚ remote_sider½r¯)Úargument)r»r¼r½Ú foreign_keysr¿rº) rr r¸rarÚ string_typesÚsetattrÚbackrefÚtuple)rr~r²r°ÚattrÚvrEÚkwargss r!Ú_deferred_relationshiprÉms]€å�$Õ,Ñ-Ô-ñ%=Ý$-¨c°4Ñ$8Ô$8Ñ!ˆ �kð ð ð ˆDõ˜˜dÑ#Ô#ˆAݘ!�TÔ.Ñ/Ô/ð ÝØØØ�K °¸ Ò0CÐDÑDÔDñôðøð "ð 5ð 5ˆDݘ˜dÑ#Ô#ˆAݘ!�TÔ.Ñ/Ô/ð 5ݘ˜d L L°¡O¤OÑ4Ô4Ð4øà Œ<ð =�J t¤|µUÑ;Ô;ð =Øœ,‰KˆC�ðð =ð =�ð˜6�>�>¥jؘ4”L¥$Ô"3ñ'ô'�>ð$/ ;¨v°d¬|Ñ#<Ô#<�F˜4‘Løà €Kr0)rRr)ÚrrrÚormrrÚorm.propertiesr r r Úschemar r1r2rÚobjectrrrYrsÚ _inspectsrƒrŠrŒr¸rÉr(r0r!úrÐsQðððð €€€àÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ,Ð,Ð,Ð,Ð,Ð,Ø2Ð2Ð2Ð2Ð2Ð2Ø-Ð-Ð-Ð-Ð-Ð-Ø$Ð$Ð$Ð$Ð$Ð$ðˆc‰eŒe€ ð%)ð%)ð%)ðP:@ð:@ð:@ð:@ð:@˜6ñ:@ô:@ð:@ðz1ð1ð1ð1ð1�Fñ1ô1ð1ðh ð ð ð ð ˆVñ ô ð ð0&ð&ð&ð&ð&�&ñ&ô&ð&ð:"Ѐ Ô�[Ñ!Ô!Ø1Ð1ñôðð CðCðCðCðC�ñCôCðCðððð S/ðS/ðS/ðS/ðS/�fñS/ôS/ðS/ðl%ð%ð%ð$)ð)ð)ð)ð)r0