§
    Çtºf|: ã                   ó  — d Z ddlZddlmZ d„ Z G d„ d¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z	 G d„ dej
        ¦  «        Z G d„ de¦  «        Z G d„ dej
        ¦  «        Z G d„ dee¦  «        Z G d„ dej
        ¦  «        Z G d„ dee¦  «        Z G d„ dej
        ¦  «        Z G d„ dej
        ¦  «        Z G d„ d e¦  «        Z G d!„ d"ej
        ¦  «        ZdS )#zAdapter registry tests
é    N)ÚOptimizationTestMixinc            	      ó$  — ddl m}   G d„ d| ¦  «        } G d„ d|¦  «        } G d„ d|¦  «        } G d	„ d
||¦  «        } G d„ d||¦  «        } G d„ d| ¦  «        } G d„ d|¦  «        } G d„ d| ¦  «        } G d„ d|¦  «        }	|||||||||	f	S )Nr   ©Ú	Interfacec                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IB0N©Ú__name__Ú
__module__Ú__qualname__© ó    ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/tests/test_adapter.pyÚIB0r      ó   € € € € € Øˆr   r   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IB1Nr	   r   r   r   ÚIB1r      r   r   r   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IB2Nr	   r   r   r   ÚIB2r   !   r   r   r   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IB3Nr	   r   r   r   ÚIB3r   $   r   r   r   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IB4Nr	   r   r   r   ÚIB4r   '   r   r   r   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IF0Nr	   r   r   r   ÚIF0r   *   r   r   r    c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IF1Nr	   r   r   r   ÚIF1r"   -   r   r   r#   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IR0Nr	   r   r   r   ÚIR0r%   0   r   r   r&   c                   ó   — e Zd ZdS )ú_makeInterfaces.<locals>.IR1Nr	   r   r   r   ÚIR1r(   3   r   r   r)   )Úzope.interfacer   )
r   r   r   r   r   r   r    r#   r&   r)   s
             r   Ú_makeInterfacesr+      s­  € Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ð ˆiñ ô ð ðð ð ð ð ˆcñ ô ð ðð ð ð ð ˆcñ ô ð ðð ð ð ð ˆc�3ñ ô ð ðð ð ð ð ˆc�3ñ ô ð ðð ð ð ð ˆiñ ô ð ðð ð ð ð ˆcñ ô ð ðð ð ð ð ˆiñ ô ð ðð ð ð ð ˆcñ ô ð ð ��S˜#˜s C¨¨c°3Ð6Ð6r   c                   ó<   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )	ÚCustomDataTypeBaseNc                 ó   — | j         |         S ©N©Ú_data©ÚselfÚnames     r   Ú__getitem__zCustomDataTypeBase.__getitem__?   s   € ØŒz˜$ÔÐr   c                 ó   — || j         |<   d S r/   r0   )r3   r4   Úvalues      r   Ú__setitem__zCustomDataTypeBase.__setitem__B   s   € Ø ˆŒ
�4ÑÐÐr   c                 ó   — | j         |= d S r/   r0   r2   s     r   Ú__delitem__zCustomDataTypeBase.__delitem__E   s   € ØŒJ�tÐÐÐr   c                 ó*   — t          | j        ¦  «        S r/   )Úlenr1   ©r3   s    r   Ú__len__zCustomDataTypeBase.__len__H   s   € Ý�4”:‰ŒÐr   c                 ó   — || j         v S r/   r0   r2   s     r   Ú__contains__zCustomDataTypeBase.__contains__K   s   € Ø�t”zÐ!Ð!r   c                 ón   — || u rdS t          |¦  «        t          | ¦  «        urdS |j        | j        k    S )NTF)Útyper1   ©r3   Úothers     r   Ú__eq__zCustomDataTypeBase.__eq__N   s;   € Ø�Dˆ=ˆ=Ø�4å�‰;Œ;�d 4™jœjÐ(Ð(Ø�5ØŒ{˜dœjÒ(Ð(r   c                 ó*   — t          | j        ¦  «        S r/   )Úreprr1   r=   s    r   Ú__repr__zCustomDataTypeBase.__repr__V   s   € Ý�D”JÑÔÐr   )r
   r   r   r1   r5   r8   r:   r>   r@   rE   rH   r   r   r   r-   r-   <   s‚   € € € € € Ø€Eð ð  ð  ð!ð !ð !ðð ð ðð ð ð"ð "ð "ð)ð )ð )ð ð  ð  ð  ð  r   r-   c                   ó   — e Zd Zdd„ZdS )ÚCustomMappingNc                 ó�   — i | _         |r| j                              |¦  «         | j         j        | _        | j         j        | _        d S r/   )r1   ÚupdateÚgetÚitemsrC   s     r   Ú__init__zCustomMapping.__init__[   sB   € ØˆŒ
Øð 	%ØŒJ×Ò˜eÑ$Ô$Ð$Ø”:”>ˆŒØ”ZÔ%ˆŒ
ˆ
ˆ
r   r/   ©r
   r   r   rO   r   r   r   rJ   rJ   Z   s(   € € € € € ð&ð &ð &ð &ð &ð &r   rJ   c                   ó   — e Zd Zdd„ZdS )ÚCustomSequenceNc                 ón   — g | _         |r| j                              |¦  «         | j         j        | _        d S r/   )r1   ÚextendÚappendrC   s     r   rO   zCustomSequence.__init__d   s7   € ØˆŒ
Øð 	%ØŒJ×Ò˜eÑ$Ô$Ð$Ø”jÔ'ˆŒˆˆr   r/   rP   r   r   r   rR   rR   c   s(   € € € € € ð(ð (ð (ð (ð (ð (r   rR   c                   ó   — e Zd ZdS )ÚCustomLeafSequenceNr	   r   r   r   rW   rW   k   ó   € € € € € Ø€Dr   rW   c                   ó   — e Zd ZdS )ÚCustomProvidedNr	   r   r   r   rZ   rZ   o   rX   r   rZ   c                   ó  — 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d„ Zd-d„Zd-d„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d„ 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)d)„ Z*d*„ Z+d+„ Z,d,„ Z-dS ).ÚBaseAdapterRegistryTestsNc                 ó   — ddl m} |S )Nr   ©ÚBaseAdapterRegistry©Úzope.interface.adapterr_   )r3   r_   s     r   Ú_getBaseAdapterRegistryz0BaseAdapterRegistryTests._getBaseAdapterRegistryw   s   € Ø>Ð>Ð>Ð>Ð>Ð>Ø"Ð"r   c                 ó¢   — |                       ¦   «         } G d„ d|¦  «        }|j        D ]$}t          |j        |t	          ¦   «         ¦  «         Œ%|S )Nc                   ó(   — e Zd Z G d„ d¦  «        ZdS )ú6BaseAdapterRegistryTests._getTargetClass.<locals>._CUTc                   ó.   — e Zd ZdxZZd„ Zd„ Zd„ Zd„ ZdS )úBBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClassr   c                 ó   — d S r/   r   )r3   Úregs     r   rO   zKBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.__init__ƒ   s   € Ø�Dr   c                 ó(   — | xj         |fz  c_         d S r/   ©Ú_changed)r3   Úorigs     r   ÚchangedzJBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.changed†   s   € Ø�M”M d WÑ,�M”M�M�Mr   c                 ó(   — | xj         |fz  c_         d S r/   )Ú
_extendors©r3   Úprovideds     r   Úadd_extendorzOBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.add_extendor‰   s   € Ø�O”O¨ {Ñ2�O”O�O�Or   c                 óR   ‡— t          ˆfd„| j        D ¦   «         ¦  «        | _        d S )Nc                 ó    •— g | ]
}|‰k    ¯|‘ŒS r   r   )Ú.0Úxrr   s     €r   ú
<listcomp>zfBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.remove_extendor.<locals>.<listcomp>�   s)   ø€ ð -?ð -?ð -?°1Ø01°X²°ð ./Ø0=°°r   )Útuplerp   rq   s    `r   Úremove_extendorzRBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.remove_extendorŒ   sA   ø€ Ý&+ð -?ð -?ð -?ð -?¸¼ð -?ñ -?ô -?ñ '@ô '@�D”O�O�Or   N)	r
   r   r   rl   rp   rO   rn   rs   rz   r   r   r   ÚLookupClassrg   €   s_   € € € € € Ø(*Ð*�˜:ðð ð ð-ð -ð -ð3ð 3ð 3ð@ð @ð @ð @ð @r   r{   N)r
   r   r   r{   r   r   r   Ú_CUTre   ~   sF   € € € € € ð@ð @ð @ð @ð @ñ @ô @ð @ð @ð @r   r|   )rb   Ú
_delegatedÚsetattrr{   Úobject)r3   r_   r|   r4   s       r   Ú_getTargetClassz(BaseAdapterRegistryTests._getTargetClass{   s|   € Ø"×:Ò:Ñ<Ô<Ðð	@ð 	@ð 	@ð 	@ð 	@Ð&ñ 	@ô 	@ð 	@ð$ (Ô2ð 	6ð 	6ˆDÝ�DÔ$ d­F©H¬HÑ5Ô5Ð5Ð5Øˆr   c                 ó:   —  |                       ¦   «         ¦   «         S r/   ©r€   r=   s    r   Ú_makeOnez!BaseAdapterRegistryTests._makeOne”   s   € Ø%ˆt×#Ò#Ñ%Ô%Ñ'Ô'Ð'r   c                 ó   — t           S r/   ©Údictr=   s    r   Ú_getMappingTypez(BaseAdapterRegistryTests._getMappingType—   ó   € Ýˆr   c                 ó   — t           S r/   r…   r=   s    r   Ú_getProvidedTypez)BaseAdapterRegistryTests._getProvidedTypeš   rˆ   r   c                 ó   — t           S r/   )Úlistr=   s    r   Ú_getMutableListTypez,BaseAdapterRegistryTests._getMutableListType�   rˆ   r   c                 ó   — t           S r/   )ry   r=   s    r   Ú_getLeafSequenceTypez-BaseAdapterRegistryTests._getLeafSequenceType    s   € Ýˆr   c                 óÄ   — |                       ¦   «         } |¦   «         }|j        D ]9}|                      t          ||¦  «        t          |j        |¦  «        ¦  «         Œ:d S r/   )r€   r}   ÚassertIsÚgetattrÚ	_v_lookup)r3   ÚCUTÚregistryr4   s       r   Útest_lookup_delegationz/BaseAdapterRegistryTests.test_lookup_delegation£   sp   € Ø×"Ò"Ñ$Ô$ˆØ�3‘5”5ˆØ”Nð 	ð 	ˆDØ�MŠMÝ˜ $Ñ'Ô'­°Ô1CÀTÑ)JÔ)Jñô ð ð ð	ð 	r   c                 ód   — |                       ¦   «         }|                      |j        d¦  «         d S ©Né   )rƒ   ÚassertEqualÚ_generation©r3   r•   s     r   Ú"test__generation_on_first_creationz;BaseAdapterRegistryTests.test__generation_on_first_creation«   s.   € Ø—=’=‘?”?ˆà×Ò˜Ô-¨qÑ1Ô1Ð1Ð1Ð1r   c                 óî   — |                       ¦   «         }t          ¦   «         }|                     |¦  «         |                      |j        d¦  «         |                      |j        j        ||f¦  «         d S ©Né   )rƒ   r   rn   rš   r›   r“   rl   )r3   r•   rm   s      r   Ú&test__generation_after_calling_changedz?BaseAdapterRegistryTests.test__generation_after_calling_changed°   sl   € Ø—=’=‘?”?ˆÝ‰xŒxˆØ×Ò˜ÑÔÐà×Ò˜Ô-¨qÑ1Ô1Ð1Ø×Ò˜Ô+Ô4°xÀÐ6GÑHÔHÐHÐHÐHr   c                 óŽ   —  G d„ d¦  «        }|                       ¦   «         }|f|_        |                      |j        d¦  «         d S )Nc                   ó   — e Zd ZdS )úQBaseAdapterRegistryTests.test__generation_after_changing___bases__.<locals>._BaseNr	   r   r   r   Ú_Baser¤   ¹   ó   € € € € € ØˆDr   r¥   r    )rƒ   Ú	__bases__rš   r›   )r3   r¥   r•   s      r   Ú)test__generation_after_changing___bases__zBBaseAdapterRegistryTests.test__generation_after_changing___bases__¸   s`   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	à—=’=‘?”?ˆØ#˜XˆÔØ×Ò˜Ô-¨qÑ1Ô1Ð1Ð1Ð1r   r    c                 ó  — |                       t          |j        ¦  «        |¦  «         |                      |j        |                      ¦   «         ¦  «         |                      ¦   «         }|j        D ]}|                      ||¦  «         Œ|                       |j        d          |¦   «         ¦  «         |                      |j        d         |¦  «         |                       t          |j        |dz
           ¦  «        d¦  «         d S ©Nr   r™   )rš   r<   Ú	_adaptersÚassertIsInstancer�   r‡   ©r3   r•   Úexpected_orderÚMTÚmappings        r   Ú_check_basic_types_of_adaptersz7BaseAdapterRegistryTests._check_basic_types_of_adapters¿   s   € Ø×ÒÝ�Ô"Ñ#Ô# ^ñ	
ô 	
ð 	
ð 	×Ò˜hÔ0°$×2JÒ2JÑ2LÔ2LÑMÔMÐMØ×!Ò!Ñ#Ô#ˆØÔ)ð 	/ð 	/ˆGØ×!Ò! '¨2Ñ.Ô.Ð.Ð.Ø×Ò˜Ô+¨AÔ.°°±´Ñ5Ô5Ð5Ø×Ò˜hÔ0°Ô3°RÑ8Ô8Ð8Ø×Ò�˜XÔ/°ÀÑ0BÔCÑDÔDÀaÑHÔHÐHÐHÐHr   c                 ó  — |                       t          |j        ¦  «        |¦  «         |                      |j        |                      ¦   «         ¦  «         |                      ¦   «         }|j        D ]}|                      ||¦  «         Œ|r}|                       |j        d          |¦   «         ¦  «         |                      |j        d         |¦  «         |                       t          |j        |dz
           ¦  «        d¦  «         d S d S rª   )rš   r<   Ú_subscribersr¬   r�   r‡   r­   s        r   Ú!_check_basic_types_of_subscribersz:BaseAdapterRegistryTests._check_basic_types_of_subscribersË   s  € Ø×ÒÝ�Ô%Ñ&Ô&¨ñ	
ô 	
ð 	
ð 	×ÒØÔ! 4×#;Ò#;Ñ#=Ô#=ñ	
ô 	
ð 	
ð ×!Ò!Ñ#Ô#ˆØÔ,ð 	/ð 	/ˆGØ×!Ò! '¨2Ñ.Ô.Ð.Ð.Øð 	PØ×Ò˜XÔ2°1Ô5°r°r±t´tÑ<Ô<Ð<Ø×!Ò! (Ô"7¸Ô":¸BÑ?Ô?Ð?Ø×Ò�S Ô!6°~ÈÑ7IÔ!JÑKÔKÈQÑOÔOÐOÐOÐOð	Pð 	Pr   c                 óâ  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |g|dd¦  «         |                      |
                     |g|d¦  «        d¦  «         |                      |
j        d¦  «         |                      |
¦  «         |                      ¦   «         }|                      |
j        d          || || |ddi¦  «        i¦  «        i¦  «        ¦  «         |  	                    ¦   «         }|                      |
j
         ||di¦  «        ¦  «         t          |
                     ¦   «         ¦  «        }|                      ||f|ddfg¦  «         d S )NÚ ÚA1r    r™   )r+   rƒ   Úregisterrš   Ú
registeredr›   r±   r‡   r«   rŠ   Ú	_providedrŒ   ÚallRegistrations)r3   r   r   r   r   r   r    r#   r&   r)   r•   r¯   ÚPTr¹   s                 r   Útest_registerz&BaseAdapterRegistryTests.test_registerÚ   s±  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜3˜%  b¨$Ñ/Ô/Ð/Ø×Ò˜×,Ò,¨c¨U°C¸Ñ<Ô<¸dÑCÔCÐCØ×Ò˜Ô-¨qÑ1Ô1Ð1Ø×+Ò+¨HÑ5Ô5Ð5Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ô+¨AÔ.°°Ø��Ø�R�R˜˜T˜
‘^”^ðñ ô ð4
ñ 1ô 1ñ 	ô 	ð 	ð
 ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô+¨R¨RØ�ð1
ñ .ô .ñ 	ô 	ð 	õ ˜(×3Ò3Ñ5Ô5Ñ6Ô6ˆ
Ø×Ò˜ØˆFØØØð	'
ð &ñ 	ô 	ð 	ð 	ð 	r   c                 ó¶  ‡
‡‡‡‡‡— t          ¦   «         \	  Š
ŠŠŠ}}}ŠŠ|                      ¦   «         }|                     g ‰dd¦  «         |                     g ‰dd¦  «         |                     ‰
g‰dd¦  «         |                     ‰
g‰dd¦  «         |                     ‰
g‰dd¦  «         |                     ‰
g‰dd¦  «         |                     ‰
‰g‰dd¦  «         |                     ‰
‰g‰dd¦  «         |                     ‰
‰g‰d	d¦  «         |                     ‰
‰g‰dd¦  «         ˆ
ˆˆˆˆˆfd
„}|                      |j         ||                      ¦   «         |                      ¦   «         ¬¦  «        ¦  «         t          |                     ¦   «         ¦  «        }|                      |d‰ddfd‰ddf‰
f‰ddf‰
f‰ddf‰
f‰ddf‰
f‰ddf‰
‰f‰ddf‰
‰f‰ddf‰
‰f‰d	df‰
‰f‰ddfg
¦  «         |                      ¦   «         }|D ]} |j        |Ž  Œ|                      |j        |j        ¦  «         |                      |j	        |j	        ¦  «         t          |_        t          |_        t          |_        t           |_        d„ }	|	|_        |                     ¦   «          |                      |j         |t          t          ¬¦  «        ¦  «         d S )Nr¶   r·   Úname1ÚA2Úname2ÚA3Úname3ÚA4Úname4c                 ó€  •—  |  |‰ |dddœ¦  «        i¦  «         |‰ |‰ |dddœ¦  «        ‰ |dddœ¦  «        i¦  «        i¦  «         |‰ |‰ |‰ |ddi¦  «        i¦  «        ‰ |‰ |d	di¦  «        ‰ |d
di¦  «        i¦  «        ‰ |‰ |ddi¦  «        i¦  «        i¦  «        i¦  «        g¦  «        S )Nr·   rÀ   )r¶   r¿   )r¶   rÁ   rÂ   rÄ   )r¶   rÃ   r¶   rÁ   rÅ   r   )ÚLr¯   r   r   r   r   r&   r)   s     €€€€€€r   Úbuild_adapterszXBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.build_adapters	  s{  ø€ Ø�1à�Ø˜˜Ø Ø!%ðð ñ ô ðñ ô ð �Ø˜˜Ø˜R˜RØ $Ø%)ð!ð !ñ ô ð ˜R˜RØ $Ø%)ð!ð !ñ ô ð	ñ 	ô 	ðñ ô ð �Ø˜˜Ø˜R˜RØ   R¨ J¡¤ð!ñ ô ð ˜R˜RØ   W¨d OÑ!4Ô!4Ø   W¨d OÑ!4Ô!4ð!ñ ô ð ˜R˜RØ   R¨ J¡¤ð!ñ ô ðñ ô ðñ ô ð-$ñ $ô $ð $r   )rÇ   r¯   r   c                 óT   — | �| nt          ¦   «         } |                      |¦  «         | S r/   ©rW   rU   ©ÚexistingÚnews     r   ÚaddValuezRBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.addValueP  ó3   € à$Ð0��Õ6HÑ6JÔ6Jð ð �OŠO˜CÑ Ô Ð ØˆOr   )r+   rƒ   r¸   rš   r«   r�   r‡   Úsortedr»   rº   rJ   Ú_mappingTyperW   Ú_leafSequenceTyperR   Ú_sequenceTyperZ   Ú_providedTypeÚ_addValueToLeafÚrebuild)r3   r   r    r#   r•   rÈ   r¹   Ú	registry2ÚargsrÎ   r   r   r   r   r&   r)   s             @@@@@@r   Ú'test_register_multiple_allRegistrationsz@BaseAdapterRegistryTests.test_register_multiple_allRegistrationsö   sž  øøøøøø€ õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆà×Ò˜"˜c 2 tÑ,Ô,Ð,Ø×Ò˜"˜c 7¨DÑ1Ô1Ð1à×Ò˜3˜%  b¨$Ñ/Ô/Ð/Ø×Ò˜3˜%  g¨tÑ4Ô4Ð4Ø×Ò˜3˜%  b¨$Ñ/Ô/Ð/Ø×Ò˜3˜%  g¨tÑ4Ô4Ð4à×Ò˜3 ˜* c¨2¨tÑ4Ô4Ð4Ø×Ò˜3 ˜* c¨7°DÑ9Ô9Ð9Ø×Ò˜3 ˜* c¨7°DÑ9Ô9Ð9Ø×Ò˜3 ˜* c¨2¨tÑ4Ô4Ð4ð%	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ð %	ðN 	×Ò˜Ô+Ø'˜¨$×*BÒ*BÑ*DÔ*DØ+/×+?Ò+?Ñ+AÔ+AðCñ Cô Cñ	Dô 	Dð 	Dõ ˜H×5Ò5Ñ7Ô7Ñ8Ô8ˆ
Ø×Ò˜Ø��b˜$ÐØ��g˜tÐ$ØˆV�S˜"˜dÐ#ØˆV�S˜' 4Ð(ØˆV�S˜"˜dÐ#ØˆV�S˜' 4Ð(Ø�3ˆZ˜˜b $Ð'Ø�3ˆZ˜˜g tÐ,Ø�3ˆZ˜˜g tÐ,Ø�3ˆZ˜˜b $Ð'ð&
ñ 	ô 	ð 	ð —M’M‘O”Oˆ	Øð 	&ð 	&ˆDØˆIÔ Ð%Ð%Ð%à×Ò˜Ô,¨hÔ.@ÑAÔAÐAØ×Ò˜Ô,¨hÔ.@ÑAÔAÐAõ !.ˆÔÝ%7ˆÔ"Ý!/ˆÔÝ!/ˆÔð	ð 	ð 	ð $,ˆÔ à×ÒÑÔÐà×Ò˜Ô+Ø'˜Ý-Ý -ðñ ô ñ	ô 	ð 	ð 	ð 	r   c           	      ó  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|                      t          ¦  «        5  |
                     |g|t          ¦   «         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr·   )r+   rƒ   ÚassertRaisesÚ
ValueErrorr¸   r   ©r3   r   r   r   r   r   r    r#   r&   r)   r•   s              r   Útest_register_with_invalid_namez8BaseAdapterRegistryTests.test_register_with_invalid_namea  sÊ   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò�zÑ*Ô*ð 	:ð 	:Ø×Ò˜s˜e S­&©(¬(°DÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   Á&A:Á:A>ÂA>c           	      óÚ  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     d g|dd¦  «         |
                     d g|dd ¦  «         |                      t	          |
j        ¦  «        d¦  «         |                      |
j        |                      ¦   «         ¦  «         t          |
 	                    ¦   «         ¦  «        }|                      |g ¦  «         d S )Nr¶   r·   r   )
r+   rƒ   r¸   rš   r<   r«   r¬   r�   rŒ   r»   )r3   r   r   r   r   r   r    r#   r&   r)   r•   r¹   s               r   Ú)test_register_with_value_None_unregisterszBBaseAdapterRegistryTests.test_register_with_value_None_unregistersi  så   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜4˜& # r¨4Ñ0Ô0Ð0Ø×Ò˜4˜& # r¨4Ñ0Ô0Ð0Ø×Ò�˜XÔ/Ñ0Ô0°!Ñ4Ô4Ð4Ø×Ò˜hÔ0°$×2JÒ2JÑ2LÔ2LÑMÔMÐMÝ˜(×3Ò3Ñ5Ô5Ñ6Ô6ˆ
Ø×Ò˜ RÑ(Ô(Ð(Ð(Ð(r   c                 ó~  — ddl m} t          ¦   «         \	  }}}}}}}}	}
|                      ¦   «         }t	          ¦   «         }|                     d g|	d|¦  «         |j        }|                     d g|	d|¦  «         |                      |j        |¦  «         |                      |¦  «         |  	                    ¦   «         }|                      |j
        d          || ||	 |d|i¦  «        i¦  «        i¦  «        ¦  «         t          |                     ¦   «         ¦  «        }|                      ||f|	d|fg¦  «         d S )Nr   r   r¶   r™   )r*   r   r+   rƒ   r   r¸   r›   rš   r±   r‡   r«   rŒ   r»   )r3   r   r   r   r   r   r   r    r#   r&   r)   r•   Ú_valueÚ_beforer¯   r¹   s                   r   Útest_register_with_same_valuez6BaseAdapterRegistryTests.test_register_with_same_valueu  s€  € Ø,Ð,Ð,Ð,Ð,Ð,õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‘”ˆØ×Ò˜4˜& # r¨6Ñ2Ô2Ð2ØÔ&ˆØ×Ò˜4˜& # r¨6Ñ2Ô2Ð2Ø×Ò˜Ô-¨wÑ7Ô7Ð7Ø×+Ò+¨HÑ5Ô5Ð5Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ô+¨AÔ.°°à˜2˜2à˜R˜R  V Ñ-Ô-ðñô ðñ1
ô 1
ñ 	ô 	ð 	õ ˜(×3Ò3Ñ5Ô5Ñ6Ô6ˆ
Ø×Ò˜ØˆLØØØð	'
ð &ñ 	ô 	ð 	ð 	ð 	r   c                 óô   — |                       ¦   «         }|                      |                     d gd d¦  «        d ¦  «         t          |                     ¦   «         ¦  «        }|                      |g ¦  «         d S ©Nr¶   )rƒ   rš   r¹   rŒ   r»   )r3   r•   r¹   s      r   Útest_registered_emptyz.BaseAdapterRegistryTests.test_registered_empty“  sn   € Ø—=’=‘?”?ˆØ×Ò˜×,Ò,¨d¨V°T¸2Ñ>Ô>ÀÑEÔEÐEÝ˜(×3Ò3Ñ5Ô5Ñ6Ô6ˆ
Ø×Ò˜ RÑ(Ô(Ð(Ð(Ð(r   c           	      óè   — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |gd dd¦  «         |                      |
                     |gd d¦  «        d ¦  «         d S ©Nr¶   r·   )r+   rƒ   r¸   rš   r¹   rÞ   s              r   Útest_registered_non_empty_missz7BaseAdapterRegistryTests.test_registered_non_empty_miss™  s~   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜3˜%  r¨4Ñ0Ô0Ð0Ø×Ò˜×,Ò,¨c¨U°D¸"Ñ=Ô=¸tÑDÔDÐDÐDÐDr   c                 ó¸   — |                       ¦   «         }|                     d gd dd¦  «         |                      |                     d gd d¦  «        d¦  «         d S rê   )rƒ   r¸   rš   r¹   rœ   s     r   Útest_registered_non_empty_hitz6BaseAdapterRegistryTests.test_registered_non_empty_hit¡  s[   € Ø—=’=‘?”?ˆØ×Ò˜4˜& $¨¨DÑ1Ô1Ð1Ø×Ò˜×,Ò,¨d¨V°T¸2Ñ>Ô>ÀÑEÔEÐEÐEÐEr   c                 ó  — |                       ¦   «         }|                     d gd d¦  «         |                      |                     d gd d¦  «        d ¦  «         |                      t	          |j        ¦  «        d¦  «         d S )Nr¶   r   )rƒ   Ú
unregisterrš   r¹   r<   rº   rœ   s     r   Útest_unregister_emptyz.BaseAdapterRegistryTests.test_unregister_empty¦  sz   € Ø—=’=‘?”?ˆØ×Ò˜T˜F D¨"Ñ-Ô-Ð-Ø×Ò˜×,Ò,¨d¨V°T¸2Ñ>Ô>ÀÑEÔEÐEØ×Ò�˜XÔ/Ñ0Ô0°!Ñ4Ô4Ð4Ð4Ð4r   c                 ób  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |gd dd¦  «         |
                     |gd d¦  «         |                      |
                     |gd d¦  «        d¦  «         |                      |
¦  «         |                      ¦   «         }|                      |
j        d          || |d  |ddi¦  «        i¦  «        i¦  «        ¦  «         |  	                    ¦   «         }|                      |
j
         |d di¦  «        ¦  «         d S )Nr¶   r·   r™   ©r+   rƒ   r¸   rï   rš   r¹   r±   r‡   r«   rŠ   rº   ©r3   r   r   r   r   r   r    r#   r&   r)   r•   r¯   r¼   s                r   Ú*test_unregister_non_empty_miss_on_requiredzCBaseAdapterRegistryTests.test_unregister_non_empty_miss_on_required¬  se  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜3˜%  r¨4Ñ0Ô0Ð0Ø×Ò˜S˜E 4¨Ñ,Ô,Ð,Ø×Ò˜×,Ò,¨c¨U°D¸"Ñ=Ô=¸tÑDÔDÐDØ×+Ò+¨HÑ5Ô5Ð5Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ô+¨AÔ.°°à�R�Rà˜b˜b " d ™nœnðñô ðñ1
ô 1
ñ 	ô 	ð 	ð ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô+¨R¨RØ�!ð1
ñ .ô .ñ 	ô 	ð 	ð 	ð 	r   c                 ób  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |gd dd¦  «         |
                     |gd d¦  «         |                      |
                     |gd d¦  «        d¦  «         |                      |
¦  «         |                      ¦   «         }|                      |
j        d          || |d  |ddi¦  «        i¦  «        i¦  «        ¦  «         |  	                    ¦   «         }|                      |
j
         |d di¦  «        ¦  «         d S )Nr¶   r·   Únonesuchr™   rò   ró   s                r   Ú&test_unregister_non_empty_miss_on_namez?BaseAdapterRegistryTests.test_unregister_non_empty_miss_on_nameÄ  se  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜3˜%  r¨4Ñ0Ô0Ð0Ø×Ò˜S˜E 4¨Ñ4Ô4Ð4Ø×Ò˜×,Ò,¨c¨U°D¸"Ñ=Ô=¸tÑDÔDÐDØ×+Ò+¨HÑ5Ô5Ð5Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ô+¨AÔ.°°à�R�Rà˜b˜b " d ™nœnðñô ðñ1
ô 1
ñ 	ô 	ð 	ð ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô+¨R¨RØ�!ð1
ñ .ô .ñ 	ô 	ð 	ð 	ð 	r   c           	      óR  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }|
                     |gd d|¦  «         |
                     |gd d|¦  «         |                      |
                     |gd d¦  «        |¦  «         d S rç   )r+   rƒ   r   r¸   rï   r‘   r¹   ©r3   r   r   r   r   r   r    r#   r&   r)   r•   rm   Únomatchs                r   Ú(test_unregister_with_value_not_None_misszABaseAdapterRegistryTests.test_unregister_with_value_not_None_missÜ  sª   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‰xŒxˆÝ‘(”(ˆØ×Ò˜3˜%  r¨4Ñ0Ô0Ð0Ø×Ò˜S˜E 4¨¨WÑ5Ô5Ð5Ø�Š�h×)Ò)¨3¨%°°rÑ:Ô:¸DÑAÔAÐAÐAÐAr   c                 óä  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }|
                     ||gd d|¦  «         |
                     ||gd d|¦  «         |                      |
d¬¦  «         |                      ||
j        d         |         ¦  «         |                      ||
j        d         |         ¦  «         |                      ¦   «         }|                      |
j        d          || || |d  |d|i¦  «        i¦  «        | |d  |d|i¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |  	                    ¦   «         }|                      |
j
         |d di¦  «        ¦  «         |
                     ||gd d|¦  «         |                      ||
j        d         |         ¦  «         |                      ||
j        d         |         ¦  «         |                      |
j        d          || || |d  |d|i¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j
         |d di¦  «        ¦  «         d S )Nr¶   é   ©r®   r    r™   )r+   rƒ   r   r¸   r±   ÚassertInr«   r‡   rš   rŠ   rº   rï   ÚassertNotIn)r3   r   r   r   r   r   r    r#   r&   r)   r•   ÚoneÚanotherr¯   r¼   s                  r   Ú.test_unregister_hit_clears_empty_subcomponentszGBaseAdapterRegistryTests.test_unregister_hit_clears_empty_subcomponentsç  sÑ  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‰hŒhˆÝ‘(”(ˆØ×Ò˜3 ˜* d¨B°Ñ4Ô4Ð4Ø×Ò˜3 ˜* d¨B°Ñ8Ô8Ð8Ø×+Ò+¨HÀQÐ+ÑGÔGÐGØ�Š�c˜8Ô-¨aÔ0°Ô5Ñ6Ô6Ð6Ø�Š�c˜8Ô-¨aÔ0°Ô5Ñ6Ô6Ð6Ø×!Ò!Ñ#Ô#ˆØ×Ò˜Ô+¨AÔ.°°à�R�Rà˜R˜R  r r¨2¨s¨)¡}¤}Ð 5Ñ6Ô6Ø˜R˜R  r r¨2¨w¨-Ñ'8Ô'8Ð 9Ñ:Ô:ðñô ðñ	1
ô 	1
ñ 		ô 		ð 		ð ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô+¨R¨RØ�!ð1
ñ .ô .ñ 	ô 	ð 	ð 	×Ò˜S #˜J¨¨b°'Ñ:Ô:Ð:Ø�Š�c˜8Ô-¨aÔ0°Ô5Ñ6Ô6Ð6Ø×Ò˜˜hÔ0°Ô3°CÔ8Ñ9Ô9Ð9Ø×Ò˜Ô+¨AÔ.°°à�R�Rà˜R˜R  r r¨2¨s¨)¡}¤}Ð 5Ñ6Ô6ðñô ðñ1
ô 1
ñ 	ô 	ð 	ð 	×Ò˜Ô+¨R¨RØ�!ð1
ñ .ô .ñ 	ô 	ð 	ð 	ð 	r   c                 óä   — |                       ¦   «         }|                     d gd d¦  «         |                      |                     d gd d¦  «        d ¦  «         |                      |d¬¦  «         d S )Nr¶   r   rþ   )rƒ   Úunsubscriberš   r¹   r´   rœ   s     r   Útest_unsubscribe_emptyz/BaseAdapterRegistryTests.test_unsubscribe_empty  sr   € Ø—=’=‘?”?ˆØ×Ò˜d˜V T¨2Ñ.Ô.Ð.Ø×Ò˜×,Ò,¨d¨V°T¸2Ñ>Ô>ÀÑEÔEÐEØ×.Ò.¨xÈÐ.ÑJÔJÐJÐJÐJr   c                 óô  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }|
                     |gd |¦  «         |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |
¦  «         |                      |
j	        d          || |d  |d ||f¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j
         |i ¦  «        ¦  «         |
                     |gd |¦  «         |                      t          |
j	        ¦  «        d¦  «         |                      |
j
         |i ¦  «        ¦  «         d S )Nr™   r¶   r   )r+   rƒ   r   Ú	subscriber‡   r�   rŠ   r´   rš   r³   rº   r  r<   )r3   r   r   r   r   r   r    r#   r&   r)   r•   rm   r¯   rÇ   r¼   s                  r   Útest_unsubscribe_hitz-BaseAdapterRegistryTests.test_unsubscribe_hit  s‘  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‰xŒxˆØ×Ò˜C˜5 $¨Ñ-Ô-Ð-Ø×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×"Ò"Ñ$Ô$ˆØ×.Ò.¨xÑ8Ô8Ð8Ø×Ò˜Ô.¨qÔ1°2°2Ø��Ø�b�bØ˜˜˜4˜'™
œ
ðñ ô ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð 	×Ò˜Ô+¨R¨R°©V¬VÑ4Ô4Ð4Ø×Ò˜c˜U D¨$Ñ/Ô/Ð/Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò˜Ô+¨R¨R°©V¬VÑ4Ô4Ð4Ð4Ð4r   c                 ó2   — |                       ||¦  «         dS )a¦  
        Implementations may choose to use new, immutable objects
        instead of mutating existing subscriber leaf objects, or vice versa.

        The default implementation uses immutable tuples, so they are never
        the same. Other implementations may use persistent lists so they
        should be the same and mutated in place. Subclasses testing this
        behaviour need to override this method.
        N)ÚassertIsNot©r3   Úleaf1Úleaf2s      r   ÚassertLeafIdentityz+BaseAdapterRegistryTests.assertLeafIdentity0  s    € ð 	×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ó  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }t          ¦   «         }t          ¦   «         }|
                     |gd |¦  «         |
                     |gd |¦  «         |
                     |g||¦  «         |
                     |g||¦  «         |                      |
d¬¦  «         |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |
j	        d          || |d  |d |||f¦  «        i¦  «        | |d |||f¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j
         ||di¦  «        ¦  «         |
j	        d         |         |         d         }|
j	        d         |         d          d         }|
                     |gd |¦  «         |
                     |g||¦  «         |                      |
j	        d          || |d  |d ||f¦  «        i¦  «        | |d ||f¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j
         ||di¦  «        ¦  «         |
j	        d         |         |         d         }|
j	        d         |         d          d         }|                      ||¦  «         |                      ||¦  «         |
                     |gd |¦  «         |
                     |g||¦  «         |                      t          |
j	        ¦  «        d¦  «         |                      t          |
j
        ¦  «        d¦  «         d S )Nr    rþ   r™   r¶   r   )r+   rƒ   r   r  r´   r‡   r�   rŠ   rš   r³   rº   r  r  r<   )r3   r   r   r   r   r   r    r#   r&   r)   r•   ÚfirstÚsecondÚthirdÚfourthr¯   rÇ   r¼   ÚIR0_leaf_origÚNon_leaf_origÚIR0_leaf_newÚNon_leaf_news                         r   Útest_unsubscribe_after_multiplez8BaseAdapterRegistryTests.test_unsubscribe_after_multiple<  sÞ  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‘”ˆÝ‘”ˆÝ‘”ˆÝ‘”ˆØ×Ò˜C˜5 $¨Ñ.Ô.Ð.Ø×Ò˜C˜5 $¨Ñ/Ô/Ð/Ø×Ò˜C˜5 # uÑ-Ô-Ð-Ø×Ò˜C˜5 # vÑ.Ô.Ð.Ø×.Ò.¨xÈÐ.ÑJÔJÐJØ×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô.¨qÔ1°2°2Ø��Ø�b�b˜"˜a˜a ¨ Ñ0Ô0Ð1Ñ2Ô2Ø�R�R˜˜Q˜Q  v˜Ñ/Ô/Ð0Ñ1Ô1ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð 	×Ò˜Ô+¨R¨RØ�ð1
ñ .ô .ñ 	ô 	ð 	ð
 !Ô-¨aÔ0°Ô5°cÔ:¸2Ô>ˆØ Ô-¨aÔ0°Ô5°dÔ;¸BÔ?ˆà×Ò˜c˜U D¨%Ñ0Ô0Ð0Ø×Ò˜c˜U C¨Ñ/Ô/Ð/à×Ò˜Ô.¨qÔ1°2°2Ø��Ø�b�b˜"˜a˜a  	™lœlÐ+Ñ,Ô,Ø�R�R˜˜Q˜Q ˜y™\œ\Ð*Ñ+Ô+ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð 	×Ò˜Ô+¨R¨RØ�ð1
ñ .ô .ñ 	ô 	ð 	ð  Ô,¨QÔ/°Ô4°SÔ9¸"Ô=ˆØÔ,¨QÔ/°Ô4°TÔ:¸2Ô>ˆà×Ò ¨|Ñ<Ô<Ð<Ø×Ò ¨|Ñ<Ô<Ð<à×Ò˜c˜U D¨&Ñ1Ô1Ð1Ø×Ò˜c˜U C¨Ñ0Ô0Ð0Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò�˜XÔ/Ñ0Ô0°!Ñ4Ô4Ð4Ð4Ð4r   c                 ó.  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }|
                     |g||¦  «         |
                     |g||¦  «         |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |
j        d          || || |d |||f¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j	         ||di¦  «        ¦  «         |
 
                    |g||¦  «         |
 
                    |g||¦  «         |                      t          |
j        ¦  «        d¦  «         |                      |
j	         |¦   «         ¦  «         d S ©Nr™   r¶   r    r   ©r+   rƒ   r   r  r‡   r�   rŠ   rš   r³   rº   r  r<   )r3   r   r   r   r   r   r    r#   r&   r)   r•   r  r¯   rÇ   r¼   s                  r   Ú5test_subscribe_unsubscribe_identical_objects_providedzNBaseAdapterRegistryTests.test_subscribe_unsubscribe_identical_objects_providedr  sÂ  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‘”ˆØ×Ò˜C˜5 # uÑ-Ô-Ð-Ø×Ò˜C˜5 # uÑ-Ô-Ð-à×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô.¨qÔ1°2°2Ø��Ø�R�R˜˜Q˜Q  u˜~Ñ.Ô.Ð/Ñ0Ô0ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð
 	×Ò˜Ô+¨R¨RØ�ð1
ñ .ô .ñ 	ô 	ð 	ð 	×Ò˜c˜U C¨Ñ/Ô/Ð/Ø×Ò˜c˜U C¨Ñ/Ô/Ð/Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò˜Ô+¨R¨R©T¬TÑ2Ô2Ð2Ð2Ð2r   c                 óJ  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }|
                     |g||¦  «         |
                     |g||¦  «         |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |
j        d          || || |d |||f¦  «        i¦  «        i¦  «        i¦  «        ¦  «         |                      |
j	         ||di¦  «        ¦  «         |
 
                    |g||¦  «         |
 
                    |g||¦  «         |                      t          |
j        ¦  «        d¦  «         |                      |
j	         |¦   «         ¦  «         d S r  r  )r3   r   r   r   r   r   r    r#   r&   r)   r•   r  r  r¯   rÇ   r¼   s                   r   Ú4test_subscribe_unsubscribe_nonequal_objects_providedzMBaseAdapterRegistryTests.test_subscribe_unsubscribe_nonequal_objects_provided�  sË  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‘”ˆÝ‘”ˆØ×Ò˜C˜5 # uÑ-Ô-Ð-Ø×Ò˜C˜5 # vÑ.Ô.Ð.à×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×"Ò"Ñ$Ô$ˆØ×Ò˜Ô.¨qÔ1°2°2Ø��Ø�R�R˜˜Q˜Q  v˜Ñ/Ô/Ð0Ñ1Ô1ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð
 	×Ò˜Ô+¨R¨RØ�ð1
ñ .ô .ñ 	ô 	ð 	ð 	×Ò˜c˜U C¨Ñ/Ô/Ð/Ø×Ò˜c˜U C¨Ñ0Ô0Ð0Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò˜Ô+¨R¨R©T¬TÑ2Ô2Ð2Ð2Ð2r   c                 óò   — |                       ¦   «         }|                      |                     d gd d¦  «        ¦  «         t          |                     ¦   «         ¦  «        }|                      |g ¦  «         d S rç   )rƒ   ÚassertIsNoneÚ
subscribedrŒ   ÚallSubscriptionsrš   )r3   r•   r"  s      r   Útest_subscribed_emptyz.BaseAdapterRegistryTests.test_subscribed_empty©  sl   € Ø—=’=‘?”?ˆØ×Ò˜(×-Ò-¨t¨f°d¸BÑ?Ô?Ñ@Ô@Ð@Ý˜(×3Ò3Ñ5Ô5Ñ6Ô6ˆ
Ø×Ò˜ RÑ(Ô(Ð(Ð(Ð(r   c           	      ó�  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |g|d¦  «         |                      |
                     |g|d¦  «        ¦  «         |                      |
                     |g|d¦  «        ¦  «         |                      |
                     |g|d¦  «        ¦  «         d S )Nr·   r¶   )r+   rƒ   r  r!  r"  rÞ   s              r   Útest_subscribed_non_empty_missz7BaseAdapterRegistryTests.test_subscribed_non_empty_miss¯  sÊ   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜C˜5 # tÑ,Ô,Ð,à×Ò˜(×-Ò-¨s¨e°S¸"Ñ=Ô=Ñ>Ô>Ð>à×Ò˜(×-Ò-¨s¨e°S¸"Ñ=Ô=Ñ>Ô>Ð>à×Ò˜(×-Ò-¨s¨e°S¸"Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r   c           	      óæ   — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |g|d¦  «         |                      |
                     |g|d¦  «        d¦  «         d S rÛ   )r+   rƒ   r  rš   r"  rÞ   s              r   Útest_subscribed_non_empty_hitz6BaseAdapterRegistryTests.test_subscribed_non_empty_hit¼  s|   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜C˜5 # tÑ,Ô,Ð,Ø×Ò˜×,Ò,¨c¨U°C¸Ñ>Ô>ÀÑEÔEÐEÐEÐEr   c           	      ó¢  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }|
                     |gd |¦  «         |
                     |gd |¦  «         |                      |
d¬¦  «         |
                     |gd ¦  «         |                      t          |
j        ¦  «        d¦  «         d S )Nr    rþ   r   )	r+   rƒ   r   r  r´   r  rš   r<   r³   )r3   r   r   r   r   r   r    r#   r&   r)   r•   r  r  s                r   Ú&test_unsubscribe_w_None_after_multiplez?BaseAdapterRegistryTests.test_unsubscribe_w_None_after_multipleÄ  sÐ   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‘”ˆÝ‘”ˆà×Ò˜C˜5 $¨Ñ.Ô.Ð.Ø×Ò˜C˜5 $¨Ñ/Ô/Ð/Ø×.Ò.¨xÈÐ.ÑJÔJÐJØ×Ò˜c˜U DÑ)Ô)Ð)Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r   c                 ó"  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |gd d¦  «         |                      |
d¬¦  «         |
                     |gd d¦  «         |                      t          |
j        ¦  «        d¦  «         |                      ¦   «         }|  	                    ¦   «         }|                      |
j        d          || |d  |d |d¦  «        i¦  «        i¦  «        i¦  «        ¦  «         d S )Nr·   r    rþ   r¶   r™   ©r·   ©
r+   rƒ   r  r´   r  rš   r<   r³   r‡   r�   ©r3   r   r   r   r   r   r    r#   r&   r)   r•   r¯   rÇ   s                r   Ú+test_unsubscribe_non_empty_miss_on_requiredzDBaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_requiredÒ  s3  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜C˜5 $¨Ñ-Ô-Ð-Ø×.Ò.¨xÈÐ.ÑJÔJÐJØ×Ò˜c˜U D¨"Ñ-Ô-Ð-Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×Ò˜Ô.¨qÔ1°2°2Ø��Ø�b�b˜"˜a˜a ™jœjÐ)Ñ*Ô*ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð 	ð 	r   c                 ó"  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|
                     |gd d¦  «         |                      |
d¬¦  «         |
                     |gd d¦  «         |                      t          |
j        ¦  «        d¦  «         |                      ¦   «         }|  	                    ¦   «         }|                      |
j        d          || |d  |d |d¦  «        i¦  «        i¦  «        i¦  «        ¦  «         d S )Nr·   r    rþ   rÀ   r™   r¶   r,  r-  r.  s                r   Ú(test_unsubscribe_non_empty_miss_on_valuezABaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_valueã  s3  € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò˜C˜5 $¨Ñ-Ô-Ð-Ø×.Ò.¨xÈÐ.ÑJÔJÐJØ×Ò˜c˜U D¨$Ñ/Ô/Ð/Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×!Ò!Ñ#Ô#ˆØ×%Ò%Ñ'Ô'ˆØ×Ò˜Ô.¨qÔ1°2°2Ø��Ø�b�b˜"˜a˜a ™jœjÐ)Ñ*Ô*ðñ ô ð7
ñ 4ô 4ñ 	ô 	ð 	ð 	ð 	r   c           	      óF  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
t          ¦   «         }t          ¦   «         }|
                     |gd |¦  «         |
                     |gd |¦  «         |                      t          |
j        ¦  «        d¦  «         d S rŸ   )r+   rƒ   r   r  r  rš   r<   r³   rù   s                r   Ú)test_unsubscribe_with_value_not_None_misszBBaseAdapterRegistryTests.test_unsubscribe_with_value_not_None_missô  sŸ   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆÝ‰xŒxˆÝ‘(”(ˆØ×Ò˜C˜5 $¨Ñ-Ô-Ð-Ø×Ò˜c˜U D¨'Ñ2Ô2Ð2Ø×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r   c                 ó0   — |                       d¦  «         d S )Nz*Example method, not intended to be called.©Úfailr=   s    r   Ú_instance_method_notify_targetz7BaseAdapterRegistryTests._instance_method_notify_targetÿ  s   € Ø�	Š	Ð>Ñ?Ô?Ð?Ð?Ð?r   c           	      ór  — t          ¦   «         \	  }}}}}}}}}	|                      ¦   «         }
|                      t          |
j        ¦  «        d¦  «         |
                     |gd | j        ¦  «         |
                     |gd | j        ¦  «         |                      t          |
j        ¦  «        d¦  «         d S ©Nr   )r+   rƒ   rš   r<   r³   r  r7  r  rÞ   s              r   Ú test_unsubscribe_instance_methodz9BaseAdapterRegistryTests.test_unsubscribe_instance_method  s´   € õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆØ×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò˜C˜5 $¨Ô(KÑLÔLÐLØ×Ò˜c˜U D¨$Ô*MÑNÔNÐNØ×Ò�˜XÔ2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r   c                 ó:  ‡‡‡‡‡‡— t          ¦   «         \	  ŠŠŠŠ}}}ŠŠ|                      ¦   «         }|                     g ‰d¦  «         |                     g ‰d¦  «         |                     ‰g‰d¦  «         |                     ‰g‰d¦  «         |                     ‰g‰d¦  «         |                     ‰g‰d¦  «         |                     ‰‰g‰d¦  «         |                     ‰‰g‰d¦  «         |                     ‰‰g‰d¦  «         |                     ‰‰g‰d¦  «         ˆˆˆˆˆˆfd„}|                      |j         ||                      ¦   «         |                      ¦   «         |                      ¦   «         ¬¦  «        ¦  «         ˆˆfd„}|                      |j         ||  	                    ¦   «         ¬¦  «        ¦  «         t          |                     ¦   «         ¦  «        }|                      |d	‰dfd	‰df‰f‰df‰f‰df‰f‰df‰f‰df‰‰f‰df‰‰f‰df‰‰f‰df‰‰f‰dfg
¦  «         |                      ¦   «         }|D ]}	 |j        |	Ž  Œ|                      |j        |j        ¦  «         |                      |j        |j        ¦  «         t          |_        t          |_        t           |_        t$          |_        d
„ }
|
|_        |                     ¦   «          |                      |j         |t           t          t          ¬¦  «        ¦  «         d S )Nr·   rÀ   rÂ   rÄ   c                 ó  •—  |  |‰ |d |ddg¦  «        i¦  «        i¦  «         |‰ |‰ |d |ddg¦  «        i¦  «        ‰ |d |ddg¦  «        i¦  «        i¦  «        i¦  «         |‰ |‰ |‰ |d |dg¦  «        i¦  «        i¦  «        ‰ |‰ |d |dg¦  «        i¦  «        ‰ |d |dg¦  «        i¦  «        i¦  «        ‰ |‰ |d |dg¦  «        i¦  «        i¦  «        i¦  «        i¦  «        g¦  «        S )Nr¶   r·   rÀ   rÂ   rÄ   r   )	rÇ   ÚFr¯   r   r   r   r   r&   r)   s	      €€€€€€r   Úbuild_subscribersz\BaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_subscribers   s¹  ø€ Ø�1à�Ø˜˜Ø˜A˜A˜t T˜l™OœOðñ ô ðñ ô ð �Ø˜˜Ø˜R˜RØ   4¨ ,¡¤ð!ñ ô ð ˜R˜RØ   4¨ ,¡¤ð!ñ ô ð	ñ ô ð	ñ 	ô 	ð �Ø˜˜Ø˜R˜RØ   R¨¨¨D¨6©¬ OÑ!4Ô!4ð!ñ ô ð ˜R˜RØ   R¨¨¨D¨6©¬ OÑ!4Ô!4Ø   R¨¨¨D¨6©¬ OÑ!4Ô!4ð!ñ ô ð ˜R˜RØ   R¨¨¨D¨6©¬ OÑ!4Ô!4ð!ñ ô ðñ ô ðñ ô ð'!ñ !ô !ð !r   )rÇ   r=  r¯   c                 ó"   •—  | ‰d‰di¦  «        S )Né   é   r   )ÚPr&   r)   s    €€r   Úbuild_providedzYBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_providedK  s&   ø€ Ø�1Ø�QØ�Qðñ ô ð r   )rB  r   c                 óT   — | �| nt          ¦   «         } |                      |¦  «         | S r/   rÊ   rË   s     r   rÎ   zSBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.addValuep  rÏ   r   )r+   rƒ   r  rš   r³   r�   r�   r‡   rº   rŠ   rÐ   r#  rJ   rÑ   rW   rÒ   rR   rÓ   rZ   rÔ   rÕ   rÖ   )r3   r   r    r#   r•   r>  rC  r¹   r×   rØ   rÎ   r   r   r   r   r&   r)   s              @@@@@@r   Ú(test_subscribe_multiple_allRegistrationszABaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations  sß  øøøøøø€ õ ÑÔñ	
Ø��c˜3  S¨#¨s°Cà—=’=‘?”?ˆà×Ò˜2˜s DÑ)Ô)Ð)Ø×Ò˜2˜s DÑ)Ô)Ð)à×Ò˜C˜5 # tÑ,Ô,Ð,Ø×Ò˜C˜5 # tÑ,Ô,Ð,Ø×Ò˜C˜5 # tÑ,Ô,Ð,Ø×Ò˜C˜5 # tÑ,Ô,Ð,à×Ò˜C ˜: s¨DÑ1Ô1Ð1Ø×Ò˜C ˜: s¨DÑ1Ô1Ð1Ø×Ò˜C ˜: s¨DÑ1Ô1Ð1Ø×Ò˜C ˜: s¨DÑ1Ô1Ð1ð"	ð "	ð "	ð "	ð "	ð "	ð "	ð "	ð "	ð "	ðH 	×Ò˜Ô.Ø*Ð*Ø#×7Ò7Ñ9Ô9Ø#×8Ò8Ñ:Ô:Ø $× 4Ò 4Ñ 6Ô 6ðñ ô ñ	ô 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð 	×Ò˜Ô+Ø'˜¨$×*?Ò*?Ñ*AÔ*AÐBÑBÔBñ	Dô 	Dð 	Dõ ˜H×5Ò5Ñ7Ô7Ñ8Ô8ˆ
Ø×Ò˜Ø��dˆOØ��dˆOØˆV�S˜$ÐØˆV�S˜$ÐØˆV�S˜$ÐØˆV�S˜$ÐØ�3ˆZ˜˜dÐ#Ø�3ˆZ˜˜dÐ#Ø�3ˆZ˜˜dÐ#Ø�3ˆZ˜˜dÐ#ð&
ñ 	ô 	ð 	ð —M’M‘O”Oˆ	Øð 	'ð 	'ˆDØˆIÔ Ð&Ð&Ð&à×Ò˜Ô/°Ô1FÑGÔGÐGØ×Ò˜Ô,¨hÔ.@ÑAÔAÐAõ !.ˆÔÝ%7ˆÔ"Ý!/ˆÔÝ!/ˆÔð	ð 	ð 	ð $,ˆÔ à×ÒÑÔÐà×Ò˜Ô.Ø*Ð*Ý-Ý1Ý -ðñ ô ñ	ô 	ð 	ð 	ð 	r   )r    ).r
   r   r   ÚmaxDiffrb   r€   rƒ   r‡   rŠ   r�   r�   r–   r�   r¡   r¨   r±   r´   r½   rÙ   rß   rá   rå   rè   rë   rí   rð   rô   r÷   rû   r  r  r	  r  r  r  r  r$  r&  r(  r*  r/  r1  r3  r7  r:  rE  r   r   r   r\   r\   s   sÁ  € € € € € à€Gð#ð #ð #ðð ð ð2(ð (ð (ðð ð ðð ð ðð ð ðð ð ðð ð ð2ð 2ð 2ð
Ið Ið Ið2ð 2ð 2ð
Ið 
Ið 
Ið 
IðPð Pð Pð Pðð ð ð8ið ið iðV:ð :ð :ð
)ð 
)ð 
)ðð ð ð<)ð )ð )ðEð Eð EðFð Fð Fð
5ð 5ð 5ðð ð ð0ð ð ð0	Bð 	Bð 	Bð*ð *ð *ðXKð Kð Kð5ð 5ð 5ð.
'ð 
'ð 
'ð45ð 45ð 45ðl3ð 3ð 3ð63ð 3ð 3ð8)ð )ð )ð?ð ?ð ?ðFð Fð Fð8ð 8ð 8ðð ð ð"ð ð ð"	8ð 	8ð 	8ð@ð @ð @ð	8ð 	8ð 	8ðsð sð sð sð sr   r\   c                   ó6   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú#CustomTypesBaseAdapterRegistryTestszá
    This class may be extended by other packages to test their own
    adapter registries that use custom types. (So be cautious about
    breaking changes.)

    One known user is ``zope.component.persistentregistry``.
    c                 ó   — t           S r/   )rJ   r=   s    r   r‡   z3CustomTypesBaseAdapterRegistryTests._getMappingTypeŒ  s   € ÝÐr   c                 ó   — t           S r/   )rZ   r=   s    r   rŠ   z4CustomTypesBaseAdapterRegistryTests._getProvidedType�  ó   € ÝÐr   c                 ó   — t           S r/   )rR   r=   s    r   r�   z7CustomTypesBaseAdapterRegistryTests._getMutableListType’  rK  r   c                 ó   — t           S r/   )rW   r=   s    r   r�   z8CustomTypesBaseAdapterRegistryTests._getLeafSequenceType•  s   € Ý!Ð!r   c                 ó8   ‡ ‡— ddl mŠ  G ˆˆ fd„d‰¦  «        }|S )Nr   r^   c                   óÀ   •— e Zd Z”                     ¦   «         Z”                     ¦   «         Z”                     ¦   «         Z” 	                    ¦   «         Z
d„ Zˆ fd„ZdS )úZCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistryc                 ó\   — |s|                       ¦   «         }|                     |¦  «         |S r/   )rÒ   rU   )r3   Úexisting_leaf_sequenceÚnew_items      r   rÕ   zjCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._addValueToLeaf¡  s7   € Ø-ð FØ-1×-CÒ-CÑ-EÔ-EÐ*Ø&×-Ò-¨hÑ7Ô7Ð7Ø-Ð-r   c                 óP   •— ‰                      | ||¦  «        }||d d …<   ||vsJ ‚|S r/   )Ú_removeValueFromLeaf)r3   rR  Ú	to_removeÚwithout_removedr_   s       €r   rU  zoCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._removeValueFromLeaf§  sJ   ø€ Ø"5×"JÒ"JØØ*Øñ#ô #�ð -<Ð& q q qÑ)Ø Ð(>Ð>Ð>Ð>Ð>Ø-Ð-r   N)r
   r   r   r‡   rÑ   r�   rÓ   r�   rÒ   rŠ   rÔ   rÕ   rU  )r_   r3   s   €€r   ÚCustomAdapterRegistryrP  ›  s‚   ø€ € € € € Ø×/Ò/Ñ1Ô1ˆLØ ×4Ò4Ñ6Ô6ˆMØ $× 9Ò 9Ñ ;Ô ;ÐØ ×1Ò1Ñ3Ô3ˆMð.ð .ð .ð.ð .ð .ð .ð .ð .ð .r   rX  r`   )r3   rX  r_   s   ` @r   rb   z;CustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry˜  sX   øø€ Ø>Ð>Ð>Ð>Ð>Ð>ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.Ð$7ñ 	.ô 	.ð 	.ð* %Ð$r   c                 ó2   — |                       ||¦  «         d S r/   )r‘   r  s      r   r  z6CustomTypesBaseAdapterRegistryTests.assertLeafIdentity²  s   € Ø�Š�e˜UÑ#Ô#Ð#Ð#Ð#r   N)
r
   r   r   Ú__doc__r‡   rŠ   r�   r�   rb   r  r   r   r   rH  rH  ƒ  sx   € € € € € ðð ðð ð ðð ð ðð ð ð"ð "ð "ð%ð %ð %ð4$ð $ð $ð $ð $r   rH  c                   óÈ   ‡ — e Zd Zd„ ZeZ	 dd„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d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZ S )ÚLookupBaseFallbackTestsc                 ó   — ddl m} |S )Nr   )ÚLookupBaseFallback)ra   r^  )r3   r^  s     r   Ú_getFallbackClassz)LookupBaseFallbackTests._getFallbackClass¸  s   € Ø=Ð=Ð=Ð=Ð=Ð=Ø!Ð!r   Nc                 ó‚   ‡‡‡— ‰€d„ Š‰€d„ Š‰€d„ Š G ˆˆˆfd„d|                       ¦   «         ¦  «        } |¦   «         S )Nc                 ó   — d S r/   r   ©r3   Úrequiredrr   r4   s       r   Ú	uc_lookupz3LookupBaseFallbackTests._makeOne.<locals>.uc_lookupÄ  ó   € Ø�r   c                 ó   — t          ¦   «         ‚r/   ©ÚNotImplementedError©r3   rc  rr   s      r   Úuc_lookupAllz6LookupBaseFallbackTests._makeOne.<locals>.uc_lookupAllÉ  ó   € Ý)Ñ+Ô+Ð+r   c                 ó   — t          ¦   «         ‚r/   rg  ri  s      r   Úuc_subscriptionsz:LookupBaseFallbackTests._makeOne.<locals>.uc_subscriptionsÎ  rk  r   c                   ó   •— e Zd Z” Z”Z”ZdS )ú1LookupBaseFallbackTests._makeOne.<locals>.DerivedN)r
   r   r   Ú_uncached_lookupÚ_uncached_lookupAllÚ_uncached_subscriptions)rd  rj  rm  s   €€€r   ÚDerivedro  Ñ  s#   ø€ € € € € Ø(ÐØ".ÐØ&6Ð#Ð#Ð#r   rs  r‚   )r3   rd  rj  rm  rs  s    ``` r   rƒ   z LookupBaseFallbackTests._makeOne¾  s¢   øøø€ ð Ððð ð ð Ðð,ð ,ð ,ð Ð#ð,ð ,ð ,ð	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7�d×*Ò*Ñ,Ô,ñ 	7ô 	7ð 	7ð
 ˆw‰yŒyÐr   c                 óä   — d„ }|                       |¬¦  «        }|                      t          ¦  «        5  |                     ddt	          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó0   — |                       d¦  «         d S ©NzThis should never be calledr5  rb  s       r   Ú_lookupzCLookupBaseFallbackTests.test_lookup_w_invalid_name.<locals>._lookupÚ  ó   € Ø�IŠIÐ3Ñ4Ô4Ð4Ð4Ð4r   ©rd  ©ÚAÚB)rƒ   rÜ   rÝ   Úlookupr   ©r3   rw  Úlbs      r   Útest_lookup_w_invalid_namez2LookupBaseFallbackTests.test_lookup_w_invalid_nameØ  s¸   € ð	5ð 	5ð 	5ð �]Š] Wˆ]Ñ-Ô-ˆØ×Ò�zÑ*Ô*ð 	-ð 	-Ø�IŠI�f˜c¥6¡8¤8Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ó   ´$A%Á%A)Á,A)c                 óÈ   ‡— g Šˆfd„}|                       |¬¦  «        }|                     ddd¦  «        }|                      |¦  «         |                      ‰dg¦  «         d S )Nc                 ó8   •— ‰                      |||f¦  «         d S r/   ©rU   ©r3   rc  rr   r4   Ú_called_withs       €r   rw  zDLookupBaseFallbackTests.test_lookup_miss_no_default.<locals>._lookupä  ó$   ø€ Ø×Ò ¨8°TÐ :Ñ;Ô;Ð;Ð;Ð;r   ry  rz  r|  ÚC©rz  r|  rˆ  )rƒ   r}  r!  rš   ©r3   rw  r  Úfoundr†  s       @r   Útest_lookup_miss_no_defaultz3LookupBaseFallbackTests.test_lookup_miss_no_defaultá  s   ø€ Øˆð	<ð 	<ð 	<ð 	<ð 	<ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜& # sÑ+Ô+ˆØ×Ò˜%Ñ Ô Ð Ø×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ð<Ð<r   c                 óè   ‡— g Št          ¦   «         }ˆfd„}|                      |¬¦  «        }|                     ddd|¦  «        }|                      ||¦  «         |                      ‰dg¦  «         d S )Nc                 ó8   •— ‰                      |||f¦  «         d S r/   r„  r…  s       €r   rw  zCLookupBaseFallbackTests.test_lookup_miss_w_default.<locals>._lookupð  r‡  r   ry  rz  r|  rˆ  r‰  ©r   rƒ   r}  r‘   rš   ©r3   Ú_defaultrw  r  r‹  r†  s        @r   Útest_lookup_miss_w_defaultz2LookupBaseFallbackTests.test_lookup_miss_w_defaultì  sŠ   ø€ ØˆÝ‘8”8ˆð	<ð 	<ð 	<ð 	<ð 	<ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜& # s¨HÑ5Ô5ˆØ�Š�e˜XÑ&Ô&Ð&Ø×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ð<Ð<r   c                 ó\  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  ©rU   Úpop©r3   rc  rr   r4   r†  Ú_resultss       €€r   rw  z?LookupBaseFallbackTests.test_lookup_not_cached.<locals>._lookupý  ó.   ø€ Ø×Ò ¨8°TÐ :Ñ;Ô;Ð;Ø—<’< ‘?”?Ð"r   ry  rz  r|  rˆ  r‰  r�  ©	r3   ÚaÚbÚcrw  r  r‹  r†  r˜  s	          @@r   Útest_lookup_not_cachedz.LookupBaseFallbackTests.test_lookup_not_cachedø  sÃ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜& # sÑ+Ô+ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 óŠ  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  z;LookupBaseFallbackTests.test_lookup_cached.<locals>._lookup  r™  r   ry  rz  r|  rˆ  r‰  r�  rš  s	          @@r   Útest_lookup_cachedz*LookupBaseFallbackTests.test_lookup_cached  sØ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜& # sÑ+Ô+ˆØ—	’	˜& # sÑ+Ô+ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó\  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  zNLookupBaseFallbackTests.test_lookup_not_cached_multi_required.<locals>._lookup  r™  r   ry  ©r{  ÚDr|  rˆ  ©r¤  r|  rˆ  r�  rš  s	          @@r   Ú%test_lookup_not_cached_multi_requiredz=LookupBaseFallbackTests.test_lookup_not_cached_multi_required  sÃ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜* c¨3Ñ/Ô/ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(>Ð'?Ñ@Ô@Ð@Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 óŠ  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  zJLookupBaseFallbackTests.test_lookup_cached_multi_required.<locals>._lookup+  r™  r   ry  r¤  r|  rˆ  r¦  r�  rš  s	          @@r   Ú!test_lookup_cached_multi_requiredz9LookupBaseFallbackTests.test_lookup_cached_multi_required&  sØ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜* c¨3Ñ/Ô/ˆØ—	’	˜* c¨3Ñ/Ô/ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(>Ð'?Ñ@Ô@Ð@Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó´  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                     |¦  «         |                     ddd¦  «        }|                      ||¦  «         |                      ‰ddg¦  «         |                      ‰|g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  zMLookupBaseFallbackTests.test_lookup_not_cached_after_changed.<locals>._lookup;  r™  r   ry  rz  r|  rˆ  r‰  )r   rƒ   r}  rn   r‘   rš   rš  s	          @@r   Ú$test_lookup_not_cached_after_changedz<LookupBaseFallbackTests.test_lookup_not_cached_after_changed6  sñ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—	’	˜& # sÑ+Ô+ˆØ
�
Š
�2‰ŒˆØ—	’	˜& # sÑ+Ô+ˆØ�Š�e˜QÑÔÐØ×Ò˜Ø,Ð.@ÐAñ	Cô 	Cð 	Cà×Ò˜ A 3Ñ'Ô'Ð'Ð'Ð'r   c                 óä   — d„ }|                       |¬¦  «        }|                      t          ¦  «        5  |                     ddt	          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó0   — |                       d¦  «         d S rv  r5  rb  s       r   rw  zDLookupBaseFallbackTests.test_lookup1_w_invalid_name.<locals>._lookupJ  rx  r   ry  r{  r|  )rƒ   rÜ   rÝ   Úlookup1r   r~  s      r   Útest_lookup1_w_invalid_namez3LookupBaseFallbackTests.test_lookup1_w_invalid_nameH  s¸   € ð	5ð 	5ð 	5ð �]Š] Wˆ]Ñ-Ô-ˆØ×Ò�zÑ*Ô*ð 	+ð 	+Ø�JŠJ�s˜C¥¡¤Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+r�  c                 óÈ   ‡— g Šˆfd„}|                       |¬¦  «        }|                     ddd¦  «        }|                      |¦  «         |                      ‰dg¦  «         d S )Nc                 ó8   •— ‰                      |||f¦  «         d S r/   r„  r…  s       €r   rw  zELookupBaseFallbackTests.test_lookup1_miss_no_default.<locals>._lookupT  r‡  r   ry  r{  r|  rˆ  r‰  )rƒ   r°  r!  rš   rŠ  s       @r   Útest_lookup1_miss_no_defaultz4LookupBaseFallbackTests.test_lookup1_miss_no_defaultQ  s   ø€ Øˆð	<ð 	<ð 	<ð 	<ð 	<ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  SÑ)Ô)ˆØ×Ò˜%Ñ Ô Ð Ø×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ð<Ð<r   c                 óè   ‡— g Št          ¦   «         }ˆfd„}|                      |¬¦  «        }|                     ddd|¦  «        }|                      ||¦  «         |                      ‰dg¦  «         d S )Nc                 ó8   •— ‰                      |||f¦  «         d S r/   r„  r…  s       €r   rw  zDLookupBaseFallbackTests.test_lookup1_miss_w_default.<locals>._lookup`  r‡  r   ry  r{  r|  rˆ  r‰  ©r   rƒ   r°  r‘   rš   r�  s        @r   Útest_lookup1_miss_w_defaultz3LookupBaseFallbackTests.test_lookup1_miss_w_default\  sŠ   ø€ ØˆÝ‘8”8ˆð	<ð 	<ð 	<ð 	<ð 	<ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  S¨(Ñ3Ô3ˆØ�Š�e˜XÑ&Ô&Ð&Ø×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ð<Ð<r   c                 óD  ‡— g Št          ¦   «         }ˆfd„}|                      |¬¦  «        }|                     ddd|¦  «        }|                      ||¦  «         |                     ddd|¦  «        }|                      ||¦  «         |                      ‰dg¦  «         d S )Nc                 ó8   •— ‰                      |||f¦  «         d S r/   r„  r…  s       €r   rw  zSLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cache.<locals>._lookupl  r‡  r   ry  r{  r|  rˆ  r‰  r·  r�  s        @r   Ú*test_lookup1_miss_w_default_negative_cachezBLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cacheh  sµ   ø€ ØˆÝ‘8”8ˆð	<ð 	<ð 	<ð 	<ð 	<ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  S¨(Ñ3Ô3ˆØ�Š�e˜XÑ&Ô&Ð&Ø—
’
˜3  S¨(Ñ3Ô3ˆØ�Š�e˜XÑ&Ô&Ð&Ø×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ð<Ð<r   c                 ó\  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  z@LookupBaseFallbackTests.test_lookup1_not_cached.<locals>._lookup{  r™  r   ry  r{  r|  rˆ  r‰  r·  rš  s	          @@r   Útest_lookup1_not_cachedz/LookupBaseFallbackTests.test_lookup1_not_cachedv  sÃ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  SÑ)Ô)ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 óŠ  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰||g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  z<LookupBaseFallbackTests.test_lookup1_cached.<locals>._lookupŠ  r™  r   ry  r{  r|  rˆ  r‰  r·  rš  s	          @@r   Útest_lookup1_cachedz+LookupBaseFallbackTests.test_lookup1_cached…  sØ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  SÑ)Ô)ˆØ—
’
˜3  SÑ)Ô)ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó´  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠˆˆfd„}|                      |¬¦  «        }|                     ddd¦  «        }|                     |¦  «         |                     ddd¦  «        }|                      ||¦  «         |                      ‰ddg¦  «         |                      ‰|g¦  «         d S )Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  zNLookupBaseFallbackTests.test_lookup1_not_cached_after_changed.<locals>._lookupš  r™  r   ry  r{  r|  rˆ  r‰  )r   rƒ   r°  rn   r‘   rš   rš  s	          @@r   Ú%test_lookup1_not_cached_after_changedz=LookupBaseFallbackTests.test_lookup1_not_cached_after_changed•  sñ   øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š] Wˆ]Ñ-Ô-ˆØ—
’
˜3  SÑ)Ô)ˆØ
�
Š
�2‰ŒˆØ—
’
˜3  SÑ)Ô)ˆØ�Š�e˜QÑÔÐØ×Ò˜Ø,Ð.@ÐAñ	Cô 	Cð 	Cà×Ò˜ A 3Ñ'Ô'Ð'Ð'Ð'r   c                 ó  — t          ¦   «         t          ¦   «         }}|                      ¦   «         }|                      t          ¦  «        5  |                     ||t          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r/   )r   rƒ   rÜ   rÝ   Úadapter_hook)r3   ÚreqÚprvr  s       r   Ú test_adapter_hook_w_invalid_namez8LookupBaseFallbackTests.test_adapter_hook_w_invalid_name§  s²   € Ý‘8”8�V™XœXˆSˆØ�]Š]‰_Œ_ˆØ×Ò�zÑ*Ô*ð 	0ð 	0Ø�OŠO˜C ¥f¡h¤hÑ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   Á$A<Á<B ÂB c                 ó¾   — t          ¦   «         t          ¦   «         }}|                      ¦   «         }|                     ||d¦  «        }|                      |¦  «         d S rç   )r   rƒ   rÆ  r!  )r3   rÇ  rÈ  r  r‹  s        r   Ú!test_adapter_hook_miss_no_defaultz9LookupBaseFallbackTests.test_adapter_hook_miss_no_default­  sO   € Ý‘8”8�V™XœXˆSˆØ�]Š]‰_Œ_ˆØ—’  S¨"Ñ-Ô-ˆØ×Ò˜%Ñ Ô Ð Ð Ð r   c                 óÞ   — t          ¦   «         t          ¦   «         t          ¦   «         }}}|                      ¦   «         }|                     ||d|¦  «        }|                      ||¦  «         d S rç   )r   rƒ   rÆ  r‘   )r3   rÇ  rÈ  r‘  r  r‹  s         r   Ú test_adapter_hook_miss_w_defaultz8LookupBaseFallbackTests.test_adapter_hook_miss_w_default³  sY   € Ý#™XœX¥v¡x¤xµ±´�(ˆSˆØ�]Š]‰_Œ_ˆØ—’  S¨"¨hÑ7Ô7ˆØ�Š�e˜XÑ&Ô&Ð&Ð&Ð&r   c                 ó,  ‡‡— g Šˆfd„Šˆfd„}t          ¦   «         t          ¦   «         t          ¦   «         }}}|                      |¬¦  «        }|                     ||d|¦  «        }|                      ||¦  «         |                      ‰|g¦  «         d S )Nc                 ó2   •— ‰                      | ¦  «         d S r/   r„  ©ÚcontextÚ_f_called_withs    €r   Ú_factoryzTLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._factory¼  s   ø€ Ø×!Ò! 'Ñ*Ô*Ð*Ð*Ð*r   c                 ó   •— ‰S r/   r   ©r3   rc  rr   r4   rÓ  s       €r   rw  zSLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._lookup¿  ó   ø€ ØˆOr   ry  rˆ  ©r   rƒ   rÆ  r‘   rš   )	r3   rw  rÇ  rÈ  r‘  r  ÚadaptedrÒ  rÓ  s	          @@r   Ú*test_adapter_hook_hit_factory_returns_NonezBLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None¹  s²   øø€ Øˆð	+ð 	+ð 	+ð 	+ð 	+ð	ð 	ð 	ð 	ð 	õ $™XœX¥v¡x¤xµ±´�(ˆSˆØ�]Š] Wˆ]Ñ-Ô-ˆØ—/’/ # s¨C°Ñ:Ô:ˆØ�Š�g˜xÑ(Ô(Ð(Ø×Ò˜¨#¨Ñ/Ô/Ð/Ð/Ð/r   c                 óL  ‡‡‡	— g Št          ¦   «         Šˆˆfd„Š	ˆ	fd„}t          ¦   «         t          ¦   «         t          ¦   «         }}}|                      |¬¦  «        }|                     ||d|¦  «        }|                      |‰¦  «         |                      ‰|g¦  «         d S )Nc                 ó2   •— ‰                      | ¦  «         ‰S r/   r„  ©rÑ  Ú_adapterrÒ  s    €€r   rÓ  zWLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._factoryÌ  ó   ø€ Ø×!Ò! 'Ñ*Ô*Ð*ØˆOr   c                 ó   •— ‰S r/   r   rÕ  s       €r   rw  zVLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._lookupÐ  rÖ  r   ry  rˆ  r×  ©
r3   rw  rÇ  rÈ  r‘  r  rØ  rÝ  rÒ  rÓ  s
          @@@r   Ú-test_adapter_hook_hit_factory_returns_adapterzELookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapterÈ  óÁ   øøø€ ØˆÝ‘8”8ˆð	ð 	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	õ $™XœX¥v¡x¤xµ±´�(ˆSˆØ�]Š] Wˆ]Ñ-Ô-ˆØ—/’/ # s¨C°Ñ:Ô:ˆØ�Š�g˜xÑ(Ô(Ð(Ø×Ò˜¨#¨Ñ/Ô/Ð/Ð/Ð/r   c                 ó  •‡‡— g Šˆfd„Šdˆfd„	}t          ¦   «         }t          ¦   «         }|                      |¬¦  «        }|                     ||¦  «        }|                      || ¦  «         |                      ‰| g¦  «         d S )Nc                 ó2   •— ‰                      | ¦  «         | S r/   r„  rÐ  s    €r   rÓ  zILookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._factoryÜ  s   ø€ Ø×!Ò! 'Ñ*Ô*Ð*ØˆNr   r¶   c                 ó   •— ‰S r/   r   rÕ  s       €r   rw  zHLookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._lookupà  rÖ  r   ry  )r¶   )Úsuperr   rƒ   rÆ  r‘   rš   )	r3   rw  rc  rr   r  rØ  rÒ  rÓ  Ú	__class__s	         @@€r   Útest_adapter_hook_super_unwrapsz7LookupBaseFallbackTests.test_adapter_hook_super_unwrapsÙ  s­   øøø€ Øˆð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	õ ‘7”7ˆÝ‘8”8ˆØ�]Š] Wˆ]Ñ-Ô-ˆØ—/’/ (¨HÑ5Ô5ˆØ�Š�g˜tÑ$Ô$Ð$Ø×Ò˜¨$¨Ñ0Ô0Ð0Ð0Ð0r   c                 óL  ‡‡‡	— g Št          ¦   «         Šˆˆfd„Š	ˆ	fd„}t          ¦   «         t          ¦   «         t          ¦   «         }}}|                      |¬¦  «        }|                     ||d|¦  «        }|                      |‰¦  «         |                      ‰|g¦  «         d S )Nc                 ó2   •— ‰                      | ¦  «         ‰S r/   r„  rÜ  s    €€r   rÓ  z;LookupBaseFallbackTests.test_queryAdapter.<locals>._factoryî  rÞ  r   c                 ó   •— ‰S r/   r   rÕ  s       €r   rw  z:LookupBaseFallbackTests.test_queryAdapter.<locals>._lookupò  rÖ  r   ry  rˆ  )r   rƒ   ÚqueryAdapterr‘   rš   rà  s
          @@@r   Útest_queryAdapterz)LookupBaseFallbackTests.test_queryAdapterê  râ  r   c                 ó8  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         gŠˆˆfd„}|                      |¬¦  «        }|                     dd¦  «        }|                      |t	          ‰¦  «        ¦  «         |                      ‰dg¦  «         d S )Nc                 óP   •— ‰                      ||f¦  «         t          ‰¦  «        S r/   ©rU   ry   ©r3   rc  rr   r†  r˜  s      €€r   Ú
_lookupAllzCLookupBaseFallbackTests.test_lookupAll_uncached.<locals>._lookupAllÿ  ó(   ø€ Ø×Ò ¨8Ð 4Ñ5Ô5Ð5Ý˜‘?”?Ð"r   ©rj  r{  r|  ©rz  r|  ©r   rƒ   Ú	lookupAllrš   ry   ©r3   rò  r  r‹  r†  r˜  s       @@r   Útest_lookupAll_uncachedz/LookupBaseFallbackTests.test_lookupAll_uncachedû  s¡   øø€ ØˆÝ‘H”H�f™hœh­©¬Ð1ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š]¨
ˆ]Ñ3Ô3ˆØ—’˜S #Ñ&Ô&ˆØ×Ò˜¥ h¡¤Ñ0Ô0Ð0Ø×Ò˜¨ Ñ7Ô7Ð7Ð7Ð7r   c                 ód  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         gŠˆˆfd„}|                      |¬¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                      |t	          ‰¦  «        ¦  «         |                      ‰dg¦  «         d S )Nc                 óP   •— ‰                      ||f¦  «         t          ‰¦  «        S r/   rð  rñ  s      €€r   rò  zALookupBaseFallbackTests.test_lookupAll_cached.<locals>._lookupAll  ró  r   rô  r{  r|  rõ  rö  rø  s       @@r   Útest_lookupAll_cachedz-LookupBaseFallbackTests.test_lookupAll_cached  s´   øø€ ØˆÝ‘H”H�f™hœh­©¬Ð1ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š]¨
ˆ]Ñ3Ô3ˆØ—’˜S #Ñ&Ô&ˆØ—’˜S #Ñ&Ô&ˆØ×Ò˜¥ h¡¤Ñ0Ô0Ð0Ø×Ò˜¨ Ñ7Ô7Ð7Ð7Ð7r   c                 ó8  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         gŠˆˆfd„}|                      |¬¦  «        }|                     dd¦  «        }|                      |t	          ‰¦  «        ¦  «         |                      ‰dg¦  «         d S )Nc                 óP   •— ‰                      ||f¦  «         t          ‰¦  «        S r/   rð  rñ  s      €€r   Ú_subscriptionszKLookupBaseFallbackTests.test_subscriptions_uncached.<locals>._subscriptions  ró  r   ©rm  r{  r|  rõ  ©r   rƒ   Úsubscriptionsrš   ry   ©r3   rÿ  r  r‹  r†  r˜  s       @@r   Útest_subscriptions_uncachedz3LookupBaseFallbackTests.test_subscriptions_uncached  s£   øø€ ØˆÝ‘H”H�f™hœh­©¬Ð1ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š]¨Nˆ]Ñ;Ô;ˆØ× Ò   cÑ*Ô*ˆØ×Ò˜¥ h¡¤Ñ0Ô0Ð0Ø×Ò˜¨ Ñ7Ô7Ð7Ð7Ð7r   c                 ód  ‡‡— g Št          ¦   «         t          ¦   «         t          ¦   «         gŠˆˆfd„}|                      |¬¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                      |t	          ‰¦  «        ¦  «         |                      ‰dg¦  «         d S )Nc                 óP   •— ‰                      ||f¦  «         t          ‰¦  «        S r/   rð  rñ  s      €€r   rÿ  zILookupBaseFallbackTests.test_subscriptions_cached.<locals>._subscriptions'  ró  r   r   r{  r|  rõ  r  r  s       @@r   Útest_subscriptions_cachedz1LookupBaseFallbackTests.test_subscriptions_cached#  s¸   øø€ ØˆÝ‘H”H�f™hœh­©¬Ð1ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð �]Š]¨Nˆ]Ñ;Ô;ˆØ× Ò   cÑ*Ô*ˆØ× Ò   cÑ*Ô*ˆØ×Ò˜¥ h¡¤Ñ0Ô0Ð0Ø×Ò˜¨ Ñ7Ô7Ð7Ð7Ð7r   ©NNN)!r
   r   r   r_  r€   rƒ   r€  rŒ  r’  rž  r¡  r§  rª  r­  r±  r´  r¸  r»  r¾  rÁ  rÄ  rÉ  rË  rÍ  rÙ  rá  rè  rí  rù  rü  r  r  Ú__classcell__©rç  s   @r   r\  r\  ¶  sà  ø€ € € € € ð"ð "ð "ð (€Oð CGðð ð ð ð4-ð -ð -ð	=ð 	=ð 	=ð
=ð 
=ð 
=ð+ð +ð +ð+ð +ð +ð +ð +ð +ð+ð +ð +ð (ð (ð (ð$+ð +ð +ð	=ð 	=ð 	=ð
=ð 
=ð 
=ð=ð =ð =ð+ð +ð +ð+ð +ð +ð (ð (ð (ð$0ð 0ð 0ð!ð !ð !ð'ð 'ð 'ð0ð 0ð 0ð0ð 0ð 0ð"1ð 1ð 1ð 1ð 1ð"0ð 0ð 0ð"8ð 8ð 8ð8ð 8ð 8ð8ð 8ð 8ð8ð 8ð 8ð 8ð 8ð 8ð 8r   r\  c                   ó   — e Zd Zd„ ZdS )ÚLookupBaseTestsc                 ó   — ddl m} |S )Nr   )Ú
LookupBase)ra   r  )r3   r  s     r   r€   zLookupBaseTests._getTargetClass5  s   € Ø5Ð5Ð5Ð5Ð5Ð5ØÐr   N©r
   r   r   r€   r   r   r   r  r  2  s#   € € € € € ðð ð ð ð r   r  c                   óN   — e Zd Zd„ ZeZ	 	 dd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚVerifyingBaseFallbackTestsc                 ó   — ddl m} |S )Nr   )ÚVerifyingBaseFallback)ra   r  )r3   r  s     r   r_  z,VerifyingBaseFallbackTests._getFallbackClass<  s   € Ø@Ð@Ð@Ð@Ð@Ð@Ø$Ð$r   Nc                 ó²   ‡‡‡— ‰€d„ Š‰€d„ Š‰€d„ Š G ˆˆˆfd„d|                       ¦   «         ¦  «        } ||¦  «        }|                     |¦  «         |S )Nc                 ó   — t          ¦   «         ‚r/   rg  rb  s       r   rd  z6VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupG  rk  r   c                 ó   — t          ¦   «         ‚r/   rg  ri  s      r   rj  z9VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupAllL  rk  r   c                 ó   — t          ¦   «         ‚r/   rg  ri  s      r   rm  z=VerifyingBaseFallbackTests._makeOne.<locals>.uc_subscriptionsQ  rk  r   c                   ó,   •‡ — e Zd Z”Z”Z”Zˆ fd„Zˆ xZS )ú4VerifyingBaseFallbackTests._makeOne.<locals>.Derivedc                 óV   •— t          ¦   «                              ¦   «          || _        d S r/   )ræ  rO   Ú	_registry)r3   r•   rç  s     €r   rO   z=VerifyingBaseFallbackTests._makeOne.<locals>.Derived.__init__Y  s$   ø€ Ý‘”× Ò Ñ"Ô"Ð"Ø!)�”��r   )r
   r   r   rp  rq  rr  rO   r	  )rç  rd  rj  rm  s   @€€€r   rs  r  T  sK   øø€ € € € € Ø(ÐØ".ÐØ&6Ð#ð*ð *ð *ð *ð *ð *ð *ð *ð *r   rs  )r€   rn   )r3   r•   rd  rj  rm  rs  Úderiveds     ```  r   rƒ   z#VerifyingBaseFallbackTests._makeOneB  s¼   øøø€ ð Ðð,ð ,ð ,ð Ðð,ð ,ð ,ð Ð#ð,ð ,ð ,ð	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*�d×*Ò*Ñ,Ô,ñ 	*ô 	*ð 	*ð �'˜(Ñ#Ô#ˆØ�Š˜Ñ Ô Ð Øˆr   c                 óR   ‡—  G d„ d¦  «        Š G ˆfd„d¦  «        } ||¦  «        S )Nc                   ó   — e Zd ZdZdS )ú@VerifyingBaseFallbackTests._makeRegistry.<locals>.WithGenerationr™   N)r
   r   r   r›   r   r   r   ÚWithGenerationr  c  s   € € € € € ØˆKˆKˆKr   r   c                   ó   •— e Zd Zˆ fd„ZdS )ú:VerifyingBaseFallbackTests._makeRegistry.<locals>.Registryc                 óH   •— ˆfd„t          |¦  «        D ¦   «         | _        d S )Nc                 ó$   •— g | ]} ‰¦   «         ‘ŒS r   r   )rv   Úir   s     €r   rx   zWVerifyingBaseFallbackTests._makeRegistry.<locals>.Registry.__init__.<locals>.<listcomp>h  s!   ø€ ÐBÐBÐB°˜>˜>Ñ+Ô+ÐBÐBÐBr   )ÚrangeÚro)r3   Údepthr   s     €r   rO   zCVerifyingBaseFallbackTests._makeRegistry.<locals>.Registry.__init__g  s(   ø€ ØBÐBÐBÐBµU¸5±\´\ÐBÑBÔB�”��r   NrP   )r   s   €r   ÚRegistryr"  f  s5   ø€ € € € € ðCð Cð Cð Cð Cð Cð Cr   r)  r   )r3   r(  r)  r   s      @r   Ú_makeRegistryz(VerifyingBaseFallbackTests._makeRegistrya  sw   ø€ ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð ˆx˜‰ŒÐr   c                 ó¤  ‡‡	— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠ	ˆˆ	fd„}|                      d¦  «        }|                      ||¬¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰	||g¦  «         |j        d         xj        dz  c_        |                     ddd¦  «        }|                      ||¦  «         |                      ‰ddg¦  «         |                      ‰	|g¦  «         d S )	Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  z7VerifyingBaseFallbackTests.test_lookup.<locals>._lookupq  r™  r   rý   ry  rz  r|  rˆ  r‰  r™   )r   r*  rƒ   r}  r‘   rš   r'  r›   ©
r3   r›  rœ  r�  rw  ri   r  r‹  r†  r˜  s
           @@r   Útest_lookupz&VerifyingBaseFallbackTests.test_lookupl  sn  øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð × Ò  Ñ#Ô#ˆØ�]Š]˜3¨'ˆ]Ñ2Ô2ˆØ—	’	˜& # sÑ+Ô+ˆØ—	’	˜& # sÑ+Ô+ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*ØŒˆqŒ	ÐÔ Ñ"ÐÔØ—	’	˜& # sÑ+Ô+ˆØ�Š�e˜QÑÔÐØ×Ò˜Ø,Ð.@ÐAñ	Cô 	Cð 	Cà×Ò˜ A 3Ñ'Ô'Ð'Ð'Ð'r   c                 ó¤  ‡‡	— g Št          ¦   «         t          ¦   «         t          ¦   «         }}}|||gŠ	ˆˆ	fd„}|                      d¦  «        }|                      ||¬¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }|                      ||¦  «         |                      ‰dg¦  «         |                      ‰	||g¦  «         |j        d         xj        dz  c_        |                     ddd¦  «        }|                      ||¦  «         |                      ‰ddg¦  «         |                      ‰	|g¦  «         d S )	Nc                 ó^   •— ‰                      |||f¦  «         ‰                     d¦  «        S r9  r•  r—  s       €€r   rw  z8VerifyingBaseFallbackTests.test_lookup1.<locals>._lookupˆ  r™  r   rý   ry  r{  r|  rˆ  r‰  r™   )r   r*  rƒ   r°  r‘   rš   r'  r›   r-  s
           @@r   Útest_lookup1z'VerifyingBaseFallbackTests.test_lookup1ƒ  sn  øø€ ØˆÝ‘(”(�F™HœH¥f¡h¤hˆaˆ1ˆØ�q˜!�9ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð × Ò  Ñ#Ô#ˆØ�]Š]˜3¨'ˆ]Ñ2Ô2ˆØ—
’
˜3  SÑ)Ô)ˆØ—
’
˜3  SÑ)Ô)ˆØ�Š�e˜QÑÔÐØ×Ò˜Ð(:Ð';Ñ<Ô<Ð<Ø×Ò˜ A q 6Ñ*Ô*Ð*ØŒˆqŒ	ÐÔ Ñ"ÐÔØ—
’
˜3  SÑ)Ô)ˆØ�Š�e˜QÑÔÐØ×Ò˜Ø,Ð.@ÐAñ	Cô 	Cð 	Cà×Ò˜ A 3Ñ'Ô'Ð'Ð'Ð'r   c                 ó�  ‡ ‡‡‡— t          ¦   «         t          ¦   «         t          ¦   «         g\  ŠŠ}ˆfd„}ˆfd„}ˆ fd„}|||gŠˆfd„}t          ¦   «         t          ¦   «         t          ¦   «         }}}‰                      d¦  «        }	‰                      |	|¬¦  «        }
|
                     ||d|¦  «        }‰                      |‰¦  «         |
                     ||d|¦  «        }‰                      |‰¦  «         |	j        d         xj        dz  c_        |
                     ||d|¦  «        }‰                      |‰¦  «         d S )	Nc                 ó   •— ‰S r/   r   ©rÑ  r›  s    €r   Ú	_factory1z?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory1�  ó   ø€ ØˆHr   c                 ó   •— ‰S r/   r   ©rÑ  rœ  s    €r   Ú	_factory2z?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory2   r6  r   c                 ó2   •— ‰                      d¦  «         d S rv  r5  ©rÑ  r3   s    €r   Ú	_factory3z?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory3£  ó   ø€ Ø�IŠIÐ3Ñ4Ô4Ð4Ð4Ð4r   c                 ó.   •— ‰                      d¦  «        S r9  ©r–  ©r3   rc  rr   r4   Ú
_factoriess       €r   rw  z=VerifyingBaseFallbackTests.test_adapter_hook.<locals>._lookup¨  ó   ø€ Ø—>’> !Ñ$Ô$Ð$r   rý   ry  rˆ  r™   )r   r*  rƒ   rÆ  r‘   r'  r›   ©r3   Ú_cr5  r9  r<  rw  rÇ  rÈ  r‘  ri   r  rØ  rA  r›  rœ  s   `           @@@r   Útest_adapter_hookz,VerifyingBaseFallbackTests.test_adapter_hookš  óz  øøøø€ Ý‘H”H�f™hœh­©¬Ð1‰ˆˆ1ˆbð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð	5ð 	5ð 	5ð 	5ð 	5ð   ¨IÐ6ˆ
ð	%ð 	%ð 	%ð 	%ð 	%õ $™XœX¥v¡x¤xµ±´�(ˆSˆØ× Ò  Ñ#Ô#ˆØ�]Š]˜3¨'ˆ]Ñ2Ô2ˆØ—/’/ # s¨C°Ñ:Ô:ˆØ�Š�g˜qÑ!Ô!Ð!Ø—/’/ # s¨C°Ñ:Ô:ˆØ�Š�g˜qÑ!Ô!Ð!ØŒˆqŒ	ÐÔ Ñ"ÐÔØ—/’/ # s¨C°Ñ:Ô:ˆØ�Š�g˜qÑ!Ô!Ð!Ð!Ð!r   c                 ó�  ‡ ‡‡‡— t          ¦   «         t          ¦   «         t          ¦   «         g\  ŠŠ}ˆfd„}ˆfd„}ˆ fd„}|||gŠˆfd„}t          ¦   «         t          ¦   «         t          ¦   «         }}}‰                      d¦  «        }	‰                      |	|¬¦  «        }
|
                     ||d|¦  «        }‰                      |‰¦  «         |
                     ||d|¦  «        }‰                      |‰¦  «         |	j        d         xj        dz  c_        |
                     ||d|¦  «        }‰                      |‰¦  «         d S )	Nc                 ó   •— ‰S r/   r   r4  s    €r   r5  z?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory1¹  r6  r   c                 ó   •— ‰S r/   r   r8  s    €r   r9  z?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory2¼  r6  r   c                 ó2   •— ‰                      d¦  «         d S rv  r5  r;  s    €r   r<  z?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory3¿  r=  r   c                 ó.   •— ‰                      d¦  «        S r9  r?  r@  s       €r   rw  z=VerifyingBaseFallbackTests.test_queryAdapter.<locals>._lookupÄ  rB  r   rý   ry  rˆ  r™   )r   r*  rƒ   rì  r‘   r'  r›   rÆ  rC  s   `           @@@r   rí  z,VerifyingBaseFallbackTests.test_queryAdapter¶  rF  r   c                 ó¢  ‡— t          ¦   «         t          ¦   «         t          ¦   «         g}t          ¦   «         t          ¦   «         t          ¦   «         g}||gŠˆfd„}|                      d¦  «        }|                      ||¬¦  «        }|                     dd¦  «        }|                      |t          |¦  «        ¦  «         |                     dd¦  «        }|                      |t          |¦  «        ¦  «         |j        d         xj        dz  c_        |                     dd¦  «        }|                      |t          |¦  «        ¦  «         d S )Nc                 óH   •— t          ‰                     d¦  «        ¦  «        S r9  ©ry   r–  ©r3   rc  rr   r˜  s      €r   rò  z=VerifyingBaseFallbackTests.test_lookupAll.<locals>._lookupAll×  ó   ø€ Ý˜Ÿš a™œÑ)Ô)Ð)r   rý   rô  r{  r|  r™   )r   r*  rƒ   r÷  rš   ry   r'  r›   )r3   Ú
_results_1Ú
_results_2rò  ri   r  r‹  r˜  s          @r   Útest_lookupAllz)VerifyingBaseFallbackTests.test_lookupAllÒ  s3  ø€ Ý‘h”h¥¡¤­&©(¬(Ð3ˆ
Ý‘h”h¥¡¤­&©(¬(Ð3ˆ
Ø 
Ð+ˆð	*ð 	*ð 	*ð 	*ð 	*ð × Ò  Ñ#Ô#ˆØ�]Š]˜3¨Zˆ]Ñ8Ô8ˆØ—’˜S #Ñ&Ô&ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2Ø—’˜S #Ñ&Ô&ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2ØŒˆqŒ	ÐÔ Ñ"ÐÔØ—’˜S #Ñ&Ô&ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2Ð2Ð2r   c                 ó¢  ‡— t          ¦   «         t          ¦   «         t          ¦   «         g}t          ¦   «         t          ¦   «         t          ¦   «         g}||gŠˆfd„}|                      d¦  «        }|                      ||¬¦  «        }|                     dd¦  «        }|                      |t          |¦  «        ¦  «         |                     dd¦  «        }|                      |t          |¦  «        ¦  «         |j        d         xj        dz  c_        |                     dd¦  «        }|                      |t          |¦  «        ¦  «         d S )Nc                 óH   •— t          ‰                     d¦  «        ¦  «        S r9  rN  rO  s      €r   rÿ  zEVerifyingBaseFallbackTests.test_subscriptions.<locals>._subscriptionsé  rP  r   rý   r   r{  r|  r™   )r   r*  rƒ   r  rš   ry   r'  r›   )r3   rQ  rR  rÿ  ri   r  r‹  r˜  s          @r   Útest_subscriptionsz-VerifyingBaseFallbackTests.test_subscriptionsä  s9  ø€ Ý‘h”h¥¡¤­&©(¬(Ð3ˆ
Ý‘h”h¥¡¤­&©(¬(Ð3ˆ
Ø 
Ð+ˆð	*ð 	*ð 	*ð 	*ð 	*ð × Ò  Ñ#Ô#ˆØ�]Š]˜3°ˆ]Ñ@Ô@ˆØ× Ò   cÑ*Ô*ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2Ø× Ò   cÑ*Ô*ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2ØŒˆqŒ	ÐÔ Ñ"ÐÔØ× Ò   cÑ*Ô*ˆØ×Ò˜¥ jÑ 1Ô 1Ñ2Ô2Ð2Ð2Ð2r   r  )r
   r   r   r_  r€   rƒ   r*  r.  r1  rE  rí  rS  rV  r   r   r   r  r  :  s­   € € € € € ð%ð %ð %ð (€Oà>BØ"&ðð ð ð ð>	ð 	ð 	ð(ð (ð (ð.(ð (ð (ð."ð "ð "ð8"ð "ð "ð83ð 3ð 3ð$3ð 3ð 3ð 3ð 3r   r  c                   ó   — e Zd Zd„ ZdS )ÚVerifyingBaseTestsc                 ó   — ddl m} |S )Nr   )ÚVerifyingBase)ra   rZ  )r3   rZ  s     r   r€   z"VerifyingBaseTests._getTargetClassú  s   € Ø8Ð8Ð8Ð8Ð8Ð8ØÐr   Nr  r   r   r   rX  rX  ÷  s#   € € € € € ðð ð ð ð r   rX  c                   óö   ‡ — 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d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„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%d$„ Z&d%„ Z'ˆ xZ(S )&ÚAdapterLookupBaseTestsc                 ó   — ddl m} |S )Nr   )ÚAdapterLookupBase)ra   r^  )r3   r^  s     r   r€   z&AdapterLookupBaseTests._getTargetClass  s   € Ø<Ð<Ð<Ð<Ð<Ð<Ø Ð r   c                 ó<   —  |                       ¦   «         |¦  «        S r/   r‚   rœ   s     r   rƒ   zAdapterLookupBaseTests._makeOne  s   € Ø%ˆt×#Ò#Ñ%Ô% hÑ/Ô/Ð/r   c                 ó0   —  G d„ d¦  «        } |¦   «         S )Nc                   ó   — e Zd Zd„ ZdS )ú<AdapterLookupBaseTests._makeSubregistry.<locals>.Subregistryc                 ó"   — g | _         g | _        d S r/   )r«   r³   r=   s    r   rO   zEAdapterLookupBaseTests._makeSubregistry.<locals>.Subregistry.__init__  s   € Ø!#�”Ø$&�Ô!Ð!Ð!r   NrP   r   r   r   ÚSubregistryrb  
  s#   € € € € € ð'ð 'ð 'ð 'ð 'r   rd  r   )r3   rr   rd  s      r   Ú_makeSubregistryz'AdapterLookupBaseTests._makeSubregistry  s8   € ð	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð
 ˆ{‰}Œ}Ðr   c                 ó2   —  G d„ d¦  «        } ||¦  «        S )Nc                   ó   — e Zd Zd„ ZdS )ú6AdapterLookupBaseTests._makeRegistry.<locals>.Registryc                 ó"   — || _         g | _        d S r/   )rº   r'  rq   s     r   rO   z?AdapterLookupBaseTests._makeRegistry.<locals>.Registry.__init__  s   € Ø!)�”Ø�”��r   NrP   r   r   r   r)  rh    s#   € € € € € ðð ð ð ð r   r)  r   )r3   rr   r)  s      r   r*  z$AdapterLookupBaseTests._makeRegistry  s<   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð
 ˆx˜Ñ!Ô!Ð!r   c                 óŽ   — |                       ¦   «         }|                      |¦  «        }|                      |j        i ¦  «         d S r/   )r*  rƒ   rš   rp   )r3   r•   Úalbs      r   Útest_ctor_empty_registryz/AdapterLookupBaseTests.test_ctor_empty_registry  sB   € Ø×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ×Ò˜œ¨Ñ,Ô,Ð,Ð,Ð,r   c                 ó<  — ddl m} ddlm}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      |¦  «        }|                      t          |j         	                    ¦   «         ¦  «        t          |||g¦  «        ¦  «         |                      |j        |         ||g¦  «         |                      |j        |         |g¦  «         |                      t          |j        |         ¦  «        t          ||g¦  «        ¦  «         d S ©Nr   r   ©ÚInterfaceClassÚIFooÚIBar)
r*   r   Úzope.interface.interfacerp  r*  rƒ   rš   rÐ   rp   Úkeys©r3   r   rp  rq  rr  r•   rk  s          r   Útest_ctor_w_registry_providedz4AdapterLookupBaseTests.test_ctor_w_registry_provided  s2  € Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ�mŠm˜HÑ%Ô%ˆØ×Ò� ¤× 3Ò 3Ñ 5Ô 5Ñ6Ô6Ý  t¨YÐ 7Ñ8Ô8ñ	:ô 	:ð 	:à×Ò˜œ¨Ô-°°d¨|Ñ<Ô<Ð<Ø×Ò˜œ¨Ô-°¨vÑ6Ô6Ð6Ø×Ò� ¤¨yÔ 9Ñ:Ô:Ý  t Ñ-Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r   c                 óÊ   —  G d„ d¦  «        } G d„ d|                       ¦   «         |¦  «        }|                      ¦   «         } ||¦  «        }|                     |¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )úAAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixinc                 ó   — d S r/   r   rC   s     r   rn   zIAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixin.changed1  re  r   N©r
   r   r   rn   r   r   r   ÚMixinry  0  ó#   € € € € € ðð ð ð ð r   r|  c                   ó   — e Zd ZdS )úCAdapterLookupBaseTests.test_changed_empty_required.<locals>.DerivedNr	   r   r   r   rs  r  4  r¦   r   rs  )r€   r*  rn   )r3   r|  rs  r•   rk  s        r   Útest_changed_empty_requiredz2AdapterLookupBaseTests.test_changed_empty_required-  sœ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�d×*Ò*Ñ,Ô,¨eñ 	ô 	ð 	ð ×%Ò%Ñ'Ô'ˆØˆg�hÑÔˆØ�Š�CÑÔÐÐÐr   c                 óô  —  G d„ d¦  «        } G d„ d|                       ¦   «         |¦  «        } G d„ d¦  «        } |d¦  «        } |d¦  «        }|                      ¦   «         } ||¦  «        }d	|j        |<   d	|j        |<   |                     |¦  «         |                      t          |j        ¦  «        d
¦  «         |                      |j        d ¦  «         |                      |j        |¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú=AdapterLookupBaseTests.test_changed_w_required.<locals>.Mixinc                 ó   — d S r/   r   rC   s     r   rn   zEAdapterLookupBaseTests.test_changed_w_required.<locals>.Mixin.changed?  re  r   Nr{  r   r   r   r|  rƒ  >  r}  r   r|  c                   ó   — e Zd ZdS )ú?AdapterLookupBaseTests.test_changed_w_required.<locals>.DerivedNr	   r   r   r   rs  r†  B  r¦   r   rs  c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )úCAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakrefNc                 ó   — || _         d S r/   ©Ú_here)r3   Úheres     r   rO   zLAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__init__H  s   € Ø!�”
�
�
r   c                 ó   — | j         r| nd S r/   rŠ  r=   s    r   Ú__call__zLAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__call__K  s   € Ø#œzÐ3�t�t¨tÐ3r   c                 ó   — || _         d S r/   )Ú_unsub)r3   Útargets     r   r  zOAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.unsubscribeN  s   € Ø$�”��r   )r
   r   r   r�  rO   rŽ  r  r   r   r   ÚFauxWeakrefrˆ  E  sF   € € € € € ØˆFð"ð "ð "ð4ð 4ð 4ð%ð %ð %ð %ð %r   r’  FTr™   r   )r€   r*  Ú	_requiredrn   rš   r<   r�  )r3   r|  rs  r’  ÚgonerŒ  r•   rk  s           r   Útest_changed_w_requiredz.AdapterLookupBaseTests.test_changed_w_required;  sJ  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�d×*Ò*Ñ,Ô,¨eñ 	ô 	ð 	ð
	%ð 
	%ð 
	%ð 
	%ð 
	%ñ 
	%ô 
	%ð 
	%ð ˆ{˜5Ñ!Ô!ˆØˆ{˜4Ñ Ô ˆØ×%Ò%Ñ'Ô'ˆØˆg�hÑÔˆØˆŒ�dÑØˆŒ�dÑØ�Š�CÑÔÐØ×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò˜œ dÑ+Ô+Ð+Ø×Ò˜œ cÑ*Ô*Ð*Ð*Ð*r   c                 ór  — ddl m} ddlm}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      |¦  «        }||g|_        |                     ¦   «          |                      t          |j
                             ¦   «         ¦  «        t          |||g¦  «        ¦  «         |                      |j
        |         ||g¦  «         |                      |j
        |         |g¦  «         |                      t          |j
        |         ¦  «        t          ||g¦  «        ¦  «         d S rn  )r*   r   rs  rp  r*  rƒ   rº   Úinit_extendorsrš   rÐ   rp   rt  ru  s          r   Ú)test_init_extendors_after_registry_updatez@AdapterLookupBaseTests.test_init_extendors_after_registry_update\  sL  € Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ" D˜\ˆÔØ×ÒÑÔÐØ×Ò� ¤× 3Ò 3Ñ 5Ô 5Ñ6Ô6Ý  t¨YÐ 7Ñ8Ô8ñ	:ô 	:ð 	:à×Ò˜œ¨Ô-°°d¨|Ñ<Ô<Ð<Ø×Ò˜œ¨Ô-°¨vÑ6Ô6Ð6Ø×Ò� ¤¨yÔ 9Ñ:Ô:Ý  t Ñ-Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r   c                 óŒ  — ddl m} ddlm}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      |¦  «        }|                     |¦  «         |                     |¦  «         |                      t          |j	         
                    ¦   «         ¦  «        t          |||g¦  «        ¦  «         |                      |j	        |         ||g¦  «         |                      |j	        |         |g¦  «         |                      t          |j	        |         ¦  «        t          ||g¦  «        ¦  «         d S rn  )r*   r   rs  rp  r*  rƒ   rs   rš   rÐ   rp   rt  ru  s          r   Útest_add_extendorz(AdapterLookupBaseTests.test_add_extendorl  sV  € Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ×Ò˜ÑÔÐØ×Ò˜ÑÔÐØ×Ò� ¤× 3Ò 3Ñ 5Ô 5Ñ6Ô6Ý  t¨YÐ 7Ñ8Ô8ñ	:ô 	:ð 	:à×Ò˜œ¨Ô-°°d¨|Ñ<Ô<Ð<Ø×Ò˜œ¨Ô-°¨vÑ6Ô6Ð6Ø×Ò� ¤¨yÔ 9Ñ:Ô:Ý  t Ñ-Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r   c                 ób  — ddl m} ddlm}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      |¦  «        }|                     |¦  «         |                      t          |j	         
                    ¦   «         ¦  «        t          |||g¦  «        ¦  «         |                      |j	        |         |g¦  «         |                      |j	        |         |g¦  «         |                      t          |j	        |         ¦  «        t          |g¦  «        ¦  «         d S rn  )r*   r   rs  rp  r*  rƒ   rz   rš   rÐ   rp   rt  ru  s          r   Útest_remove_extendorz+AdapterLookupBaseTests.test_remove_extendor|  s@  € Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ�mŠm˜HÑ%Ô%ˆØ×Ò˜DÑ!Ô!Ð!Ø×Ò� ¤× 3Ò 3Ñ 5Ô 5Ñ6Ô6Ý  t¨YÐ 7Ñ8Ô8ñ	:ô 	:ð 	:à×Ò˜œ¨Ô-°¨vÑ6Ô6Ð6Ø×Ò˜œ¨Ô-°¨vÑ6Ô6Ð6Ø×Ò� ¤¨yÔ 9Ñ:Ô:Ý  ™œñ	)ô 	)ð 	)ð 	)ð 	)r   c                 ó˜  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      |¦  «        }|                     |f|¦  «        }|                      |d ¦  «         |                      t          |j        ¦  «        d¦  «         |                      | 	                    ¦   «         |j        ¦  «         d S ©Nr   ro  rq  rr  r™   )
rs  rp  r*  rƒ   rp  rš   r<   r“  rÿ   Úweakref©r3   rp  rq  rr  r•   rk  Úresults          r   Útest__uncached_lookup_empty_roz5AdapterLookupBaseTests.test__uncached_lookup_empty_ro�  sÉ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ×%Ò% t g¨tÑ4Ô4ˆØ×Ò˜ Ñ&Ô&Ð&Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø�Š�d—l’l‘n”n c¤mÑ4Ô4Ð4Ð4Ð4r   c                 óN  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }|j                             |¦  «         |                      |¦  «        }|                     |f|¦  «        }|                      |d ¦  «         d S ©Nr   ro  rq  rr  )	rs  rp  r*  re  r'  rU   rƒ   rp  rš   ©r3   rp  rq  rr  r•   Úsubrrk  r¡  s           r   Ú test__uncached_lookup_order_missz7AdapterLookupBaseTests.test__uncached_lookup_order_miss˜  s¶   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØ×%Ò% t g¨tÑ4Ô4ˆØ×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ój  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      ¦   «         }i i g|_        |j                             |¦  «         |                      |¦  «        }||_        | 	                    |f|¦  «        }|  
                    |d ¦  «         d S r¤  )rs  rp  r*  re  r«   r'  rU   rƒ   r“   rp  rš   r¥  s           r   Ú$test__uncached_lookup_extendors_missz;AdapterLookupBaseTests.test__uncached_lookup_extendors_miss£  sÄ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ×$Ò$Ñ&Ô&ˆØ˜b˜ˆŒØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×%Ò% t g¨tÑ4Ô4ˆØ×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ó¬  — ddl m}  |d¦  «        } |d|f¦  «        } |d¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }	|                      |	d ¦  «         d S ©Nr   ro  rq  rr  ÚIQuxr¶   ©rs  rp  r*  re  r   r«   r'  rU   rƒ   r“   rp  rš   ©
r3   rp  rq  rr  r¬  r•   r¦  Ú
irrelevantrk  r¡  s
             r   Ú1test__uncached_lookup_components_miss_wrong_ifacezHAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_iface°  sú   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØˆ~˜fÑ%Ô%ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘X”Xˆ
ààØ˜2˜zÐ*ððð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×%Ò% t g¨tÑ4Ô4ˆØ×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ó–  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }|                      |d ¦  «         d S ©Nr   ro  rq  rr  Ú	wrongnamer­  ©	r3   rp  rq  rr  r•   r¦  r³  rk  r¡  s	            r   Ú0test__uncached_lookup_components_miss_wrong_namezGAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_nameÆ  së   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆå‘H”Hˆ	ààØ˜;¨	Ð2ððð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×%Ò% t g¨tÑ4Ô4ˆØ×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ó–  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }|                      ||¦  «         d S ©Nr   ro  rq  rr  r¶   ©rs  rp  r*  re  r   r«   r'  rU   rƒ   r“   rp  r‘   )	r3   rp  rq  rr  r•   r¦  Ú	_expectedrk  r¡  s	            r   Ú test__uncached_lookup_simple_hitz7AdapterLookupBaseTests.test__uncached_lookup_simple_hitÜ  sã   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	àØ�D˜2˜y˜/Ð*Ð+ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×%Ò% t g¨tÑ4Ô4ˆØ�Š�f˜iÑ(Ô(Ð(Ð(Ð(r   c                 óð  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }| 
                    |f|¦  «        }	|                      ||¦  «         |                      |	|¦  «         d S r·  r¸  )
r3   rp  rq  rr  r•   r¦  r¹  rk  r¡  Úresult2s
             r   Ú"test__uncached_lookup_repeated_hitz9AdapterLookupBaseTests.test__uncached_lookup_repeated_hití  s  € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	àØ�D˜2˜y˜/Ð*Ð+ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×%Ò% t g¨tÑ4Ô4ˆØ×&Ò&¨ w°Ñ5Ô5ˆØ�Š�f˜iÑ(Ô(Ð(Ø�Š�g˜yÑ)Ô)Ð)Ð)Ð)r   c                 óþ  — ddl m} ddlm}  |d¦  «        } |d|f¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      ¦   «         }|                      ¦   «         }i i g|_        |j                             |¦  «         |  	                    |¦  «        }	|	j
        |	_        |	|_        t          ¦   «         }
|	                     |f||
¬¦  «        }|                      ||
¦  «         d S )	Nr   ©Úimplementerro  rq  rr  c                   ó   — e Zd ZdS )úFAdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss.<locals>.FooNr	   r   r   r   ÚFoorÂ    ó   € € € € € àˆDr   rÃ  ©Údefault)Úzope.interface.declarationsrÀ  rs  rp  r*  re  r«   r'  rU   rƒ   rp  r}  r“   r   ÚqueryMultiAdapterr‘   )r3   rÀ  rp  rq  rr  rÃ  Úfoor•   r¦  rk  r‘  r¡  s               r   Ú"test_queryMultiAdaptor_lookup_missz9AdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss   s<  € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×%Ò%Ñ'Ô'ˆØ×$Ò$Ñ&Ô&ˆàØð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ)ˆŒ
ØˆŒÝ‘8”8ˆØ×&Ò&¨ v¨t¸XÐ&ÑFÔFˆØ�Š�f˜hÑ'Ô'Ð'Ð'Ð'r   c                 óÞ   ‡‡— ddl m} ddlm}  |d¦  «        Š|                      ¦   «         }|                      |¦  «        Š‰j        ‰_        ˆˆfd„}|                     | |d¬¦  «         d S )Nr   ro  )ÚMissingSomeAttrsrq  c                 ó2   •— ‰                      | f‰¦  «        S r/   )rÈ  )Úobrq  rk  s    €€r   ÚtestzVAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access.<locals>.test'  s#   ø€ Ø×(Ò(Ø�Øñô ð r   rç  )Úexpected_missing)	rs  rp  Úzope.interface.testsrÌ  r*  rƒ   rp  r}  Útest_raises)r3   rp  rÌ  r•   rÏ  rq  rk  s        @@r   Ú1test_queryMultiAdapter_errors_on_attribute_accesszHAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access  s¦   øø€ ð 	<Ð;Ð;Ð;Ð;Ð;Ø9Ð9Ð9Ð9Ð9Ð9àˆ~˜fÑ%Ô%ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØÔ)ˆŒ
ð	ð 	ð 	ð 	ð 	ð 	ð 	×$Ò$ T¨4À+Ð$ÑNÔNÐNÐNÐNr   c                 óL  ‡— ddl m} ddlm}  |d¦  «        } |d|f¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      ||¦  «        }|                      ¦   «         }g Šˆfd„}	i ||d	|	iiig|_        |j                             |¦  «         |  	                    |¦  «        }
|
j
        |
_        |
|_        t          ¦   «         }|
                     |f||¬
¦  «        }|                      ||¦  «         |                      ‰|g¦  «         d S )Nr   r¿  ro  rq  rr  c                   ó   — e Zd ZdS )úGAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>.FooNr	   r   r   r   rÃ  rÖ  5  rÄ  r   rÃ  c                 ó2   •— ‰                      | ¦  «         d S r/   r„  )rÑ  r†  s    €r   rÓ  zLAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>._factory>  s   ø€ Ø×Ò Ñ(Ô(Ð(Ð(Ð(r   r¶   rÅ  )rÇ  rÀ  rs  rp  r*  re  r«   r'  rU   rƒ   rp  r}  r“   r   rÈ  r‘   rš   )r3   rÀ  rp  rq  rr  rÃ  rÉ  r•   r¦  rÓ  rk  r‘  r¡  r†  s                @r   Ú#test_queryMultiAdaptor_factory_missz:AdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss/  s‡  ø€ Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØˆð	)ð 	)ð 	)ð 	)ð 	)ð Ø�D˜2˜x˜.Ð)Ð*ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ)ˆŒ
ØˆŒÝ‘8”8ˆØ×&Ò&¨ v¨t¸XÐ&ÑFÔFˆØ�Š�f˜hÑ'Ô'Ð'Ø×Ò˜¨ uÑ-Ô-Ð-Ð-Ð-r   c                 ól  ‡‡— ddl m} ddlm}  |d¦  «        } |d|f¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      ||¦  «        }|                      ¦   «         }t          ¦   «         Šg Šˆˆfd„}	i ||d	|	iiig|_        |j         	                    |¦  «         |  
                    |¦  «        }
|
j        |
_        |
|_        t          ¦   «         }|
                     |f||¬
¦  «        }|                      |‰¦  «         |                      ‰|g¦  «         d S )Nr   r¿  ro  rq  rr  c                   ó   — e Zd ZdS )úFAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>.FooNr	   r   r   r   rÃ  rÛ  T  rÄ  r   rÃ  c                 ó2   •— ‰                      | ¦  «         ‰S r/   r„  )rÑ  r†  r¹  s    €€r   rÓ  zKAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>._factory^  s   ø€ Ø×Ò Ñ(Ô(Ð(ØÐr   r¶   rÅ  )rÇ  rÀ  rs  rp  r*  re  r   r«   r'  rU   rƒ   rp  r}  r“   rÈ  r‘   rš   )r3   rÀ  rp  rq  rr  rÃ  rÉ  r•   r¦  rÓ  rk  r‘  r¡  r†  r¹  s                @@r   Ú"test_queryMultiAdaptor_factory_hitz9AdapterLookupBaseTests.test_queryMultiAdaptor_factory_hitN  s–  øø€ Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	Øˆð	ð 	ð 	ð 	ð 	ð 	ð
 Ø�D˜2˜x˜.Ð)Ð*ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ)ˆŒ
ØˆŒÝ‘8”8ˆØ×&Ò&¨ v¨t¸XÐ&ÑFÔFˆØ�Š�f˜iÑ(Ô(Ð(Ø×Ò˜¨ uÑ-Ô-Ð-Ð-Ð-r   c                 ó  •‡— |                       |                      ¦   «         ¦  «        }ˆfd„}d„ Š||_        t          ¦   «         ddt          ¦   «         g}|                     |d ¦  «        }|                      || dd| f¦  «         d S )Nc                  ó   •— ‰S r/   r   )rØ   Úfactorys    €r   r}  zKAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.lookupr  s   ø€ ØˆNr   c                  ó   — | S r/   r   )rØ   s    r   rà  zLAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.factoryu  s   € ØˆKr   é*   Úabc)rƒ   r*  r}  ræ  rÈ  rš   )r3   rk  r}  Úobjectsr¡  rà  rç  s        @€r   Ú$test_queryMultiAdapter_super_unwrapsz;AdapterLookupBaseTests.test_queryMultiAdapter_super_unwrapso  s»   øø€ Ø�mŠm˜D×.Ò.Ñ0Ô0Ñ1Ô1ˆð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð ˆŒ
õ ‰GŒGØØÝ‰GŒGð	
ˆð ×&Ò& w°Ñ5Ô5ˆØ×Ò˜ØØØØð	"
ñ 	ô 	ð 	ð 	ð 	r   c                 ó˜  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      |¦  «        }|                     |f|¦  «        }|                      |d¦  «         |                      t          |j        ¦  «        d¦  «         |                      | 	                    ¦   «         |j        ¦  «         d S )Nr   ro  rq  rr  r   r™   )
rs  rp  r*  rƒ   rq  rš   r<   r“  rÿ   rŸ  r   s          r   Ú!test__uncached_lookupAll_empty_roz8AdapterLookupBaseTests.test__uncached_lookupAll_empty_ro‰  sÉ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ×(Ò(¨$¨°$Ñ7Ô7ˆØ×Ò˜ Ñ$Ô$Ð$Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø�Š�d—l’l‘n”n c¤mÑ4Ô4Ð4Ð4Ð4r   c                 ó\  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }|j                             |¦  «         |                      |¦  «        }||_        |                     |f|¦  «        }|  	                    |d¦  «         d S ©Nr   ro  rq  rr  r   )
rs  rp  r*  re  r'  rU   rƒ   r“   rq  rš   r¥  s           r   Ú#test__uncached_lookupAll_order_missz:AdapterLookupBaseTests.test__uncached_lookupAll_order_miss”  s½   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×(Ò(¨$¨°$Ñ7Ô7ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 ój  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      ¦   «         }i i g|_        |j                             |¦  «         |                      |¦  «        }||_        | 	                    |f|¦  «        }|  
                    |d¦  «         d S ré  )rs  rp  r*  re  r«   r'  rU   rƒ   r“   rq  rš   r¥  s           r   Ú'test__uncached_lookupAll_extendors_missz>AdapterLookupBaseTests.test__uncached_lookupAll_extendors_miss   sÄ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ×$Ò$Ñ&Ô&ˆØ˜b˜ˆŒØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×(Ò(¨$¨°$Ñ7Ô7ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 ó¬  — ddl m}  |d¦  «        } |d|f¦  «        } |d¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }	|                      |	d¦  «         d S )Nr   ro  rq  rr  r¬  r¶   r   )rs  rp  r*  re  r   r«   r'  rU   rƒ   r“   rq  rš   r®  s
             r   Ú(test__uncached_lookupAll_components_missz?AdapterLookupBaseTests.test__uncached_lookupAll_components_miss­  sõ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØˆ~˜fÑ%Ô%ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘X”Xˆ
àØ�D˜2˜zÐ*Ð+Ð,ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×(Ò(¨$¨°$Ñ7Ô7ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 óÚ  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }t	          ¦   «         }i ||||dœiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }	|                      t          |	¦  «        d|fd|fg¦  «         d S ©Nr   ro  rq  rr  )r¶   Únamedr¶   rñ  )rs  rp  r*  re  r   r«   r'  rU   rƒ   r“   rq  rš   rÐ   ©
r3   rp  rq  rr  r•   r¦  r¹  Ú_namedrk  r¡  s
             r   Ú#test__uncached_lookupAll_simple_hitz:AdapterLookupBaseTests.test__uncached_lookupAll_simple_hit¿  s  € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	Ý‘”ˆàØ�D˜y°6Ð:Ð:Ð;Ð<ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×(Ò(¨$¨°$Ñ7Ô7ˆØ×Ò� ™œ¨2¨y¨/¸GÀVÐ;LÐ)MÑNÔNÐNÐNÐNr   c                 óê  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }t	          ¦   «         }i ||||dœiig|_        |j                             |¦  «         |                      |¦  «        }|j	        |_
        ||_        |                     |f|¦  «        }	|                      t          |	¦  «        ddg¦  «         d S rð  )rs  rp  r*  re  r   r«   r'  rU   rƒ   rq  r÷  r“   Únamesrš   rÐ   rò  s
             r   Ú
test_namesz!AdapterLookupBaseTests.test_namesÑ  s  € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	Ý‘”ˆàØ�D˜y°6Ð:Ð:Ð;Ð<ð
ˆŒð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ/ˆŒØˆŒØ—’˜D˜7 DÑ)Ô)ˆØ×Ò� ™œ¨"¨g¨Ñ7Ô7Ð7Ð7Ð7r   c                 ó˜  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      |¦  «        }|                     |f|¦  «        }|                      |g ¦  «         |                      t          |j        ¦  «        d¦  «         |                      | 	                    ¦   «         |j        ¦  «         d S rž  )
rs  rp  r*  rƒ   rr  rš   r<   r“  rÿ   rŸ  r   s          r   Ú%test__uncached_subscriptions_empty_roz<AdapterLookupBaseTests.test__uncached_subscriptions_empty_roä  sÉ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ�mŠm˜HÑ%Ô%ˆØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò˜ Ñ$Ô$Ð$Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø�Š�d—l’l‘n”n c¤mÑ4Ô4Ð4Ð4Ð4r   c                 ó\  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }|j                             |¦  «         |                      |¦  «        }||_        |                     |f|¦  «        }|  	                    |g ¦  «         d S r¤  )
rs  rp  r*  re  r'  rU   rƒ   r“   rr  rš   r¥  s           r   Ú'test__uncached_subscriptions_order_missz>AdapterLookupBaseTests.test__uncached_subscriptions_order_missï  s½   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 ój  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ¦   «         }|                      ¦   «         }i i g|_        |j                             |¦  «         |                      |¦  «        }||_        | 	                    |f|¦  «        }|  
                    |g ¦  «         d S r¤  )rs  rp  r*  re  r³   r'  rU   rƒ   r“   rr  rš   r¥  s           r   Ú+test__uncached_subscriptions_extendors_misszBAdapterLookupBaseTests.test__uncached_subscriptions_extendors_missû  sÅ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò%Ñ'Ô'ˆØ×$Ò$Ñ&Ô&ˆØ ˜HˆÔØŒ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 ó¬  — ddl m}  |d¦  «        } |d|f¦  «        } |d¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }	|                      |	g ¦  «         d S r«  ©rs  rp  r*  re  r   r³   r'  rU   rƒ   r“   rr  rš   r®  s
             r   Ú8test__uncached_subscriptions_components_miss_wrong_ifacezOAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_iface  sö   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØˆ~˜fÑ%Ô%ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘X”Xˆ
àØ�D˜2˜zÐ*Ð+Ð,ð
ˆÔð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 ó–  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         }t	          ¦   «         }i ||d|iiig|_        |j                             |¦  «         |                      |¦  «        }||_	        | 
                    |f|¦  «        }|                      |g ¦  «         d S r²  rÿ  r´  s	            r   Ú7test__uncached_subscriptions_components_miss_wrong_namezNAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_name  sç   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆÝ‘H”Hˆ	àØ�D˜;¨	Ð2Ð3Ð4ð
ˆÔð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r   c                 óø  — ddl m}  |d¦  «        } |d|f¦  «        }|                      ||¦  «        }|                      ¦   «         } G d„ d¦  «        } |¦   «          |¦   «         }}i ||d||fiiig|_        |j                             |¦  «         |                      |¦  «        }	|	|_        |	 	                    |f|¦  «        }
|  
                    t          |
¦  «        t          ||g¦  «        ¦  «         d S )Nr   ro  rq  rr  c                   ó   — e Zd Zd„ ZdS )úKAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Fooc                 ó   — dS )NTr   rC   s     r   Ú__lt__zRAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Foo.__lt__4  s   € Ø�tr   N)r
   r   r   r  r   r   r   rÃ  r  2  s#   € € € € € ðð ð ð ð r   rÃ  r¶   )rs  rp  r*  re  r³   r'  rU   rƒ   r“   rr  rš   rÐ   )r3   rp  rq  rr  r•   r¦  rÃ  Ú_exp1Ú_exp2rk  r¡  s              r   Ú'test__uncached_subscriptions_simple_hitz>AdapterLookupBaseTests.test__uncached_subscriptions_simple_hit+  s3  € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð
 �s‘u”u˜c˜c™eœeˆuˆàØ�D˜2  u˜~Ð.Ð/Ð0ð
ˆÔð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØˆŒØ×,Ò,¨d¨W°dÑ;Ô;ˆØ×Ò� ™œ­°¸°Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r   c                 ón  ‡— ddl m} ddlm}  |d¦  «        } |d|f¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      ||¦  «        }|                      ||¦  «        }|                      ¦   «         }i Šˆfd„}	ˆfd	„}
i |d d
|	|
fiiig|_        |j                             |¦  «         |  	                    |¦  «        }|j
        |_        ||_        |                     |fd ¦  «        }|                      |d¦  «         |                      ‰|g|gdœ¦  «         d S )Nr   r¿  ro  rq  rr  c                   ó   — e Zd ZdS )ú@AdapterLookupBaseTests.test_subscribers_wo_provided.<locals>.FooNr	   r   r   r   rÃ  r  H  rÄ  r   rÃ  c                 óZ   •— ‰                      dg ¦  «                             | ¦  «         d S ©Nr5  ©Ú
setdefaultrU   ©rÑ  Ú_calleds    €r   r5  zFAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory1R  ó-   ø€ Ø×Ò˜{¨BÑ/Ô/×6Ò6°wÑ?Ô?Ð?Ð?Ð?r   c                 óZ   •— ‰                      dg ¦  «                             | ¦  «         d S ©Nr9  r  r  s    €r   r9  zFAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory2U  r  r   r¶   r   )r5  r9  )rÇ  rÀ  rs  rp  r*  re  r³   r'  rU   rƒ   rr  r  r“   Úsubscribersrš   )r3   rÀ  rp  rq  rr  rÃ  rÉ  r•   r¦  r5  r9  rk  r¡  r  s                @r   Útest_subscribers_wo_providedz3AdapterLookupBaseTests.test_subscribers_wo_providedB  sÃ  ø€ Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×%Ò% d¨DÑ1Ô1ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØˆð	@ð 	@ð 	@ð 	@ð 	@ð	@ð 	@ð 	@ð 	@ð 	@ð Ø�D˜2 	¨9Ð5Ð6Ð7Ð8ð
ˆÔð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ7ˆÔØˆŒØ—’ # ¨Ñ.Ô.ˆØ×Ò˜ Ñ$Ô$Ð$Ø×Ò˜°°ÀSÀEÐ"JÐ"JÑKÔKÐKÐKÐKr   c                 óÄ  ‡‡‡— ddl m} ddlm}  |d¦  «        } |d|f¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      ||¦  «        }|                      ||¦  «        }|                      ¦   «         }i Št          ¦   «         t          ¦   «         cŠŠˆˆfd„}	ˆˆfd	„}
ˆfd
„}i ||d|	|
|fiiig|_        |j         	                    |¦  «         |  
                    |¦  «        }|j        |_        ||_        |                     |f|¦  «        }|                      |‰‰g¦  «         |                      ‰|g|g|gdœ¦  «         d S )Nr   r¿  ro  rq  rr  c                   ó   — e Zd ZdS )ú?AdapterLookupBaseTests.test_subscribers_w_provided.<locals>.FooNr	   r   r   r   rÃ  r  j  rÄ  r   rÃ  c                 óZ   •— ‰                      dg ¦  «                             | ¦  «         ‰S r  r  )rÑ  r  r  s    €€r   r5  zEAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory1u  ó,   ø€ Ø×Ò˜{¨BÑ/Ô/×6Ò6°wÑ?Ô?Ð?ØˆLr   c                 óZ   •— ‰                      dg ¦  «                             | ¦  «         ‰S r  r  )rÑ  r  r	  s    €€r   r9  zEAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory2y  r  r   c                 óZ   •— ‰                      dg ¦  «                             | ¦  «         d S )NÚ_side_effect_onlyr  r  s    €r   r   zMAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._side_effect_only}  s.   ø€ Ø×ÒÐ2°BÑ7Ô7×>Ò>¸wÑGÔGÐGÐGÐGr   r¶   )r5  r9  r   )rÇ  rÀ  rs  rp  r*  re  r   r³   r'  rU   rƒ   rr  r  r“   r  rš   )r3   rÀ  rp  rq  rr  rÃ  rÉ  r•   r¦  r5  r9  r   rk  r¡  r  r  r	  s                 @@@r   Útest_subscribers_w_providedz2AdapterLookupBaseTests.test_subscribers_w_providedd  s  øøø€ Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×%Ò% d¨DÑ1Ô1ˆØ×%Ò% d¨DÑ1Ô1ˆØ×$Ò$Ñ&Ô&ˆØˆÝ‘x”x¥¡¤ˆˆˆuð	ð 	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð	Hð 	Hð 	Hð 	Hð 	Hð Ø�D˜2 	¨9Ð6GÐHÐIÐJÐKð
ˆÔð 	Œ×Ò˜4Ñ Ô Ð Ø�mŠm˜HÑ%Ô%ˆØÔ7ˆÔØˆŒØ—’ # ¨Ñ.Ô.ˆØ×Ò˜ %¨ Ñ0Ô0Ð0Ø×ÒØØ!˜UØ!˜UØ&) Uðð ñ	
ô 	
ð 	
ð 	
ð 	
r   ))r
   r   r   r€   rƒ   re  r*  rl  rv  r€  r•  r˜  rš  rœ  r¢  r§  r©  r°  rµ  rº  r½  rÊ  rÓ  rØ  rÝ  rå  rç  rê  rì  rî  rô  r÷  rù  rû  rý  r   r  r
  r  r!  r	  r
  s   @r   r\  r\  ÿ  sc  ø€ € € € € ð!ð !ð !ð0ð 0ð 0ðð ð ð"ð "ð "ð-ð -ð -ð
/ð /ð /ðð ð ð+ð +ð +ðB/ð /ð /ð /ð /ð /ð )ð )ð )ð"	5ð 	5ð 	5ð	'ð 	'ð 	'ð'ð 'ð 'ð'ð 'ð 'ð,'ð 'ð 'ð,)ð )ð )ð"*ð *ð *ð&(ð (ð (ð2Oð Oð Oð,.ð .ð .ð>.ð .ð .ðBð ð ð ð ð4	5ð 	5ð 	5ð
%ð 
%ð 
%ð%ð %ð %ð%ð %ð %ð$Oð Oð Oð$8ð 8ð 8ð&	5ð 	5ð 	5ð
%ð 
%ð 
%ð%ð %ð %ð%ð %ð %ð$%ð %ð %ð"Að Að Að. Lð  Lð  LðD,
ð ,
ð ,
ð ,
ð ,
ð ,
ð ,
r   r\  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚVerifyingAdapterRegistryTestsc                 ó   — ddl m} |S )Nr   )ÚVerifyingAdapterRegistry)ra   r%  )r3   r%  s     r   r€   z-VerifyingAdapterRegistryTests._getTargetClassš  s   € ØCÐCÐCÐCÐCÐCØ'Ð'r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r/   r‚   )r3   rØ   Úkws      r   rƒ   z&VerifyingAdapterRegistryTests._makeOnež  s#   € Ø%ˆt×#Ò#Ñ%Ô% tÐ2¨rÐ2Ð2Ð2r   c                 ó^   — ddl m} ddlm} |                      ¦   «         } |||¦  «         d S )Nr   )ÚIAdapterRegistry)ÚverifyObject)Úzope.interface.interfacesr)  Úzope.interface.verifyr*  rƒ   )r3   r)  r*  r•   s       r   Ú,test_verify_object_provides_IAdapterRegistryzJVerifyingAdapterRegistryTests.test_verify_object_provides_IAdapterRegistry¡  sL   € Ø>Ð>Ð>Ð>Ð>Ð>Ø6Ð6Ð6Ð6Ð6Ð6Ø—=’=‘?”?ˆØˆÐ% xÑ0Ô0Ð0Ð0Ð0r   N)r
   r   r   r€   rƒ   r-  r   r   r   r#  r#  “  sA   € € € € € ð(ð (ð (ð3ð 3ð 3ð1ð 1ð 1ð 1ð 1r   r#  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚAdapterRegistryTestsc                 ó   — ddl m} |S )Nr   )ÚAdapterRegistry)ra   r1  )r3   r1  s     r   r€   z$AdapterRegistryTests._getTargetClassª  s   € Ø:Ð:Ð:Ð:Ð:Ð:ØÐr   c                 ó~   — |                       ¦   «         }|                      t          |j        ¦  «        d¦  «         d S r9  )rƒ   rš   r<   Ú_v_subregistries)r3   Úars     r   Útest_ctor_no_basesz'AdapterRegistryTests.test_ctor_no_bases®  s6   € Ø�]Š]‰_Œ_ˆØ×Ò�˜RÔ0Ñ1Ô1°1Ñ5Ô5Ð5Ð5Ð5r   c                 ó0  — |                       ¦   «         }|                       |g¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||j        ¦  «         d S rª   )rƒ   rš   r<   r3  rÿ   )r3   ÚbaseÚsubs      r   Útest_ctor_w_basesz&AdapterRegistryTests.test_ctor_w_bases²  s�   € Ø�}Š}‰ŒˆØ�mŠm˜T˜FÑ#Ô#ˆØ×Ò�˜SÔ1Ñ2Ô2°AÑ6Ô6Ð6Ø×Ò�˜TÔ2Ñ3Ô3°QÑ7Ô7Ð7Ø�Š�c˜4Ô0Ñ1Ô1Ð1Ð1Ð1r   c                 óh  — |                       ¦   «         }|                       ¦   «         }|                       |g¦  «        }|g|_        |                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||j        ¦  «         d S rª   ©rƒ   r§   rš   r<   r3  rÿ   ©r3   ÚbeforeÚafterr8  s       r   Ú,test__setBases_removing_existing_subregistryzAAdapterRegistryTests.test__setBases_removing_existing_subregistry»  s—   € Ø—’‘”ˆØ—’‘”ˆØ�mŠm˜V˜HÑ%Ô%ˆØ˜ˆŒØ×Ò�˜VÔ4Ñ5Ô5°qÑ9Ô9Ð9Ø×Ò�˜UÔ3Ñ4Ô4°aÑ8Ô8Ð8Ø�Š�c˜5Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 óÐ  — |                       ¦   «         }|                       ¦   «         }|                       ¦   «         }|                       |g¦  «        }|j        d                              |¦  «         |g|_        |                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||j        ¦  «         d S )Nr§   r   r™   )rƒ   Ú__dict__rU   r§   rš   r<   r3  rÿ   )r3   r=  Ústrayr>  r8  s        r   Útest__setBases_wo_stray_entryz2AdapterRegistryTests.test__setBases_wo_stray_entryÄ  s¿   € Ø—’‘”ˆØ—’‘”ˆØ—’‘”ˆØ�mŠm˜V˜HÑ%Ô%ˆØŒ�[Ô!×(Ò(¨Ñ/Ô/Ð/Ø˜ˆŒØ×Ò�˜VÔ4Ñ5Ô5°qÑ9Ô9Ð9Ø×Ò�˜UÔ3Ñ4Ô4°aÑ8Ô8Ð8Ø�Š�c˜5Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 ó   — |                       ¦   «         }|                       ¦   «         }|                       |g¦  «        }||g|_        |                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||j        ¦  «         |                      ||j        ¦  «         d S r˜   r;  r<  s       r   Ú*test__setBases_w_existing_entry_continuingz?AdapterRegistryTests.test__setBases_w_existing_entry_continuingÏ  s°   € Ø—’‘”ˆØ—’‘”ˆØ�mŠm˜V˜HÑ%Ô%ˆØ ˜ˆŒØ×Ò�˜VÔ4Ñ5Ô5°qÑ9Ô9Ð9Ø×Ò�˜UÔ3Ñ4Ô4°aÑ8Ô8Ð8Ø�Š�c˜6Ô2Ñ3Ô3Ð3Ø�Š�c˜5Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 óv  — |                       ¦   «         } G d„ d¦  «        } |¦   «          |¦   «         }}|                     |¦  «         |                     |¦  «         t          ¦   «         }|                     |¦  «         |                      |j        |¦  «         |                      |j        |¦  «         d S )Nc                   ó   — e Zd ZdZd„ ZdS )úBAdapterRegistryTests.test_changed_w_subregistries.<locals>.DerivedNc                 ó   — || _         d S r/   rk   )r3   Úoriginally_changeds     r   rn   zJAdapterRegistryTests.test_changed_w_subregistries.<locals>.Derived.changedß  s   € Ø 2�”��r   )r
   r   r   rl   rn   r   r   r   rs  rH  Ü  s(   € € € € € ØˆHð3ð 3ð 3ð 3ð 3r   rs  )rƒ   Ú_addSubregistryr   rn   r‘   rl   )r3   r7  rs  Úderived1Úderived2rm   s         r   Útest_changed_w_subregistriesz1AdapterRegistryTests.test_changed_w_subregistriesÙ  sÅ   € Ø�}Š}‰Œˆð	3ð 	3ð 	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð %˜W™YœY¨¨©	¬	�(ˆØ×Ò˜XÑ&Ô&Ð&Ø×Ò˜XÑ&Ô&Ð&Ý‰xŒxˆØ�Š�TÑÔÐØ�Š�hÔ'¨Ñ.Ô.Ð.Ø�Š�hÔ'¨Ñ.Ô.Ð.Ð.Ð.r   N)
r
   r   r   r€   r5  r9  r?  rC  rE  rN  r   r   r   r/  r/  ¨  s}   € € € € € ðð ð ð6ð 6ð 6ð2ð 2ð 2ð3ð 3ð 3ð	3ð 	3ð 	3ð3ð 3ð 3ð/ð /ð /ð /ð /r   r/  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
Test_utilsc                 ó\   — ddl m} ddlm} |                       |d ¦  «        |¦  «         d S )Nr   ©Ú_convert_None_to_Interfacer   )ra   rS  rs  r   r‘   )r3   rS  r   s      r   Ú&test__convert_None_to_Interface_w_Nonez1Test_utils.test__convert_None_to_Interface_w_Noneí  sL   € ØEÐEÐEÐEÐEÐEØ6Ð6Ð6Ð6Ð6Ð6Ø�ŠÐ0Ð0°Ñ6Ô6¸	ÑBÔBÐBÐBÐBr   c                 ól   — ddl m} t          ¦   «         }|                       ||¦  «        |¦  «         d S )Nr   rR  )ra   rS  r   r‘   )r3   rS  rD   s      r   Ú'test__convert_None_to_Interface_w_otherz2Test_utils.test__convert_None_to_Interface_w_otherò  sC   € ØEÐEÐEÐEÐEÐEÝ‘”ˆØ�ŠÐ0Ð0°Ñ7Ô7¸Ñ?Ô?Ð?Ð?Ð?r   c                 ó¢   — ddl m} d}d} ||¦  «        }|                      ||¦  «         |                      |t	          |¦  «        ¦  «         d S )Nr   ©Ú_normalize_names   strÚstr)ra   rY  rš   r¬   rB   )r3   rY  ÚSTRÚUNICODEÚnorms        r   Útest__normalize_name_strz#Test_utils.test__normalize_name_str÷  se   € Ø:Ð:Ð:Ð:Ð:Ð:ØˆØˆØˆ˜sÑ#Ô#ˆØ×Ò˜˜wÑ'Ô'Ð'Ø×Ò˜d¥D¨¡M¤MÑ2Ô2Ð2Ð2Ð2r   c                 óT   — ddl m} d}|                       ||¦  «        |¦  «         d S )Nr   rX  Úustr)ra   rY  rš   )r3   rY  ÚUSTRs      r   Útest__normalize_name_unicodez'Test_utils.test__normalize_name_unicodeÿ  s?   € Ø:Ð:Ð:Ð:Ð:Ð:àˆØ×Ò˜˜¨Ñ.Ô.°Ñ5Ô5Ð5Ð5Ð5r   c                 óx   — ddl m} dddg i t          ¦   «         fD ]}|                      t          ||¦  «         Œd S )Nr   rX  r™   g      ð?r   )ra   rY  r   rÜ   Ú	TypeError)r3   rY  rD   s      r   Útest__normalize_name_otherz%Test_utils.test__normalize_name_other	  s]   € Ø:Ð:Ð:Ð:Ð:Ð:Ø˜˜R  R­©¬Ð1ð 	Að 	AˆEØ×Ò�i¨¸%Ñ@Ô@Ð@Ð@ð	Að 	Ar   N)r
   r   r   rT  rV  r^  rb  re  r   r   r   rP  rP  ë  sj   € € € € € ðCð Cð Cð
@ð @ð @ð
3ð 3ð 3ð6ð 6ð 6ðAð Að Að Að Ar   rP  )rZ  ÚunittestrÑ  r   r+   r-   rJ   rR   rW   rZ   ÚTestCaser\   rH  r\  r  r  rX  r\  r#  r/  rP  r   r   r   ú<module>rh     s  ððð à €€€à 6Ð 6Ð 6Ð 6Ð 6Ð 6ð7ð 7ð 7ðH ð  ð  ð  ð  ñ  ô  ð  ð<&ð &ð &ð &ð &Ð&ñ &ô &ð &ð(ð (ð (ð (ð (Ð'ñ (ô (ð (ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�]ñ 	ô 	ð 	ðMð Mð Mð Mð M˜xÔ0ñ Mô Mð Mð`0$ð 0$ð 0$ð 0$ð 0$Ð*Bñ 0$ô 0$ð 0$ðfy8ð y8ð y8ð y8ð y8˜hÔ/ñ y8ô y8ð y8ðxð ð ð ð Ð-Ø+ñô ð ðz3ð z3ð z3ð z3ð z3 Ô!2ñ z3ô z3ð z3ðzð ð ð ð Ð3Ø.ñô ð ðQ

ð Q

ð Q

ð Q

ð Q

˜XÔ.ñ Q

ô Q

ð Q

ðh1ð 1ð 1ð 1ð 1 HÔ$5ñ 1ô 1ð 1ð*@/ð @/ð @/ð @/ð @/Ð8ñ @/ô @/ð @/ðFAð Að Að Að A�Ô"ñ Aô Að Að Að Ar   