Ë
    r™ãj`B  ã                  ót  — d dl mZ d dlZd dl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  G d„ de«      Z G d„ d«      Z G d„ d«      Z G d„ de«      Z G d„ d«      Z G d„ de«      Z 	 d#d „Z! G d!„ d"«      Z"y)$é    )ÚannotationsNé   )ÚTestBaseé   )Úconfig)Úmock)Ú	provision)Úeq_)Úexpect_deprecated)Úne_)Úadict)Údrop_all_tables_from_metadataé   )Úevent)Úutil)Úsort_tables_and_constraints)Úvisitors)ÚClauseElementc                  óx  — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZ ej                  dd¬«      ed„ «       «       Z ej                  dd¬«      d	„ «       Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z d„ Z!d„ Z"ed„ «       Z#y)Ú
TablesTestÚonceÚeachNTÚclass©ÚautouseÚscopec              #  ó”   K  — | j                  «        | j                  «        | j                  «        d –— | j                  «        y ­w©N)Ú_init_classÚ_setup_once_tablesÚ_setup_once_insertsÚ_teardown_once_metadata_bind©Úclss    új/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/sqlalchemy/testing/fixtures/sql.pyÚ_setup_tables_test_classz#TablesTest._setup_tables_test_class8   s9   è ø€ ð 	�‰Ôà×ÑÔ à×ÑÔ!ãà×(Ñ(Õ*ùs   ‚AAÚfunctionc              #  ót   K  — | j                  «        | j                  «        d –— | j                  «        y ­wr   )Ú_setup_each_tablesÚ_setup_each_insertsÚ_teardown_each_tables©Úselfs    r%   Ú_setup_tables_test_instancez&TablesTest._setup_tables_test_instanceE   s-   è ø€ à×ÑÔ!Ø× Ñ Ô"ãà×"Ñ"Õ$ùs   ‚68c                ó   — | j                   S r   )Ú_tables_metadatar,   s    r%   Útables_test_metadatazTablesTest.tables_test_metadataN   s   € à×$Ñ$Ð$ó    c                ó$  — | j                   dk(  r&| j                  dk(  rd| _        | j                  dv sJ ‚t        «       | _        t        «       | _        t        «       | _        | j                  «       | _        t        j                  «       | _        y )Nr   r   )r   N)Úrun_define_tablesÚrun_create_tablesÚrun_insertsr   ÚotherÚtablesÚ	sequencesÚ
setup_bindÚbindÚsaÚMetaDatar0   r#   s    r%   r   zTablesTest._init_classR   so   € à× Ñ  FÒ*Ø×$Ñ$¨Ò.Ø(.�Ô%Ø—?‘? nÑ4Ð4Ð4ä“GˆŒ	Ü“WˆŒ
Ü›ˆŒà—>‘>Ó#ˆŒÜ!Ÿ{™{›}ˆÕr2   c                óÄ   — | j                   dk(  rE| j                  «        | j                  j                  «       5 }| j	                  |«       d d d «       y y # 1 sw Y   y xY w©Nr   ©r6   Ú_load_fixturesr;   ÚbeginÚinsert_data)r$   Úconns     r%   r!   zTablesTest._setup_once_inserts`   sU   € à�?‰?˜fÒ$Ø×ÑÔ Ø—‘—‘Ó!ð & TØ—‘ Ô%÷&ð &ð %÷&ð &úó   ºAÁAc                ó~  — | j                   dk(  r®| j                  | j                  «       | j                  dk(  r%| j                  j	                  | j
                  «       | j                  j                  | j                  j                  «       | j                  j                  | j                  j                  «       y y r?   ©
r4   Údefine_tablesr0   r5   Ú
create_allr;   r8   Úupdater9   Ú
_sequencesr#   s    r%   r    zTablesTest._setup_once_tablesg   s‹   € à× Ñ  FÒ*Ø×Ñ˜c×2Ñ2Ô3Ø×$Ñ$¨Ò.Ø×$Ñ$×/Ñ/°·±Ô9Ø�J‰J×Ñ˜c×2Ñ2×9Ñ9Ô:Ø�M‰M× Ñ  ×!5Ñ!5×!@Ñ!@ÕAð +r2   c                óè  — | j                   dk(  r®| j                  | j                  «       | j                  dk(  r%| j                  j	                  | j
                  «       | j                  j                  | j                  j                  «       | j                  j                  | j                  j                  «       y | j                  dk(  r&| j                  j	                  | j
                  «       y y ©Nr   rG   r,   s    r%   r)   zTablesTest._setup_each_tablesp   s±   € Ø×!Ñ! VÒ+Ø×Ñ˜t×4Ñ4Ô5Ø×%Ñ%¨Ò/Ø×%Ñ%×0Ñ0°·±Ô;Ø�K‰K×Ñ˜t×4Ñ4×;Ñ;Ô<Ø�N‰N×!Ñ! $×"7Ñ"7×"BÑ"BÕCØ×#Ñ# vÒ-Ø×!Ñ!×,Ñ,¨T¯Y©YÕ7ð .r2   c                óÄ   — | j                   dk(  rE| j                  «        | j                  j                  «       5 }| j	                  |«       d d d «       y y # 1 sw Y   y xY wrM   r@   ©r-   rD   s     r%   r*   zTablesTest._setup_each_insertsz   sY   € Ø×Ñ˜vÒ%Ø×ÑÔ!Ø—‘—‘Ó"ð ' dØ× Ñ  Ô&÷'ð 'ð &÷'ð 'úrE   c                óP  — | j                   dk(  rd| j                  j                  «        | j                  dk(  r t	        | j
                  | j                  «       | j
                  j                  «        n/| j                  dk(  r t	        | j
                  | j                  «       | j                   dk7  ri| j                  dk(  rY| j                  dk(  rI| j                  j                  «       5 }t        j                  |t        | j
                  «       d d d «       y y y y # 1 sw Y   y xY w)Nr   r   )r4   r8   Úclearr5   r   r0   r;   Úrun_deletesrB   r	   Údelete_from_all_tablesr   rO   s     r%   r+   z TablesTest._teardown_each_tables€   sö   € Ø×!Ñ! VÒ+Ø�K‰K×ÑÔØ×%Ñ%¨Ò/Ü-¨d×.CÑ.CÀTÇYÁYÔOØ×!Ñ!×'Ñ'Õ)Ø×#Ñ# vÒ-Ü)¨$×*?Ñ*?ÀÇÁÔKð ×"Ñ" fÒ,Ø×&Ñ&¨&Ò0Ø× Ñ  FÒ*à—‘—‘Ó"ð  dÜ×0Ñ0Øœ& $×"7Ñ"7ô÷ð ð +ð 1ð -÷ð ús   Ã*&DÄD%c                óú   — | j                   r t        | j                  | j                  «       | j                  dk(  r| j                  | j                  «       d | j                  _        | j                  �d | _        y y r?   )r5   r   r0   r;   Úrun_dispose_bindÚdispose_bindÚrun_setup_bindr#   s    r%   r"   z'TablesTest._teardown_once_metadata_bind”   se   € à× Ò Ü)¨#×*>Ñ*>ÀÇÁÔIà×Ñ 6Ò)Ø×Ñ˜SŸX™XÔ&à$(ˆ×ÑÔ!à×ÑÐ)ØˆC�Hð *r2   c                ó"   — t         j                  S r   )r   Údbr#   s    r%   r:   zTablesTest.setup_bind¡   s   € ä�y‰yÐr2   c                óx   — t        |d«      r|j                  «        y t        |d«      r|j                  «        y y )NÚdisposeÚclose)Úhasattrr[   r\   )r$   r;   s     r%   rV   zTablesTest.dispose_bind¥   s-   € ä�4˜Ô#Ø�L‰L�NÜ�T˜7Ô#Ø�J‰J�Lð $r2   c                 ó   — y r   © )r$   Úmetadatas     r%   rH   zTablesTest.define_tables¬   ó   € àr2   c                ó   — i S r   r_   r#   s    r%   ÚfixtureszTablesTest.fixtures°   s   € àˆ	r2   c                 ó   — y r   r_   )r$   Ú
connections     r%   rC   zTablesTest.insert_data´   ra   r2   c                ó>   — | j                  | j                  ||«       y r   )Úassert_sql_countr;   )r-   ÚcountÚfns      r%   Ú
sql_count_zTablesTest.sql_count_¸   s   € Ø×Ñ˜dŸi™i¨¨UÕ3r2   c                ó>   — | j                  | j                  ||«       y r   )Ú
assert_sqlr;   )r-   Ú	callable_Ú
statementss      r%   Úsql_eq_zTablesTest.sql_eq_»   s   € Ø�‰˜Ÿ	™	 9¨jÕ9r2   c                óD  — i i }}| j                  «       j                  «       D ]C  \  }}t        |«      dk  rŒt        |t        «      r| j
                  |   }|d   ||<   |dd ||<   ŒE t        | j                  j
                  j                  «       «      D ]w  \  }}|€Œ	||vrŒ| j                  j                  «       5 }|j                  |j                  «       ||   D �cg c]  }t        t        ||   |«      «      ‘Œ c}«       ddd«       Œy yc c}w # 1 sw Y   Œ‰xY w)z4Insert rows as represented by the fixtures() method.r   r   r   N)rc   ÚitemsÚlenÚ
isinstanceÚstrr8   r   r0   Úvaluesr;   rB   ÚexecuteÚinsertÚdictÚzip)r$   ÚheadersÚrowsÚtableÚdataÚfksrD   Úcolumn_valuess           r%   rA   zTablesTest._load_fixtures¾   s(  € ð ˜B�ˆØŸ<™<›>×/Ñ/Ó1ò 	#‰KˆE�4Ü�4‹y˜1Š}ØÜ˜%¤Ô%ØŸ
™
 5Ñ)�Ø! !™WˆG�E‰NØ˜q˜r˜(ˆD�ŠKð	#ô 6Ø× Ñ ×'Ñ'×.Ñ.Ó0ó
ò 	‰JˆE�3ð ˆ}ØØ˜GÑ#ØØ—‘—‘Ó!ð  TØ—‘Ø—L‘L“Nð .2°%©[öà)ô œS ¨¡°Ó?Õ@òô÷ð ñ	ùò÷ð ús   Â>"DÃ DÃ?DÄDÄD	)$Ú__name__Ú
__module__Ú__qualname__rW   r4   r5   r6   rR   rU   r;   r0   r8   r7   r9   r   ÚfixtureÚclassmethodr&   r.   Úpropertyr1   r   r!   r    r)   r*   r+   r"   r:   rV   rH   rc   rC   rj   ro   rA   r_   r2   r%   r   r      s†  „ à€Nð Ðð Ðð €Kð €Kð Ðà€DØÐØ€FØ€EØ€Ià€V‡^�^˜D¨Ô0Øñ	+ó ó 1ð	+ð €V‡^�^˜D¨
Ô3ñ%ó 4ð%ð ñ%ó ð%ð ñ-ó ð-ð ñ&ó ð&ð ñBó ðBò8ò'òð( ñ
ó ð
ð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðò4ò:ð ñó ñr2   r   c                  ó@   — e Zd Z ej                  dd¬«      d„ «       Zy)ÚNoCacheTr'   r   c              #  óœ   K  — t         j                  j                  }d t         j                  _        d –— |t         j                  _        y ­wr   )r   rY   Ú_compiled_cache)r-   Ú_caches     r%   Ú_disable_cachezNoCache._disable_cacheÛ   s0   è ø€ ä—‘×*Ñ*ˆØ$(Œ�	‰	Ô!ÛØ$*Œ�	‰	Õ!ùs   ‚A
AN)r€   r�   r‚   r   rƒ   r‹   r_   r2   r%   r‡   r‡   Ú   s!   „ Ø€V‡^�^˜D¨
Ô3ñ+ó 4ñ+r2   r‡   c                  ój   — e Zd Zej                  d„ «       Zd„ Z ej                  dd¬«      d„ «       Z	y)ÚRemovesEventsc                ó   — t        «       S r   )Úsetr,   s    r%   Ú
_event_fnszRemovesEvents._event_fnsä   s	   € ä‹uˆr2   c                óp   — | j                   j                  |||f«       t        j                  |||fi |¤Ž y r   )r�   Úaddr   Úlisten)r-   ÚtargetÚnameri   Úkws        r%   Úevent_listenzRemovesEvents.event_listenè   s0   € Ø�‰×Ñ˜V T¨2Ð.Ô/Ü�‰�V˜T 2Ñ,¨Ó,r2   Tr'   r   c              #  óZ   K  — d –— | j                   D ]  }t        j                  |Ž  Œ y ­wr   )r�   r   Úremove)r-   Úkeys     r%   Ú_remove_eventszRemovesEvents._remove_eventsì   s(   è ø€ ãØ—?‘?ò 	ˆCÜ�L‰L˜#Òñ	ùs   ‚)+N)
r€   r�   r‚   r   Úmemoized_propertyr�   r—   r   rƒ   r›   r_   r2   r%   r�   r�   ã   s@   „ Ø	×Ññó ðò-ð €V‡^�^˜D¨
Ô3ñó 4ñr2   r�   c                  óV   — e Zd ZdxZZdZdZ ej                  d«      Z	d„ Z
ed„ «       Zy)ÚComputedReflectionFixtureTestNT)Úcomputed_columnsÚtable_reflectionz[\[\]\(\)\s`'\"]*c                óV   — | j                   j                  d|«      j                  «       S )NÚ )ÚregexpÚsubÚlower)r-   Útexts     r%   Ú	normalizez'ComputedReflectionFixtureTest.normalizeû   s    € Ø�{‰{�‰˜r 4Ó(×.Ñ.Ó0Ð0r2   c                ó¼  — ddl m} ddl m} ddlm} ddlm} ddlm}  |d| |d|d	¬
«       |d|«       |d| |d«      «       |d|d¬«      «        |d| |d|d	¬
«       |d|«       |d| |d«      «      «      }|j                  j                  j                  r: |d| |d|d	¬
«       |d|«       |d| |d«      «      t        j                  ¬«      }|j                  j                  j                  rb|j                   |d| |dd¬«      «      «       |j                  j                  j                  r!j                   |d| |dd¬«      «      «       |j                  j                  j                  rd|j                   |d| |dd	¬«      «      «       |j                  j                  j                  r"j                   |d| |dd	¬«      «      «       y y y )Nr   )ÚInteger)Útesting)ÚColumn)ÚComputed)ÚTableÚcomputed_default_tableÚidT)Úprimary_keyÚnormalÚcomputed_colznormal + 42Úwith_defaultÚ42)Úserver_defaultÚcomputed_column_tableÚcomputed_no_flagznormal / 42)ÚschemaÚcomputed_virtualz
normal + 2F)Ú	persistedz
normal / 2Úcomputed_storedznormal - 42znormal * 42)r¢   r©   rª   r¸   r«   r¬   r­   ÚrequiresÚschemasÚenabledr   Útest_schemaÚcomputed_columns_virtualÚappend_columnÚcomputed_columns_stored)	r$   r`   r©   rª   r«   r¬   r­   ÚtÚt2s	            r%   rH   z+ComputedReflectionFixtureTest.define_tablesþ   sÞ  € åÝÝ$Ý&Ý#áØ$ØÙ�4˜¨dÔ3Ù�8˜WÓ%Ù�> 7©H°]Ó,CÓDÙ�> 7¸4Ô@ô	
ñ Ø#ØÙ�4˜¨dÔ3Ù�8˜WÓ%ÙÐ% w±¸Ó0GÓHó
ˆð ×Ñ×#Ñ#×+Ò+ÙØ'ØÙ�t˜W°$Ô7Ù�x Ó)ÙÐ)¨7±H¸]Ó4KÓLÜ×)Ñ)ôˆBð ×Ñ×4Ñ4×<Ò<Ø�O‰OÙØ&ØÙ˜\°UÔ;óôð ×Ñ×'Ñ'×/Ò/Ø× Ñ ÙØ*ØÙ  ¸Ô?óôð ×Ñ×3Ñ3×;Ò;Ø�O‰OÙØ%ØÙ˜]°dÔ;óôð ×Ñ×'Ñ'×/Ò/Ø× Ñ ÙØ)ØÙ  ¸$Ô?óõð 0ð <r2   )r€   r�   r‚   r6   rR   Ú__backend__Ú__requires__ÚreÚcompiler£   r§   r„   rH   r_   r2   r%   rž   rž   ó   sB   „ Ø $Ð$€K�+à€KØ;€LàˆR�Z‰ZÐ,Ó-€Fò1ð ñAó ñAr2   rž   c                  ó6   — e Zd Zddœd„Zddœd„Zddœd„Zd„ Zy)ÚCacheKeyFixtureF©Úcompare_valuesc               óÀ  — |j                  «       }|j                  «       }|€*|j                  j                  d«      sJ d«       ‚|�J ‚||fS t        |j                  |j                  «       t        t        |j                  «      t        |j                  «      «       t        |j                  |j                  «      D ]  \  }}|j                  ||¬«      rŒJ ‚ ||fS )NÚnocachezJConstruct doesn't cache, so test suite should add the 'nocache' annotationrË   )	Ú_generate_cache_keyÚ_annotationsÚgetr
   rš   Úhashry   Ú
bindparamsÚcompare)r-   ÚaÚbrÌ   Úa_keyÚb_keyÚa_paramÚb_params           r%   Ú_compare_equalzCacheKeyFixture._compare_equalD  sÖ   € Ø×%Ñ%Ó'ˆØ×%Ñ%Ó'ˆàˆ=Ø—>‘>×%Ñ% iÔ0ð ð/óÐ0ð
 �=Ð �=ð �eˆ|Ðô �—	‘	˜5Ÿ9™9Ô%Ü”�U—Y‘Y“¤ e§i¡i£Ô1ä$'¨×(8Ñ(8¸%×:JÑ:JÓ$Kò OÑ �˜Ø—‘ w¸~�ÕNÐNÐNðOà�eˆ|Ðr2   c               óø   —  |«       } |«       }t        j                  t        t        |«      «      d«      D ]A  \  }}||k(  r||   j	                  ||   |¬«      rŒ%J ‚||   j	                  ||   |¬«      sŒAJ ‚ y ©Nr   rË   )Ú	itertoolsÚcombinations_with_replacementÚrangerr   rÔ   ©r-   rƒ   rÌ   Úcase_aÚcase_brÕ   rÖ   s          r%   Ú_run_compare_fixturez$CacheKeyFixture._run_compare_fixtureW  s›   € Ù“ˆÙ“ˆä×;Ñ;Ü”#�f“+Ó ó
ò 
	‰DˆAˆqð �AŠvØ˜a‘y×(Ñ(Ø˜1‘I¨nð )õ ð ð ð " !™9×,Ñ,Ø˜1‘I¨nð -õ ð ð ñ
	r2   c          	     ó4  —  |«       } |«       }t        j                  t        t        |«      «      d«      D �]^  \  }}||k(  r!| j	                  ||   ||   |¬«      \  }}|�€Œ-||   j                  «       }||   j                  «       }|�|€E|€ ||   j                  j                  d«      sJ ‚|€ ||   j                  j                  d«      sJ ‚Œœ|j                  |j                  k(  r^t        |j                  |j                  «      D ]  \  }	}
|	j                  |
|¬«      rŒ nB t        |j                  |j                  «       n t        |j                  |j                  «       t        ||   t        «      s�ŒHt        ||   t        «      s�Œ]g }g }t        j                   ||   «      D ]#  }|j"                  dk(  sŒ|j%                  |«       Œ% t        j                   ||   «      D ]#  }|j"                  dk(  sŒ|j%                  |«       Œ% t'        t)        |j                  d„ ¬«      t)        t+        j,                  |«      d„ ¬«      «       t'        t)        |j                  d„ ¬«      t)        t+        j,                  |«      d	„ ¬«      «       �Œa y )
Nr   rË   rÎ   Ú	bindparamc                ó   — | j                   S r   ©rš   ©rÖ   s    r%   ú<lambda>z8CacheKeyFixture._run_cache_key_fixture.<locals>.<lambda>¦  ó
   € ¸1¿5¹5€ r2   rè   c                ó   — | j                   S r   rè   ré   s    r%   rê   z8CacheKeyFixture._run_cache_key_fixture.<locals>.<lambda>¨  ó
   € ÈÏÉ€ r2   c                ó   — | j                   S r   rè   ré   s    r%   rê   z8CacheKeyFixture._run_cache_key_fixture.<locals>.<lambda>¬  rë   r2   c                ó   — | j                   S r   rè   ré   s    r%   rê   z8CacheKeyFixture._run_cache_key_fixture.<locals>.<lambda>®  rí   r2   )rÞ   rß   rà   rr   rÛ   rÏ   rÐ   rÑ   rš   ry   rÓ   rÔ   r   rs   r   r   ÚiterateÚ__visit_name__Úappendr
   Úsortedr   Úunique_list)r-   rƒ   rÌ   râ   rã   rÕ   rÖ   r×   rØ   rÙ   rÚ   Úassert_a_paramsÚassert_b_paramsÚelems                 r%   Ú_run_cache_key_fixturez&CacheKeyFixture._run_cache_key_fixtureg  ss  € Ù“ˆÙ“ˆä×;Ñ;Ü”#�f“+Ó ó
ó E	‰DˆAˆqð �AŠvØ#×2Ñ2Ø˜1‘I˜v a™y¸ð  3ó  ‘��uð ‘=Øà˜q™	×5Ñ5Ó7�Ø˜q™	×5Ñ5Ó7�à�= E MØ�}Ø% a™y×5Ñ5×9Ñ9¸)ÔDÐDÐDØ�}Ø% a™y×5Ñ5×9Ñ9¸)ÔDÐDÐDØà—9‘9 §	¡	Ò)Ü,/Ø×(Ñ(¨%×*:Ñ*:ó-ò 2Ñ(˜ ð  'Ÿ™Ø#°Nð  /õ  ñ "ð2ô ˜EŸI™I u§y¡yÕ1ä˜Ÿ	™	 5§9¡9Ô-ô
 ˜& ™)¤]Ö3¼
Ø�q‘	œ=ö9ð #%�Ø"$�ä$×,Ñ,¨V°A©YÓ7ò 5�DØ×*Ñ*¨kÓ9Ø'×.Ñ.¨tÕ4ð5ô %×,Ñ,¨V°A©YÓ7ò 5�DØ×*Ñ*¨kÓ9Ø'×.Ñ.¨tÕ4ð5ô Ü˜5×+Ñ+±ÔAÜÜ×(Ñ(¨Ó9¹ôôô Ü˜5×+Ñ+±ÔAÜÜ×(Ñ(¨Ó9¹ôöñAE	r2   c                ó´   —  |«       } |«       }t        j                  t        t        |«      «      d«      D ]  \  }}| j	                  ||   ||   |¬«       Œ! y rÝ   )rÞ   rß   rà   rr   rÛ   rá   s          r%   Ú_run_cache_key_equal_fixturez,CacheKeyFixture._run_cache_key_equal_fixture²  s`   € Ù“ˆÙ“ˆä×;Ñ;Ü”#�f“+Ó ó
ò 	‰DˆAˆqð ×ÑØ�q‘	˜6 !™9°^ð  õ ñ	r2   N)r€   r�   r‚   rÛ   rä   rø   rú   r_   r2   r%   rÊ   rÊ   C  s(   „ Ø5:ô ð& ?Dô ð  AFô IóV	r2   rÊ   c                  ó   — e Zd Zed„ «       Zy)ÚCacheKeySuitec                ó4   ‡— ˆfd„}‰j                   |_         |S )Nc                ój   •— | j                   ‰| «      d¬«       | j                   ‰| «      d¬«       y )NFrË   )rø   rä   )r-   ri   s    €r%   Údecoratez/CacheKeySuite.run_suite_tests.<locals>.decorateÁ  s1   ø€ Ø×'Ñ'©¨4«ÀÐ'ÔGØ×%Ñ%¡b¨£h¸uÐ%ÕEr2   )r€   )r$   ri   rÿ   s    ` r%   Úrun_suite_testszCacheKeySuite.run_suite_tests¿  s   ø€ ô	Fð ŸK™KˆÔØˆr2   N)r€   r�   r‚   r„   r   r_   r2   r%   rü   rü   ¾  s   „ Øñó ñr2   rü   c                ó–   ‡‡‡‡‡‡— | j                   }|j                  Š| j                  Š G d„ d«      Šˆˆˆˆfd„Šˆˆfd„}|| _        y )Nc                  ó,   — e Zd ZdZd„ Zed„ «       Zd„ Zy)ú.insertmanyvalues_fixture.<locals>.RandomCursor©Úcursorc                ó   — || _         y r   r  )r-   r  s     r%   Ú__init__z7insertmanyvalues_fixture.<locals>.RandomCursor.__init__Ó  s	   € Ø ˆD�Kr2   c                ó.   — | j                   j                  S r   )r  Údescriptionr,   s    r%   r	  z:insertmanyvalues_fixture.<locals>.RandomCursor.descriptionÚ  s   € à—;‘;×*Ñ*Ð*r2   c                óz   — | j                   j                  «       }t        |«      }t        j                  |«       |S r   )r  ÚfetchallÚlistÚrandomÚshuffle)r-   r{   s     r%   r  z7insertmanyvalues_fixture.<locals>.RandomCursor.fetchallÞ  s.   € Ø—;‘;×'Ñ'Ó)ˆDÜ˜“:ˆDÜ�N‰N˜4Ô ØˆKr2   N)r€   r�   r‚   Ú	__slots__r  r…   r	  r  r_   r2   r%   ÚRandomCursorr  Ð  s%   „ Øˆ	ò	!ð 
ñ	+ó 
ð	+ó	r2   r  c              3  ó”   •K  — ‰	r ‰|«      } ‰| |||||«      D ])  }‰
r!|j                   rt        j                  d«       |–— Œ+ y ­w)Nz)Batches were downgraded for sorted INSERT)Úis_downgradedr   Úwarn)re   r  Ú	statementÚ
parametersÚgeneric_setinputsizesÚcontextÚbatchr  Úorig_dialectÚrandomize_rowsÚwarn_on_downgradeds          €€€€r%   Ú!_deliver_insertmanyvalues_batcheszCinsertmanyvalues_fixture.<locals>._deliver_insertmanyvalues_batchesä  s[   øè ø€ ñ Ù! &Ó)ˆFÙ!ØØØØØ!Øó
ò 	ˆEñ " e×&9Ò&9Ü—	‘	ÐEÔFà‹Kñ	ùs   ƒAAc                ó†   •— t         j                  j                  | d‰¬«      5   ‰| |«      cd d d «       S # 1 sw Y   y xY w)Nr  )Únew)r   ÚpatchÚobject)Údialectr  r  Ú	orig_conns     €€r%   Ú_exec_insertmany_contextz:insertmanyvalues_fixture.<locals>._exec_insertmany_contextû  sD   ø€ Ü�Z‰Z×ÑØØ/Ø1ð ó 
ñ 	/ñ
 ˜W gÓ.÷	/÷ 	/ò 	/ús	   ¤	7·A )r!  r  r#  )	re   r  r  r!  r#  r  r  r"  r  s	    ``  @@@@r%   Úinsertmanyvalues_fixturer$  É  sE   ý€ ð × Ñ €GØ×<Ñ<€LØ×3Ñ3€I÷ñ ÷(õ./ð +C€JÕ'r2   c                  óB   — e Zd Z ej                  ddg¬«      d„ «       Zy)ÚDistinctOnFixtureÚlegacyr  )Úparamsc                ó"   ‡‡— ddl mŠ ˆˆfd„}|S )Nr   )Údistinct_onc                óî   •— ‰j                   dk(  r6|r$t        d«      5   | j                  |Ž cd d d «       S | j                  «       S ‰j                   dk(  r| j                   ‰|Ž «      S y # 1 sw Y   y xY w)Nr'  z—Passing expression to ``distinct`` to generate a DISTINCT ON clause is deprecated. Use instead the ``postgresql.distinct_on`` function as an extension.r  )Úparamr   ÚdistinctÚext)ÚqueryÚexprr*  Úrequests     €€r%   Úgoz1DistinctOnFixture.distinct_on_fixture.<locals>.go  s~   ø€ Ø�}‰} Ò(ÙÜ*ðOóñ 5ð  .˜uŸ~™~¨tÐ4÷5ñ 5ð !Ÿ>™>Ó+Ð+Ø—‘ %Ò'Ø—y‘y¡¨dÐ!3Ó4Ð4ð (÷5ð 5ús   žA+Á+A4)Úsqlalchemy.dialects.postgresqlr*  )r-   r1  r2  r*  s    ` @r%   Údistinct_on_fixturez%DistinctOnFixture.distinct_on_fixture  s   ù€ å>õ	5ð ˆ	r2   N)r€   r�   r‚   r   rƒ   r4  r_   r2   r%   r&  r&    s$   „ Ø€V‡^�^˜H eÐ,Ô-ñó .ñr2   r&  )FF)#Ú
__future__r   rÞ   r  rÇ   Ú
sqlalchemyr<   Úbaser   r¢   r   r   r	   Ú
assertionsr
   r   r   r   r   r   r   r¸   r   Úsqlr   Úsql.elementsr   r   r‡   r�   rž   rÊ   rü   r$  r&  r_   r2   r%   ú<module>r;     s¡   ðõ #ã Û Û 	ã Ý Ý Ý Ý Ý Ý *Ý Ý Ý 0Ý Ý Ý 1Ý Ý )ôx�ô x÷v+ñ +÷ñ ô M Jô M÷`xñ xôv�Oô ð :?ó:C÷zò r2   