§
    eŠtj^Ö ã                  ó"
  — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlm Z  d
dl!m"Z" d
dl!m#Z# d
dl!m$Z$ d
dl!m%Z% d
d lm&Z& d
d!lm'Z' d
d"l(m)Z) d
d#l*m+Z+ d
d$l,m-Z- d
d%lm.Z. d
d&lm/Z/ d'd(lm0Z0 d'dlmZ1 d'd)lm2Z2 d'd*lm3Z3 d'd+lm4Z4 d'dlmZ d'dl4mZ5 d'd,l4m6Z6 d'd-l7m8Z8 d'd.l7m9Z9 d'd/l:m;Z; e
rd
d0l<m=Z= d
d1lm>Z> d'd2l?m@Z@ 	 	 	 	 	 	 ddd4„ZAejB         C                    d3d3¬5¦  «         G d6„ d7e&¦  «        ¦   «         ZDe3jE        ejB         C                    d8d3¬5¦  «         G d9„ d:e&¦  «        ¦   «         ¦   «         ZFe3jE        ejB         C                    d8¬;¦  «         G d<„ d=eF¦  «        ¦   «         ¦   «         ZGe3jE        ejB         C                    d8d8¬>¦  «        ejB         C                    d8d8d8¬?¦  «        ejB         C                    d8¬@¦  «         G dA„ dBe&¦  «        ¦   «         ¦   «         ¦   «         ¦   «         ZH G dC„ dD¦  «        ZI G dE„ dFe&¦  «        ZJe3jE        ej>         C                    d8¬@¦  «         G dG„ dHe&¦  «        ¦   «         ¦   «         ZKe3jE        ej>         C                    dI¬J¦  «        ej>         C                    d¬J¦  «         G dK„ dLeJ¦  «        ¦   «         ¦   «         ¦   «         ZLe3jE        ej>         C                    d8¬J¦  «        ej>         C                    dM¬J¦  «        ej>         C                    dN¬J¦  «        ej>         C                    dO¬J¦  «        ej>         C                    dP¬J¦  «         G dQ„ dReJejM        e3jN        ¦  «        ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZO G dS„ dT¦  «        ZP G dU„ dVeJ¦  «        ZQej>         C                    dW¬J¦  «         G dX„ dYeQ¦  «        ¦   «         ZRe3jE        ej>         C                    dZ¬J¦  «         G d[„ d\eQ¦  «        ¦   «         ¦   «         ZSe3jE        ej>         C                    d]¬J¦  «        ej>         C                    d3¬J¦  «         G d^„ d_eJ¦  «        ¦   «         ¦   «         ¦   «         ZTe3jE        ej>         C                    d`¬J¦  «         G da„ dbeQejM        ¦  «        ¦   «         ¦   «         ZUdc„ ZVdS )ezTsqlalchemy.orm.interfaces.LoaderStrategy
implementations, and related MapperOptions.é    )ÚannotationsN)ÚAny)ÚDict)ÚOptional)ÚTuple)ÚTYPE_CHECKING)ÚUnioné   )Ú
attributes)Úexc)Ú
interfaces)Úloading)Úpath_registry)Ú
properties)Úquery)Úrelationships)Ú
unitofwork)Úutil)Ú_DEFER_FOR_STATE)Ú_RAISE_FOR_STATE)Ú_SET_DEFERRED_EXPIRED)ÚATTR_WAS_SET)ÚLoaderCallableStatus)ÚPASSIVE_OFF)ÚPassiveFlag)Ú_column_descriptions)ÚORMCompileState)ÚORMSelectCompileState)ÚQueryContext)ÚLoaderStrategy)ÚStrategizedProperty)Ú_state_session)ÚInstanceState)ÚLoad)Ú_none_only_set)ÚAliasedClassé   )Úevent)Úinspect)Úlog)Úsql)Úvisitors)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelect)ÚLiteral)ÚMapper)ÚRelationshipProperty)ÚColumnElementFc	                óæ  ‡‡‡‡— g }
|o| j         Š|r!| j        r|
                     t          ¦  «         | j        | j        j        v r3| j        j        | j                 \  ŠŠ|
                     ˆˆfd„¦  «         |r|
                     t          j        ¦  «         |r)| j	        Š‰r | j
        r|
                     ˆˆfd„¦  «         |j        D ]¤}| |j                             | j        ¦  «        u r�|j                             | j        ¦  «        sbt!          j        |j        | j        f| ‰|||o| j        p| j        t(          j        u ||||| p| j         | j        dœ|	¤Ž}|
D ]} ||| ¦  «         ŒŒ¥d S )Nc                ó6   •— t          j        | |j        ‰fi ‰¤ŽS ©N)Úorm_utilÚ_validator_eventsÚkey)ÚdescÚpropÚfnÚoptss     €€úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/orm/strategies.pyú<lambda>z%_register_attribute.<locals>.<lambda>\   s*   ø€ �xÔ9Ø�d”h ð ð  Ø&*ð ð  € ó    c                ó0   •— t          j        | ‰‰¦  «        S r5   )r   Úbackref_listeners)r9   r:   ÚbackrefÚuselists     €€r=   r>   z%_register_attribute.<locals>.<lambda>j   s   ø€ ¥:Ô#?Ø˜' 7ñ$ô $€ r?   )Úparent_tokenrC   Úcompare_functionÚ	useobjectÚtrackparentÚtypecallableÚ	callable_Úactive_historyÚ
impl_classÚsend_modified_eventsÚdoc)rC   Úsingle_parentÚappendÚsingle_parent_validatorr8   ÚparentÚ
validatorsr   Útrack_cascade_eventsÚback_populatesÚ_effective_sync_backrefÚself_and_descendantsÚ_propsÚgetÚclass_managerÚ_attr_has_implr   Úregister_attribute_implÚclass_Ú	directionr   Ú	ONETOMANYÚviewonlyrM   )r:   ÚmapperrF   rE   rH   rI   Úproxy_propertyrJ   rK   ÚkwÚlisten_hooksÚmr9   ÚhookrB   r;   r<   rC   s                 @@@@r=   Ú_register_attributerf   F   s  øøøø€ ð €LàÐ(˜DœL€Gàð 5�TÔ'ð 5Ø×ÒÕ3Ñ4Ô4Ð4à„x�4”;Ô)Ð)Ð)Ø”;Ô)¨$¬(Ô3‰ˆˆDØ×Òðð ð ð ð ñ	
ô 	
ð 	
ð ð =Ø×Ò�JÔ;Ñ<Ô<Ð<ð ð ØÔ%ˆØð 	�tÔ3ð 	Ø×Òðð ð ð ð ñô ð ð" Ô(ð !ð !ˆØ�1”8—<’<ØŒHñ
ô 
ð 
ð 
à”/×0Ò0°´Ñ:Ô:ð
õ Ô5Ø”Ø”ðð "ØØ!1Ø#Ø%ð àÔ&ð >Ø”~­Ô)=Ð=à)Ø#Ø-Ø%Ø)2 ]Ð%G¸$¼-Ð6GØ”Hð#ð ð$ ð%ð ˆDð* %ð !ð !�Ø��T˜4Ñ Ô Ð Ð øð5!ð !r?   )Ú
instrumentÚdeferredc                  ó6   ‡ — e Zd ZdZdZˆ fd„Z	 dd„Zd„ Zˆ xZS )ÚUninstrumentedColumnLoaderz¶Represent a non-instrumented MapperProperty.

    The polymorphic_on argument of mapper() often results in this,
    if the argument is against the with_polymorphic selectable.

    ©Úcolumnsc                ón   •— t          ¦   «                              ||¦  «         | j        j        | _        d S r5   )ÚsuperÚ__init__Úparent_propertyrl   ©ÚselfrQ   Ústrategy_keyÚ	__class__s      €r=   ro   z#UninstrumentedColumnLoader.__init__¢   s.   ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.ØÔ+Ô3ˆŒˆˆr?   Nc                ód   — | j         D ]'}|r|j         |         }|                     ||¦  «         Œ(d S r5   )rl   Ú_append_dedupe_col_collection)	rr   Úcompile_stateÚquery_entityÚpathÚloadoptÚadapterÚcolumn_collectionÚkwargsÚcs	            r=   Úsetup_queryz&UninstrumentedColumnLoader.setup_query¦   sQ   € ð ”ð 	Nð 	NˆAØð 'Ø”O AÔ&�Ø×7Ò7¸Ð;LÑMÔMÐMÐMð	Nð 	Nr?   c	                ó   — d S r5   © ©	rr   Úcontextrx   ry   rz   r`   Úresultr{   Ú
populatorss	            r=   Úcreate_row_processorz/UninstrumentedColumnLoader.create_row_processorµ   s	   € ð 	ˆr?   r5   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ro   r   r†   Ú__classcell__©rt   s   @r=   rj   rj   —   su   ø€ € € € € ðð ð €Ið4ð 4ð 4ð 4ð 4ð ðNð Nð Nð Nðð ð ð ð ð ð r?   rj   Tc                  ó<   ‡ — e Zd ZdZdZˆ fd„Z	 dd„Zd„ Zd„ Zˆ xZ	S )	ÚColumnLoaderz8Provide loading behavior for a :class:`.ColumnProperty`.)rl   Úis_compositec                ó¢   •— t          ¦   «                              ||¦  «         | j        j        | _        t	          | j        d¦  «        | _        d S )NÚcomposite_class)rn   ro   rp   rl   Úhasattrr�   rq   s      €r=   ro   zColumnLoader.__init__Ê   sF   ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.ØÔ+Ô3ˆŒÝ# DÔ$8Ð:KÑLÔLˆÔÐÐr?   Fc	                óò   — | j         D ]D}
|r*|r|                     |
¦  «        }
|
€ d S n|j         |
         }
|                     |
|¦  «         ŒE| j         d         }|r|j         |         }|€d S ||| j        <   d S ©Nr   )rl   Úadapt_check_presentrv   rp   )rr   rw   rx   ry   rz   r{   r|   Úmemoized_populatorsÚcheck_for_adaptr}   r~   Úfetchs               r=   r   zColumnLoader.setup_queryÏ   s²   € ð ”ð 		Nð 		NˆAØð +Ø"ð +Ø×3Ò3°AÑ6Ô6�AØ�yØ˜˜ð !ð  œ¨Ô*�Aà×7Ò7¸Ð;LÑMÔMÐMÐMà”˜Q”ˆØð 	Ø”O EÔ*ˆEØˆ}ð �à49Ð˜DÔ0Ñ1Ð1Ð1r?   c                ó  — d| _         | j        d         j        }| j        j        pA| j        d         j        p/|j        d uo&|j                             |j        d ¦  «        | j        u }t          | j        |d|j
        |¬¦  «         d S )NTr   F)rF   rE   rJ   )Úis_class_levelrl   Útyperp   rJ   Úprimary_keyÚversion_id_colÚ_columntopropertyrX   rf   Úcompare_values)rr   r`   ÚcoltyperJ   s       r=   Úinit_class_attributez!ColumnLoader.init_class_attributeð   s¬   € Ø"ˆÔØ”,˜q”/Ô&ˆð Ô Ô/ð ØŒ|˜AŒÔ*ðð Ô%¨TÐ1ð (ØÔ,×0Ò0°Ô1FÈÑMÔMØÔ'ð(ð 	õ 	ØÔ ØØØ$Ô3Ø)ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r?   c	                óö   — | j         D ]N}	|r|j         |	         }	|                     |	d¦  «        }
|
r%|d                              | j        |
f¦  «          d S ŒO|d                              | j        df¦  «         d S ©NFÚquickÚexpireT)rl   Ú_getterrO   r8   )rr   rƒ   rx   ry   rz   r`   r„   r{   r…   ÚcolÚgetters              r=   r†   z!ColumnLoader.create_row_processor  s˜   € ð ”<ð 	:ð 	:ˆCØð +Ø”o cÔ*�Ø—^’^ C¨Ñ/Ô/ˆFØð Ø˜7Ô#×*Ò*¨D¬H°fÐ+=Ñ>Ô>Ð>Ø��ðð �xÔ ×'Ò'¨¬°4Ð(8Ñ9Ô9Ð9Ð9Ð9r?   ©F)
r‡   rˆ   r‰   rŠ   r‹   ro   r   r¢   r†   rŒ   r�   s   @r=   r�   r�   Ã   sƒ   ø€ € € € € ð CÐBà)€IðMð Mð Mð Mð Mð ð:ð :ð :ð :ðB
ð 
ð 
ð,:ð :ð :ð :ð :ð :ð :r?   r�   )Úquery_expressionc                  ó0   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zˆ xZS )ÚExpressionColumnLoaderc                óî   •‡— t          ¦   «                              ||¦  «         t          j        ¦   «                              d ¦  «        Št          ˆfd„| j        j        D ¦   «         ¦  «        | _        d S )Nc              3  óD   •K  — | ]}|                      ‰¦  «         V — Œd S r5   )Úcompare)Ú.0r~   Únulls     €r=   ú	<genexpr>z2ExpressionColumnLoader.__init__.<locals>.<genexpr>)  sA   øè è € ð ,
ð ,
Ø$%�—	’	˜$‘”Ðð,
ð ,
ð ,
ð ,
ð ,
ð ,
r?   )	rn   ro   r+   r²   ÚlabelÚanyrp   rl   Ú_have_default_expression)rr   rQ   rs   r²   rt   s      @€r=   ro   zExpressionColumnLoader.__init__"  s}   øø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.õ
 Œx‰zŒz×Ò Ñ%Ô%ˆÝ(+ð ,
ð ,
ð ,
ð ,
Ø)-Ô)=Ô)Eð,
ñ ,
ô ,
ñ )
ô )
ˆÔ%Ð%Ð%r?   c                óø   — d }	|r|j         r|j         }	n| j        r| j        j        }	|	€d S |	D ]'}
|r|j        |
         }
|                     |
|¦  «         Œ(|	d         }|r|j        |         }|€d S ||| j        <   d S r•   )Ú_extra_criteriar¶   rp   rl   rv   )rr   rw   rx   ry   rz   r{   r|   r—   r}   rl   r~   r™   s               r=   r   z"ExpressionColumnLoader.setup_query-  sÁ   € ð ˆØð 	3�wÔ.ð 	3ØÔ-ˆGˆGàÔ*ð 	3ØÔ*Ô2ˆGàˆ?ØˆFàð 	Nð 	NˆAØð 'Ø”O AÔ&�Ø×7Ò7¸Ð;LÑMÔMÐMÐMà˜”
ˆØð 	Ø”O EÔ*ˆEØˆ}ð �à49Ð˜DÔ0Ñ1Ð1Ð1r?   c	                ó  — |rƒ|j         r~|j         }	|	D ]N}
|r|j        |
         }
|                     |
d¦  «        }|r%|d                              | j        |f¦  «          d S ŒO|d                              | j        df¦  «         d S d S d S r¤   )r¸   rl   r§   rO   r8   )rr   rƒ   rx   ry   rz   r`   r„   r{   r…   rl   r¨   r©   s               r=   r†   z+ExpressionColumnLoader.create_row_processorR  sÄ   € ð ð 	>�wÔ.ð 	>ØÔ-ˆGàð >ð >�Øð /Ø!œ/¨#Ô.�CØŸš¨¨UÑ3Ô3�Øð Ø˜wÔ'×.Ò.°´¸&Ð/AÑBÔBÐBØ�E�Eðð ˜8Ô$×+Ò+¨T¬X°tÐ,<Ñ=Ô=Ð=Ð=Ð=ð	>ð 	>ð 	>ð 	>r?   c                óp   — d| _         t          | j        |d| j        d         j        j        d¬¦  «         d S )NTFr   )rF   rE   Úaccepts_scalar_loader)r›   rf   rp   rl   rœ   r    ©rr   r`   s     r=   r¢   z+ExpressionColumnLoader.init_class_attributel  sI   € Ø"ˆÔåØÔ ØØØ!œ\¨!œ_Ô1Ô@Ø"'ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r?   )r‡   rˆ   r‰   ro   r   r†   r¢   rŒ   r�   s   @r=   r­   r­     sf   ø€ € € € € ð	
ð 	
ð 	
ð 	
ð 	
ð#:ð #:ð #:ðJ>ð >ð >ð4	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
r?   r­   )rh   rg   )rh   rg   Ú	raiseload)Ú
do_nothingc                  óH   ‡ — e Zd ZdZdZˆ fd„Zd„ Zd„ Z	 d
d„Zd„ Z	d	„ Z
ˆ xZS )ÚDeferredColumnLoaderzAProvide loading behavior for a deferred :class:`.ColumnProperty`.)rl   Úgroupr½   c                ó  •— t          ¦   «                              ||¦  «         t          | j        d¦  «        rt	          d¦  «        ‚| j                             dd¦  «        | _        | j        j        | _        | j        j	        | _	        d S )Nr’   z8Deferred loading for composite types not implemented yetr½   F)
rn   ro   r“   rp   ÚNotImplementedErrorÚstrategy_optsrX   r½   rl   rÁ   rq   s      €r=   ro   zDeferredColumnLoader.__init__ƒ  s‚   ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.Ý�4Ô'Ð):Ñ;Ô;ð 	Ý%ØJñô ð ð Ô+×/Ò/°¸UÑCÔCˆŒØÔ+Ô3ˆŒØÔ)Ô/ˆŒ
ˆ
ˆ
r?   c	           
     ó¬  — |j         r_|j        j        j        rN| j        |j        j        j        v r6| j                             d¦  «                             ||||||||¦  «         d S | j        sD| j	        r| j        j
        }	n| j        j        }	|d                              | j        |	f¦  «         d S |d                              | j        df¦  «         d S )N©)rh   F©rg   TÚnewr¦   F)Úrefresh_stater   Ú_compile_optionsÚ_only_load_propsr8   rp   Ú_get_strategyr†   r›   r½   Ú_raise_column_loaderÚ_deferred_column_loaderrO   )
rr   rƒ   rx   ry   rz   r`   r„   r{   r…   Úset_deferred_for_local_states
             r=   r†   z)DeferredColumnLoader.create_row_processor�  s  € ð* Ô!ð	;à”Ô.Ô?ð	;ð ”˜GœMÔ:ÔKÐKÐKàÔ ×.Ò.Ø;ñô ç"Ò"ØØØØØØØØñ	ô 	ð 	ð 	ð 	ð Ô$ð 	;ØŒ~ð àÔ(Ô=ð -Ð,ð
 Ô(Ô@ð -ð �uÔ×$Ò$ d¤hÐ0LÐ%MÑNÔNÐNÐNÐNà�xÔ ×'Ò'¨¬°5Ð(9Ñ:Ô:Ð:Ð:Ð:r?   c                ó|   — d| _         t          | j        |d| j        d         j        j        | j        d¬¦  «         d S )NTFr   )rF   rE   rI   Úload_on_unexpire)r›   rf   rp   rl   rœ   r    Ú_load_for_stater¼   s     r=   r¢   z)DeferredColumnLoader.init_class_attributeÀ  sO   € Ø"ˆÔåØÔ ØØØ!œ\¨!œ_Ô1Ô@ØÔ*Ø"ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r?   Nc	           	     óä  — |j         j        r| j        j        sj|r1t	          | j        ¦  «                             | j        j        ¦  «        s7|r*| j	        r#|j
                             d| j	        z  d¦  «        s|r7| j        |v r. | j                             d¦  «        j        |||||||fi |	¤Ž d S | j        rt           || j        <   d S | j        st$          || j        <   d S t&          || j        <   d S )Nzundefer_group_%sFrÆ   )Úcompile_optionsÚ_render_for_subqueryrp   Ú_renders_in_subqueriesÚsetrl   ÚintersectionrQ   Ú_should_undefer_in_wildcardrÁ   Ú
local_optsrX   r8   rÌ   r   r›   r   r½   r   r   )
rr   rw   rx   ry   rz   r{   r|   r—   Úonly_load_propsrb   s
             r=   r   z DeferredColumnLoader.setup_queryÌ  sj  € ð Ô-ÔBð%	Ið Ô(Ô?ð%	Ið ð%	Iõ ˜œÑ%Ô%×2Ò2Ø”KÔ;ñô ð%	Ið ð%	Ið ”Jð%	Ið Ô&×*Ò*Ø&¨¬Ñ3°Uñô ð%	Ið$  ð%%	Ið$ %)¤H°Ð$?Ð$?ðˆDÔ ×.Ò.Ø;ñô äØØØØØØ!Ø#ðð ð ðð ð ð ð ð Ô ð 	IÝ8MÐ Ô 4Ñ5Ð5Ð5Ø”ð 	IÝ8HÐ Ô 4Ñ5Ð5Ð5å8HÐ Ô 4Ñ5Ð5Ð5r?   c                ó  ‡ ‡— ‰j         st          j        S |t          j        z  st          j        S ‰j        j        }‰ j        rˆ fd„|j	        D ¦   «         }n‰ j         g}ˆfd„|D ¦   «         }t          ‰¦  «        }|€2t          j        dt          j        ‰¦  «        ›d‰ j         ›d�¦  «        ‚‰ j        r‰                      ‰|d¦  «         t#          j        ‰j        ‰t'          |¦  «        t(          ¦  «         t          j        S )Nc                óœ   •— g | ]H}t          |t          ¦  «        r1t          |j        t          ¦  «        r|j        ‰j        k    ¯A|j        ‘ŒIS r�   )Ú
isinstancer!   ÚstrategyrÀ   rÁ   r8   )r±   Úprr   s     €r=   ú
<listcomp>z8DeferredColumnLoader._load_for_state.<locals>.<listcomp>	  sb   ø€ ð ð ð àÝ˜aÕ!4Ñ5Ô5ðõ ˜qœzÕ+?Ñ@Ô@ð	ð
 ”G˜tœzÒ)Ð)ð	 ”ð *Ð)Ð)r?   c                ó&   •— g | ]}|‰j         v ¯|‘ŒS r�   )Ú
unmodified)r±   ÚkÚstates     €r=   rá   z8DeferredColumnLoader._load_for_state.<locals>.<listcomp>  s&   ø€ Ð<Ð<Ð<�q a¨5Ô+;Ð&;Ð&;�Ð&;Ð&;Ð&;r?   úParent instance zB is not bound to a Session; deferred load operation of attribute 'ú' cannot proceedÚraise)r8   r   Ú
ATTR_EMPTYr   ÚSQL_OKÚPASSIVE_NO_RESULTÚmanagerr`   rÁ   Úiterate_propertiesr"   Úorm_excÚDetachedInstanceErrorr6   Ú	state_strr½   Ú_invoke_raise_loadr   Úload_scalar_attributesr×   r   r   )rr   rå   ÚpassiveÚlocalparentÚtoloadrÁ   Úsessions   ``     r=   rÒ   z$DeferredColumnLoader._load_for_stateÿ  s9  øø€ ØŒyð 	3Ý'Ô2Ð2à�Ô+Ñ+ð 	:Ý'Ô9Ð9à”mÔ*ˆàŒ:ð 		 ðð ð ð à$Ô7ðñ ô ˆFˆFð ”h�ZˆFð =Ð<Ð<Ð<˜FÐ<Ñ<Ô<ˆå  Ñ'Ô'ˆØˆ?ÝÔ/Ð/õ Ô% eÑ,Ô,Ð,Ð,¨d¬h¨h¨hð8ñô ð ð Œ>ð 	=Ø×#Ò# E¨7°GÑ<Ô<Ð<åÔ&ØŒL˜%¥ U¡¤­[ñ	
ô 	
ð 	
õ $Ô0Ð0r?   c                ó2   — t          j        d| ›d�¦  «        ‚)Nú'z(' is not available due to raiseload=True©Úsa_excÚInvalidRequestError©rr   rå   ró   Úlazys       r=   rñ   z'DeferredColumnLoader._invoke_raise_load'  s$   € ÝÔ(Ð(Ø=A¸T¸TÐCñ
ô 
ð 	
r?   r5   )r‡   rˆ   r‰   rŠ   r‹   ro   r†   r¢   r   rÒ   rñ   rŒ   r�   s   @r=   rÀ   rÀ   x  s¢   ø€ € € € € ð LÐKà/€Ið0ð 0ð 0ð 0ð 0ð1;ð 1;ð 1;ðf

ð 

ð 

ð* ð1Ið 1Ið 1Ið 1Iðf&1ð &1ð &1ðP
ð 
ð 
ð 
ð 
ð 
ð 
r?   rÀ   c                  ó0   — e Zd ZdZd
dd„Zej        fd„Zd	S )ÚLoadDeferredColumnsz7serializable loader object used by DeferredColumnLoaderFr8   Ústrr½   Úboolc                ó"   — || _         || _        d S r5   )r8   r½   )rr   r8   r½   s      r=   ro   zLoadDeferredColumns.__init__0  s   € ØˆŒØ"ˆŒˆˆr?   c                ó°   — | j         }|j        j        }|j        |         }| j        rd}nd}|                     |¦  «        }|                     ||¦  «        S )N)©rh   TrÇ   )r½   T)r  rÇ   )r8   rì   r`   rW   r½   rÌ   rÒ   )rr   rå   ró   r8   rô   r:   rs   rß   s           r=   Ú__call__zLoadDeferredColumns.__call__4  se   € ØŒhˆà”mÔ*ˆØÔ! #Ô&ˆØŒ>ð 	FðˆLˆLð FˆLØ×%Ò% lÑ3Ô3ˆØ×'Ò'¨¨wÑ7Ô7Ð7r?   Nrª   )r8   r   r½   r  )r‡   rˆ   r‰   rŠ   ro   r   r   r  r�   r?   r=   rÿ   rÿ   -  sO   € € € € € ØAÐAð#ð #ð #ð #ð #ð '1Ô&<ð 8ð 8ð 8ð 8ð 8ð 8r?   rÿ   c                  ó,   ‡ — e Zd ZdZdZˆ fd„Zd„ Zˆ xZS )ÚAbstractRelationshipLoaderz0LoaderStratgies which deal with related objects.)r`   ÚtargetrC   Úentityc                óÔ   •— t          ¦   «                              ||¦  «         | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        d S r5   )rn   ro   rp   r`   r	  r  rC   rq   s      €r=   ro   z#AbstractRelationshipLoader.__init__J  sU   ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.ØÔ*Ô1ˆŒØÔ*Ô1ˆŒØÔ*Ô1ˆŒØÔ+Ô3ˆŒˆˆr?   c	           
     ój   — | j                              d¦  «                             ||||||||¦  «        S )N))rý   Ú	immediate)rp   rÌ   r†   r‚   s	            r=   Ú#_immediateload_create_row_processorz>AbstractRelationshipLoader._immediateload_create_row_processorQ  sJ   € ð Ô#×1Ò1Ø$ñ
ô 
ç
Ò
ØØØØØØØØñ	
ô 	
ð	
r?   )r‡   rˆ   r‰   rŠ   r‹   ro   r  rŒ   r�   s   @r=   r  r  E  sR   ø€ € € € € Ø:Ð:à7€Ið4ð 4ð 4ð 4ð 4ð
ð 
ð 
ð 
ð 
ð 
ð 
r?   r  c                  ó   — e Zd ZdZdS )ÚDoNothingLoaderzßRelationship loader that makes no change to the object's state.

    Compared to NoLoader, this loader does not initialize the
    collection/attribute to empty/none; the usual default LazyLoader will
    take effect.

    N)r‡   rˆ   r‰   rŠ   r�   r?   r=   r  r  j  s   € € € € € ðð ð ð r?   r  Únoload)rý   c                  ó"   — e Zd ZdZdZd„ Zd„ ZdS )ÚNoLoaderzQProvide loading behavior for a :class:`.Relationship`
    with "lazy=None".

    r�   c                óX   — d| _         t          | j        |d| j        j        ¬¦  «         d S )NT)rF   rH   )r›   rf   rp   Úcollection_classr¼   s     r=   r¢   zNoLoader.init_class_attribute�  s@   € Ø"ˆÔåØÔ ØØØÔ-Ô>ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r?   c	                óV   ‡ — ˆ fd„}	|d                               ‰ j        |	f¦  «         d S )Nc                ód   •— ‰j         rt          j        | |‰j        ¦  «         d S d |‰j        <   d S r5   )rC   r   Úinit_state_collectionr8   )rå   Údict_Úrowrr   s      €r=   Úinvoke_no_loadz5NoLoader.create_row_processor.<locals>.invoke_no_load–  s9   ø€ ØŒ|ð 'ÝÔ0°¸¸t¼xÑHÔHÐHÐHÐHà"&��d”h‘��r?   rÈ   )rO   r8   )
rr   rƒ   rx   ry   rz   r`   r„   r{   r…   r  s
   `         r=   r†   zNoLoader.create_row_processor‹  sD   ø€ ð	'ð 	'ð 	'ð 	'ð 	'ð 	�5Ô× Ò  $¤(¨NÐ!;Ñ<Ô<Ð<Ð<Ð<r?   N)r‡   rˆ   r‰   rŠ   r‹   r¢   r†   r�   r?   r=   r  r  v  sC   € € € € € ðð ð
 €Ið
ð 
ð 
ð=ð =ð =ð =ð =r?   r  Úselectrè   Úraise_on_sqlÚbaked_selectc                  óÎ   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded<   d	ed
<   dˆ fd„Zd„ Zd„ Zd„ Z	d„ Z
ddddej        fd„Zd„ Z ej        d¦  «        d„ ¦   «         Zd„ Zˆ xZS )Ú
LazyLoaderztProvide loading behavior for a :class:`.Relationship`
    with "lazy=True", that is loads when first accessed.

    )Ú
_lazywhereÚ_rev_lazywhereÚ_lazyload_reverse_optionÚ	_order_byÚuse_getÚis_aliased_classÚ_bind_to_colÚ_equated_columnsÚ_rev_bind_to_colÚ_rev_equated_columnsÚ_simple_lazy_clauseÚ_raise_alwaysÚ_raise_on_sqlzColumnElement[bool]r   zDict[str, ColumnElement[Any]]r&  r!  r(  úRelationshipProperty[Any]rp   rQ   rs   úTuple[Any, ...]c                óÜ  •— t          ¦   «                              ||¦  «         | j        d         dk    | _        | j        d         dk    | _        t          | j        ¦  «        j        | _        | j        j	        }| 
                    ¦   «         \  | _        | _        | _        | 
                    d¬¦  «        \  | _        | _        | _        | j        j        r.d„ t%          j        | j        j        ¦  «        D ¦   «         | _        nd | _        | j                             d| | j        ¦  «         | j         o?| j         o7| j        j        d                              | j        dd	| j        j        ¬
¦  «        | _        | j        rlt;          | j        ¦  «        D ]:}|| j        j        v r*| j        j        |         D ]}| j        |         | j        |<   ŒŒ;| j                             d| ¦  «         d S d S )Nrý   rè   r  T)Úreverse_directionc                ó<   — g | ]}t          j        |d di¦  «        ‘ŒS )Ú
_orm_adaptT)Úsql_utilÚ_deep_annotate)r±   Úelems     r=   rá   z'LazyLoader.__init__.<locals>.<listcomp>Û  s:   € ð ð ð àõ Ô'¨¨|¸TÐ.BÑCÔCðð ð r?   z%s lazy loading clause %sr   F©Úuse_proxiesÚcompare_keysÚequivalentsz4%s will use Session.get() to optimize instance loads)rn   ro   rÄ   r+  r,  r)   r	  r%  rp   Ú_join_conditionÚcreate_lazy_clauser   r&  r'  r!  r(  r)  Úorder_byr   Úto_listr#  ÚloggerÚinforC   Ú_get_clauser°   r`   Ú_equivalent_columnsr$  Úlist)rr   rQ   rs   Újoin_conditionr¨   r~   rt   s         €r=   ro   zLazyLoader.__init__Ä  s  ø€ õ 	‰Œ×Ò˜ Ñ.Ô.Ð.Ø!Ô/°Ô7¸7ÒBˆÔØ!Ô/°Ô7¸>ÒIˆÔå '¨¬Ñ 4Ô 4Ô EˆÔàÔ-Ô=ˆð
 ×-Ò-Ñ/Ô/ñ		
ØŒOØÔØÔ!ð ×-Ò-ÀÐ-ÑEÔEñ		
ØÔØÔ!ØÔ%ð ÔÔ(ð 	"ðð å œL¨Ô)=Ô)FÑGÔGðñ ô ˆDŒNˆNð
 "ˆDŒNàŒ×ÒÐ4°d¸D¼OÑLÔLÐLð Ô%Ð%ð Ø”LÐ ðà”Ô'¨Ô*×2Ò2Ø”Ø Ø"Ø œKÔ;ð	 3ñ ô ð 	Œð Œ<ð 	Ý˜DÔ1Ñ2Ô2ð Nð N�Ø˜$œ+Ô9Ð9Ð9Ø!œ[Ô<¸SÔAð Nð N˜Ø37Ô3HÈÔ3M˜Ô-¨aÑ0Ð0øàŒK×ÒØFÈñô ð ð ð ð	ð 	r?   c           	     ó   — d| _         | j        j        }| j        j        rd}d}n/| j        j        t
          j        us| j        s|rd}d}n	d}d}ndx}}t          | j        |d| j	        | j        j
        ||¬¦  «         d S )NTF)rF   rI   rH   rJ   Ú_deferred_history)r›   rp   Ú_legacy_inactive_history_stylerJ   r]   r   Ú	MANYTOONEr$  rf   rÒ   r  )rr   r`   rF  rJ   rE  s        r=   r¢   zLazyLoader.init_class_attribute   sÌ   € Ø"ˆÔð Ô Ô?ð 	'ð ÔÔ.ð 	7Ø!ˆNØ %ÐÐð Ô Ô*µ*Ô2FÐFÐFØ”<ð Gð .ð )Ø!%�Ø$)Ð!Ð!à!&�Ø$(Ð!Ð!à16Ð6ˆNÐ.åØÔ ØØØÔ*ØÔ-Ô>Ø)Ø/ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r?   c                óÐ   ‡‡— t          j        | j        ddi¦  «        }|| j        c}Šg Šd„ }t	          j        |i d|i¦  «         ˆˆfd„}t	          j        |i d|i¦  «        }|‰fS )Nr2  Tc                ó   — d| _         d S )NF)Úunique)Ú	bindparams    r=   Úvisit_bindparamzFLazyLoader._memoized_attr__simple_lazy_clause.<locals>.visit_bindparam+  s   € Ø$ˆIÔÐÐr?   rK  c                óÄ   •— | j         ‰v r*‰                     | j        ‰| j                  d f¦  «         d S | j        €$‰                     | j        d | j        f¦  «         d S d S r5   )Ú_identifying_keyrO   r8   ÚcallableÚvalue)rK  Úbind_to_colÚparamss    €€r=   rL  zFLazyLoader._memoized_attr__simple_lazy_clause.<locals>.visit_bindparam0  s   ø€ ØÔ)¨[Ð8Ð8Ø—’à!œØ# IÔ$>Ô?Øðñô ð ð ð ð Ô#Ð+Ø—’˜yœ}¨d°I´OÐDÑEÔEÐEÐEÐEð ,Ð+r?   )r3  r4  r   r&  r,   ÚtraverseÚcloned_traverse)rr   Ú	lazywhereÚ	criterionrL  rQ  rR  s       @@r=   Ú"_memoized_attr__simple_lazy_clausez-LazyLoader._memoized_attr__simple_lazy_clause"  s´   øø€ ÝÔ+ØŒO˜l¨DÐ1ñ
ô 
ˆ	ð #,¨TÔ->Ðˆ	�;àˆð	%ð 	%ð 	%õ 	Ô˜) R¨+°Ð)GÑHÔHÐHð
	Fð 
	Fð 
	Fð 
	Fð 
	Fð 
	Fõ Ô,Ø�r˜K¨Ð9ñ
ô 
ˆ	ð ˜&Ð Ð r?   c                ó¬  — | j         \  }}|€t          j        |d„ |D ¦   «         ¦  «        S | j        j        }|                     ¦   «         }t          j        |¦  «        }|t          j	        z  r|t          j	        z  }i }|D ]O\  }	}
}|
�B|r(|t          j
        z  r|                     |||
|¦  «        }n|                     |||
|¦  «        }|||	<   ŒP||fS )Nc                ó   — g | ]\  }}}|‘Œ	S r�   r�   )r±   r8   ÚidentrP  s       r=   rá   z4LazyLoader._generate_lazy_clause.<locals>.<listcomp>G  s   € ÐDÐDÐDÑ$5 C¨°˜CÐDÐDÐDr?   )r*  r3  Úadapt_criterion_to_nullrp   rQ   Úobjr   Úinstance_dictr   ÚINIT_OKÚLOAD_AGAINST_COMMITTEDÚ#_get_committed_state_attr_by_columnÚ_get_state_attr_by_column)rr   rå   ró   rV  Ú
param_keysr`   Úor  rR  r8   rZ  rP  s               r=   Ú_generate_lazy_clausez LazyLoader._generate_lazy_clauseB  s  € Ø $Ô 8Ñˆ	�:àˆ=ÝÔ3ØÐDÐD¸ÐDÑDÔDñô ð ð Ô%Ô,ˆà�IŠI‰KŒKˆÝÔ(¨Ñ+Ô+ˆà•[Ô(Ñ(ð 	+Ø•{Ô*Ñ*ˆGàˆØ!+ð 	 ð 	 ÑˆC�˜ØÐ Øð ˜w­Ô)KÑKð Ø"×FÒFØ˜u e¨Wñô �E�Eð #×<Ò<Ø˜u e¨Wñô �Eð  ˆF�3‰KˆKà˜&Ð Ð r?   c                ó8   — t          j        d| ›d|›d�¦  «        ‚)Nrø   z ' is not available due to lazy='rù   rü   s       r=   rñ   zLazyLoader._invoke_raise_loadb  s*   € ÝÔ(Ð(Ø8<¸¸¸d¸d¸dÐCñ
ô 
ð 	
r?   Nr�   c                óz  — |j         s&| j        j        s|j        r|j        st
          j        S |j          }d }	| j        o
| p|j         }
|t          j
        z  s|
r|t          j        z  s|rt
          j        S | j        r7|t          j        z  s(|
r|t          j        z  r|                      ||d¦  «         t%          |¦  «        }|sM|t          j        z  rt
          j        S t'          j        dt+          j        |¦  «        ›d| j         ›d�¦  «        ‚|
�r	|                      |||¦  «        }	t
          j        |	v rt
          j        S t
          j        |	v rt
          j        S | j        j        st7          j        |	¦  «        rd S nt7          j        |	¦  «        rd S | j         |j        v r|t          j        z  st
          j         S | !                    | j"        |	||¬¦  «        }|�|t
          j#        u rd S |S |t          j
        z  r|t          j        z  st
          j        S |  $                    |||	||||||¦	  «	        S )Nrè   ræ   z> is not bound to a Session; lazy load operation of attribute 'rç   )ró   Úlazy_loaded_from)%r8   rp   Úload_on_pendingÚ_load_pendingÚ
session_idr   ré   r$  r¸   r   rê   r   ÚNON_PERSISTENT_OKrë   r+  ÚNO_RAISEÚRELATED_OBJECT_OKrñ   r"   rî   rï   r6   rð   Ú_get_ident_for_use_getÚ	NEVER_SETr`   Úallow_partial_pksr%   rØ   Ú
issupersetÚdictÚDEFERRED_HISTORY_LOADr   Ú_identity_lookupr	  ÚPASSIVE_CLASS_MISMATCHÚ_emit_lazyload)rr   rå   ró   rz   Úextra_criteriaÚextra_optionsÚalternate_effective_pathÚexecution_optionsÚpendingÚprimary_key_identityr$  rö   Úinstances                r=   rÒ   zLazyLoader._load_for_stateg  s×  € ð Œyð 	3àÔ(Ô8ð	3ð Ô+ð	3ð
 Ô#ð	3õ (Ô2Ð2à”i�-ˆØ#Ðà”,ÐO¨ KÐ$N°wÔ7NÐ3Nˆà�+Ô,Ñ,ð 	:°Wð 	:Ø�*Ô6Ñ6ð	:Ø;Bð	:õ (Ô9Ð9ð Ôð	=ð �kÔ2Ñ2ð		=ð ð	=ð �[Ô:Ñ:ð	=ð ×#Ò# E¨7°GÑ<Ô<Ð<å  Ñ'Ô'ˆØð 	Ø�Ô-Ñ-ð >Ý+Ô=Ð=åÔ/Ð/õ Ô% eÑ,Ô,Ð,Ð,¨d¬h¨h¨hð8ñô ð ð ñ .	>Ø#'×#>Ò#>Ø˜ ñ$ô $Ð õ $Ô5Ð9MÐMÐMÝ+Ô=Ð=Ý%Ô/Ð3GÐGÐGÝ+Ô5Ð5ð
 ”;Ô0ð  Ý!Ô.Ð/CÑDÔDð  Ø˜4ð õ "Ô,Ð-AÑBÔBð  Ø˜4ð ”˜EœJÐ&Ð&Ø¥+Ô"CÑCð 'õ ,Ô8Ð8ð ×/Ò/Ø”Ø$ØØ!&ð	 0ñ ô ˆHð Ð#ØÕ3ÔJÐJÐJØ˜4à#�Oà�kÔ0Ñ0ð>à¥Ô!>Ñ>ð>õ ,Ô=Ð=à×"Ò"ØØØ ØØØØØ$Øñ

ô 

ð 
	
r?   c                ó¦   ‡ ‡‡‡‡— ‰j         j        }‰t          j        z  r|j        Šn|j        Š‰j        Šˆˆˆˆ ˆfd„‰ j        j        D ¦   «         S )Nc                óD   •— g | ]} ‰‰‰‰j         |         ‰¬ ¦  «        ‘ŒS )©ró   ©r'  )r±   Úpkr  Úget_attrró   rr   rå   s     €€€€€r=   rá   z5LazyLoader._get_ident_for_use_get.<locals>.<listcomp>è  sD   ø€ ð 
ð 
ð 
àð ˆH�U˜E 4Ô#8¸Ô#<ÀgÐNÑNÔNð
ð 
ð 
r?   )rì   r`   r   r_  r`  ra  rr  r�   )rr   rö   rå   ró   Úinstance_mapperr  rƒ  s   ` `` @@r=   rn  z!LazyLoader._get_ident_for_use_getÞ  s   øøøøø€ Øœ-Ô.ˆà•[Ô7Ñ7ð 	AØ&ÔJˆHˆHà&Ô@ˆHà”
ˆð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
à”kÔ-ð
ñ 
ô 
ð 	
r?   zsqlalchemy.orm.strategy_optionsc
                óN  ‡ ‡— t           j        j        Š‰ j                             ¦   «         }
t          j        |
g|
j        t          t          j
        ¬¦  «        }t          j        }|d|dœz  }‰ j        j        �%|                     ‰ j        ‰ j        j        ¦  «        }|j         }|s|t$          j        z  rt          j        ddi¦  «        |_        ‰ j        }|j        s	|ra|j        rZ|€|j        ‰ j                 }n|‰ j                 }|j        }|r'|j        r d}|t5          j        ‰ j        |¦  «        fz  }||_        n'|€|j        j        ‰ j                 }n|‰ j                 }|r|xj        |z  c_        |xj        d|iz  c_        |rF‰ j        r&|t@          j!        z  s‰  "                    ||d¦  «         tG          j$        |||||	¬¦  «        S ‰ j%        r‰ j%        |_&        ˆ ˆfd„}|xj'        |‰ j        ffz  c_'        ‰  (                    ||¦  «        \  }}|	r#t           j)         *                    |	d	|i¦  «        }	nd	|i}	‰ j        |j+        v r|t@          j,        z  stZ          j.        S |r4t          j/        t4          j0        | 1                    ¦   «         ¦  «        rd S n3t          j/        t4          j2        | 1                    ¦   «         ¦  «        rd S ‰ j        r&|t@          j!        z  s‰  "                    ||d¦  «         |f|_3        | 4                    |||	¬
¦  «        }| 5                    ¦   «          6                    ¦   «          7                    ¦   «         }‰ j8        r|S ts          |¦  «        }|r*|dk    rt          j:        d‰ j        z  ¦  «         |d         S d S )N)Ú_raw_columnsÚ_propagate_attrsÚ_label_stylerÊ   F)Ú_invoke_all_eagersÚ_lazy_loaded_fromÚ	autoflushÚ_current_pathr  )Úload_optionsrz  c                ó8  •— ‰j         j        D ]‹}|j        t          j        u rv|j        rot          |j        t          ¦  «        sU‰j	         
                    | j        j        |j                 ¦  «                             |¦  «                             | ¦  «         ŒŒd S r5   )rp   Ú_reverse_propertyr]   r   rG  Ú_use_getrÞ   rß   r  r$   Ú_construct_for_existing_pathrÔ   rŒ  rQ   ÚlazyloadÚprocess_compile_state)Úcompile_contextÚrevrr   Ústrategy_optionss     €€r=   Ú_lazyload_reversez4LazyLoader._emit_lazyload.<locals>._lazyload_reverseB  s    ø€ ØÔ+Ô=ð Kð K�ð ”M¥ZÔ%9Ð9Ð9Øœð :å& s¤|µZÑ@Ô@ð :ð %Ô)×FÒFØ'Ô7ÔEØœJôñô ÷ ’h˜s‘m”m×$9Ò$9¸/Ñ$JÔ$JÐ$JøðKð Kr?   Ú_sa_orm_load_options)rz  r
   zKMultiple rows returned with uselist=False for lazily-loaded attribute '%s' r   );r   Ú	preloadedÚorm_strategy_optionsr	  Ú__clause_element__r.   Ú_create_raw_selectr‡  r-   r   Údefault_compile_optionsr   Údefault_load_optionsrp   Ú	secondaryÚselect_fromr`   r8   r   ÚNO_AUTOFLUSHÚimmutabledictÚ_execution_optionsr$  r�  r¸   Ú	load_pathr6   ÚLoaderCriteriaOptionÚ_with_optionsÚ_path_registryrÊ   r,  r   rl  rñ   r   Úload_on_pk_identityr#  Ú_order_by_clausesÚ_with_context_optionsrd  Ú
EMPTY_DICTÚ
merge_withrr  rs  r   r   Úhas_intersectionÚ	_none_setÚvaluesÚ
_never_setÚ_where_criteriaÚexecuterJ  ÚscalarsÚallrC   ÚlenÚwarn)rr   rö   rå   r|  ró   rz   rw  rx  ry  rz  ÚclauseelementÚstmtr�  r{  r$  Úeffective_pathr<   r—  Úlazy_clauserR  r„   Úlr–  s   `                     @r=   rv  zLazyLoader._emit_lazyloadí  sc  øø€ õ  œ>Ô>Ðàœ×6Ò6Ñ8Ô8ˆÝÔ(Ø'˜Ø*Ô;Ý7Ý,ÔDð	
ñ 
ô 
ˆõ $Ô8ˆàØ"'Ø!&ð
ð 
ñ 	
ˆð
 ÔÔ)Ð5Ø×#Ò#Ø”˜TÔ1Ô;ñô ˆDð ”i�-ˆð ð 	O�g¥
Ô 7Ñ7ð 	OÝ&*Ô&8¸+ÀuÐ9MÑ&NÔ&NˆDÔ#à”,ˆàÔð 	L 'ð 	L¨gÔ.Eð 	LØ'Ð/Ø!&¤°Ô1EÔ!F��à!9¸$Ô:NÔ!O�àÔ%ˆDàð ˜7Ô2ð Ø�ØÝÔ1°$´+¸~ÑNÔNðñ �ð "&ˆDÔÐØ%Ð-ð #œ\Ô8¸Ô9MÔNˆNˆNð 6°dÔ6JÔKˆNàð 	0ØÐÔ -Ñ/ÐÔàÐÔ /°>Ð!BÑBÐÔàð 
	ØÔ!ð H¨'µKÔ4HÑ*Hð HØ×'Ò'¨¨w¸ÑGÔGÐGåÔ.ØØØ$Ø)Ø"3ðñ ô ð ð Œ>ð 	4Ø%)¤^ˆDÔ"ð	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Ð"Ô"Ø Ô 4Ð5ð'
ñ 	
Ð"Ô"ð #×8Ò8¸ÀÑHÔHÑˆ�Vàð 
	Ý $¤× :Ò :Ø!à*¨Lðñ!ô !ÐÐð '¨ð!Ðð
 ŒH˜œ
Ð"Ð"Ø�kÔ?Ñ?ð #õ (Ô4Ð4àð 	ÝÔ$¥XÔ%7¸¿º¹¼ÑIÔIð Ø�tðõ Ô"¥8Ô#6¸¿º¹¼ÑHÔHð 	Ø�4àÔð 	D gµÔ0DÑ&Dð 	DØ×#Ò# E¨7°NÑCÔCÐCà +˜~ˆÔà—’Ø�&Ð,=ð !ñ 
ô 
ˆð —’‘”×(Ò(Ñ*Ô*×.Ò.Ñ0Ô0ˆàŒ<ð 	ØˆMå�F‘”ˆAØð 
Ø�q’5�5Ý”IðJàÔ.ñ/ñô ð ð ˜a”yÐ à�tr?   c	                ó  ‡— | j         Š|j        j        rE|j        j        j        r4| j         |j        j        j        v r|                      ||||||||¦  «        S | j        r	|rr|j        rkt          j
        |j        t          ‰| ||j        r|                     |¦  «        nd ¦  «        ‰¦  «        }	|d                              | j         |	f¦  «         d S |j        s|j        r)ˆfd„}
|d                              | j         |
f¦  «         d S d S )NrÈ   c                ó4   •— |                       |‰¦  «         d S r5   )Ú_reset)rå   r  r  r8   s      €r=   Úreset_for_lazy_callablez@LazyLoader.create_row_processor.<locals>.reset_for_lazy_callableÅ  s   ø€ ð —’˜U CÑ(Ô(Ð(Ð(Ð(r?   )r8   r�  Ú_is_user_refreshr   rÊ   rË   r  r›   r¸   r#   Ú"_instance_level_callable_processorrY   ÚLoadLazyAttributeÚ_generate_extra_criteriarO   Úpopulate_existingÚalways_refresh)rr   rƒ   rx   ry   rz   r`   r„   r{   r…   Úset_lazy_callabler¿  r8   s              @r=   r†   zLazyLoader.create_row_processor‹  s{  ø€ ð Œhˆð Ô Ô1ð	à”Ô.Ô?ð	ð ”˜GœMÔ:ÔKÐKÐKà×;Ò;ØØØØØØØØñ	ô 	ð 	ð Ô"ð (	J wð (	J°7Ô3Jð (	Jõ Ô@àÔ$Ý!ØØØð #Ô2ð"˜×8Ò8¸ÑAÔAÐAà!ñ	ô 	ð ñ!ô !Ðð" �uÔ×$Ò$ d¤hÐ0AÐ%BÑCÔCÐCÐCÐCØÔ&ð 	J¨&Ô*?ð 	Jð	)ð 	)ð 	)ð 	)ð 	)ð �uÔ×$Ò$ d¤hÐ0GÐ%HÑIÔIÐIÐIÐIð	Jð 	Jr?   )rQ   r-  rs   r.  )r‡   rˆ   r‰   rŠ   r‹   Ú__annotations__ro   r¢   rW  rd  rñ   r   r«  rÒ   rn  Úpreload_modulerv  r†   rŒ   r�   s   @r=   r  r  Ÿ  sT  ø€ € € € € € ðð ð
€Ið  $Ð#Ð#Ñ#Ø/Ð/Ð/Ñ/Ø'Ð'Ð'Ñ'Ø3Ð3Ð3Ñ3à.Ð.Ð.Ñ.ð:ð :ð :ð :ð :ð :ðx 
ð  
ð  
ðD!ð !ð !ð@!ð !ð !ð@
ð 
ð 
ð ØØØ!%Øœ/ðu
ð u
ð u
ð u
ðn
ð 
ð 
ð €TÔÐ:Ñ;Ô;ð[ð [ñ <Ô;ð[ðzEJð EJð EJð EJð EJð EJð EJr?   r  c                  ó2   — e Zd ZdZd„ Zd„ Zej        fd„ZdS )rÂ  a¦  semi-serializable loader object used by LazyLoader

    Historically, this object would be carried along with instances that
    needed to run lazyloaders, so it had to be serializable to support
    cached instances.

    this is no longer a general requirement, and the case where this object
    is used is exactly the case where we can't really serialize easily,
    which is when extra criteria in the loader option is present.

    We can't reliably serialize that as it refers to mapped entities and
    AliasedClass objects that are local to the current process, which would
    need to be matched up on deserialize e.g. the sqlalchemy.ext.serializer
    approach.

    c                óH   — || _         |j        | _        || _        || _        d S r5   ©r8   rs   rz   rw  )rr   r8   Úinitiating_strategyrz   rw  s        r=   ro   zLoadLazyAttribute.__init__å  s)   € ØˆŒØ/Ô<ˆÔØˆŒØ,ˆÔÐÐr?   c                ód   — | j         �t          j        d¦  «         | j        | j        | j        ddœS )NzvCan't reliably serialize a lazyload() option that contains additional criteria; please use eager loading for this caser�   rË  )rw  r   r¶  r8   rs   rz   )rr   s    r=   Ú__getstate__zLoadLazyAttribute.__getstate__ë  sH   € ØÔÐ*ÝŒIð ñô ð ð ”8Ø Ô-Ø”|Ø ð	
ð 
ð 	
r?   c                ó¬   — | j         }|j        j        }|j        |         }|j        | j                 }|                     ||| j        | j        ¬¦  «        S )N)rz   rw  )	r8   rì   r`   rW   Ú_strategiesrs   rÒ   rz   rw  )rr   rå   ró   r8   r„  r:   rß   s          r=   r  zLoadLazyAttribute.__call__ù  s^   € ØŒhˆØœ-Ô.ˆØÔ% cÔ*ˆØÔ# DÔ$5Ô6ˆà×'Ò'ØØØ”LØÔ.ð	 (ñ 
ô 
ð 	
r?   N)	r‡   rˆ   r‰   rŠ   ro   rÎ  r   r   r  r�   r?   r=   rÂ  rÂ  Ó  sX   € € € € € ðð ð"-ð -ð -ð
ð 
ð 
ð '1Ô&<ð 
ð 
ð 
ð 
ð 
ð 
r?   rÂ  c                  ó   — e Zd ZdZdZdd„ZdS )Ú
PostLoaderz;A relationship loader that emits a second SELECT statement.r�   Nc                óB  — |j         j        pt          j        j        |z   }|                     ¦   «         }t          j        d|i¦  «        }|r"|j         	                    dd ¦  «        }|dk    }	nd }d}	|�Ž| j
        j        st          j        d| j
        › d�¦  «        ‚|j         	                    dt          | ¦  «        › �|¦  «        }|	s|dk     r|d||fS |	s*|                     dt          | ¦  «        › �|d	z
  i¦  «        }t"          j                             ||| j
        ¦  «        r|d||fS || j
                 }
|| j
                 }|
                     |j        d
¦  «        s7|r|j        dz  |k    r|d||fS n |                     | j        ¦  «        r|d||fS |d||fS )NÚsa_top_level_orm_contextÚrecursion_depthéÿÿÿÿFz'recursion_depth option on relationship z0 not valid for non-self-referential relationshipÚ_recursion_depth_r   r
   Úloaderr'   T)rw   Úcurrent_pathr6   ÚPathRegistryÚrootÚ_get_top_level_contextr   r¢  rÚ   rX   rp   Ú_is_self_referentialrú   rû   rz  ÚidÚunionr   ÚPostLoadÚpath_existsÚcontainsr   ÚlengthÚcontains_mapperr`   )rr   rƒ   ry   rz   Ú
join_depthr¹  Útop_level_contextrz  rÕ  Úunlimited_recursionÚpath_w_propÚeffective_path_w_props               r=   Ú_setup_for_recursionzPostLoader._setup_for_recursion  sL  € àÔ!Ô.ÐLµ(Ô2GÔ2LØñˆð $×:Ò:Ñ<Ô<ÐÝ Ô.Ø'Ð):Ð;ñ
ô 
Ðð ð 	(Ø%Ô0×4Ò4Ð5FÈÑMÔMˆOØ"1°RÒ"7ÐÐà"ˆOØ"'ÐàÐ&ØÔ'Ô<ð ÝÔ0ð8ØÔ+ð8ð 8ð 8ñô ð ð
 &Ô7×;Ò;Ø.¥B t¡H¤HÐ.Ð.°ñô ˆOð 'ð ¨?¸QÒ+>Ð+>à"ØØ%Ø#ð	ð ð 'ð Ø$5×$;Ò$;à6­B¨t©H¬HÐ6Ð6¸È!Ñ8Kðñ%ô %Ð!õ Ô×'Ò'Ø�^ TÔ%9ñ
ô 
ð 	Mð " 5Ð*;¸_ÐLÐLà˜4Ô/Ô0ˆØ .¨tÔ/CÔ DÐà×#Ò# GÔ$6¸ÑAÔAð 	Øð Ø(Ô/°!Ñ3°jÒ@Ð@à&ØØ)Ø'ð	ð ð Að '×6Ò6°t´{ÑCÔCð à"ØØ%Ø#ð	ð ð ˜tÐ%6¸ÐGÐGr?   r5   )r‡   rˆ   r‰   rŠ   r‹   rê  r�   r?   r=   rÒ  rÒ    s?   € € € € € ØEÐEà€IðDHð DHð DHð DHð DHð DHr?   rÒ  r  c                  ó4   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zˆ xZS )ÚImmediateLoader©rå  c                ón   •— t          ¦   «                              ||¦  «         | j        j        | _        d S r5   ©rn   ro   rp   rå  rq   s      €r=   ro   zImmediateLoader.__init__W  ó.   ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.ØÔ.Ô9ˆŒˆˆr?   c                ó`   — | j                              d¦  «                             |¦  «         d S ©N©)rý   r  ©rp   rÌ   r¢   r¼   s     r=   r¢   z$ImmediateLoader.init_class_attribute[  ó2   € ØÔ×*Ò*Ø!ñ	
ô 	
ç
Ò
˜vÑ
&Ô
&Ð
&Ð
&Ð
&r?   c	                óF  — |j         j        j        sd S |                      |||| j        ¦  «        \  }	}
}}|
st
          j        t          j        z  }nt
          j	        t          j        z  }t          j                             ||	| j        | j        | j        ||||¦	  «	         d S r5   )rw   rÔ   Ú_enable_eagerloadsrê  rå  r   ÚPASSIVE_NO_FETCH_RELATEDr   rl  r   r   rà  Úcallable_for_pathrQ   rp   Ú_load_for_path)rr   rƒ   rx   ry   rz   r`   r„   r{   r…   r¹  Ú
run_loaderrz  rÕ  Úflagss                 r=   r†   z$ImmediateLoader.create_row_processor`  s½   € ð Ô$Ô4ÔGð 	ØˆFð ×%Ò% g¨t°W¸d¼oÑNÔNñ	
ØØØØð ð 	Bõ
 Ô7½+Ô:NÑNˆEˆEåÔ*­[Ô-AÑAˆEåÔ×*Ò*ØØØŒKØÔ ØÔØØØØñ
	
ô 
	
ð 
	
ð 
	
ð 
	
r?   c	                óÈ  — |rLt          |j        j        ¦  «        }	||                     ¦   «         f|	_        |                     ¦   «         }
|	f}n|}
d}| j        }| j                             d¦  «        }|D ]k\  }}|j	        }|s||vrY| 
                    ||||
|¬¦  «        }|t          t          j        fvr*|                     |¦  «                             |||¦  «         Œld S )Nr�   ró  )rx  ry  rz  )r$   ry   r	  Ú_recurserƒ   Ú_truncate_recursiver8   rp   rÌ   rr  rÒ   r   r   rë   Úget_implÚset_committed_value)rr   rƒ   ry   ÚstatesÚ	load_onlyrz   rü  rÕ  rz  Únew_optry  rx  r8   Ú
lazyloaderrå   Ú	overwriter  rP  s                     r=   rú  zImmediateLoader._load_for_pathŠ  s*  € ð ð 
	Ý˜7œ<Ô.Ñ/Ô/ˆGàØ× Ò Ñ"Ô"ðˆGŒOð (,×'?Ò'?Ñ'AÔ'AÐ$Ø$˜JˆMˆMà'+Ð$ØˆMàŒhˆØÔ)×7Ò7Ð8MÑNÔNˆ
Ø &ð 	ð 	ÑˆE�9Ø”JˆEàð ˜C uÐ,Ð,Ø"×2Ò2ØØØ"/Ø-EØ&7ð 3ñ ô �ð Ý Ý(Ô:ð!ð ð ð —N’N 3Ñ'Ô'×;Ò;Ø˜u eñô ð øð	ð 	r?   )	r‡   rˆ   r‰   r‹   ro   r¢   r†   rú  rŒ   r�   s   @r=   rì  rì  S  sk   ø€ € € € € à€Ið:ð :ð :ð :ð :ð'ð 'ð 'ð
(
ð (
ð (
ðT*ð *ð *ð *ð *ð *ð *r?   rì  Úsubqueryc                  ó~   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Z G d
„ d¦  «        Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚSubqueryLoaderrí  c                ón   •— t          ¦   «                              ||¦  «         | j        j        | _        d S r5   rï  rq   s      €r=   ro   zSubqueryLoader.__init__¼  rð  r?   c                ó`   — | j                              d¦  «                             |¦  «         d S rò  rô  r¼   s     r=   r¢   z#SubqueryLoader.init_class_attributeÀ  rõ  r?   c                óè  ‡‡— |}|j         }t          j        |d         ¦  «        }| j                             |¦  «        r| j        |d         u r| j        | j        cŠ}n||d         cŠ}|rj|j        |         j        j        |         Št          |¦  «        t          ‰¦  «        z
  }|r+‰t          j                             || d …         ¦  «        z  Šn|Š|j        }	ˆˆfd„|	D ¦   «         }
‰|
|‰fS )Nr   r
   c                óp   •— g | ]2}t          ‰j        d          j        ‰j        |         j        ¦  «        ‘Œ3S ©r   )Úgetattrry   r	  rŸ   r8   )r±   r~   Úleftmost_mapperÚnew_subq_paths     €€r=   rá   z0SubqueryLoader._get_leftmost.<locals>.<listcomp>ì  sQ   ø€ ð 
ð 
ð 
ð
 õ	 ØÔ" 1Ô%Ô,ØÔ1°!Ô4Ô8ñô ð
ð 
ð 
r?   )ry   r6   Ú_class_to_mapperrQ   Úisarp   Ú	_entitiesÚentity_zeror§  rµ  r   rÚ  ÚcoerceÚlocal_columns)rr   Úorig_query_entity_indexÚ	subq_pathÚcurrent_compile_stateÚis_rootÚgiven_subq_pathÚsubq_mapperÚleftmost_propÚ
additionalÚleftmost_colsÚleftmost_attrr  r  s              @@r=   Ú_get_leftmostzSubqueryLoader._get_leftmostÅ  s9  øø€ ð $ˆØ”Nˆ	ÝÔ/°	¸!´Ñ=Ô=ˆð ŒK�OŠO˜KÑ(Ô(ð	GàÔ$¨	°!¬Ð4Ð4à-1¬[¸$Ô:NÐ*ˆO˜]˜]à-8¸)ÀA¼,Ð*ˆO˜]àð 	,ð 2Ô;Ø'ôäœ.¨ô8ˆMõ ˜Y™œ­#¨mÑ*<Ô*<Ñ<ˆJØð Ø¥Ô!;×!BÒ!BØ˜z˜k˜l˜lÔ+ñ"ô "ñ �øð ,ˆMà%Ô3ˆð
ð 
ð 
ð 
ð 
ð
 #ð
ñ 
ô 
ˆð  ¨}¸mÐKÐKr?   c                ó   — |                      ¦   «                              d ¦  «        }t          j                             t          j        ¦  «        }|j                             |j        ¦  «         |}|j        s3d|_         |j	        j
        |gd„ t          ||¬¦  «        D ¦   «         ¢R Ž  |                     d„ |D ¦   «         |                     ¦   «         ¦  «        }	|	|_        |j        }
|
du rd|_        nA|
€?d„ |	D ¦   «         D ]2}t#          |	¦  «                             |j        ¦  «        s	d|_         nŒ3|j        sd|_        |j        du r;|j        r4t-          j        |	|j        ¦  «        }|r|                     |	|z   ¦  «         |                     t4          ¦  «                             ¦   «         }t9          j        ||d¬¦  «        }|S )	NFc                ó.   — h | ]}|d          ®
|d          ’ŒS )r	  r�   )r±   Úents     r=   ú	<setcomp>z?SubqueryLoader._generate_from_original_query.<locals>.<setcomp>  s4   € ð ð ð àð ˜8”}Ð0ð	 ˜”Mð 1Ð0Ð0r?   )rw   c                ól   — g | ]1}t           j                             t           j        j        |¦  «        ‘Œ2S r�   )r+   Ú	coercionsÚexpectÚrolesÚColumnsClauseRole)r±   rc  s     r=   rá   z@SubqueryLoader._generate_from_original_query.<locals>.<listcomp>/  s?   € ð ð ð àõ ”×$Ò$¥S¤YÔ%@À!ÑDÔDðð ð r?   Tc                ó   — h | ]	}|j         ’Œ
S r�   )Útable©r±   r~   s     r=   r&  z?SubqueryLoader._generate_from_original_query.<locals>.<setcomp>>  s   € Ð3Ð3Ð3 !�a”gÐ3Ð3Ð3r?   r�   ©Úuse_mapper_path)Ú_cloneÚ	correlater   ÚQueryÚ__new__Ú__dict__ÚupdateÚ	_from_objÚ_enable_assertionsr   Únon_generativer   Ú_adapt_col_listÚ_get_current_adapterr†  Údistinct_target_keyÚ	_distinctr×   rq  r�   Ú_has_row_limiting_clauser©  r3  Ú expand_column_list_from_order_byÚ_set_entitiesÚset_label_styler-   r  r6   r&   )rr   Úorig_compile_stateÚ
orig_queryr  r!  Úleftmost_relationshipÚorig_entityÚqÚq2Útarget_colsr<  ÚtÚto_addÚembed_qÚ
left_aliass                  r=   Ú_generate_from_original_queryz,SubqueryLoader._generate_from_original_queryö  s3  € ð ×ÒÑÔ×)Ò)¨$Ñ/Ô/ˆõ Œ[× Ò ¥¤Ñ-Ô-ˆØ
Œ×Ò˜1œ:Ñ&Ô&Ð&Øˆð Œ{ð 	Ø#(ˆAÔ Ø(ˆAŒMÔ(Øð	ðð å3Ø"Ð2Dð ñ  ô  ðñ ô ð	ð 	ð 	ð 	ð0 )×8Ò8ðð à&ðñ ô ð ×3Ò3Ñ5Ô5ñ
ô 
ˆð %ˆŒà3ÔGÐà $Ð&Ð&ØˆAŒKˆKØ Ð(ð 4Ð3 {Ð3Ñ3Ô3ð ð �Ý˜;Ñ'Ô'×2Ò2°1´=ÑAÔAð Ø"&�A”KØ�Eðð
 Ô)ð 	%Ø"$ˆAÔàŒ;˜$ÐÐ 1Ô#6Ðõ Ô>Ø˜QÔ0ñô ˆFð ð 6Ø—’ ¨fÑ 4Ñ5Ô5Ð5ð ×#Ò#Õ$BÑCÔC×LÒLÑNÔNˆÝÔ*Ø˜W°dð
ñ 
ô 
ˆ
ð Ðr?   c                ó  ‡ ‡— g }t          |                     ¦   «         ¦  «        }t          |¦  «        D ]\\  }\  }}|dk    r0||dz
           d         j        }|                     |¦  «        r|n|}	n|}	|                     |	|j        f¦  «         Œ]t          |¦  «        dk     r|ŠnEt          |d         d         ¦  «        }
|
j	        r|
j
        Šnt          j        |
j
        d¬¦  «        Š‰ j        j        }ˆˆ fd„|D ¦   «         }||‰fS )Nr   r
   r'   rÖ  Tr/  c                óZ   •— g | ]'}t          ‰‰j        j        |         j        ¦  «        ‘Œ(S r�   )r  rQ   rŸ   r8   )r±   r~   Úparent_aliasrr   s     €€r=   rá   z2SubqueryLoader._prep_for_joins.<locals>.<listcomp>ƒ  s@   ø€ ð 
ð 
ð 
àõ �L $¤+Ô"?ÀÔ"BÔ"FÑGÔGð
ð 
ð 
r?   )rB  ÚpairsÚ	enumerater`   r  rO   r8   rµ  r)   r%  r	  r6   r&   rp   r  )rr   rL  r  Úto_joinrQ  Úir`   r:   Úprev_mapperÚ	to_appendr?  Ú
local_colsÚ
local_attrrP  s   `            @r=   Ú_prep_for_joinszSubqueryLoader._prep_for_joinsZ  sJ  øø€ àˆÝ�Y—_’_Ñ&Ô&Ñ'Ô'ˆå!*¨5Ñ!1Ô!1ð 	2ð 	2ÑˆA‰~�˜Ø�1Šuˆuð $ A¨¡Eœl¨1œoÔ4�Ø+6¯?ª?¸6Ñ+BÔ+BÐN˜K˜KÈ�	�	à"�	à�NŠN˜I t¤xÐ0Ñ1Ô1Ð1Ð1õ
 ˆw‰<Œ<˜!ÒÐð &ˆLˆLå˜7 2œ; qœ>Ñ*Ô*ˆDØÔ$ð Ø#œ{��õ  (Ô4Ø”K°ð ñ  ô  �ð Ô)Ô7ˆ
ð
ð 
ð 
ð 
ð 
àð
ñ 
ô 
ˆ
ð ˜
 LÐ0Ð0r?   c                ó²  — t          |¦  «        }|dk    r2t          ||d         d         ¦  «                             |¦  «        g}�nu|dk    r`t          ||d         d         ¦  «                             |¦  «        t          ||d         d         ¦  «                             |¦  «        g}�n|dk    �rd„ |dd…         D ¦   «         }g }|r�|                     d¦  «        }	t          |	d         |	d         ¦  «        }
|r"|
                     |d         d         ¦  «        }
n|
                     |¦  «        }
|                     |
¦  «         |°�t          ||d         d         ¦  «                             |d         j        ¦  «        g|z   t          ||d         d         ¦  «                             |¦  «        gz   }|D ]}
|                     |
¦  «        }Œ|S )Nr
   r   r'   rÖ  c                ó    — g | ]K}t          |d          ¦  «        j        st          j        |d          ¦  «        n|d          j        |d         f‘ŒLS )r   r
   )r)   r%  r6   r&   r	  )r±   Úitems     r=   rá   z/SubqueryLoader._apply_joins.<locals>.<listcomp>™  sg   € ð 
ð 
ð 
ð õ  ' t¨A¤wÑ/Ô/Ô@ð,�Ô-¨d°1¬gÑ6Ô6Ð6à! !œWœ^à˜”Gðð
ð 
ð 
r?   )rµ  r  Úof_typeÚpoprO   rQ   Újoin)rr   rF  rS  rL  rP  Úeffective_entityÚltjÚmiddleÚinnerr\  Úattrs              r=   Ú_apply_joinszSubqueryLoader._apply_joins‰  sò  € õ �'‰lŒlˆØ�!Š8ˆ8å˜
 G¨A¤J¨q¤MÑ2Ô2×:Ò:Ð;KÑLÔLðˆG‰Gð �AŠXˆXå˜
 G¨A¤J¨q¤MÑ2Ô2×:Ò:¸<ÑHÔHÝ˜ g¨b¤k°!¤nÑ5Ô5×=Ò=Ø$ñô ðˆG‰Gð �1ŠW‰Wð
ð 
ð $ A b DœMð
ñ 
ô 
ˆFð ˆEàð #Ø—z’z !‘}”}�Ý˜t Aœw¨¨Q¬Ñ0Ô0�Øð 6ØŸ<š<¨¨q¬	°!¬Ñ5Ô5�D�DàŸ<š<¨Ñ5Ô5�Dà—’˜TÑ"Ô"Ð"ð ð #õ ˜ W¨Q¤Z°¤]Ñ3Ô3×;Ò;¸EÀ!¼H¼OÑLÔLÐMØñõ ˜L¨'°"¬+°a¬.Ñ9Ô9×AÒAØ(ñô ðñð ð ð 	ð 	ˆDØ—’�t‘”ˆAˆAàˆr?   c                ó¼   — |j         }|r3|j        r,|t          j        ||                     |¦  «        ¦  «        fz  }|                     |¦  «        } |j        |Ž }|S r5   )r¦  r¸   r6   r¥  rÃ  Ú_with_current_pathÚoptions)	rr   rƒ   rF  r  Úrewritten_pathrC  r`  rz   Únew_optionss	            r=   Ú_setup_optionszSubqueryLoader._setup_options¿  sy   € ð" !Ô.ˆàð 	�wÔ.ð 	ØÝÔ-Ø$Ø×4Ò4°WÑ=Ô=ñô ðñ ˆKð × Ò  Ñ0Ô0ˆØˆAŒI�{Ð#ˆàˆr?   c                ó`   ‡ — ‰ j         j        r ˆ fd„}|                     |‰ j         ¦  «        }|S )Nc                óz   •— | xj         t          t          j        ‰j        j        ¦  «        ¦  «        z  c_         d S r5   ©Úeager_order_byÚtupler   r=  rp   r<  ©r”  rr   s    €r=   Ú_setup_outermost_orderbyzISubqueryLoader._setup_outermost_orderby.<locals>._setup_outermost_orderbyä  s<   ø€ ØÐ.Ô.µ%Ý”L Ô!5Ô!>Ñ?Ô?ñ3ô 3ñ Ð.Ô.Ð.Ð.r?   )rp   r<  Ú_add_context_option)rr   rF  rr  s   `  r=   rr  z'SubqueryLoader._setup_outermost_orderbyá  sP   ø€ ØÔÔ(ð 		ðð ð ð ð ð
 ×%Ò%Ø(¨$Ô*>ñô ˆAð ˆr?   c                  ó.   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ ZdS )úSubqueryLoader._SubqCollectionsz±Given a :class:`_query.Query` used to emit the "subquery load",
        provide a load interface that executes the query at the
        first moment a value is needed.

        ©rö   rz  r�  rR  ÚsubqÚ_datac                ó†   — |j         | _         |j        | _        |j        | _        |j        pi | _        || _        d | _        d S r5   rv  )rr   rƒ   rw  s      r=   ro   z(SubqueryLoader._SubqCollections.__init__ÿ  sC   € ð #œ?ˆDŒLØ%,Ô%>ˆDÔ"Ø 'Ô 4ˆDÔØ!œ.Ð.¨BˆDŒKØˆDŒIØˆDŒJˆJˆJr?   c                ón   — | j         €|                      ¦   «          | j                              ||¦  «        S r5   )rx  Ú_loadrX   )rr   r8   Údefaults      r=   rX   z#SubqueryLoader._SubqCollections.get	  s-   € ØŒzÐ!Ø—
’
‘”�Ø”:—>’> # wÑ/Ô/Ð/r?   c                ó°  — t          j        t          ¦  «        | _        | j        }|j        �J ‚|                     | j        ¦  «        }| j        j        r| 	                    ¦   «         }t          | 
                    | j
        ¦  «        ¦  «        }t          j        |d„ ¦  «        D ]/\  }}| j        |                              d„ |D ¦   «         ¦  «         Œ0d S )Nc                ó   — | dd …         S )Nr
   r�   ©Úxs    r=   r>   z7SubqueryLoader._SubqCollections._load.<locals>.<lambda>  s   € ¸!¸A¸B¸B¼%€ r?   c              3  ó&   K  — | ]}|d          V — ŒdS )r   Nr�   ©r±   Úvvs     r=   r³   z8SubqueryLoader._SubqCollections._load.<locals>.<genexpr>  s&   è è € Ð$7Ð$7¨r R¨¤UÐ$7Ð$7Ð$7Ð$7Ð$7Ð$7r?   )ÚcollectionsÚdefaultdictrB  rx  rw  rö   Úwith_sessionr�  Ú_populate_existingrÄ  rR  Ú	itertoolsÚgroupbyÚextend)rr   rF  Úrowsrä   Úvs        r=   r{  z%SubqueryLoader._SubqCollections._load  sÐ   € Ý$Ô0µÑ6Ô6ˆDŒJà”	ˆAØ”9Ð$Ð$Ð$à—’˜tœ|Ñ,Ô,ˆAàÔ Ô3ð *Ø×'Ò'Ñ)Ô)�õ ˜Ÿš ¤Ñ-Ô-Ñ.Ô.ˆDÝ!Ô)¨$°°Ñ@Ô@ð 8ð 8‘��1Ø”
˜1”×$Ò$Ð$7Ð$7°QÐ$7Ñ$7Ô$7Ñ7Ô7Ð7Ð7ð8ð 8r?   c                ó@   — | j         €|                      ¦   «          d S d S r5   )rx  r{  )rr   rå   r  r  s       r=   rØ  z&SubqueryLoader._SubqCollections.loader  s#   € ØŒzÐ!Ø—
’
‘”���ð "Ð!r?   N)	r‡   rˆ   r‰   rŠ   r‹   ro   rX   r{  rØ  r�   r?   r=   Ú_SubqCollectionsru  ï  sa   € € € € € ð	ð 	ð
ˆ	ð	ð 	ð 	ð	0ð 	0ð 	0ð
	8ð 	8ð 	8ð"	ð 	ð 	ð 	ð 	r?   rŽ  c           	     óÖ  — |j         }|j        j        r|j        j        rd S |j                             |¦  «        }d|_        || j                 }|                     |j	        dd ¦  «        }	|	�|	}
n| j
        }
|j        j                             dt          j        j        t          j        j        f¦  «        \  }}|t          j        j        u }||z   }||z   }|j        j                             dt           f|j        ¦  «        }t#          j        |d¦  «        }|j        r.|j        j        €t-          j        d| ›d|›d�¦  «         |j        }|                     |d	¬
¦  «        }|                      ||||¦  «        \  }}}}|                      ||||||¦  «        }t          j        |
¦  «        }|j        j                             |j        dt           f|d||fi¦  «        |_        |                     d	¦  «        }|                       ||¦  «        \  }}} |j!        |Ž }|  "                    |||||
¦  «        }|  #                    ||||||
|¦  «        }|  $                    |¦  «        }|S )NTÚpath_with_polymorphic)Úsubquery_pathsNrC  Úormzsubqueryloader for "z!" must invoke lambda callable at z  in order to produce a new query, decreasing the efficiency of caching for this statement.  Consider using selectinload() for more effective full-lambda cachingF)Úlegacy)%rw   rÔ   r÷  Ú_for_refresh_stater  ÚindexÚloaders_require_bufferingrp   rX   r   r	  r   r£  r6   rÚ  rÛ  r	  r   Ú_get_plugin_class_for_pluginÚ_is_lambda_elementr�  rŠ  r   r¶  Ú	_resolvedÚ_create_entities_collectionr"  rM  r3  r¬  rz  Ú_set_enable_single_critrY  Úadd_columnsre  rk  rr  )rr   rƒ   rx   ry   r	  rz   r{   rw   r  Úwith_poly_entityr`  r  ri  r  rC  Úcompile_state_clsrB  r  r!  rD  rL  rF  rS  rX  rP  s                            r=   Ú_setup_query_from_rowprocz(SubqueryLoader._setup_query_from_rowproc#  sù  € ð  Ô-ˆàÔ-Ô@ð	àÔ,Ô?ð	ð ˆFà"/Ô"9×"?Ò"?ÀÑ"MÔ"MÐØ,0ˆÔ)à�DÔ(Ô)ˆð  Ÿ8š8ØÔ$Ð&=¸tñ
ô 
Ðð Ð'Ø/ÐÐà#œ{Ðà$+¤MÔ$D×$HÒ$HØ$ÝÔ"Ô'­Ô)>Ô)CÐDñ%
ô %
Ñ!ˆ	�>ð �xÔ4Ô9Ð9ˆØ Ñ$ˆ	Ø'¨$Ñ.ˆð ”]Ô5×9Ò9Ø�>Ð*¨G¬Mñ
ô 
ˆ
õ ,ÔHØ˜ñ
ô 
Ðð Ô(ð 
	.ØÔ#Ô5Ð=Ý”	�	ð �t�t˜Z˜Z˜Zð)ñô ð ð $Ô-ˆJð
 /×JÒJØ˜uð Kñ 
ô 
Ðð ×ÒØ#ØØØñ	
ô 
ñ	
ØØØ!Øð ×7Ò7ØØØØØ!Øñ
ô 
ˆ
õ ŒKÐ(Ñ)Ô)ˆà&œ}Ô?×JÒJØÔ%à�~Ð.°
Ø(¨9°nÐ*Eðñ 
ô  
ˆÔð ×%Ò% eÑ,Ô,ˆØ,0×,@Ò,@Ø˜	ñ-
ô -
Ñ)ˆ�˜\ð ˆAŒM˜:Ð&ˆØ×ÒØˆw˜
 LÐ2Bñ
ô 
ˆð ×ÒØØØØØØØñ
ô 
ˆð ×)Ò)¨!Ñ,Ô,ˆàˆr?   c	           
     ób  ‡— |r2|j         j        �&|j         j        j        rt          j        dd¦  «         |j        r|                      ||||||‰|¦  «        S |                      |||| j        ¦  «        \  }	}
}	}	|
sd S t          |j         t          ¦  «        sd S | j        j        | j                 j        j        st!          j        d| z  ¦  «        ‚t%          |¦  «        dk    r"t'          j        |j        | j        ¦  «        sd S nGt'          j        |d         | j        ¦  «        s'| j                             |d         j        ¦  «        sd S |                      ||||d         |‰¦  «        }|€d S |j        �J ‚|| j                 }| j        j        }|                     |j        d¦  «        }|€2|                      ||¦  «        }|                     |j        d|¦  «         ‰rˆfd„|D ¦   «         }| j         r|  !                    |||||¦  «         d S |  "                    |||||¦  «         d S )Nz°The subqueryload loader option is not compatible with DML statements such as INSERT, UPDATE.  Only SELECT may be used.This warning will become an exception in a future release.ú2.0úJ'%s' does not support object population - eager loading cannot be applied.r
   rÖ  r„  c                ó*   •— g | ]}‰j         |         ‘ŒS r�   rk   )r±   r~   r{   s     €r=   rá   z7SubqueryLoader.create_row_processor.<locals>.<listcomp>
  s    ø€ ÐAÐAÐA°˜'œ/¨!Ô,ÐAÐAÐAr?   )#rw   Ú	statementÚis_dmlr   Úwarn_deprecatedrÉ   r  rê  rå  rÞ   r   rQ   rY   r8   ÚimplÚsupports_populationrú   rû   rµ  r6   Ú_entity_isar  r  r`   rŸ  rö   rp   r  rX   r   rŽ  r×   rC   Ú_create_collection_loaderÚ_create_scalar_loader)rr   rƒ   rx   ry   rz   r`   r„   r{   r…   Ú_rû  rw  rW  r„  s          `      r=   r†   z#SubqueryLoader.create_row_processor«  sÇ  ø€ ð ð
	àÔ%Ô/Ð;ØÔ%Ô/Ô6ð <õ Ô ðMð ñ	ô ð ð Ô ð 
	Ø×;Ò;ØØØØØØØØñ	ô 	ð 	ð #×7Ò7Ø�T˜7 D¤Oñ
ô 
Ñˆˆ:�q˜!ð ð 	ØˆFå˜'Ô/Õ1FÑGÔGð 	ð ˆFàŒ{Ô(¨¬Ô2Ô7ÔKð 	ÝÔ,ð@ØBFñGñô ð õ ˆt‰9Œ9˜Š>ˆ>ÝÔ'¨Ô(@À$Ä+ÑNÔNð Ø�ðåÔ%Ø�ŒH�d”kñ
ô 
ð 	à”+—/’/ $ r¤(¤/Ñ2Ô2ð	ð ˆFà×-Ò-ØØØØ�ŒHØØñ
ô 
ˆð ˆ<ØˆFàŒ|Ð#Ð#Ð#à�DÔ(Ô)ˆàÔ)Ô7ˆ
ð
 —h’h˜wÔ1°=ÑAÔAˆØÐØ×/Ò/°¸Ñ>Ô>ˆKØ�HŠH�WÔ'¨¸ÑDÔDÐDàð 	BØAÐAÐAÐA°jÐAÑAÔAˆJàŒ<ð 	Ø×*Ò*Ø˜ ¨j¸*ñô ð ð ð ð ×&Ò&Ø˜ ¨j¸*ñô ð ð ð r?   c                ó:  ‡ ‡‡‡— |                      |¦  «        Šˆˆ ˆfd„Šˆˆ fd„}|d                              ‰ j        ‰f¦  «         |d                              ‰ j        |f¦  «         |j        r)|d                              ‰ j        ‰j        f¦  «         d S d S )Nc                óš   •—  ‰j          ‰|¦  «        d¦  «        }|                      ‰j        ¦  «                             | ||¦  «         d S )Nr�   )rX   r   r8   r  )rå   r  r  Ú
collectionr„  rr   Útuple_getters       €€€r=   Úload_collection_from_subqzKSubqueryLoader._create_collection_loader.<locals>.load_collection_from_subq  sW   ø€ Ø(˜œ¨¨°cÑ):Ô):¸BÑ?Ô?ˆJØ�NŠN˜4œ8Ñ$Ô$×8Ò8Ø�u˜jñô ð ð ð r?   c                ó8   •— ‰j         |vr ‰| ||¦  «         d S d S r5   ©r8   )rå   r  r  r±  rr   s      €€r=   Ú&load_collection_from_subq_existing_rowzXSubqueryLoader._create_collection_loader.<locals>.load_collection_from_subq_existing_row   s3   ø€ ØŒx˜uÐ$Ð$Ø)Ð)¨%°¸Ñ<Ô<Ð<Ð<Ð<ð %Ð$r?   rÈ   ÚexistingÚeager©Ú_tuple_getterrO   r8   Úinvoke_all_eagersrØ  )	rr   rƒ   r„   r„  rW  r…   r´  r±  r°  s	   `  `   @@r=   rª  z(SubqueryLoader._create_collection_loader  sê   øøøø€ ð ×+Ò+¨JÑ7Ô7ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	�5Ô× Ò  $¤(Ð,EÐ!FÑGÔGÐGØ�:Ô×%Ò%ØŒXÐ=Ð>ñ	
ô 	
ð 	
ð Ô$ð 	GØ�wÔ×&Ò&¨¬°+Ô2DÐ'EÑFÔFÐFÐFÐFð	Gð 	Gr?   c                ó:  ‡ ‡‡‡— |                      |¦  «        Šˆˆ ˆfd„Šˆˆ fd„}|d                              ‰ j        ‰f¦  «         |d                              ‰ j        |f¦  «         |j        r)|d                              ‰ j        ‰j        f¦  «         d S d S )Nc                óþ   •—  ‰j          ‰|¦  «        d¦  «        }t          |¦  «        dk    rt          j        d‰z  ¦  «         |d         }|                      ‰j        ¦  «                             | ||¦  «         d S )Nr5   r
   úLMultiple rows returned with uselist=False for eagerly-loaded attribute '%s' r   )rX   rµ  r   r¶  r   r8   r  )rå   r  r  r¯  Úscalarr„  rr   r°  s        €€€r=   Úload_scalar_from_subqzCSubqueryLoader._create_scalar_loader.<locals>.load_scalar_from_subq1  s‹   ø€ Ø(˜œ¨¨°cÑ):Ô):¸GÑDÔDˆJÝ�:‰Œ Ò"Ð"Ý”	ðGØIMñNñô ð ð
   ”]ˆFØ�NŠN˜4œ8Ñ$Ô$×8Ò8¸ÀÀvÑNÔNÐNÐNÐNr?   c                ó8   •— ‰j         |vr ‰| ||¦  «         d S d S r5   r³  )rå   r  r  r¾  rr   s      €€r=   Ú"load_scalar_from_subq_existing_rowzPSubqueryLoader._create_scalar_loader.<locals>.load_scalar_from_subq_existing_row<  s3   ø€ ØŒx˜uÐ$Ð$Ø%Ð% e¨U°CÑ8Ô8Ð8Ð8Ð8ð %Ð$r?   rÈ   rµ  r¶  r·  )	rr   rƒ   r„   r„  rW  r…   rÀ  r¾  r°  s	   `  `   @@r=   r«  z$SubqueryLoader._create_scalar_loader,  sñ   øøøø€ ð ×+Ò+¨JÑ7Ô7ˆð		Oð 		Oð 		Oð 		Oð 		Oð 		Oð 		Oð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	�5Ô× Ò  $¤(Ð,AÐ!BÑCÔCÐCØ�:Ô×%Ò%ØŒXÐ9Ð:ñ	
ô 	
ð 	
ð Ô$ð 	GØ�wÔ×&Ò&¨¬°+Ô2DÐ'EÑFÔFÐFÐFÐFð	Gð 	Gr?   )r‡   rˆ   r‰   r‹   ro   r¢   r"  rM  rY  re  rk  rr  rŽ  rŸ  r†   rª  r«  rŒ   r�   s   @r=   r	  r	  ·  s*  ø€ € € € € ð  €Ið:ð :ð :ð :ð :ð'ð 'ð 'ð
/Lð /Lð /Lðbbð bð bðH-1ð -1ð -1ð^4ð 4ð 4ðl ð  ð  ðDð ð ð2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ðhFð Fð FðPhð hð hðTGð Gð Gð.Gð Gð Gð Gð Gð Gð Gr?   r	  Újoinedc                  óx   ‡ — e Zd ZdZdZˆ fd„Zd„ Z	 	 	 dd„Zd„ Zd	„ Z	d
„ Z
d„ Z	 	 ddd„Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚJoinedLoaderz[Provide loading behavior for a :class:`.Relationship`
    using joined eager loading.

    rå  c                ón   •— t          ¦   «                              ||¦  «         | j        j        | _        d S r5   rï  rq   s      €r=   ro   zJoinedLoader.__init__S  rð  r?   c                ó`   — | j                              d¦  «                             |¦  «         d S rò  rô  r¼   s     r=   r¢   z!JoinedLoader.init_class_attributeW  rõ  r?   NFc	                ó¤  — |j         j        sdS |r)|j        �"|j        j        rt	          j        dd¦  «         n| j        rd|_        || j                 }|r|  	                    |||j
        ¦  «        nd}
|
dur|                      |||||
¦  «        \  }}}n||                     |j
        d¦  «        s9| j        r|j        dz  | j        k    rdS n|                     | j        ¦  «        rdS |                      ||||||||¦  «        \  }}}}d|_        |                     |j
        dd¦  «        }|�t)          |¦  «        j        }nd}|| j                 }t/          j        || j        |||||| j        |¬	¦	  «	         t          j                             |j        ¦  «        }|r.|�t9          j        d
¦  «        ‚d„ |j        D ¦   «         |_        dS dS )z@Add a left outer join to the statement that's being constructed.Nz®The joinedload loader option is not compatible with DML statements such as INSERT, UPDATE.  Only SELECT may be used.This warning will become an exception in a future release.r¡  TFrØ  r'   r�  )Úwith_polymorphicÚparentmapperÚchained_from_outerjoinz–Detected unaliased columns when generating joined load.  Make sure to use aliased=True or flat=True when using joined loading with with_polymorphic().c                ó   — g | ]}|®|‘ŒS r5   r�   r.  s     r=   rá   z,JoinedLoader.setup_query.<locals>.<listcomp>Ø  s    € ð 3ð 3ð 3ØÀ!À-�AÀ-À-À-r?   )rÔ   r÷  r¤  r¥  r   r¦  rC   Úmulti_row_eager_loadersrp   Ú_init_user_defined_eager_procr   Ú$_setup_query_on_user_defined_adapterrâ  rå  rã  rä  r`   Ú_generate_row_adapterÚeager_adding_joinsrX   r)   Úwith_polymorphic_mappersr	  r   Ú_setup_entity_queryÚNONE_SETrØ   Úsecondary_columnsrú   rû   )rr   rw   rx   ry   rz   r{   r|   rÈ  rÉ  r}   Úuser_defined_adapterÚclausesÚadd_to_collectionr�  rÇ  Ú	has_noness                   r=   r   zJoinedLoader.setup_query\  s¢  € ð Ô,Ô?ð 	9ØˆFàð	9àÔ'Ð3ØÔ'Ô.ð 4õ Ô ðMð ñ	ô ð ð ð Œ\ð 	9Ø48ˆMÔ1à�DÔ(Ô)ˆð ðˆD×.Ò.Ø˜¨Ô(@ñô ð ð ð 	ð   uÐ,Ð,ð ×9Ò9ØØØØØ$ñô ñ	ØØØ!Ð!ð  —=’= Ô!9¸8ÑDÔDð Ø”?ð Ø”{ Q‘¨¬Ò8Ð8Ø˜ð 9à×)Ò)¨$¬+Ñ6Ô6ð Ø�Fð ×*Ò*ØØØØØØ!ØØ&ñ	ô 	ñØØØ!Ø&ð 04ˆMÔ,àŸ8š8ØÔ$Ð&=¸tñ
ô 
Ðð Ð'Ý&Ø ñ ô  ä&ð Ðð  $Ðà�D”KÔ ˆåÔ#ØØŒKØØØØØ-ØœØ#9ð
	
ñ 
	
ô 
	
ð 
	
õ ”M×.Ò.¨}Ô/NÑOÔOˆ	àð 
	ØÐ+ÝÔ0ðIñô ð ð3ð 3Ø,Ô>ð3ñ 3ô 3�Ô/Ð/Ð/ð
	ð 
	r?   c                óº  — d|j         vrdS |j        j        }|                     |j        dd¦  «        }|dur|S |j         d         }|dd …         \  }}|�gt          |t          ¦  «        r|j                             |¦  «        }t          j
        t          j        j        |j        ||j        j        d¬¦  «        }n‡|                     |j        d¦  «        rL|                     |j        d¦  «        }	t          j
        t          j        j        |	|j        j        ¬¦  «        }n |j                             |j        d ¦  «        }|                     |d|¦  «         |S )NÚeager_from_aliasFÚ user_defined_eager_row_processoréþÿÿÿ)Ú
selectabler9  Úlimit_on_entityr�  )r9  )rÚ   ry   rQ   rX   r   rÞ   r   r  Úaliasr6   Ú
ORMAdapterÚ_TraceAdaptRoleÚJOINEDLOAD_USER_DEFINED_ALIASr`   rA  râ  Ú JOINEDLOAD_PATH_WITH_POLYMORPHICÚ_polymorphic_adaptersr×   )
rr   rz   rw   Útarget_attributesry   r{   rÞ  Úroot_mapperr:   r�  s
             r=   rÌ  z*JoinedLoader._init_user_defined_eager_procÜ  s�  € ð  WÔ%7Ð7Ð7à�5àŒ|Ô"ˆð —(’(ØÔ$Ð&HÈ%ñ
ô 
ˆð ˜%ÐÐàˆNð Ô"Ð#5Ô6ˆØ    œIÑˆ�TàÐÝ˜%¥Ñ%Ô%ð 1Øœ×)Ò)¨%Ñ0Ô0�ÝÔ)ÝÔ(ÔFØ”Ø Ø œKÔ;Ø %ðñ ô ˆGˆGð �}Š}ØÔ(Ð*Añô ð ð $(§8¢8Ø!Ô,Ð.Eñ$ô $Ð õ #Ô-ÝÔ,ÔMØ$Ø $¤Ô ?ðñ ô ��ð (Ô=×AÒAØ”K ñô �ð 	�ŠØØ.Øñ	
ô 	
ð 	
ð ˆr?   c                óð   — |                      |¦  «        }|r4|r2|                     |¦  «        }|                     |j        d|¦  «         n |r|}|                     |j        d|¦  «         |j        }|||fS )NrÚ  )Ú_get_entity_clausesÚwrapr×   r   Úprimary_columns)rr   rƒ   r	  ry   r{   rÔ  rÖ  s          r=   rÍ  z1JoinedLoader._setup_query_on_user_defined_adapter	  s­   € ð
 ×,Ò,¨WÑ5Ô5ˆàð 	Ð+ð 	Ø#7×#<Ò#<¸WÑ#EÔ#EÐ Ø�HŠHØÔ"Ø2Ø$ñô ð ð ð
 ð 	Ø#*Ð Ø�HŠHØÔ"Ø2Ø$ñô ð ð $Ô3ÐØ# WÐ.?Ð?Ð?r?   c	                óÎ  — |                      |j        dd ¦  «        }	|	r|	}
nZt          | j        ¦  «        }|j        r|j        }nd }t          j        | j        |�| 	                    d¬¦  «        nd dd¬¦  «        }
t          |
¦  «        }| 
                    d| ft          j        t          j        j        || j        j        ddd¬¦  «        }|j        sJ ‚|�%|j                              d| j        j        ¦  «        n| j        j        }|sd}|j                             | j        ||||||||r|j        nd	f	¦  «         |j        }|                     |j        d
|¦  «         ||||fS )Nr�  T)Úflat)rÞ  rë  r0  Újoinedloader_ormadapterF)r9  Úadapt_requiredÚallow_label_resolveÚanonymize_labelsÚ	innerjoinr�   Úeager_row_processor)rX   r   r)   r	  r%  rÜ  r6   r&   r`   Ú_anonymous_fromclauseÚ_memorß  rà  ÚJOINEDLOAD_MEMOIZED_ADAPTERrA  rÚ   rp   rð  Úcreate_eager_joinsrO   Ú_create_eager_joinr¸   rÓ  r×   )rr   rw   r	  ry   rz   r{   r|   rÈ  rÉ  r�  Úto_adaptÚinspÚalt_selectableÚto_adapt_insprÕ  rð  rÖ  s                    r=   rÎ  z"JoinedLoader._generate_row_adapter.	  sÑ  € ð  Ÿ8š8ØÔ$Ð&=¸tñ
ô 
Ðð ð 	Ø'ˆHˆHå˜4œ;Ñ'Ô'ˆDØÔ$ð &Ø!%¤��à!%�åÔ,Ø”ð &Ð1ð #×8Ò8¸dÐ8ÑCÔCÐCààØ $ð	ñ 	ô 	ˆHõ   Ñ)Ô)ˆà×%Ò%Ø&¨Ð-ÝÔÝÔ$Ô@ØØœÔ7ØØ %Ø!ð &ñ 	
ô 	
ˆð Ô'Ð'Ð'Ð'ð Ð"ð Ô×"Ò" ;°Ô0DÔ0NÑOÔOÐOàÔ%Ô/ð 	ð ð 	*ð &*Ð"àÔ(×/Ò/àÔ'ØØØØØØØ&Ø+2Ð:�Ô'Ð'¸ð
ñ	
ô 	
ð 	
ð *Ô;ÐØ�Š�Ô)Ð+@À'ÑJÔJÐJà˜Ð!2Ð4JÐJÐJr?   c
           	     ó`  ‡ — |€|j         }
n|}
|j        o|j        }d }||j        vrn|sl|j        ret          j        |j        |j        ¦  «        }t          |¦  «        dk    rt          j
        d¦  «        ‚|r|j        |d                  }|d         |}}|€	||j        }}|j                             ||¦  «        }|r¨t          |dd¦  «        r\|j                             |
                     ‰ j        ¦  «        r|
n‰ j        ¦  «        }t          |j        ‰ j        ‰ j        ¦  «        }nBt          t)          j        ‰ j        |j        d¬¦  «        ‰ j        ‰ j        ¦  «        }n‰ j        }|j        sJ ‚| p| p|dk    p|j        j        }|	}|j                             d	‰ j         fd
¦  «        }|r|t7          ˆ fd„|D ¦   «         ¦  «        z  }|rZt)          j        ||j        || p'|j        j        p|ot;          |t<          j        ¦  «        ‰ j        |‰ j                  |¬¦  «        }n ‰                       ||d         ||||¦  «        }||j        |<   |j        |_!        |sjt          j"        ‰ j        j#        ¦  «        D ]K}|
j$        j%         &                    |¦  «        r*|r|j'        |         }| (                    ||j)        ¦  «         ŒL‰ j        j*        rS|xj+        t7          |j,         -                    t]          j/        ‰ j        j*        ¦  «        ¦  «        ¦  «        z  c_+        d S d S )Nr
   z€Can't identify which query entity in which to joined eager load from.   Please use an exact match when specifying the join path.r   r%  FTr/  ÚunnestedÚadditional_entity_criteriar�   c              3  óZ   •K  — | ]%}|j         ¯	|                     ‰j        ¦  «        V — Œ&d S r5   )Úpropagate_to_loadersÚ_resolve_where_criteriar`   )r±   Úaerr   s     €r=   r³   z2JoinedLoader._create_eager_join.<locals>.<genexpr>å	  sP   øè è € ð )ð )àØÔ*ð)Ø×*Ò*¨4¬;Ñ7Ô7ð)ð )ð )ð )ð )ð )r?   ©ÚisouterÚ
_left_memoÚ_right_memor¸   rÛ  )0r`   rË  Ú_should_nest_selectableÚeager_joinsÚfrom_clausesr3  Ú#find_left_clause_that_matches_givenrÜ  rµ  rú   rû   Ú
setdefaultr  Úaliased_inspÚ_entity_for_mapperr  rQ   r	  r8   rp   r6   r&   r%  r  Úrepresents_outer_joinÚglobal_attributesrX   rp  Ú_ORMJoinrÞ   r+   ÚJoinÚ_splice_nested_inner_joinÚstop_onÚ_find_columnsÚprimaryjoinÚpersist_selectabler~   Úcontains_columnrl   rv   ré  r<  ro  Ú_target_adapterÚcopy_and_processr   r=  )rr   rw   rx   ry   r{   rÈ  rÕ  rð  rÉ  rw  rô   Úshould_nest_selectableÚquery_entity_keyÚindexesÚclauseÚdefault_towrapÚtowrapÚefmÚonclauseÚattach_on_outsideÚextra_join_criteriarý  Ú	eagerjoinr¨   s   `                       r=   rö  zJoinedLoader._create_eager_join}	  s"  ø€ ð ÐØ&Ô-ˆKˆKà&ˆKð Ô1ð 6ØÔ5ð 	ð
  Ðð  Ô 9Ð9Ð9Ø*ð :àÔ*ð :õ ÔBØÔ*¨LÔ,Cñô ˆGõ �7‰|Œ|˜aÒÐõ Ô0ð0ñô ð ð ð FØ&Ô3°G¸A´JÔ?�ð
 4;¸1´:¸v .Ð àÐ#àØÔ'ð -Ðð
 Ô*×5Ò5Ø˜nñ
ô 
ˆð ð 	,Ý�wÐ 2°EÑ:Ô:ð ð
 Ô*×=Ò=à"—’ t¤{Ñ3Ô3ð%�K�Kàœñô �õ # 3¤:¨t¬x¸Ô9MÑNÔN��å"ÝÔ)Øœ WÔ%7Èðñ ô ð ”HØÔ(ñô ��ð Ô+ˆHàÔ'Ð'Ð'Ð'ð 'Ð&ð >Øˆ}ð>à˜JÒ&ð>ð Ô'Ô=ð	 	ð -ÐØ%2Ô%D×%HÒ%HØ)¨4¬;Ð7¸ñ&
ô &
Ð"ð &ð 	Ø¥5ð )ð )ð )ð )à4ð)ñ )ô )ñ $ô $ñ Ðð ð 	å Ô)ØØÔ$ØØ%˜ð MØÔ+ÔAðMà*ÐK­z¸&Å#Ä(Ñ/KÔ/KØœ;Ø  ¤Ô-Ø 3ð
ñ 
ô 
ˆIˆIð ×6Ò6Ø�d˜2”h ¨°Ð;Nñô ˆIð 7@ˆÔ!Ð"2Ñ3ð )Ô3ˆ	Ôàð 	õ  Ô-ØÔ$Ô0ñô ð ð �ð Ô1Ô3×CÒCÀCÑHÔHð Øð 3Ø%œo¨cÔ2˜Ø!×?Ò?Ø˜]Ô:ñô ð øð ÔÔ(ð 	ØÐ(Ô(­EØÔ*×;Ò;Ý”L Ô!5Ô!>Ñ?Ô?ñô ñ-ô -ñ Ð(Ô(Ð(Ð(ð	ð 	r?   Úentity_inside_join_structureú#Union[Mapper, None, Literal[False]]Údetected_existing_pathú$Optional[path_registry.PathRegistry]c	           
     ó4  — ||d         u sJ ‚|du rt          |t          j        ¦  «        sJ ‚t          |t          j        j        ¦  «        r |                      |||j        ||||¦  «        S t          |t          j        ¦  «        �r|j        }	|                      |||j	        ||||	�|	d         j
        nd ¬¦  «        }
|
�_|j        s|
j        s|                     |
¦  «        }n-t          j        |j        |
|j        |j        |j        ¬¦  «        }|
j        |_        |S |                      |||j        ||||j        |	¬¦  «        }
|
�;t          j        |
|j	        |j        |j        |j        ¬¦  «        }|
j        |_        |S |du r	 J d¦   «         ‚d S |                     |¦  «        sd S |r<t%          |¦  «        d	k    r)|d
         |u sJ ‚|dd…         |j        dd…         k    rd S t          j        ||j        |d|||d         j
                 |¬¦  «        S )NrÛ  FrÖ  )r$  )r  r  )r$  r&  )r  r  z9assertion failed attempting to produce joined eager loadsr'   éýÿÿÿr   r  )rÞ   r6   r  r+   rÜ  ÚFromGroupingr  Úelementr  Úrightr`   r  Ú_splice_into_centerÚleftr   r  r  r  rµ  ry   r  )rr   ry   Úentity_we_want_to_splice_ontoÚjoin_objrÕ  r   rw  r$  r&  Újoin_right_pathÚtarget_joinr#  s               r=   r  z&JoinedLoader._splice_nested_inner_join
  sÓ  € ð* -°°R´Ð8Ð8Ð8Ð8à'¨5Ð0Ð0Ý˜h­Ô(9Ñ:Ô:Ð:Ð:Ð:å�h¥¤Ô ;Ñ<Ô<ð O	à×1Ò1ØØ-ØÔ ØØØØ,ñô ð õ ˜¥(Ô"3Ñ4Ô4ñ D	ð 'Ô2ˆOð ×8Ò8ØØ-Ø”ØØØð 'Ð2ð $ BÔ'Ô.Ð.àð 9ñ ô ˆKð Ð&ð  Ô'ð 	°Ô0Cð 	Ø (× <Ò <¸[Ñ IÔ I�I�Iå (Ô 1Ø œØ#Ø Ô)Ø (Ô 0Ø#+Ô#6ð!ñ !ô !�Ið -8Ô,G�	Ô)Ø Ð ð #×<Ò<ØØ1Ø”MØØØ"Ø19Ô1DØ+:ð =ñ 	ô 	�ð Ð*Ý (Ô 1Ø#Ø œØ Ô)Ø (Ô 0Ø$,Ô$8ð!ñ !ô !�Ið 1<Ô0K�IÔ-Ø$Ð$ð ,¨uÐ4Ð4àðOàNñOô OØà�4ð -×0Ò0Ð1MÑNÔNð 	Ø�4ð "ð *	¥cÐ*@Ñ&AÔ&AÀAÒ&EÐ&Eð
 *¨"Ô-Ð1MÐMÐMÐMÐMðH & a¨ dÔ+¨t¬y¸¸2¸¬Ò>Ð>Ø�tåÔ ØØÔ ØØØ3Ø˜T "œXœ_Ô-Ø*ð
ñ 
ô 
ð 	
r?   c                ó>  — |j         }|r|                      |||j        ¦  «        nd}|dur5|}|j        r|r|                     |j        ¦  «        }n.|j        r|j        }n|                     |j        d¦  «        }|€dS | j                             ||¦  «        r|S dS )NFrñ  )rw   rÌ  r   Úcompound_eager_adapterrè  rX   r`   Ú_result_has_identity_key)	rr   rƒ   r„   r{   ry   rz   rw   rÔ  Ú	decorators	            r=   Ú_create_eager_adapterz"JoinedLoader._create_eager_adapterÉ
  sé   € ØÔ-ˆð ðˆD×.Ò.Ø˜¨Ô(:ñô ð ð ð 	ð   uÐ,Ð,Ø,ˆIð Ô3ð A¸	ð AØ%ŸNšNØ!Ô8ñô �	�	ð Ô5ð AØ)Ô@�	øàŸšØÔ(Ð*?ñô ˆIð Ð Ø�uàŒ;×/Ò/°¸	ÑBÔBð 	ØÐð �5r?   c	           
     óJ  — |j         j        j        sd S | j        j        | j                 j        j        st          j	        d| z  ¦  «        ‚| j
        rd|_        || j                 }	|                      ||||	|¦  «        }
|
durk| j        }t          j        || j        |||	| j                 |
¦  «        }| j
        s|                      ||||¦  «         d S |                      ||||¦  «         d S | j                             d¦  «                             ||||||||¦  «         d S )Nr¢  TFró  )rw   rÔ   r÷  rQ   rY   r8   r§  r¨  rú   rû   rC   Úloaders_require_uniquingrp   r7  r   Ú_instance_processorr`   r	  r«  rª  rÌ   r†   )rr   rƒ   rx   ry   rz   r`   r„   r{   r…   Úour_pathÚeager_adapterr8   Ú	_instances                r=   r†   z!JoinedLoader.create_row_processorí
  sƒ  € ð Ô$Ô4ÔGð 	ØˆFàŒ{Ô(¨¬Ô2Ô7ÔKð 	ÝÔ,ð@ØBFñGñô ð ð
 Œ<ð 	4Ø/3ˆGÔ,à˜Ô,Ô-ˆà×2Ò2Ø�V˜W h°ñ
ô 
ˆð  Ð%Ð%Ø”(ˆCåÔ3ØØ”ØØØ˜œÔ%Øñô ˆIð ”<ð Ø×*Ò*¨7°C¸ÀJÑOÔOÐOÐOÐOà×.Ò.Ø˜S )¨Zñô ð ð ð ð Ô ×.Ò.Ø%ñô ç"Ò"ØØØØØØØØñ	ô 	ð 	ð 	ð 	r?   c                ó  ‡‡‡— ˆˆˆfd„}ˆˆˆfd„}ˆfd„}|d                               | j        |f¦  «         |d                               | j        |f¦  «         ‰j        r$|d                               | j        |f¦  «         d S d S )Nc                ó¾   •— t          j        | |‰¦  «        }t          j        |d¦  «        }|‰j         | ‰f<    ‰|¦  «        }|�|                     |¦  «         d S d S ©NÚappend_without_event©r   r  r   ÚUniqueAppenderrO   )	rå   r  r  r¯  Úresult_listÚinstr=  rƒ   r8   s	         €€€r=   Ú#load_collection_from_joined_new_rowzSJoinedLoader._create_collection_loader.<locals>.load_collection_from_joined_new_row,  sy   ø€ õ $Ô9¸%ÀÈÑLÔLˆJÝÔ-ØÐ2ñô ˆKð 0;ˆGÔ  s˜|Ñ,Ø�9˜S‘>”>ˆDØÐØ×"Ò" 4Ñ(Ô(Ð(Ð(Ð(ð  Ðr?   c                óô   •— | ‰f‰j         v r‰j         | ‰f         }n7t          j        | |‰¦  «        }t          j        |d¦  «        }|‰j         | ‰f<    ‰|¦  «        }|�|                     |¦  «         d S d S r@  rB  )	rå   r  r  rD  r¯  rE  r=  rƒ   r8   s	         €€€r=   Ú(load_collection_from_joined_existing_rowzXJoinedLoader._create_collection_loader.<locals>.load_collection_from_joined_existing_row9  s¥   ø€ Ø�sˆ|˜wÔ1Ð1Ð1Ø%Ô0°%¸°Ô>��õ (Ô=Ø˜5 #ñô �
õ #Ô1ØÐ 6ñô �ð 4?�Ô" E¨3 <Ñ0Ø�9˜S‘>”>ˆDØÐØ×"Ò" 4Ñ(Ô(Ð(Ð(Ð(ð  Ðr?   c                ó   •—  ‰|¦  «         d S r5   r�   ©rå   r  r  r=  s      €r=   Ú load_collection_from_joined_execzPJoinedLoader._create_collection_loader.<locals>.load_collection_from_joined_execL  ó   ø€ ØˆI�c‰NŒNˆNˆNˆNr?   rÈ   rµ  r¶  ©rO   r8   r¹  )rr   rƒ   r8   r=  r…   rF  rH  rK  s    ```    r=   rª  z&JoinedLoader._create_collection_loader+  s  øøø€ ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð&	ð 	ð 	ð 	ð 	ð 	�5Ô× Ò ØŒXÐ:Ð;ñ	
ô 	
ð 	
ð 	�:Ô×%Ò%ØŒXÐ?Ð@ñ	
ô 	
ð 	
ð Ô$ð 	Ø�wÔ×&Ò&Ø”Ð;Ð<ñô ð ð ð ð	ð 	r?   c                ó  ‡ ‡‡— ˆˆfd„}ˆˆˆ fd„}ˆfd„}|d                               ‰ j        |f¦  «         |d                               ‰ j        |f¦  «         |j        r$|d                               ‰ j        |f¦  «         d S d S )Nc                ó$   •—  ‰|¦  «        |‰<   d S r5   r�   )rå   r  r  r=  r8   s      €€r=   Úload_scalar_from_joined_new_rowzKJoinedLoader._create_scalar_loader.<locals>.load_scalar_from_joined_new_row[  s   ø€ ð #˜ 3™œˆE�#‰JˆJˆJr?   c                óz   •—  ‰|¦  «        }‰|v r%||‰         urt          j        d‰z  ¦  «         d S d S ||‰<   d S )Nr¼  )r   r¶  )rå   r  r  rµ  r=  r8   rr   s       €€€r=   Ú$load_scalar_from_joined_existing_rowzPJoinedLoader._create_scalar_loader.<locals>.load_scalar_from_joined_existing_row`  so   ø€ ð !�y ‘~”~ˆHð �eˆ|ˆ|Ø 5¨¤:Ð-Ð-Ý”IðKàññô ð ð ð ð .Ð-ð &��c‘
�
�
r?   c                ó   •—  ‰|¦  «         d S r5   r�   rJ  s      €r=   Úload_scalar_from_joined_execzHJoinedLoader._create_scalar_loader.<locals>.load_scalar_from_joined_execs  rL  r?   rÈ   rµ  r¶  rM  )rr   rƒ   r8   r=  r…   rP  rR  rT  s   ` ``    r=   r«  z"JoinedLoader._create_scalar_loaderZ  só   øøø€ ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð
	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð&	ð 	ð 	ð 	ð 	ð 	�5Ô× Ò  $¤(Ð,KÐ!LÑMÔMÐMØ�:Ô×%Ò%ØŒXÐ;Ð<ñ	
ô 	
ð 	
ð Ô$ð 	Ø�wÔ×&Ò&Ø”Ð7Ð8ñô ð ð ð ð	ð 	r?   )NNF)FN)r$  r%  r&  r'  )r‡   rˆ   r‰   rŠ   r‹   ro   r¢   r   rÌ  rÍ  rÎ  rö  r  r7  r†   rª  r«  rŒ   r�   s   @r=   rÃ  rÃ  H  s-  ø€ € € € € ðð ð
 €Ið:ð :ð :ð :ð :ð'ð 'ð 'ð ØØ$ð~ð ~ð ~ð ~ð@7ð 7ð 7ðr@ð @ð @ð2MKð MKð MKð^]ð ]ð ]ðR ØGKðk
ð k
ð k
ð k
ð k
ðZ"ð "ð "ðH<ð <ð <ð|-ð -ð -ð^#ð #ð #ð #ð #ð #ð #r?   rÃ  Úselectinc                  ó|   ‡ — e Zd ZdZ ej        dg d¢¦  «        ZdZˆ fd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zˆ xZS )ÚSelectInLoader)rå  Ú	omit_joinÚ_parent_aliasÚ_query_infoÚ_fallback_query_infoÚ	queryinfo)Úload_only_childÚload_with_joinÚin_exprÚpk_colsÚzero_idxÚchild_lookup_colsiô  c                óˆ  •— t          ¦   «                              ||¦  «         | j        j        | _        | j        j        t
          j        u }| j        j        �| j        j        | _        nf| j                             d¦  «        }|r|j	        | _        n=| j
        j        d                              |j        dd| j
        j        ¬¦  «        | _        | j        rQ|r4|                      ¦   «         | _        |                      ¦   «         | _        d S |                      ¦   «         | _        d S |                      ¦   «         | _        d S )Nró  r   TFr6  )rn   ro   rp   rå  r]   r   rG  rX  rÌ   r$  rQ   r@  r°   r!  rA  Ú_init_for_omit_join_m2orZ  Ú_init_for_joinr[  Ú_init_for_omit_join)rr   rQ   rs   Úis_m2or  rt   s        €r=   ro   zSelectInLoader.__init__™  s:  ø€ Ý‰Œ×Ò˜ Ñ.Ô.Ð.ØÔ.Ô9ˆŒØÔ%Ô/µ:Ô3GÐGˆàÔÔ)Ð5Ø!Ô1Ô;ˆDŒNˆNàÔ-×;Ò;Ø%ñô ˆJð ð Ø!+Ô!3�”�à!%¤Ô!8¸Ô!;×!CÒ!CØÔ-Ø $Ø!&Ø $¤Ô ?ð	 "Dñ "ô "�”ð Œ>ð 	5Øð >Ø#'×#?Ò#?Ñ#AÔ#A�Ô Ø,0×,?Ò,?Ñ,AÔ,A�Ô)Ð)Ð)à#'×#;Ò#;Ñ#=Ô#=�Ô Ð Ð à#×2Ò2Ñ4Ô4ˆDÔÐÐr?   c                ód  ‡ ‡— t          ‰ j        j        j        ¦  «        Š‰                     ˆˆ fd„t          ‰¦  «        D ¦   «         ¦  «         ˆfd„‰ j        j        D ¦   «         x}}t          |¦  «        dk    rt          j
        |Ž }d}n
|d         }d}‰                      dd|||d ¦  «        S )Nc              3  ór   •K  — | ]1}‰j         j                             |d ¦  «        D ]}|‰|         fV — ŒŒ2dS )r�   N)rQ   rA  rX   )r±   rä   ÚequivÚpk_to_fkrr   s      €€r=   r³   z5SelectInLoader._init_for_omit_join.<locals>.<genexpr>»  sl   øè è € ð 
ð 
àØœÔ8×<Ò<¸QÀÑCÔCð
ð 
ð ð �H˜Q”KÐ ð
ð 
ð 
ð 
ð 
ð 
ð 
r?   c                ó(   •— g | ]}|‰v ¯‰|         ‘ŒS r�   r�   )r±   r¨   rk  s     €r=   rá   z6SelectInLoader._init_for_omit_join.<locals>.<listcomp>Á  s)   ø€ ð 
ð 
ð 
Ø!ÀÀxÀÀˆH�SŒMÀÀÀr?   r
   Fr   T)rr  rp   r:  Úlocal_remote_pairsr6  rB  rQ   r�   rµ  r+   Útuple_Ú
query_info)rr   r`  Úfk_colsr_  ra  rk  s   `    @r=   rf  z"SelectInLoader._init_for_omit_join·  sì   øø€ ÝØÔ Ô0ÔCñ
ô 
ˆð 	�Šð 
ð 
ð 
ð 
ð 
å˜(‘^”^ð
ñ 
ô 
ñ 	
ô 	
ð 	
ð
ð 
ð 
ð 
Ø%)¤[Ô%<ð
ñ 
ô 
ð 	
ˆ�'õ ˆw‰<Œ<˜!ÒÐÝ”j 'Ð*ˆGØˆHˆHà˜a”jˆGØˆHà�Š˜u e¨W°g¸xÈÑNÔNÐNr?   c                óü   ‡— | j         j        }t          |¦  «        dk    rt          j        |Ž }d}n
|d         }d}| j                             d¦  «        Šˆfd„|D ¦   «         }|                      dd||||¦  «        S )Nr
   Fr   Tró  c                ó*   •— g | ]}‰j         |         ‘ŒS r�   r�  )r±   r‚  r  s     €r=   rá   z:SelectInLoader._init_for_omit_join_m2o.<locals>.<listcomp>×  s!   ø€ ÐIÐIÐI¸2�zÔ2°2Ô6ÐIÐIÐIr?   )r`   r�   rµ  r+   rn  rp   rÌ   ro  )rr   r`  r_  ra  Úlookup_colsr  s        @r=   rd  z&SelectInLoader._init_for_omit_join_m2oÍ  s’   ø€ Ø”+Ô)ˆÝˆw‰<Œ<˜!ÒÐÝ”j 'Ð*ˆGØˆHˆHà˜a”jˆGØˆHàÔ)×7Ò7Ð8MÑNÔNˆ
ØIÐIÐIÐIÀÐIÑIÔIˆà�ŠØ�%˜ '¨8°[ñ
ô 
ð 	
r?   c                ó(  ‡— t          | j        j        ¦  «        | _        t	          | j        ¦  «        Šˆfd„| j        j        D ¦   «         }t          |¦  «        dk    rt          j        |Ž }d}n
|d         }d}|  	                    dd|||d ¦  «        S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r�   ©Ú_adapt_element)r±   r¨   Úpa_insps     €r=   rá   z1SelectInLoader._init_for_join.<locals>.<listcomp>à  s4   ø€ ð 
ð 
ð 
Ø,/ˆG×"Ò" 3Ñ'Ô'ð
ð 
ð 
r?   r
   Fr   T)
r&   rQ   r\   rY  r)   r�   rµ  r+   rn  ro  )rr   r`  r_  ra  rx  s       @r=   re  zSelectInLoader._init_for_joinÝ  s¥   ø€ Ý)¨$¬+Ô*<Ñ=Ô=ˆÔÝ˜$Ô,Ñ-Ô-ˆð
ð 
ð 
ð 
Ø37´;Ô3Jð
ñ 
ô 
ˆõ ˆw‰<Œ<˜!ÒÐÝ”j 'Ð*ˆGØˆHˆHà˜a”jˆGØˆHØ�Š˜u d¨G°W¸hÈÑMÔMÐMr?   c                ó`   — | j                              d¦  «                             |¦  «         d S rò  rô  r¼   s     r=   r¢   z#SelectInLoader.init_class_attributeë  rõ  r?   c	                ó  — |j         r|                      ||||||||¦  «        S |                      |||| j        ¬¦  «        \  }	}
}}|
sd S |j        j        j        sd S | j        j        | j	                 j
        j        st          j        d| z  ¦  «        ‚t          |¦  «        dk    r"t          j        |j        | j        ¦  «        sd S nGt          j        |d         | j        ¦  «        s'| j                             |d         j        ¦  «        sd S |	}|| j                 }|                     |j        dd ¦  «        }|�t/          |¦  «        }n| j        }t2          j                             ||| j        | j        | j        ||||¦	  «	         d S )Nrí  r¢  r
   rÖ  r�  )rÉ   r  rê  rå  rw   rÔ   r÷  rQ   rY   r8   r§  r¨  rú   rû   rµ  r6   r©  r  r  r`   rp   rX   r   r)   r	  r   rà  rù  rú  )rr   rƒ   rx   ry   rz   r`   r„   r{   r…   r¹  rû  rz  rÕ  Úselectin_pathrè  r�  r`  s                    r=   r†   z#SelectInLoader.create_row_processorð  sí  € ð Ô ð 
	Ø×;Ò;ØØØØØØØØñ	ô 	ð 	ð  ×%Ò%Ø�T˜7¨t¬ð &ñ 
ô 
ñ	
ØØØØð
 ð 	ØˆFàÔ$Ô4ÔGð 	ØˆFàŒ{Ô(¨¬Ô2Ô7ÔKð 	ÝÔ,ð@ØBFñGñô ð õ ˆt‰9Œ9˜Š>ˆ>ÝÔ'¨Ô(@À$Ä+ÑNÔNð Ø�ðåÔ%Ø�ŒH�d”kñ
ô 
ð 	à”+—/’/ $ r¤(¤/Ñ2Ô2ð	ð ˆFà&ˆà˜4Ô/Ô0ˆð 'Ÿ?š?ØÔÐ 7¸ñ
ô 
Ðð Ð'Ý&Ð'7Ñ8Ô8ÐÐà#œ{ÐåÔ×*Ò*ØØØŒKØÔ ØÔØØØØñ
	
ô 
	
ð 
	
ð 
	
ð 
	
r?   c	                ód  ‡ ‡‡‡‡‡— |r‰ j         |vrd S ‰ j        }	|	j        r¥t          j        t
          ¦  «        }
g }‰ j        Š|D ]€\  Š}‰j        Št          ˆˆˆfd„|	j	        D ¦   «         ¦  «        }t          j        |v r	‰ j        }	 n<d |vr|
|                              ‰‰|f¦  «         Œh|                     ‰‰|f¦  «         Œ�|	j        sd„ |D ¦   «         }
|	j        }|	j        }|	j        s*‰j        r#ˆfd„|D ¦   «         }‰                     |¦  «        }t'          j        dg|¢R Ž }|                     ¦   «         }‰                     ¦   «         }t-          j        ||gt0          t2          j        d‰dœ¬¦  «        }|	j        s|                     ‰¦  «        }n]|                     ‰ j        ¦  «                             t=          ‰ j        ‰ j        j         ¦  «                              ‰¦  «        ¦  «        }| !                    | "                    tG          j$        d¦  «        ¦  «        ¦  «        }‰j%        j&        }|‰ j                 }|‰j'        u r|j(        }n/|j(        }‰j'        j(        }ˆfd	„tS          ||¦  «        D ¦   «         }|r3|j*        r,|t'          j+        ‰| ,                    ‰¦  «        ¦  «        fz  }|�| -                    ¦   «         } |j.        |Ž }| /                    d
|i¦  «        }‰j0        r| 1                    d¬¦  «        }‰ j        j2        rS|	j        s,‰ j        j2        }‰j        rˆfd„|D ¦   «         } |j2        |Ž }n ˆ fd„}| 3                    |‰ j        ¦  «        }|	j        r‰  4                    |
||	|‰|¦  «         d S ‰  5                    |
|	|‰|¦  «         d S )Nc              3  ó^   •K  — | ]'}‰                      ‰‰|t          j        ¬ ¦  «        V — Œ(dS )r€  N)ra  r   ÚPASSIVE_NO_FETCH)r±   Úlkr`   rå   Ú
state_dicts     €€€r=   r³   z0SelectInLoader._load_for_path.<locals>.<genexpr>_  s]   øè è € ð &ð &ð ð ×4Ò4ØØ"ØÝ *Ô ;ð	 5ñ ô ð&ð &ð &ð &ð &ð &r?   c                ó@   — g | ]\  }}|j         d          ||j        |f‘ŒS )r
   )r8   rr  )r±   rå   r  s      r=   rá   z1SelectInLoader._load_for_path.<locals>.<listcomp>|  s=   € ð ð ð á$�E˜9ð ”˜1”˜u e¤j°)Ð<ðð ð r?   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r�   rv  )r±   r¨   r`  s     €r=   rá   z1SelectInLoader._load_for_path.<locals>.<listcomp>Œ  s5   ø€ ð ð ð Ø=@Ð$×3Ò3°CÑ8Ô8ðð ð r?   r‚  r’  )Úcompile_state_pluginÚplugin_subject)r†  rˆ  rÊ   r‡  Úprimary_keysc                óB   •— g | ]\  }}|                      ‰|¦  «        ‘ŒS r�   )Ú'_adapt_cached_option_to_uncached_option)r±   Úorig_optÚuncached_optrƒ   s      €r=   rá   z1SelectInLoader._load_for_path.<locals>.<listcomp>Þ  sD   ø€ ð ð ð ñ +�H˜lð ×@Ò@Ø˜\ñô ðð ð r?   rŒ  T)rÄ  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r�   rv  )r±   r5  r`  s     €r=   rá   z1SelectInLoader._load_for_path.<locals>.<listcomp>ü  s7   ø€ ð &ð &ð &à ð )×7Ò7¸Ñ=Ô=ð&ð &ð &r?   c                óz   •— | xj         t          t          j        ‰j        j        ¦  «        ¦  «        z  c_         d S r5   rn  rq  s    €r=   rr  z?SelectInLoader._load_for_path.<locals>._setup_outermost_orderby  s<   ø€ Ø#Ð2Ô2µeÝœ TÔ%9Ô%BÑCÔCñ7ô 7ñ Ð2Ô2Ð2Ð2r?   )6r8   rZ  r]  r„  r…  rB  rQ   rr  rp  rb  r   rë   r[  rO   r`  r_  r^  r%  rw  r6   ÚBundler›  r.   rœ  r-   r   r�  r   rY  r_  r  rp   r]  ÚfilterÚin_r+   rK  rw   Úselect_statementÚuser_passed_queryr¦  Úzipr¸   r¥  rÃ  rÿ  rh  Ú_update_compile_optionsrÄ  rz  r<  rs  Ú_load_via_childÚ_load_via_parent)rr   rƒ   ry   r  r  r`  rz   rÕ  rz  ro  Ú
our_statesÚnone_statesr  Úrelated_identr`  r_  Ú
bundle_entÚ
bundle_sqlÚ
entity_sqlrF  rC  r¹  rj  Úcached_optionsÚuncached_optionsro  rr  r`   rå   r€  s   ``   `                     @@@r=   rú  zSelectInLoader._load_for_pathG  s  øøøøøø€ ð ð 	˜œ¨Ð2Ð2ØˆFàÔ%ˆ
àÔ%ð !	GÝ$Ô0µÑ6Ô6ˆJØˆKà”[ˆFà$*ð Gð GÑ ��yØ"œZ�
Ý %ð &ð &ð &ð &ð &ð &ð )Ô:ð&ñ &ô &ñ !ô !�õ (Ô9¸]ÐJÐJØ!%Ô!:�JØ�Eð ˜}Ð,Ð,Ø˜}Ô-×4Ò4Ø 
¨IÐ6ñô ð ð ð  ×&Ò&¨¨z¸9Ð'EÑFÔFÐFÐFð Ô)ð 	ðð à(.ðñ ô ˆJð
 Ô$ˆØÔ$ˆàÔ(ð 	Cð  Ô0ð Cðð ð ð ØDKðñ ô �ð +×9Ò9¸'ÑBÔB�å”_ TÐ4¨GÐ4Ð4Ð4ˆ
Ø×2Ò2Ñ4Ô4ˆ
à%×8Ò8Ñ:Ô:ˆ
ÝÔ%Ø$ jÐ1Ý7Ý,ÔDà(-Ø"2ðð ð	
ñ 
ô 
ˆð Ô(ð 	ð —’Ð.Ñ/Ô/ˆAˆAð
 —’˜dÔ0Ñ1Ô1×6Ò6Ý˜Ô*¨DÔ,@Ô,DÑEÔE×MÒMØ$ñô ñô ˆAð �HŠH�W—[’[¥¤¨~Ñ!>Ô!>Ñ?Ô?Ñ@Ô@ˆð Ô*Ô;ˆ
ð2 ˜dÔ2Ô3ˆà˜Ô2Ð2Ð2Ø$Ô2ˆKˆKà'Ô5ˆNØ&Ô8ÔFÐðð ð ð õ /2Ø"Ð$4ñ/ô /ð	ñ ô ˆKð ð 	�wÔ.ð 	ØÝÔ-Ø$Ø×4Ò4°WÑ=Ô=ñô ðñ ˆKð Ð&Ø+×?Ò?ÑAÔAˆNàˆAŒI�{Ð#ˆà×%Ò% ¸Ð&GÑHÔHˆØÔ$ð 	<Ø×#Ò#°dÐ#Ñ;Ô;ˆAàÔÔ(ð 	ØÔ,ð Ø!%Ô!5Ô!>�Ø#Ô4ð ð&ð &ð &ð &à$2ð&ñ &ô &�Nð �A”J Ð/��ðð ð ð ð ð
 ×)Ò)Ø,¨dÔ.Bñô �ð Ô%ð 	Ø× Ò ØØØØØØ!ñô ð ð ð ð ×!Ò!Ø˜J¨¨7Ð4Eñô ð ð ð r?   c                ób  ‡— | j         }t          |¦  «        }|rÑ|d| j        …         }	|| j        d …         }d„ |j                             |dˆfd„|	D ¦   «         i|¬¦  «                             ¦   «         D ¦   «         }
|	D ]g}|
                     |d ¦  «        }||         D ]F\  }}}|s
| j        |v rŒ|                     | j        ¦  «         	                    |||s|n|g¦  «         ŒGŒh|°Ñ|D ]A\  }}}|s
| j        |v rŒ|                     | j        ¦  «         	                    ||d ¦  «         ŒBd S )Nr   c                ó   — i | ]\  }}||“Œ	S r�   r�   )r±   rä   rŒ  s      r=   ú
<dictcomp>z2SelectInLoader._load_via_child.<locals>.<dictcomp>*  s.   € ð ð ð á�A�qð �1ðð ð r?   r…  c                ó2   •— g | ]}‰j         r|d          n|‘ŒS r  ©ra  )r±   r8   ro  s     €r=   rá   z2SelectInLoader._load_via_child.<locals>.<listcomp>/  s9   ø€ ð )ð )ð )à #ð '1Ô&9ÐB˜C œF˜F¸sð)ð )ð )r?   ©rR  rz  )
rC   ÚsortedÚ
_chunksizerö   r²  rJ  rX   r8   r   r  )rr   r•  r–  ro  rF  rƒ   rz  rC   Úour_keysÚchunkÚdatar8   Úrelated_objrå   r  r  s      `            r=   r“  zSelectInLoader._load_via_child  sÊ  ø€ ð ”,ˆõ ˜*Ñ%Ô%ˆØð  	Ø˜Q ¤Ð0Ô1ˆEØ ¤Ð 1Ð 1Ô2ˆHðð à#œO×3Ò3Øà&ð )ð )ð )ð )à',ð)ñ )ô )ðð '8ð 4ñ 	ô 	÷ ’&‘(”(ðñ ô ˆDð ð ð �ð #Ÿhšh s¨DÑ1Ô1�Ø/9¸#¬ð ð Ñ+�E˜5 )Ø$ð !¨¬°UÐ):Ð):Ø à—N’N 4¤8Ñ,Ô,×@Ò@ØØØ+2ÐE˜˜¸¸ñô ð ð ð	ð1 ð  	ðD (3ð 	Mð 	MÑ#ˆE�5˜)Øð  ¤¨UÐ!2Ð!2Øð �NŠN˜4œ8Ñ$Ô$×8Ò8¸ÀÀtÑLÔLÐLÐLð	Mð 	Mr?   c                ó  ‡— | j         }|rdnd }|�ry|d| j        …         }|| j        d …         }ˆfd„|D ¦   «         }	t          j        t          ¦  «        }
t          j        |j                             |d|	i|¬¦  «         	                    ¦   «         d„ ¦  «        D ]*\  }}|
|          
                    d„ |D ¦   «         ¦  «         Œ+|D ]¼\  }}}}|s
| j        |v rŒ|
                     ||¦  «        }|sb|r`t          |¦  «        dk    rt          j        d	| z  ¦  «         |                     | j        ¦  «                             |||d         ¦  «         Œ�|                     | j        ¦  «                             |||¦  «         Œ½|�°wd S d S )
Nr�   r   c                ó<   •— g | ]\  }}}}‰j         r|d          n|‘ŒS r  r¡  )r±   r8   rå   r€  r  ro  s        €r=   rá   z3SelectInLoader._load_via_parent.<locals>.<listcomp>[  sA   ø€ ð ð ð á5�C˜ 
¨Ið %Ô-Ð6��A”�°3ðð ð r?   r…  r¢  c                ó   — | d         S r•   r�   r  s    r=   r>   z1SelectInLoader._load_via_parent.<locals>.<lambda>g  s
   € ˜!˜Aœ$€ r?   c              3  ó&   K  — | ]}|d          V — ŒdS )r
   Nr�   r‚  s     r=   r³   z2SelectInLoader._load_via_parent.<locals>.<genexpr>i  s&   è è € Ð1Ð1¨˜r !œuÐ1Ð1Ð1Ð1Ð1Ð1r?   r
   r¼  )rC   r¤  r„  r…  rB  rˆ  r‰  rö   r²  rJ  rŠ  r8   rX   rµ  r   r¶  r   r  )rr   r•  ro  rF  rƒ   rz  rC   Ú_empty_resultr¦  r…  r§  rä   rŒ  r8   rå   r€  r  r¯  s     `               r=   r”  zSelectInLoader._load_via_parentQ  s  ø€ ð ”,ˆØ%Ð/˜˜¨4ˆàñ )	Ø˜q 4¤?Ð2Ô3ˆEØ# D¤OÐ$5Ð$5Ô6ˆJðð ð ð à9>ðñ ô ˆLõ
 Ô*­4Ñ0Ô0ˆDÝ!Ô)Ø”×'Ò'ØØ*¨LÐ9Ø&7ð (ñ ô ÷ ’&‘(”(Ø�ñô ð 2ð 2‘��1ð �Q”—’Ð1Ð1¨qÐ1Ñ1Ô1Ñ1Ô1Ð1Ð1à5:ð ð Ñ1��U˜J¨	Ø ð  T¤X°Ð%;Ð%;Øà!ŸXšX c¨=Ñ9Ô9�
àð  :ð Ý˜:‘”¨Ò*Ð*Ýœ	ð.à04ñ5ñô ð ð
 —N’N 4¤8Ñ,Ô,×@Ò@Ø˜z¨:°a¬=ñô ð ð ð —N’N 4¤8Ñ,Ô,×@Ò@Ø˜z¨:ñô ð ð ðO ñ )	ð )	ð )	ð )	ð )	r?   )r‡   rˆ   r‰   r‹   r„  Ú
namedtuplero  r¤  ro   rf  rd  re  r¢   r†   rú  r“  r”  rŒ   r�   s   @r=   rW  rW  €  sø   ø€ € € € € ð€Ið (�Ô'Øð	
ð 	
ð 	
ñ
ô 
€Jð €Jð5ð 5ð 5ð 5ð 5ð<Oð Oð Oð,
ð 
ð 
ð Nð Nð Nð'ð 'ð 'ð
U
ð U
ð U
ðnQð Qð Qðf5Mð 5Mð 5Mðn/ð /ð /ð /ð /ð /ð /r?   rW  c                ó�   ‡‡— ˆfd„Šˆfd„}ˆfd„}t          j        | d|ddd¬¦  «         t          j        | d|ddd¬¦  «         d S )Nc           	     óô   •— |�t|j         ‰j         k    rd|                     t          j        |¦  «        ¦  «        }|r;||ur7t	          j        dt          j        |¦  «        ›d| j        ›d‰›d�d¬¦  «        ‚|S )Nz	Instance z+ is already associated with an instance of z	 via its z0 attribute, and is only allowed a single parent.Úbbf1)Úcode)	r8   Ú	hasparentr   Úinstance_staterú   rû   r6   Úinstance_strr\   )rå   rP  ÚoldvalueÚ	initiatorr³  r:   s        €r=   Ú	_do_checkz*single_parent_validator.<locals>._do_check„  sš   ø€ ØÐ ¤°$´(Ò!:Ð!:Ø!×+Ò+­JÔ,EÀeÑ,LÔ,LÑMÔMˆIØð ˜X¨UÐ2Ð2ÝÔ0Ð0õ  Ô,¨UÑ3Ô3Ð3Ð3°U´\°\°\À4À4À4ðIð  ðñ ô ð ð ˆr?   c                ó    •—  ‰| |d |¦  «        S r5   r�   )rå   rP  r·  r¸  s      €r=   rO   z'single_parent_validator.<locals>.append‘  s   ø€ Øˆy˜  t¨YÑ7Ô7Ð7r?   c                ó    •—  ‰| |||¦  «        S r5   r�   )rå   rP  r¶  r·  r¸  s       €r=   Úset_z%single_parent_validator.<locals>.set_”  s   ø€ Øˆy˜  x°Ñ;Ô;Ð;r?   rO   T)ÚrawÚretvalrJ   r×   )r(   Úlisten)r9   r:   rO   r»  r¸  s    `  @r=   rP   rP   ƒ  sœ   øø€ ðð ð ð ð ð8ð 8ð 8ð 8ð 8ð<ð <ð <ð <ð <õ 
„LØˆh˜ D°Àdðñ ô ð õ 
„L��u˜d¨°TÈ$ÐOÑOÔOÐOÐOÐOr?   )NNNNFN)WrŠ   Ú
__future__r   r„  rˆ  Útypingr   r   r   r   r   r	   Ú r   r   rî   r   r   r   r   r   r   r   r   r6   Úbaser   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+   r3  r,   Úsql.selectabler-   r.   Úutil.typingr/   r`   r0   r1   Úsql.elementsr2   rf   ÚColumnPropertyÚstrategy_forrj   Úclass_loggerr�   r­   rÀ   rÿ   r  r  r  ÚMemoizedSlotsÚ
Identifiedr  rÂ  rÒ  rì  r	  rÃ  rW  rP   r�   r?   r=   ú<module>rË     sá	  ðð/ð /ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ø !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ø +Ð +Ð +Ð +Ð +Ð +Ø #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø #Ð #Ð #Ð #Ð #Ð #Ø !Ð !Ð !Ð !Ð !Ð !àð -ØÐÐÐÐÐØ3Ð3Ð3Ð3Ð3Ð3Ø,Ð,Ð,Ð,Ð,Ð,ð ØØØØØðN!ð N!ð N!ð N!ðb Ô×'Ò'°5À5Ð'ÑIÔIð(ð (ð (ð (ð ( ñ (ô (ñ JÔIð(ðV ÔØÔ×'Ò'°4À%Ð'ÑHÔHðW:ð W:ð W:ð W:ð W:�>ñ W:ô W:ñ IÔHñ ÔðW:ðt ÔØÔ×'Ò'¸Ð'Ñ>Ô>ðT
ð T
ð T
ð T
ð T
˜\ñ T
ô T
ñ ?Ô>ñ ÔðT
ðn ÔØÔ×'Ò'°À$Ð'ÑGÔGØÔ×'Ò'Ø˜d¨dð (ñ ô ð Ô×'Ò'°4Ð'Ñ8Ô8ðl
ð l
ð l
ð l
ð l
˜>ñ l
ô l
ñ 9Ô8ñô ñ HÔGñ Ôðl
ð^8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð0"
ð "
ð "
ð "
ð "
 ñ "
ô "
ð "
ðJ ÔØÔ#×0Ò0¸DÐ0ÑAÔAðð ð ð ð �nñ ô ñ BÔAñ Ôðð ÔØÔ#×0Ò0°hÐ0Ñ?Ô?ØÔ#×0Ò0°dÐ0Ñ;Ô;ð#=ð #=ð #=ð #=ð #=Ð)ñ #=ô #=ñ <Ô;ñ @Ô?ñ Ôð#=ðL ÔØÔ#×0Ò0°dÐ0Ñ;Ô;ØÔ#×0Ò0°hÐ0Ñ?Ô?ØÔ#×0Ò0°gÐ0Ñ>Ô>ØÔ#×0Ò0°nÐ0ÑEÔEØÔ#×0Ò0°nÐ0ÑEÔEðkJð kJð kJð kJð kJØ Ô 2°C´NñkJô kJñ FÔEñ FÔEñ ?Ô>ñ @Ô?ñ <Ô;ñ ÔðkJð\1
ð 1
ð 1
ð 1
ð 1
ñ 1
ô 1
ð 1
ðhIHð IHð IHð IHð IHÐ+ñ IHô IHð IHðX Ô#×0Ò0°kÐ0ÑBÔBð`ð `ð `ð `ð `�jñ `ô `ñ CÔBð`ðF ÔØÔ#×0Ò0°jÐ0ÑAÔAðL
Gð L
Gð L
Gð L
Gð L
G�Zñ L
Gô L
Gñ BÔAñ ÔðL
Gð^ ÔØÔ#×0Ò0°hÐ0Ñ?Ô?ØÔ#×0Ò0°eÐ0Ñ<Ô<ðrð rð rð rð rÐ-ñ rô rñ =Ô<ñ @Ô?ñ Ôðrðj ÔØÔ#×0Ò0°jÐ0ÑAÔAð~ð ~ð ~ð ~ð ~�Z Ô!3ñ ~ô ~ñ BÔAñ Ôð~ðBPð Pð Pð Pð Pr?   