ó
    Ï›‘h‡C ã                   óæ  • S r SSKrSSKJr  S r " S S5      r " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r	 " S S\R                  5      r " S S\5      r " S S\R                  5      r " S S\\5      r " S S\R                  5      r " S S\\5      r " S S\R                  5      r " S S\R                  5      r " S S \5      r " S! S"\R                  5      rg)#zAdapter registry tests
é    N)ÚOptimizationTestMixinc            	      óâ   • SSK Jn    " S SU 5      n " S SU5      n " S SU5      n " S	 S
X25      n " S SX#5      n " S SU 5      n " S SU5      n " S SU 5      n " S SU5      n	XX4XVXxU	4	$ )Nr   ©Ú	Interfacec                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IB0é   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r
   ó    ÚeC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\zope/interface/tests/test_adapter.pyÚIB0r      ó   † Úr   r   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IB1é   r
   Nr   r
   r   r   ÚIB1r      r   r   r   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IB2é!   r
   Nr   r
   r   r   ÚIB2r   !   r   r   r   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IB3é$   r
   Nr   r
   r   r   ÚIB3r   $   r   r   r    c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IB4é'   r
   Nr   r
   r   r   ÚIB4r"   '   r   r   r$   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IF0é*   r
   Nr   r
   r   r   ÚIF0r&   *   r   r   r(   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IF1é-   r
   Nr   r
   r   r   ÚIF1r*   -   r   r   r,   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IR0é0   r
   Nr   r
   r   r   ÚIR0r.   0   r   r   r0   c                   ó   • \ rS rSrSrg)Ú_makeInterfaces.<locals>.IR1é3   r
   Nr   r
   r   r   ÚIR1r2   3   r   r   r4   )Úzope.interfacer   )
r   r   r   r   r    r$   r(   r,   r0   r4   s
             r   Ú_makeInterfacesr6      s„   € Ý(ôˆiô ôˆcô ôˆcô ôˆcô ôˆcô ôˆiô ôˆcô ôˆiô ôˆcô ð �S˜s¨°3Ð6Ð6r   c                   óB   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
rg)ÚCustomDataTypeBaseé<   Nc                 ó    • U R                   U   $ ©N©Ú_data©ÚselfÚnames     r   Ú__getitem__ÚCustomDataTypeBase.__getitem__?   s   € Ø�z‰z˜$ÑÐr   c                 ó    • X R                   U'   g r;   r<   )r?   r@   Úvalues      r   Ú__setitem__ÚCustomDataTypeBase.__setitem__B   s   € Ø �
‰
�4Òr   c                 ó   • U R                   U	 g r;   r<   r>   s     r   Ú__delitem__ÚCustomDataTypeBase.__delitem__E   s   € Ø�J‰J�tÑr   c                 ó,   • [        U R                  5      $ r;   )Úlenr=   ©r?   s    r   Ú__len__ÚCustomDataTypeBase.__len__H   s   € Ü�4—:‘:‹Ðr   c                 ó   • XR                   ;   $ r;   r<   r>   s     r   Ú__contains__ÚCustomDataTypeBase.__contains__K   s   € Ø—z‘zÑ!Ð!r   c                 ón   • XL a  g[        U5      [        U 5      La  gUR                  U R                  :H  $ )NTF)Útyper=   ©r?   Úothers     r   Ú__eq__ÚCustomDataTypeBase.__eq__N   s0   € ØŠ=Øä�‹;œd 4›jÒ(ØØ�{‰{˜dŸj™jÑ(Ð(r   c                 ó,   • [        U R                  5      $ r;   )Úreprr=   rL   s    r   Ú__repr__ÚCustomDataTypeBase.__repr__V   s   € Ü�D—J‘JÓÐr   r
   )r   r   r   r   r=   rA   rE   rH   rM   rP   rV   rZ   r   r
   r   r   r8   r8   <   s*   † Ø€Eò ò!òòò"ò)õ r   r8   c                   ó   • \ rS rSrSS jrSrg)ÚCustomMappingéZ   Nc                 óÂ   • 0 U l         U(       a  U R                   R                  U5        U R                   R                  U l        U R                   R                  U l        g r;   )r=   ÚupdateÚgetÚitemsrT   s     r   Ú__init__ÚCustomMapping.__init__[   s>   € ØˆŒ
ÞØ�J‰J×Ñ˜eÔ$Ø—:‘:—>‘>ˆŒØ—Z‘Z×%Ñ%ˆ�
r   )r=   ra   rb   r;   ©r   r   r   r   rc   r   r
   r   r   r]   r]   Z   s   † ÷&r   r]   c                   ó   • \ rS rSrSS jrSrg)ÚCustomSequenceéc   Nc                 óŒ   • / U l         U(       a  U R                   R                  U5        U R                   R                  U l        g r;   )r=   ÚextendÚappendrT   s     r   rc   ÚCustomSequence.__init__d   s/   € ØˆŒ
ÞØ�J‰J×Ñ˜eÔ$Ø—j‘j×'Ñ'ˆ�r   )r=   rk   r;   re   r
   r   r   rg   rg   c   s   † ÷(r   rg   c                   ó   • \ rS rSrSrg)ÚCustomLeafSequenceék   r
   Nr   r
   r   r   rn   rn   k   ó   † Úr   rn   c                   ó   • \ rS rSrSrg)ÚCustomProvidedéo   r
   Nr   r
   r   r   rr   rr   o   rp   r   rr   c                   ó  • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS.S jrS.S jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S-r/g)/ÚBaseAdapterRegistryTestsés   Nc                 ó   • SSK Jn  U$ )Nr   ©ÚBaseAdapterRegistry©Úzope.interface.adapterry   )r?   ry   s     r   Ú_getBaseAdapterRegistryÚ0BaseAdapterRegistryTests._getBaseAdapterRegistryw   s   € Ý>Ø"Ð"r   c                 ó    • U R                  5       n " S SU5      nUR                   H"  n[        UR                  U[	        5       5        M$     U$ )Nc                   ó(   • \ rS rSr " S S5      rSrg)Ú6BaseAdapterRegistryTests._getTargetClass.<locals>._CUTé~   c                   ó4   • \ rS rSrS=rrS rS rS rS r	Sr
g)	ÚBBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClassé€   r
   c                 ó   • g r;   r
   )r?   Úregs     r   rc   ÚKBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.__init__ƒ   s   € Ør   c                 ó0   • U =R                   U4-  sl         g r;   ©Ú_changed)r?   Úorigs     r   ÚchangedÚJBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.changed†   s   € Ø—M’M d WÑ,–Mr   c                 ó0   • U =R                   U4-  sl         g r;   ©Ú
_extendors©r?   Úprovideds     r   Úadd_extendorÚOBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.add_extendor‰   s   € Ø—O’O¨ {Ñ2–Or   c                 ór   • [        U R                   Vs/ s H  nX!:w  d  M
  UPM     sn5      U l        g s  snf r;   )Útupler�   )r?   r’   Úxs      r   Úremove_extendorÚRBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.remove_extendorŒ   s5   € Ü&+¸¿ºó -?º°1Ø01±÷ ./¹ñ -?ó '@�D•Oùò -?s   ”	4¡4r�   N)r   r   r   r   rŠ   r�   rc   rŒ   r“   r˜   r   r
   r   r   ÚLookupClassrƒ   €   s!   † Ø(*Ð*�˜:òò-ò3õ@r   rš   r
   N)r   r   r   r   rš   r   r
   r   r   Ú_CUTr€   ~   s   † ÷@ô @r   r›   )r|   Ú
_delegatedÚsetattrrš   Úobject)r?   ry   r›   r@   s       r   Ú_getTargetClassÚ(BaseAdapterRegistryTests._getTargetClass{   sK   € Ø"×:Ñ:Ó<Ðô	@Ð&ô 	@ð$ (×2Ô2ˆDÜ�D×$Ñ$ d¬F«HÖ5ñ 3àˆr   c                 ó,   • U R                  5       " 5       $ r;   ©rŸ   rL   s    r   Ú_makeOneÚ!BaseAdapterRegistryTests._makeOne”   s   € Ø×#Ñ#Ô%Ó'Ð'r   c                 ó   • [         $ r;   ©ÚdictrL   s    r   Ú_getMappingTypeÚ(BaseAdapterRegistryTests._getMappingType—   ó   € Üˆr   c                 ó   • [         $ r;   r¦   rL   s    r   Ú_getProvidedTypeÚ)BaseAdapterRegistryTests._getProvidedTypeš   rª   r   c                 ó   • [         $ r;   )ÚlistrL   s    r   Ú_getMutableListTypeÚ,BaseAdapterRegistryTests._getMutableListType�   rª   r   c                 ó   • [         $ r;   )r–   rL   s    r   Ú_getLeafSequenceTypeÚ-BaseAdapterRegistryTests._getLeafSequenceType    s   € Üˆr   c                 ó¶   • U R                  5       nU" 5       nUR                   H2  nU R                  [        X#5      [        UR                  U5      5        M4     g r;   )rŸ   rœ   ÚassertIsÚgetattrÚ	_v_lookup)r?   ÚCUTÚregistryr@   s       r   Útest_lookup_delegationÚ/BaseAdapterRegistryTests.test_lookup_delegation£   sH   € Ø×"Ñ"Ó$ˆÙ“5ˆØ—N”NˆDØ�M‰MÜ˜Ó'¬°×1CÑ1CÀTÓ)Jöò #r   c                 ó\   • U R                  5       nU R                  UR                  S5        g ©Né   )r£   ÚassertEqualÚ_generation©r?   rº   s     r   Ú"test__generation_on_first_creationÚ;BaseAdapterRegistryTests.test__generation_on_first_creation«   s#   € Ø—=‘=“?ˆà×Ñ˜×-Ñ-¨qÕ1r   c                 óà   • U R                  5       n[        5       nUR                  U5        U R                  UR                  S5        U R                  UR
                  R                  X45        g ©Né   )r£   rž   rŒ   rÀ   rÁ   r¸   rŠ   )r?   rº   r‹   s      r   Ú&test__generation_after_calling_changedÚ?BaseAdapterRegistryTests.test__generation_after_calling_changed°   sW   € Ø—=‘=“?ˆÜ‹xˆØ×Ñ˜Ôà×Ñ˜×-Ñ-¨qÔ1Ø×Ñ˜×+Ñ+×4Ñ4°xÐ6GÕHr   c                 ó€   •  " S S5      nU R                  5       nU4Ul        U R                  UR                  S5        g )Nc                   ó   • \ rS rSrSrg)ÚQBaseAdapterRegistryTests.test__generation_after_changing___bases__.<locals>._Baseé¹   r
   Nr   r
   r   r   Ú_BaserÌ   ¹   ó   † Úr   rÎ   rÇ   )r£   Ú	__bases__rÀ   rÁ   )r?   rÎ   rº   s      r   Ú)test__generation_after_changing___bases__ÚBBaseAdapterRegistryTests.test__generation_after_changing___bases__¸   s7   € ÷	ñ 	à—=‘=“?ˆØ#˜XˆÔØ×Ñ˜×-Ñ-¨qÕ1r   c                 óæ  • U R                  [        UR                  5      U5        U R                  UR                  U R	                  5       5        U R                  5       nUR                   H  nU R                  XC5        M     U R                  UR                  S   U" 5       5        U R                  UR                  S   U5        U R                  [        UR                  US-
     5      S5        g ©Nr   r¿   )rÀ   rK   Ú	_adaptersÚassertIsInstancer°   r¨   ©r?   rº   Úexpected_orderÚMTÚmappings        r   Ú_check_basic_types_of_adaptersÚ7BaseAdapterRegistryTests._check_basic_types_of_adapters¿   sÊ   € Ø×ÑÜ�×"Ñ"Ó# ^ô	
ð 	×Ñ˜h×0Ñ0°$×2JÑ2JÓ2LÔMØ×!Ñ!Ó#ˆØ×)Ô)ˆGØ×!Ñ! 'Ö.ñ *à×Ñ˜×+Ñ+¨AÑ.±³Ô5Ø×Ñ˜h×0Ñ0°Ñ3°RÔ8Ø×Ñœ˜X×/Ñ/°ÀÑ0BÑCÓDÀaÕHr   c                 óö  • U R                  [        UR                  5      U5        U R                  UR                  U R	                  5       5        U R                  5       nUR                   H  nU R                  XC5        M     U(       ao  U R                  UR                  S   U" 5       5        U R                  UR                  S   U5        U R                  [        UR                  US-
     5      S5        g g rÔ   )rÀ   rK   Ú_subscribersrÖ   r°   r¨   r×   s        r   Ú!_check_basic_types_of_subscribersÚ:BaseAdapterRegistryTests._check_basic_types_of_subscribersË   s×   € Ø×ÑÜ�×%Ñ%Ó&¨ô	
ð 	×ÑØ×!Ñ! 4×#;Ñ#;Ó#=ô	
ð ×!Ñ!Ó#ˆØ×,Ô,ˆGØ×!Ñ! 'Ö.ñ -æØ×Ñ˜X×2Ñ2°1Ñ5±r³tÔ<Ø×!Ñ! (×"7Ñ"7¸Ñ":¸BÔ?Ø×ÑœS ×!6Ñ!6°~ÈÑ7IÑ!JÓKÈQÕOð r   c                 ód  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/USS5        U R                  U
R	                  U/US5      S5        U R                  U
R
                  S5        U R                  U
5        U R                  5       nU R                  U
R                  S   U" X" X‹" SS05      05      05      5        U R                  5       nU R                  U
R                  U" US05      5        [        U
R                  5       5      nU R                  UU4USS4/5        g )NÚ ÚA1rÇ   r¿   )r6   r£   ÚregisterrÀ   Ú
registeredrÁ   rÛ   r¨   rÕ   r¬   Ú	_providedr¯   ÚallRegistrations)r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rÙ   ÚPTrå   s                 r   Útest_registerÚ&BaseAdapterRegistryTests.test_registerÚ   sE  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜3˜%  b¨$Ô/Ø×Ñ˜×,Ñ,¨c¨U°C¸Ó<¸dÔCØ×Ñ˜×-Ñ-¨qÔ1Ø×+Ñ+¨HÔ5Ø×!Ñ!Ó#ˆØ×Ñ˜×+Ñ+¨AÑ.±Ø�Ø�R˜˜T˜
“^ðó ð4
ó 1ô 	ð
 ×"Ñ"Ó$ˆØ×Ñ˜×+Ñ+©RØ�ð1
ó .ô 	ô ˜(×3Ñ3Ó5Ó6ˆ
Ø×Ñ˜ØˆFØØØð	'
ð &õ 	r   c                 ó$  ^
^^^^^• [        5       u	  m
mmmpnmmU R                  5       nUR                  / TSS5        UR                  / TSS5        UR                  T
/TSS5        UR                  T
/TSS5        UR                  T
/TSS5        UR                  T
/TSS5        UR                  T
T/TSS5        UR                  T
T/TSS5        UR                  T
T/TS	S5        UR                  T
T/TSS5        U
UUUUU4S
 jnU R                  UR                  U" U R                  5       U R                  5       S95        [        UR                  5       5      nU R                  USTSS4STSS4T
4TSS4T
4TSS4T
4TSS4T
4TSS4T
T4TSS4T
T4TSS4T
T4TS	S4T
T4TSS4/
5        U R                  5       nU H  nUR                  " U6   M     U R                  UR                  UR                  5        U R                  UR                  UR                  5        [        Ul        [        Ul        [        Ul        [         Ul        S n	X”l        UR'                  5         U R                  UR                  U" [        [        S95        g )Nrâ   rã   Úname1ÚA2Úname2ÚA3Úname3ÚA4Úname4c                 ó   >• U " U" TU" SSS.5      05      U" TU" TU" SSS.5      TU" SSS.5      05      05      U" TU" TU" TU" SS05      05      TU" TU" S	S05      TU" S
S05      05      TU" TU" SS05      05      05      05      /5      $ )Nrã   rí   )râ   rì   )râ   rî   rï   rñ   )râ   rð   râ   rî   rò   r
   )ÚLrÙ   r   r   r   r    r0   r4   s     €€€€€€r   Úbuild_adaptersÚXBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.build_adapters	  s  ø€ ÙáØ™Ø Ø!%ñó ðó ñ Ø™Ø™RØ $Ø%)ñ!ó ð ™RØ $Ø%)ñ!ó ð	ó 	ðó ñ Ø™Ø™RØ¡ R¨ J£ð!ó ð ™RØ¡ W¨d OÓ!4Ø¡ W¨d OÓ!4ð!ó ð ™RØ¡ R¨ J£ð!ó ðó ðó ð-$ó $ð $r   )rô   rÙ   r
   c                 óF   • U b  U O	[        5       n U R                  U5        U $ r;   ©rn   rk   ©ÚexistingÚnews     r   ÚaddValueÚRBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.addValueP  ó(   € à$Ñ0‘Ô6HÓ6Jð ð �O‰O˜CÔ ØˆOr   )r6   r£   rä   rÀ   rÕ   r°   r¨   Úsortedrç   ræ   r]   Ú_mappingTypern   Ú_leafSequenceTyperg   Ú_sequenceTyperr   Ú_providedTypeÚ_addValueToLeafÚrebuild)r?   r$   r(   r,   rº   rõ   rå   Ú	registry2Úargsrü   r   r   r   r    r0   r4   s             @@@@@@r   Ú'test_register_multiple_allRegistrationsÚ@BaseAdapterRegistryTests.test_register_multiple_allRegistrationsö   sÈ  ý€ ô Óñ	
Ø��c˜3 ¨#¨s°Cà—=‘=“?ˆà×Ñ˜"˜c 2 tÔ,Ø×Ñ˜"˜c 7¨DÔ1à×Ñ˜3˜%  b¨$Ô/Ø×Ñ˜3˜%  g¨tÔ4Ø×Ñ˜3˜%  b¨$Ô/Ø×Ñ˜3˜%  g¨tÔ4à×Ñ˜3 ˜* c¨2¨tÔ4Ø×Ñ˜3 ˜* c¨7°DÔ9Ø×Ñ˜3 ˜* c¨7°DÔ9Ø×Ñ˜3 ˜* c¨2¨tÔ4÷%	ò %	ðN 	×Ñ˜×+Ñ+Ù'¨$×*BÑ*BÓ*DØ+/×+?Ñ+?Ó+AñCô	Dô ˜H×5Ñ5Ó7Ó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ˆ	ÛˆDØ×Ò Ó%ñ ð 	×Ñ˜×,Ñ,¨h×.@Ñ.@ÔAØ×Ñ˜×,Ñ,¨h×.@Ñ.@ÔAô !.ˆÔÜ%7ˆÔ"Ü!/ˆÔÜ!/ˆÔò	ð $,Ô à×ÑÔà×Ñ˜×+Ñ+Ù'Ü-Ü -ñõ	r   c           	      óÜ   • [        5       u	  pp4pVpxn	U R                  5       n
U R                  [        5         U
R	                  U/U[        5       S5        S S S 5        g ! , (       d  f       g = f©Nrã   )r6   r£   ÚassertRaisesÚ
ValueErrorrä   rž   ©r?   r   r   r   r    r$   r(   r,   r0   r4   rº   s              r   Útest_register_with_invalid_nameÚ8BaseAdapterRegistryTests.test_register_with_invalid_namea  sW   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×ÑœzÕ*Ø×Ñ˜s˜e S¬&«(°DÔ9÷ +×*Ö*ús   ¶AÁ
A+c           	      óŒ  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  S /USS5        U
R                  S /USS 5        U R                  [	        U
R
                  5      S5        U R                  U
R
                  U R                  5       5        [        U
R                  5       5      nU R                  U/ 5        g )Nrâ   rã   r   )
r6   r£   rä   rÀ   rK   rÕ   rÖ   r°   r¯   rç   )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rå   s               r   Ú)test_register_with_value_None_unregistersÚBBaseAdapterRegistryTests.test_register_with_value_None_unregistersi  s®   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜4˜& # r¨4Ô0Ø×Ñ˜4˜& # r¨4Ô0Ø×Ñœ˜X×/Ñ/Ó0°!Ô4Ø×Ñ˜h×0Ñ0°$×2JÑ2JÓ2LÔMÜ˜(×3Ñ3Ó5Ó6ˆ
Ø×Ñ˜ RÕ(r   c                 ó  • SSK Jn  [        5       u	  p#pEpgp‰n
U R                  5       n[	        5       nUR                  S /U	SU5        UR                  nUR                  S /U	SU5        U R                  UR                  U5        U R                  U5        U R                  5       nU R                  UR                  S   U" X" Xž" SU05      05      05      5        [        UR                  5       5      nU R                  UU4U	SU4/5        g )Nr   r   râ   r¿   )r5   r   r6   r£   rž   rä   rÁ   rÀ   rÛ   r¨   rÕ   r¯   rç   )r?   r   r   r   r   r    r$   r(   r,   r0   r4   rº   Ú_valueÚ_beforerÙ   rå   s                   r   Útest_register_with_same_valueÚ6BaseAdapterRegistryTests.test_register_with_same_valueu  s  € Ý,ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ“ˆØ×Ñ˜4˜& # r¨6Ô2Ø×&Ñ&ˆØ×Ñ˜4˜& # r¨6Ô2Ø×Ñ˜×-Ñ-¨wÔ7Ø×+Ñ+¨HÔ5Ø×!Ñ!Ó#ˆØ×Ñ˜×+Ñ+¨AÑ.±à˜2à˜R  V Ó-ðóðó1
ô 	ô ˜(×3Ñ3Ó5Ó6ˆ
Ø×Ñ˜ØˆLØØØð	'
ð &õ 	r   c                 óÂ   • U R                  5       nU R                  UR                  S /S S5      S 5        [        UR	                  5       5      nU R                  U/ 5        g ©Nrâ   )r£   rÀ   rå   r¯   rç   )r?   rº   rå   s      r   Útest_registered_emptyÚ.BaseAdapterRegistryTests.test_registered_empty“  sQ   € Ø—=‘=“?ˆØ×Ñ˜×,Ñ,¨d¨V°T¸2Ó>ÀÔEÜ˜(×3Ñ3Ó5Ó6ˆ
Ø×Ñ˜ RÕ(r   c           	      ó¶   • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/S SS5        U R                  U
R	                  U/S S5      S 5        g ©Nrâ   rã   )r6   r£   rä   rÀ   rå   r  s              r   Útest_registered_non_empty_missÚ7BaseAdapterRegistryTests.test_registered_non_empty_miss™  s\   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜3˜%  r¨4Ô0Ø×Ñ˜×,Ñ,¨c¨U°D¸"Ó=¸tÕDr   c                 ó–   • U R                  5       nUR                  S /S SS5        U R                  UR                  S /S S5      S5        g r  )r£   rä   rÀ   rå   rÂ   s     r   Útest_registered_non_empty_hitÚ6BaseAdapterRegistryTests.test_registered_non_empty_hit¡  sD   € Ø—=‘=“?ˆØ×Ñ˜4˜& $¨¨DÔ1Ø×Ñ˜×,Ñ,¨d¨V°T¸2Ó>ÀÕEr   c                 óÞ   • U R                  5       nUR                  S /S S5        U R                  UR                  S /S S5      S 5        U R                  [	        UR
                  5      S5        g )Nrâ   r   )r£   Ú
unregisterrÀ   rå   rK   ræ   rÂ   s     r   Útest_unregister_emptyÚ.BaseAdapterRegistryTests.test_unregister_empty¦  s]   € Ø—=‘=“?ˆØ×Ñ˜T˜F D¨"Ô-Ø×Ñ˜×,Ñ,¨d¨V°T¸2Ó>ÀÔEØ×Ñœ˜X×/Ñ/Ó0°!Õ4r   c                 óô  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/S SS5        U
R                  U/S S5        U R	                  U
R                  U/S S5      S5        U R                  U
5        U R                  5       nU R	                  U
R                  S   U" X+" S U" SS05      05      05      5        U R                  5       nU R	                  U
R                  U" S S05      5        g )Nrâ   rã   r¿   ©r6   r£   rä   r%  rÀ   rå   rÛ   r¨   rÕ   r¬   ræ   ©r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rÙ   rè   s                r   Ú*test_unregister_non_empty_miss_on_requiredÚCBaseAdapterRegistryTests.test_unregister_non_empty_miss_on_required¬  s  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜3˜%  r¨4Ô0Ø×Ñ˜S˜E 4¨Ô,Ø×Ñ˜×,Ñ,¨c¨U°D¸"Ó=¸tÔDØ×+Ñ+¨HÔ5Ø×!Ñ!Ó#ˆØ×Ñ˜×+Ñ+¨AÑ.±à�Rà™b " d ›nðóðó1
ô 	ð ×"Ñ"Ó$ˆØ×Ñ˜×+Ñ+©RØ�!ð1
ó .õ 	r   c                 óô  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/S SS5        U
R                  U/S S5        U R	                  U
R                  U/S S5      S5        U R                  U
5        U R                  5       nU R	                  U
R                  S   U" X+" S U" SS05      05      05      5        U R                  5       nU R	                  U
R                  U" S S05      5        g )Nrâ   rã   Únonesuchr¿   r)  r*  s                r   Ú&test_unregister_non_empty_miss_on_nameÚ?BaseAdapterRegistryTests.test_unregister_non_empty_miss_on_nameÄ  s  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜3˜%  r¨4Ô0Ø×Ñ˜S˜E 4¨Ô4Ø×Ñ˜×,Ñ,¨c¨U°D¸"Ó=¸tÔDØ×+Ñ+¨HÔ5Ø×!Ñ!Ó#ˆØ×Ñ˜×+Ñ+¨AÑ.±à�Rà™b " d ›nðóðó1
ô 	ð ×"Ñ"Ó$ˆØ×Ñ˜×+Ñ+©RØ�!ð1
ó .õ 	r   c           	      ó  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       nU
R                  U/S SU5        U
R	                  U/S SU5        U R                  U
R                  U/S S5      U5        g r  )r6   r£   rž   rä   r%  r¶   rå   ©r?   r   r   r   r    r$   r(   r,   r0   r4   rº   r‹   Únomatchs                r   Ú(test_unregister_with_value_not_None_missÚABaseAdapterRegistryTests.test_unregister_with_value_not_None_missÜ  s~   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ‹xˆÜ“(ˆØ×Ñ˜3˜%  r¨4Ô0Ø×Ñ˜S˜E 4¨¨WÔ5Ø�‰�h×)Ñ)¨3¨%°°rÓ:¸DÕAr   c                 óø  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       nU
R                  X#/S SU5        U
R                  X$/S SU5        U R	                  U
SS9  U R                  X:R                  S   U   5        U R                  XJR                  S   U   5        U R                  5       nU R                  U
R                  S   U" X-" X=" S U" SU05      05      XM" S U" SU05      05      05      05      5        U R                  5       nU R                  U
R                  U" S S05      5        U
R                  X$/S SU5        U R                  X:R                  S   U   5        U R                  XJR                  S   U   5        U R                  U
R                  S   U" X-" X=" S U" SU05      05      05      05      5        U R                  U
R                  U" S S05      5        g )Nrâ   é   ©rØ   rÇ   r¿   )r6   r£   rž   rä   rÛ   ÚassertInrÕ   r¨   rÀ   r¬   ræ   r%  ÚassertNotIn)r?   r   r   r   r    r$   r(   r,   r0   r4   rº   ÚoneÚanotherrÙ   rè   s                  r   Ú.test_unregister_hit_clears_empty_subcomponentsÚGBaseAdapterRegistryTests.test_unregister_hit_clears_empty_subcomponentsç  s  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ‹hˆÜ“(ˆØ×Ñ˜3˜* d¨B°Ô4Ø×Ñ˜3˜* d¨B°Ô8Ø×+Ñ+¨HÀQÐ+ÑGØ�‰�c×-Ñ-¨aÑ0°Ñ5Ô6Ø�‰�c×-Ñ-¨aÑ0°Ñ5Ô6Ø×!Ñ!Ó#ˆØ×Ñ˜×+Ñ+¨AÑ.±à�Rà˜R ¡r¨2¨s¨)£}Ð 5Ó6Ø˜R ¡r¨2¨w¨-Ó'8Ð 9Ó:ðóðó	1
ô 		ð ×"Ñ"Ó$ˆØ×Ñ˜×+Ñ+©RØ�!ð1
ó .ô 	ð 	×Ñ˜S˜J¨¨b°'Ô:Ø�‰�c×-Ñ-¨aÑ0°Ñ5Ô6Ø×Ñ˜×0Ñ0°Ñ3°CÑ8Ô9Ø×Ñ˜×+Ñ+¨AÑ.±à�Rà˜R ¡r¨2¨s¨)£}Ð 5Ó6ðóðó1
ô 	ð 	×Ñ˜×+Ñ+©RØ�!ð1
ó .õ 	r   c                 ó´   • U R                  5       nUR                  S /S S5        U R                  UR                  S /S S5      S 5        U R	                  USS9  g )Nrâ   r   r8  )r£   ÚunsubscriberÀ   rå   rß   rÂ   s     r   Útest_unsubscribe_emptyÚ/BaseAdapterRegistryTests.test_unsubscribe_empty  sU   € Ø—=‘=“?ˆØ×Ñ˜d˜V T¨2Ô.Ø×Ñ˜×,Ñ,¨d¨V°T¸2Ó>ÀÔEØ×.Ñ.¨xÈÐ.ÒJr   c                 óv  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       nU
R                  U/S U5        U R	                  5       nU R                  5       nU R                  5       nU R                  U
5        U R                  U
R                  S   U" X," S U" SU" U45      05      05      05      5        U R                  U
R                  U" 0 5      5        U
R                  U/S U5        U R                  [        U
R                  5      S5        U R                  U
R                  U" 0 5      5        g )Nr¿   râ   r   )r6   r£   rž   Ú	subscriber¨   r³   r¬   rß   rÀ   rÞ   ræ   r@  rK   )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   r‹   rÙ   rô   rè   s                  r   Útest_unsubscribe_hitÚ-BaseAdapterRegistryTests.test_unsubscribe_hit  s-  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ‹xˆØ×Ñ˜C˜5 $¨Ô-Ø×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×"Ñ"Ó$ˆØ×.Ñ.¨xÔ8Ø×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø‘bØ™˜4˜'›
ðó ðó ð7
ó 4ô 	ð 	×Ñ˜×+Ñ+©R°«VÔ4Ø×Ñ˜c˜U D¨$Ô/Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×Ñ˜×+Ñ+©R°«VÕ4r   c                 ó&   • U R                  X5        g)an  
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©r?   Úleaf1Úleaf2s      r   ÚassertLeafIdentityÚ+BaseAdapterRegistryTests.assertLeafIdentity0  s   € ð 	×Ñ˜Õ&r   c                 ó¬  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       n[        5       n[        5       nU
R                  U/S U5        U
R                  U/S U5        U
R                  U/X�5        U
R                  U/XŽ5        U R	                  U
SS9  U R                  5       nU R                  5       nU R                  5       nU R                  U
R                  S   U" X/" S U" SU" X¼45      05      X�" SU" XÞ45      05      05      05      5        U R                  U
R                  U" US05      5        U
R                  S   U   U   S   nU
R                  S   U   S    S   nU
R                  U/S U5        U
R                  U/X�5        U R                  U
R                  S   U" X/" S U" SU" U45      05      X�" SU" U45      05      05      05      5        U R                  U
R                  U" US05      5        U
R                  S   U   U   S   nU
R                  S   U   S    S   nU R                  UU5        U R                  UU5        U
R                  U/S U5        U
R                  U/XŽ5        U R                  [        U
R                  5      S5        U R                  [        U
R                  5      S5        g )NrÇ   r8  r¿   râ   r   )r6   r£   rž   rD  rß   r¨   r³   r¬   rÀ   rÞ   ræ   r@  rL  rK   )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   ÚfirstÚsecondÚthirdÚfourthrÙ   rô   rè   ÚIR0_leaf_origÚNon_leaf_origÚIR0_leaf_newÚNon_leaf_news                         r   Útest_unsubscribe_after_multipleÚ8BaseAdapterRegistryTests.test_unsubscribe_after_multiple<  s   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ“ˆÜ“ˆÜ“ˆÜ“ˆØ×Ñ˜C˜5 $¨Ô.Ø×Ñ˜C˜5 $¨Ô/Ø×Ñ˜C˜5 #Ô-Ø×Ñ˜C˜5 #Ô.Ø×.Ñ.¨xÈÐ.ÑJØ×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×"Ñ"Ó$ˆØ×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø‘b˜"™a  Ó0Ð1Ó2Ø�R˜™Q ˜Ó/Ð0Ó1ðó ð7
ó 4ô 	ð 	×Ñ˜×+Ñ+©RØ�ð1
ó .ô 	ð
 !×-Ñ-¨aÑ0°Ñ5°cÑ:¸2Ñ>ˆØ ×-Ñ-¨aÑ0°Ñ5°dÑ;¸BÑ?ˆà×Ñ˜c˜U D¨%Ô0Ø×Ñ˜c˜U CÔ/à×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø‘b˜"™a  	›lÐ+Ó,Ø�R˜™Q ˜y›\Ð*Ó+ðó ð7
ó 4ô 	ð 	×Ñ˜×+Ñ+©RØ�ð1
ó .ô 	ð  ×,Ñ,¨QÑ/°Ñ4°SÑ9¸"Ñ=ˆØ×,Ñ,¨QÑ/°Ñ4°TÑ:¸2Ñ>ˆà×Ñ ¨|Ô<Ø×Ñ ¨|Ô<à×Ñ˜c˜U D¨&Ô1Ø×Ñ˜c˜U CÔ0Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×Ñœ˜X×/Ñ/Ó0°!Õ4r   c                 óœ  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       nU
R                  U/X‹5        U
R                  U/X‹5        U R	                  5       nU R                  5       nU R                  5       nU R                  U
R                  S   U" X," XŒ" SU" X»45      05      05      05      5        U R                  U
R                  U" US05      5        U
R                  U/X‹5        U
R                  U/X‹5        U R                  [        U
R                  5      S5        U R                  U
R                  U" 5       5        g ©Nr¿   râ   rÇ   r   ©r6   r£   rž   rD  r¨   r³   r¬   rÀ   rÞ   ræ   r@  rK   )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rO  rÙ   rô   rè   s                  r   Ú5test_subscribe_unsubscribe_identical_objects_providedÚNBaseAdapterRegistryTests.test_subscribe_unsubscribe_identical_objects_providedr  sH  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ“ˆØ×Ñ˜C˜5 #Ô-Ø×Ñ˜C˜5 #Ô-à×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×"Ñ"Ó$ˆØ×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø�R˜™Q ˜~Ó.Ð/Ó0ðó ð7
ó 4ô 	ð
 	×Ñ˜×+Ñ+©RØ�ð1
ó .ô 	ð 	×Ñ˜c˜U CÔ/Ø×Ñ˜c˜U CÔ/Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×Ñ˜×+Ñ+©R«TÕ2r   c                 ó°  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       nU
R                  U/X‹5        U
R                  U/XŒ5        U R	                  5       nU R                  5       nU R                  5       nU R                  U
R                  S   U" X-" X�" SU" X¼45      05      05      05      5        U R                  U
R                  U" US05      5        U
R                  U/X‹5        U
R                  U/XŒ5        U R                  [        U
R                  5      S5        U R                  U
R                  U" 5       5        g rZ  r[  )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rO  rP  rÙ   rô   rè   s                   r   Ú4test_subscribe_unsubscribe_nonequal_objects_providedÚMBaseAdapterRegistryTests.test_subscribe_unsubscribe_nonequal_objects_provided�  sO  € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ“ˆÜ“ˆØ×Ñ˜C˜5 #Ô-Ø×Ñ˜C˜5 #Ô.à×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×"Ñ"Ó$ˆØ×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø�R˜™Q ˜Ó/Ð0Ó1ðó ð7
ó 4ô 	ð
 	×Ñ˜×+Ñ+©RØ�ð1
ó .ô 	ð 	×Ñ˜c˜U CÔ/Ø×Ñ˜c˜U CÔ0Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×Ñ˜×+Ñ+©R«TÕ2r   c                 óÀ   • U R                  5       nU R                  UR                  S /S S5      5        [        UR	                  5       5      nU R                  U/ 5        g r  )r£   ÚassertIsNoneÚ
subscribedr¯   ÚallSubscriptionsrÀ   )r?   rº   rc  s      r   Útest_subscribed_emptyÚ.BaseAdapterRegistryTests.test_subscribed_empty©  sO   € Ø—=‘=“?ˆØ×Ñ˜(×-Ñ-¨t¨f°d¸BÓ?Ô@Ü˜(×3Ñ3Ó5Ó6ˆ
Ø×Ñ˜ RÕ(r   c           	      ó>  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/US5        U R                  U
R	                  U/US5      5        U R                  U
R	                  U/US5      5        U R                  U
R	                  U/US5      5        g )Nrã   râ   )r6   r£   rD  rb  rc  r  s              r   Útest_subscribed_non_empty_missÚ7BaseAdapterRegistryTests.test_subscribed_non_empty_miss¯  s–   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜C˜5 # tÔ,à×Ñ˜(×-Ñ-¨s¨e°S¸"Ó=Ô>à×Ñ˜(×-Ñ-¨s¨e°S¸"Ó=Ô>à×Ñ˜(×-Ñ-¨s¨e°S¸"Ó=Õ>r   c           	      ó´   • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/US5        U R                  U
R	                  U/US5      S5        g r  )r6   r£   rD  rÀ   rc  r  s              r   Útest_subscribed_non_empty_hitÚ6BaseAdapterRegistryTests.test_subscribed_non_empty_hit¼  sZ   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜C˜5 # tÔ,Ø×Ñ˜×,Ñ,¨c¨U°C¸Ó>ÀÕEr   c           	      óL  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       nU
R                  U/S U5        U
R                  U/S U5        U R	                  U
SS9  U
R                  U/S 5        U R                  [        U
R                  5      S5        g )NrÇ   r8  r   )	r6   r£   rž   rD  rß   r@  rÀ   rK   rÞ   )r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rO  rP  s                r   Ú&test_unsubscribe_w_None_after_multipleÚ?BaseAdapterRegistryTests.test_unsubscribe_w_None_after_multipleÄ  s›   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ“ˆÜ“ˆà×Ñ˜C˜5 $¨Ô.Ø×Ñ˜C˜5 $¨Ô/Ø×.Ñ.¨xÈÐ.ÑJØ×Ñ˜c˜U DÔ)Ø×Ñœ˜X×2Ñ2Ó3°QÕ7r   c                 ó¶  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/S S5        U R                  U
SS9  U
R	                  U/S S5        U R                  [        U
R                  5      S5        U R                  5       nU R                  5       nU R                  U
R                  S   U" X+" S U" SU" S5      05      05      05      5        g )Nrã   rÇ   r8  râ   r¿   ©rã   ©
r6   r£   rD  rß   r@  rÀ   rK   rÞ   r¨   r³   ©r?   r   r   r   r    r$   r(   r,   r0   r4   rº   rÙ   rô   s                r   Ú+test_unsubscribe_non_empty_miss_on_requiredÚDBaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_requiredÒ  sà   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜C˜5 $¨Ô-Ø×.Ñ.¨xÈÐ.ÑJØ×Ñ˜c˜U D¨"Ô-Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø‘b˜"™a ›jÐ)Ó*ðó ð7
ó 4õ 	r   c                 ó¶  • [        5       u	  pp4pVpxn	U R                  5       n
U
R                  U/S S5        U R                  U
SS9  U
R	                  U/S S5        U R                  [        U
R                  5      S5        U R                  5       nU R                  5       nU R                  U
R                  S   U" X+" S U" SU" S5      05      05      05      5        g )Nrã   rÇ   r8  rí   r¿   râ   rq  rr  rs  s                r   Ú(test_unsubscribe_non_empty_miss_on_valueÚABaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_valueã  sà   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñ˜C˜5 $¨Ô-Ø×.Ñ.¨xÈÐ.ÑJØ×Ñ˜c˜U D¨$Ô/Ø×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×!Ñ!Ó#ˆØ×%Ñ%Ó'ˆØ×Ñ˜×.Ñ.¨qÑ1±2Ø�Ø‘b˜"™a ›jÐ)Ó*ðó ð7
ó 4õ 	r   c           	      ó  • [        5       u	  pp4pVpxn	U R                  5       n
[        5       n[        5       nU
R                  U/S U5        U
R	                  U/S U5        U R                  [        U
R                  5      S5        g rÆ   )r6   r£   rž   rD  r@  rÀ   rK   rÞ   r2  s                r   Ú)test_unsubscribe_with_value_not_None_missÚBBaseAdapterRegistryTests.test_unsubscribe_with_value_not_None_missô  sv   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆÜ‹xˆÜ“(ˆØ×Ñ˜C˜5 $¨Ô-Ø×Ñ˜c˜U D¨'Ô2Ø×Ñœ˜X×2Ñ2Ó3°QÕ7r   c                 ó&   • U R                  S5        g )Nz*Example method, not intended to be called.©ÚfailrL   s    r   Ú_instance_method_notify_targetÚ7BaseAdapterRegistryTests._instance_method_notify_targetÿ  s   € Ø�	‰	Ð>Õ?r   c           	      óP  • [        5       u	  pp4pVpxn	U R                  5       n
U R                  [        U
R                  5      S5        U
R                  U/S U R                  5        U
R                  U/S U R                  5        U R                  [        U
R                  5      S5        g ©Nr   )r6   r£   rÀ   rK   rÞ   rD  r  r@  r  s              r   Ú test_unsubscribe_instance_methodÚ9BaseAdapterRegistryTests.test_unsubscribe_instance_method  s�   € ô Óñ	
Ø�c ¨#°Cà—=‘=“?ˆØ×Ñœ˜X×2Ñ2Ó3°QÔ7Ø×Ñ˜C˜5 $¨×(KÑ(KÔLØ×Ñ˜c˜U D¨$×*MÑ*MÔNØ×Ñœ˜X×2Ñ2Ó3°QÕ7r   c                 óŽ  ^^^^^^• [        5       u	  mmmmpnmmU R                  5       nUR                  / TS5        UR                  / TS5        UR                  T/TS5        UR                  T/TS5        UR                  T/TS5        UR                  T/TS5        UR                  TT/TS5        UR                  TT/TS5        UR                  TT/TS5        UR                  TT/TS5        UUUUUU4S jnU R                  UR                  U" U R                  5       U R                  5       U R                  5       S95        UU4S jnU R                  UR                  U" U R                  5       S95        [        UR                  5       5      nU R                  US	TS4S	TS4T4TS4T4TS4T4TS4T4TS4TT4TS4TT4TS4TT4TS4TT4TS4/
5        U R                  5       nU H  n	UR                  " U	6   M     U R                  UR                  UR                  5        U R                  UR                  UR                  5        [        Ul        [        Ul        [         Ul        [$        Ul        S
 n
X¤l        UR+                  5         U R                  UR                  U" [         [        [        S95        g )Nrã   rí   rï   rñ   c                 ó‚  >• U " U" TU" SU" SS/5      05      05      U" TU" TU" SU" SS/5      05      TU" SU" SS/5      05      05      05      U" TU" TU" TU" SU" S/5      05      05      TU" TU" SU" S/5      05      TU" SU" S/5      05      05      TU" TU" SU" S/5      05      05      05      05      /5      $ )Nrâ   rã   rí   rï   rñ   r
   )	rô   ÚFrÙ   r   r   r   r    r0   r4   s	      €€€€€€r   Úbuild_subscribersÚ\BaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_subscribers   s5  ø€ ÙáØ™Ø™A˜t T˜l›Oðó ðó ñ Ø™Ø™RØ¡ 4¨ ,£ð!ó ð ™RØ¡ 4¨ ,£ð!ó ð	ó ð	ó 	ñ Ø™Ø™RØ¡ R©¨D¨6« OÓ!4ð!ó ð ™RØ¡ R©¨D¨6« OÓ!4Ø¡ R©¨D¨6« OÓ!4ð!ó ð ™RØ¡ R©¨D¨6« OÓ!4ð!ó ðó ðó ð'!ó !ð !r   )rô   r‡  rÙ   c                 ó   >• U " TSTS05      $ )Né   é   r
   )ÚPr0   r4   s    €€r   Úbuild_providedÚYBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_providedK  s   ø€ ÙØ�QØ�Qðó ð r   )r�  r
   c                 óF   • U b  U O	[        5       n U R                  U5        U $ r;   rø   rù   s     r   rü   ÚSBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.addValuep  rþ   r   )r6   r£   rD  rÀ   rÞ   r°   r³   r¨   ræ   r¬   rÿ   rd  r]   r   rn   r  rg   r  rr   r  r  r  )r?   r$   r(   r,   rº   rˆ  rŽ  rå   r  r  rü   r   r   r   r    r0   r4   s              @@@@@@r   Ú(test_subscribe_multiple_allRegistrationsÚABaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations  sÛ  ý€ ô Óñ	
Ø��c˜3 ¨#¨s°Cà—=‘=“?ˆà×Ñ˜2˜s DÔ)Ø×Ñ˜2˜s DÔ)à×Ñ˜C˜5 # tÔ,Ø×Ñ˜C˜5 # tÔ,Ø×Ñ˜C˜5 # tÔ,Ø×Ñ˜C˜5 # tÔ,à×Ñ˜C ˜: s¨DÔ1Ø×Ñ˜C ˜: s¨DÔ1Ø×Ñ˜C ˜: s¨DÔ1Ø×Ñ˜C ˜: s¨DÔ1÷"	ò "	ðH 	×Ñ˜×.Ñ.Ù*Ø#×7Ñ7Ó9Ø#×8Ñ8Ó:Ø $× 4Ñ 4Ó 6ñô	ö	ð 	×Ñ˜×+Ñ+Ù'¨$×*?Ñ*?Ó*AÑBô	Dô ˜H×5Ñ5Ó7Ó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ˆ	ÛˆDØ×Ò Ó&ñ ð 	×Ñ˜×/Ñ/°×1FÑ1FÔGØ×Ñ˜×,Ñ,¨h×.@Ñ.@ÔAô !.ˆÔÜ%7ˆÔ"Ü!/ˆÔÜ!/ˆÔò	ð $,Ô à×ÑÔà×Ñ˜×.Ñ.Ù*Ü-Ü1Ü -ñõ	r   r
   )rÇ   )0r   r   r   r   ÚmaxDiffr|   rŸ   r£   r¨   r¬   r°   r³   r»   rÃ   rÈ   rÑ   rÛ   rß   ré   r  r  r  r  r  r  r"  r&  r+  r/  r4  r=  rA  rE  rL  rW  r\  r_  re  rh  rk  rn  rt  rw  rz  r  rƒ  r’  r   r
   r   r   ru   ru   s   sç   † à€Gò#òò2(òòòòòò2ò
Iò2ô
IôPòò8iòV:ò
)òò<)òEòFò
5òò0ò0	Bò*òXKò5ò.
'ò45òl3ò63ò8)ò?òFò8òò"ò"	8ò@ò	8õsr   ru   c                   ó<   • \ rS rSrSrS rS rS rS rS r	S r
S	rg
)Ú#CustomTypesBaseAdapterRegistryTestsiƒ  zÍ
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                 ó   • [         $ r;   )r]   rL   s    r   r¨   Ú3CustomTypesBaseAdapterRegistryTests._getMappingTypeŒ  s   € ÜÐr   c                 ó   • [         $ r;   )rr   rL   s    r   r¬   Ú4CustomTypesBaseAdapterRegistryTests._getProvidedType�  ó   € ÜÐr   c                 ó   • [         $ r;   )rg   rL   s    r   r°   Ú7CustomTypesBaseAdapterRegistryTests._getMutableListType’  r›  r   c                 ó   • [         $ r;   )rn   rL   s    r   r³   Ú8CustomTypesBaseAdapterRegistryTests._getLeafSequenceType•  s   € Ü!Ð!r   c                 ó4   ^ ^• SSK Jm   " UU 4S jST5      nU$ )Nr   rx   c                   ó°   >• \ rS rSr YR	                  5       r YR                  5       r YR                  5       r	 YR                  5       rS rU 4S jrSrg)ÚZCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistryi›  c                 óV   • U(       d  U R                  5       nUR                  U5        U$ r;   )r  rk   )r?   Úexisting_leaf_sequenceÚnew_items      r   r  ÚjCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._addValueToLeaf¡  s(   € Þ-Ø-1×-CÑ-CÓ-EÐ*Ø&×-Ñ-¨hÔ7Ø-Ð-r   c                 óD   >• TR                  U UU5      nX1S S & X!;  d   eU$ r;   )Ú_removeValueFromLeaf)r?   r¤  Ú	to_removeÚwithout_removedry   s       €r   r¨  ÚoCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._removeValueFromLeaf§  s8   ø€ Ø"5×"JÑ"JØØ*Øó#�ð -<¡qÐ)Ø Ó>Ð>Ð>Ø-Ð-r   r
   N)r   r   r   r   r¨   r   r°   r  r³   r  r¬   r  r  r¨  r   )ry   r?   s   €€r   ÚCustomAdapterRegistryr¢  ›  sK   ø† Ù×/Ñ/Ó1ˆLÙ ×4Ñ4Ó6ˆMÙ $× 9Ñ 9Ó ;ÐÙ ×1Ñ1Ó3ˆMò.÷.ð .r   r¬  rz   )r?   r¬  ry   s   ` @r   r|   Ú;CustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry˜  s    ù€ Ý>÷	.ð 	.Ð$7ô 	.ð* %Ð$r   c                 ó&   • U R                  X5        g r;   )r¶   rI  s      r   rL  Ú6CustomTypesBaseAdapterRegistryTests.assertLeafIdentity²  s   € Ø�‰�eÕ#r   r
   N)r   r   r   r   Ú__doc__r¨   r¬   r°   r³   r|   rL  r   r
   r   r   r–  r–  ƒ  s%   † ñòòòò"ò%õ4$r   r–  c                   óÔ   ^ • \ rS rSrS r\r SS jrS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rU 4S jrS rS rS rS rS r Sr!U =r"$ ) ÚLookupBaseFallbackTestsi¶  c                 ó   • SSK Jn  U$ )Nr   )ÚLookupBaseFallback)r{   r´  )r?   r´  s     r   Ú_getFallbackClassÚ)LookupBaseFallbackTests._getFallbackClass¸  s   € Ý=Ø!Ð!r   c                 óv   ^^^• Tc  S mTc  S mTc  S m " UUU4S jSU R                  5       5      nU" 5       $ )Nc                 ó   • g r;   r
   ©r?   Úrequiredr’   r@   s       r   Ú	uc_lookupÚ3LookupBaseFallbackTests._makeOne.<locals>.uc_lookupÄ  ó   € Ør   c                 ó   • [        5       er;   ©ÚNotImplementedError©r?   rº  r’   s      r   Úuc_lookupAllÚ6LookupBaseFallbackTests._makeOne.<locals>.uc_lookupAllÉ  ó   € Ü)Ó+Ð+r   c                 ó   • [        5       er;   r¿  rÁ  s      r   Úuc_subscriptionsÚ:LookupBaseFallbackTests._makeOne.<locals>.uc_subscriptionsÎ  rÄ  r   c                   ó(   >• \ rS rSr Y r Yr YrSrg)Ú1LookupBaseFallbackTests._makeOne.<locals>.DerivediÑ  r
   N)r   r   r   r   Ú_uncached_lookupÚ_uncached_lookupAllÚ_uncached_subscriptionsr   )r»  rÂ  rÆ  s   €€€r   ÚDerivedrÉ  Ñ  s   ø† Ù(ÐÙ".ÐÙ&6Ó#r   rÍ  r¢   )r?   r»  rÂ  rÆ  rÍ  s    ``` r   r£   Ú LookupBaseFallbackTests._makeOne¾  sN   ú€ ð Ñòð Ñò,ð Ñ#ò,÷	7ñ 	7�d×*Ñ*Ó,ô 	7ñ
 ‹yÐr   c                 ó¼   • S nU R                  US9nU R                  [        5         UR                  SS[	        5       5        S S S 5        g ! , (       d  f       g = f)Nc                 ó&   • U R                  S5        g ©NzThis should never be calledr}  r¹  s       r   Ú_lookupÚCLookupBaseFallbackTests.test_lookup_w_invalid_name.<locals>._lookupÚ  ó   € Ø�I‰IÐ3Õ4r   ©r»  ©ÚAÚB)r£   r  r  Úlookuprž   ©r?   rÒ  Úlbs      r   Útest_lookup_w_invalid_nameÚ2LookupBaseFallbackTests.test_lookup_w_invalid_nameØ  sE   € ò	5ð �]‰] Wˆ]Ð-ˆØ×ÑœzÕ*Ø�I‰I�f˜c¤6£8Ô,÷ +×*Ö*úó   ¨AÁ
Ac                 ó¢   ^• / mU4S jnU R                  US9nUR                  SSS5      nU R                  U5        U R                  TS/5        g )Nc                 ó,   >• TR                  XU45        g r;   ©rk   ©r?   rº  r’   r@   Ú_called_withs       €r   rÒ  ÚDLookupBaseFallbackTests.test_lookup_miss_no_default.<locals>._lookupä  ó   ø€ Ø×Ñ °TÐ :Õ;r   rÕ  rÖ  rØ  ÚC©rÖ  rØ  ræ  )r£   rÙ  rb  rÀ   ©r?   rÒ  rÛ  Úfoundrã  s       @r   Útest_lookup_miss_no_defaultÚ3LookupBaseFallbackTests.test_lookup_miss_no_defaultá  sS   ø€ Øˆõ	<ð �]‰] Wˆ]Ð-ˆØ—	‘	˜& # sÓ+ˆØ×Ñ˜%Ô Ø×Ñ˜Ð(:Ð';Õ<r   c                 ó¸   ^• / m[        5       nU4S jnU R                  US9nUR                  SSSU5      nU R                  XA5        U R	                  TS/5        g )Nc                 ó,   >• TR                  XU45        g r;   rá  râ  s       €r   rÒ  ÚCLookupBaseFallbackTests.test_lookup_miss_w_default.<locals>._lookupð  rå  r   rÕ  rÖ  rØ  ræ  rç  ©rž   r£   rÙ  r¶   rÀ   ©r?   Ú_defaultrÒ  rÛ  ré  rã  s        @r   Útest_lookup_miss_w_defaultÚ2LookupBaseFallbackTests.test_lookup_miss_w_defaultì  sZ   ø€ ØˆÜ“8ˆõ	<ð �]‰] Wˆ]Ð-ˆØ—	‘	˜& # s¨HÓ5ˆØ�‰�eÔ&Ø×Ñ˜Ð(:Ð';Õ<r   c                 ó  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  ©rk   Úpop©r?   rº  r’   r@   rã  Ú_resultss       €€r   rÒ  Ú?LookupBaseFallbackTests.test_lookup_not_cached.<locals>._lookupý  ó$   ø€ Ø×Ñ °TÐ :Ô;Ø—<‘< “?Ð"r   rÕ  rÖ  rØ  ræ  rç  rï  ©	r?   ÚaÚbÚcrÒ  rÛ  ré  rã  rù  s	          @@r   Útest_lookup_not_cachedÚ.LookupBaseFallbackTests.test_lookup_not_cachedø  s}   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—	‘	˜& # sÓ+ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Õ*r   c                 ó4  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  Ú;LookupBaseFallbackTests.test_lookup_cached.<locals>._lookup  rû  r   rÕ  rÖ  rØ  ræ  rç  rï  rü  s	          @@r   Útest_lookup_cachedÚ*LookupBaseFallbackTests.test_lookup_cached  s�   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—	‘	˜& # sÓ+ˆØ—	‘	˜& # sÓ+ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Õ*r   c                 ó  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  ÚNLookupBaseFallbackTests.test_lookup_not_cached_multi_required.<locals>._lookup  rû  r   rÕ  ©r×  ÚDrØ  ræ  ©r
  rØ  ræ  rï  rü  s	          @@r   Ú%test_lookup_not_cached_multi_requiredÚ=LookupBaseFallbackTests.test_lookup_not_cached_multi_required  s}   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—	‘	˜* c¨3Ó/ˆØ�‰�eÔØ×Ñ˜Ð(>Ð'?Ô@Ø×Ñ˜ A 6Õ*r   c                 ó4  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  ÚJLookupBaseFallbackTests.test_lookup_cached_multi_required.<locals>._lookup+  rû  r   rÕ  r
  rØ  ræ  r  rï  rü  s	          @@r   Ú!test_lookup_cached_multi_requiredÚ9LookupBaseFallbackTests.test_lookup_cached_multi_required&  s�   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—	‘	˜* c¨3Ó/ˆØ—	‘	˜* c¨3Ó/ˆØ�‰�eÔØ×Ñ˜Ð(>Ð'?Ô@Ø×Ñ˜ A 6Õ*r   c                 óX  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nUR                  U5        UR                  SSS5      nU R	                  Xb5        U R                  TSS/5        U R                  TU/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  ÚMLookupBaseFallbackTests.test_lookup_not_cached_after_changed.<locals>._lookup;  rû  r   rÕ  rÖ  rØ  ræ  rç  )rž   r£   rÙ  rŒ   r¶   rÀ   rü  s	          @@r   Ú$test_lookup_not_cached_after_changedÚ<LookupBaseFallbackTests.test_lookup_not_cached_after_changed6  s    ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—	‘	˜& # sÓ+ˆØ
�
‰
�2ŒØ—	‘	˜& # sÓ+ˆØ�‰�eÔØ×Ñ˜Ø,Ð.@ÐAô	Cà×Ñ˜ A 3Õ'r   c                 ó¼   • S nU R                  US9nU R                  [        5         UR                  SS[	        5       5        S S S 5        g ! , (       d  f       g = f)Nc                 ó&   • U R                  S5        g rÑ  r}  r¹  s       r   rÒ  ÚDLookupBaseFallbackTests.test_lookup1_w_invalid_name.<locals>._lookupJ  rÔ  r   rÕ  r×  rØ  )r£   r  r  Úlookup1rž   rÚ  s      r   Útest_lookup1_w_invalid_nameÚ3LookupBaseFallbackTests.test_lookup1_w_invalid_nameH  sE   € ò	5ð �]‰] Wˆ]Ð-ˆØ×ÑœzÕ*Ø�J‰J�s˜C¤£Ô*÷ +×*Ö*úrÞ  c                 ó¢   ^• / mU4S jnU R                  US9nUR                  SSS5      nU R                  U5        U R                  TS/5        g )Nc                 ó,   >• TR                  XU45        g r;   rá  râ  s       €r   rÒ  ÚELookupBaseFallbackTests.test_lookup1_miss_no_default.<locals>._lookupT  rå  r   rÕ  r×  rØ  ræ  rç  )r£   r  rb  rÀ   rè  s       @r   Útest_lookup1_miss_no_defaultÚ4LookupBaseFallbackTests.test_lookup1_miss_no_defaultQ  sS   ø€ Øˆõ	<ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  SÓ)ˆØ×Ñ˜%Ô Ø×Ñ˜Ð(:Ð';Õ<r   c                 ó¸   ^• / m[        5       nU4S jnU R                  US9nUR                  SSSU5      nU R                  XA5        U R	                  TS/5        g )Nc                 ó,   >• TR                  XU45        g r;   rá  râ  s       €r   rÒ  ÚDLookupBaseFallbackTests.test_lookup1_miss_w_default.<locals>._lookup`  rå  r   rÕ  r×  rØ  ræ  rç  ©rž   r£   r  r¶   rÀ   rð  s        @r   Útest_lookup1_miss_w_defaultÚ3LookupBaseFallbackTests.test_lookup1_miss_w_default\  sZ   ø€ ØˆÜ“8ˆõ	<ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  S¨(Ó3ˆØ�‰�eÔ&Ø×Ñ˜Ð(:Ð';Õ<r   c                 ó  ^• / m[        5       nU4S jnU R                  US9nUR                  SSSU5      nU R                  XA5        UR                  SSSU5      nU R                  XA5        U R	                  TS/5        g )Nc                 ó,   >• TR                  XU45        g r;   rá  râ  s       €r   rÒ  ÚSLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cache.<locals>._lookupl  rå  r   rÕ  r×  rØ  ræ  rç  r'  rð  s        @r   Ú*test_lookup1_miss_w_default_negative_cacheÚBLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cacheh  sz   ø€ ØˆÜ“8ˆõ	<ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  S¨(Ó3ˆØ�‰�eÔ&Ø—
‘
˜3  S¨(Ó3ˆØ�‰�eÔ&Ø×Ñ˜Ð(:Ð';Õ<r   c                 ó  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  Ú@LookupBaseFallbackTests.test_lookup1_not_cached.<locals>._lookup{  rû  r   rÕ  r×  rØ  ræ  rç  r'  rü  s	          @@r   Útest_lookup1_not_cachedÚ/LookupBaseFallbackTests.test_lookup1_not_cachedv  s}   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  SÓ)ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Õ*r   c                 ó4  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nUR                  SSS5      nU R                  Xa5        U R	                  TS/5        U R	                  TX#/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  Ú<LookupBaseFallbackTests.test_lookup1_cached.<locals>._lookupŠ  rû  r   rÕ  r×  rØ  ræ  rç  r'  rü  s	          @@r   Útest_lookup1_cachedÚ+LookupBaseFallbackTests.test_lookup1_cached…  s�   ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  SÓ)ˆØ—
‘
˜3  SÓ)ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Õ*r   c                 óX  ^^• / m[        5       [        5       [        5       p2nXU/mUU4S jnU R                  US9nUR                  SSS5      nUR                  U5        UR                  SSS5      nU R	                  Xb5        U R                  TSS/5        U R                  TU/5        g )Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  ÚNLookupBaseFallbackTests.test_lookup1_not_cached_after_changed.<locals>._lookupš  rû  r   rÕ  r×  rØ  ræ  rç  )rž   r£   r  rŒ   r¶   rÀ   rü  s	          @@r   Ú%test_lookup1_not_cached_after_changedÚ=LookupBaseFallbackTests.test_lookup1_not_cached_after_changed•  s    ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð �]‰] Wˆ]Ð-ˆØ—
‘
˜3  SÓ)ˆØ
�
‰
�2ŒØ—
‘
˜3  SÓ)ˆØ�‰�eÔØ×Ñ˜Ø,Ð.@ÐAô	Cà×Ñ˜ A 3Õ'r   c                 óÜ   • [        5       [        5       p!U R                  5       nU R                  [        5         UR	                  X![        5       5        S S S 5        g ! , (       d  f       g = fr;   )rž   r£   r  r  Úadapter_hook)r?   ÚreqÚprvrÛ  s       r   Ú test_adapter_hook_w_invalid_nameÚ8LookupBaseFallbackTests.test_adapter_hook_w_invalid_name§  sB   € Ü“8œV›XˆSØ�]‰]‹_ˆØ×ÑœzÕ*Ø�O‰O˜C¤f£hÔ/÷ +×*Ö*ús   ¹AÁ
A+c                 ó�   • [        5       [        5       p!U R                  5       nUR                  X!S5      nU R                  U5        g r  )rž   r£   r?  rb  )r?   r@  rA  rÛ  ré  s        r   Ú!test_adapter_hook_miss_no_defaultÚ9LookupBaseFallbackTests.test_adapter_hook_miss_no_default­  s6   € Ü“8œV›XˆSØ�]‰]‹_ˆØ—‘ ¨"Ó-ˆØ×Ñ˜%Õ r   c                 ó¦   • [        5       [        5       [        5       p2nU R                  5       nUR                  X!SU5      nU R                  XS5        g r  )rž   r£   r?  r¶   )r?   r@  rA  rñ  rÛ  ré  s         r   Ú test_adapter_hook_miss_w_defaultÚ8LookupBaseFallbackTests.test_adapter_hook_miss_w_default³  s<   € Ü#›X¤v£x´³�(ˆØ�]‰]‹_ˆØ—‘ ¨"¨hÓ7ˆØ�‰�eÕ&r   c                 óê   ^^• / mU4S jmU4S jn[        5       [        5       [        5       pCnU R                  US9nUR                  X2SU5      nU R                  Xd5        U R	                  TU/5        g )Nc                 ó(   >• TR                  U 5        g r;   rá  ©ÚcontextÚ_f_called_withs    €r   Ú_factoryÚTLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._factory¼  s   ø€ Ø×!Ñ! 'Õ*r   c                 ó   >• T$ r;   r
   ©r?   rº  r’   r@   rO  s       €r   rÒ  ÚSLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._lookup¿  ó   ø€ ØˆOr   rÕ  ræ  ©rž   r£   r?  r¶   rÀ   )	r?   rÒ  r@  rA  rñ  rÛ  ÚadaptedrN  rO  s	          @@r   Ú*test_adapter_hook_hit_factory_returns_NoneÚBLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None¹  se   ù€ Øˆõ	+õ	ô $›X¤v£x´³�(ˆØ�]‰] Wˆ]Ð-ˆØ—/‘/ #¨C°Ó:ˆØ�‰�gÔ(Ø×Ñ˜¨#¨Õ/r   c                 ó  ^^^	• / m[        5       mUU4S jm	U	4S jn[        5       [        5       [        5       pCnU R                  US9nUR                  X2SU5      nU R                  UT5        U R	                  TU/5        g )Nc                 ó*   >• TR                  U 5        T$ r;   rá  ©rM  Ú_adapterrN  s    €€r   rO  ÚWLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._factoryÌ  ó   ø€ Ø×!Ñ! 'Ô*ØˆOr   c                 ó   >• T$ r;   r
   rR  s       €r   rÒ  ÚVLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._lookupÐ  rT  r   rÕ  ræ  rU  ©
r?   rÒ  r@  rA  rñ  rÛ  rV  r\  rN  rO  s
          @@@r   Ú-test_adapter_hook_hit_factory_returns_adapterÚELookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapterÈ  ón   ú€ ØˆÜ“8ˆö	õ	ô $›X¤v£x´³�(ˆØ�]‰] Wˆ]Ð-ˆØ—/‘/ #¨C°Ó:ˆØ�‰�g˜xÔ(Ø×Ñ˜¨#¨Õ/r   c                 óÚ   >^^• / mU4S jmSU4S jjn[        5       n[        5       nU R                  US9nUR                  X25      nU R	                  XP5        U R                  TU /5        g )Nc                 ó*   >• TR                  U 5        U $ r;   rá  rL  s    €r   rO  ÚILookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._factoryÜ  s   ø€ Ø×!Ñ! 'Ô*ØˆNr   c                 ó   >• T$ r;   r
   rR  s       €r   rÒ  ÚHLookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._lookupà  rT  r   rÕ  )râ   )Úsuperrž   r£   r?  r¶   rÀ   )	r?   rÒ  rº  r’   rÛ  rV  rN  rO  Ú	__class__s	         @@€r   Útest_adapter_hook_super_unwrapsÚ7LookupBaseFallbackTests.test_adapter_hook_super_unwrapsÙ  s^   ú€ Øˆõ	÷	ô “7ˆÜ“8ˆØ�]‰] Wˆ]Ð-ˆØ—/‘/ (Ó5ˆØ�‰�gÔ$Ø×Ñ˜¨$¨Õ0r   c                 ó  ^^^	• / m[        5       mUU4S jm	U	4S jn[        5       [        5       [        5       pCnU R                  US9nUR                  X#SU5      nU R                  UT5        U R	                  TU/5        g )Nc                 ó*   >• TR                  U 5        T$ r;   rá  r[  s    €€r   rO  Ú;LookupBaseFallbackTests.test_queryAdapter.<locals>._factoryî  r^  r   c                 ó   >• T$ r;   r
   rR  s       €r   rÒ  Ú:LookupBaseFallbackTests.test_queryAdapter.<locals>._lookupò  rT  r   rÕ  ræ  )rž   r£   ÚqueryAdapterr¶   rÀ   ra  s
          @@@r   Útest_queryAdapterÚ)LookupBaseFallbackTests.test_queryAdapterê  rd  r   c                 óò   ^^• / m[        5       [        5       [        5       /mUU4S jnU R                  US9nUR                  SS5      nU R                  U[	        T5      5        U R                  TS/5        g )Nc                 ó>   >• TR                  X45        [        T5      $ r;   ©rk   r–   ©r?   rº  r’   rã  rù  s      €€r   Ú
_lookupAllÚCLookupBaseFallbackTests.test_lookupAll_uncached.<locals>._lookupAllÿ  ó   ø€ Ø×Ñ Ð 4Ô5Ü˜“?Ð"r   ©rÂ  r×  rØ  ©rÖ  rØ  ©rž   r£   Ú	lookupAllrÀ   r–   ©r?   rz  rÛ  ré  rã  rù  s       @@r   Útest_lookupAll_uncachedÚ/LookupBaseFallbackTests.test_lookupAll_uncachedû  sg   ù€ ØˆÜ“Hœf›h¬«Ð1ˆö	#ð �]‰]¨
ˆ]Ð3ˆØ—‘˜S #Ó&ˆØ×Ñ˜¤ h£Ô0Ø×Ñ˜¨ Õ7r   c                 ó  ^^• / m[        5       [        5       [        5       /mUU4S jnU R                  US9nUR                  SS5      nUR                  SS5      nU R                  U[	        T5      5        U R                  TS/5        g )Nc                 ó>   >• TR                  X45        [        T5      $ r;   rx  ry  s      €€r   rz  ÚALookupBaseFallbackTests.test_lookupAll_cached.<locals>._lookupAll  r|  r   r}  r×  rØ  r~  r  r�  s       @@r   Útest_lookupAll_cachedÚ-LookupBaseFallbackTests.test_lookupAll_cached  sw   ù€ ØˆÜ“Hœf›h¬«Ð1ˆö	#ð �]‰]¨
ˆ]Ð3ˆØ—‘˜S #Ó&ˆØ—‘˜S #Ó&ˆØ×Ñ˜¤ h£Ô0Ø×Ñ˜¨ Õ7r   c                 óò   ^^• / m[        5       [        5       [        5       /mUU4S jnU R                  US9nUR                  SS5      nU R                  U[	        T5      5        U R                  TS/5        g )Nc                 ó>   >• TR                  X45        [        T5      $ r;   rx  ry  s      €€r   Ú_subscriptionsÚKLookupBaseFallbackTests.test_subscriptions_uncached.<locals>._subscriptions  r|  r   ©rÆ  r×  rØ  r~  ©rž   r£   ÚsubscriptionsrÀ   r–   ©r?   r‹  rÛ  ré  rã  rù  s       @@r   Útest_subscriptions_uncachedÚ3LookupBaseFallbackTests.test_subscriptions_uncached  si   ù€ ØˆÜ“Hœf›h¬«Ð1ˆö	#ð �]‰]¨Nˆ]Ð;ˆØ× Ñ   cÓ*ˆØ×Ñ˜¤ h£Ô0Ø×Ñ˜¨ Õ7r   c                 ó  ^^• / m[        5       [        5       [        5       /mUU4S jnU R                  US9nUR                  SS5      nUR                  SS5      nU R                  U[	        T5      5        U R                  TS/5        g )Nc                 ó>   >• TR                  X45        [        T5      $ r;   rx  ry  s      €€r   r‹  ÚILookupBaseFallbackTests.test_subscriptions_cached.<locals>._subscriptions'  r|  r   r�  r×  rØ  r~  rŽ  r�  s       @@r   Útest_subscriptions_cachedÚ1LookupBaseFallbackTests.test_subscriptions_cached#  s{   ù€ ØˆÜ“Hœf›h¬«Ð1ˆö	#ð �]‰]¨Nˆ]Ð;ˆØ× Ñ   cÓ*ˆØ× Ñ   cÓ*ˆØ×Ñ˜¤ h£Ô0Ø×Ñ˜¨ Õ7r   r
   ©NNN)#r   r   r   r   rµ  rŸ   r£   rÜ  rê  rò  r   r  r  r  r  r  r"  r(  r-  r2  r7  r<  rB  rE  rH  rW  rb  rl  rt  r‚  r‡  r‘  r–  r   Ú__classcell__©rk  s   @r   r²  r²  ¶  s¢   ø† ò"ð (€Oð CGôò4-ò	=ò
=ò+ò+ò +ò+ò (ò$+ò	=ò
=ò=ò+ò+ò (ò$0ò!ò'ò0ò0õ"1ò"0ò"8ò8ò8÷8ð 8r   r²  c                   ó   • \ rS rSrS rSrg)ÚLookupBaseTestsi2  c                 ó   • SSK Jn  U$ )Nr   )Ú
LookupBase)r{   rž  )r?   rž  s     r   rŸ   ÚLookupBaseTests._getTargetClass5  s   € Ý5ØÐr   r
   N©r   r   r   r   rŸ   r   r
   r   r   rœ  rœ  2  s   † õr   rœ  c                   óV   • \ rS rSrS r\r  SS jrS rS rS r	S r
S	 rS
 rS rSrg)ÚVerifyingBaseFallbackTestsi:  c                 ó   • SSK Jn  U$ )Nr   )ÚVerifyingBaseFallback)r{   r¤  )r?   r¤  s     r   rµ  Ú,VerifyingBaseFallbackTests._getFallbackClass<  s   € Ý@Ø$Ð$r   Nc                 óž   ^^^• Tc  S mTc  S mTc  S m " UUU4S jSU R                  5       5      nU" U5      nUR                  U5        U$ )Nc                 ó   • [        5       er;   r¿  r¹  s       r   r»  Ú6VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupG  rÄ  r   c                 ó   • [        5       er;   r¿  rÁ  s      r   rÂ  Ú9VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupAllL  rÄ  r   c                 ó   • [        5       er;   r¿  rÁ  s      r   rÆ  Ú=VerifyingBaseFallbackTests._makeOne.<locals>.uc_subscriptionsQ  rÄ  r   c                   ó<   >^ • \ rS rSr Yr Yr YrU 4S jrSrU =r	$ )Ú4VerifyingBaseFallbackTests._makeOne.<locals>.DerivediT  c                 ó.   >• [         TU ]  5         Xl        g r;   )rj  rc   Ú	_registry)r?   rº   rk  s     €r   rc   Ú=VerifyingBaseFallbackTests._makeOne.<locals>.Derived.__init__Y  s   ø€ Ü‘Ñ Ô"Ø!)•r   )r°  )
r   r   r   r   rÊ  rË  rÌ  rc   r   r™  )rk  r»  rÂ  rÆ  s   @€€€r   rÍ  r®  T  s   ù† Ù(ÐÙ".ÐÙ&6Ð#÷*ó *r   rÍ  )rŸ   rŒ   )r?   rº   r»  rÂ  rÆ  rÍ  Úderiveds     ```  r   r£   Ú#VerifyingBaseFallbackTests._makeOneB  sa   ú€ ð Ñò,ð Ñò,ð Ñ#ò,÷	*ñ 	*�d×*Ñ*Ó,ô 	*ñ ˜(Ó#ˆØ�‰˜Ô Øˆr   c                 óB   ^•  " S S5      m " U4S jS5      nU" U5      $ )Nc                   ó   • \ rS rSrSrSrg)Ú@VerifyingBaseFallbackTests._makeRegistry.<locals>.WithGenerationic  r¿   r
   N)r   r   r   r   rÁ   r   r
   r   r   ÚWithGenerationr¶  c  s   † Ø‹Kr   r·  c                   ó"   >• \ rS rSrU 4S jrSrg)Ú:VerifyingBaseFallbackTests._makeRegistry.<locals>.Registryif  c                 ó\   >• [        U5       Vs/ s H
  nT" 5       PM     snU l        g s  snf r;   )ÚrangeÚro)r?   ÚdepthÚir·  s      €r   rc   ÚCVerifyingBaseFallbackTests._makeRegistry.<locals>.Registry.__init__g  s#   ø€ Ü5:¸5´\ÓB²\°™>Ö+±\ÑB�•ùÒBs   �))r¼  Nre   )r·  s   €r   ÚRegistryr¹  f  s   ø† ÷Cð Cr   rÀ  r
   )r?   r½  rÀ  r·  s      @r   Ú_makeRegistryÚ(VerifyingBaseFallbackTests._makeRegistrya  s%   ø€ ÷	ñ 	÷	Cô 	Cñ ˜‹Ðr   c                 ó0  ^^	• / m[        5       [        5       [        5       p2nXU/m	UU	4S jnU R                  S5      nU R                  XTS9nUR                  SSS5      nUR                  SSS5      nU R	                  Xq5        U R                  TS/5        U R                  T	X#/5        UR                  S   =R                  S-  sl        UR                  SSS5      nU R	                  Xr5        U R                  TSS/5        U R                  T	U/5        g )	Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  Ú7VerifyingBaseFallbackTests.test_lookup.<locals>._lookupq  rû  r   r7  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   Útest_lookupÚ&VerifyingBaseFallbackTests.test_lookupl  s  ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð × Ñ  Ó#ˆØ�]‰]˜3ˆ]Ð2ˆØ—	‘	˜& # sÓ+ˆØ—	‘	˜& # sÓ+ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Ô*Ø�‰ˆq‰	×Ò Ñ"ÕØ—	‘	˜& # sÓ+ˆØ�‰�eÔØ×Ñ˜Ø,Ð.@ÐAô	Cà×Ñ˜ A 3Õ'r   c                 ó0  ^^	• / m[        5       [        5       [        5       p2nXU/m	UU	4S jnU R                  S5      nU R                  XTS9nUR                  SSS5      nUR                  SSS5      nU R	                  Xq5        U R                  TS/5        U R                  T	X#/5        UR                  S   =R                  S-  sl        UR                  SSS5      nU R	                  Xr5        U R                  TSS/5        U R                  T	U/5        g )	Nc                 óL   >• TR                  XU45        TR                  S5      $ r‚  rö  rø  s       €€r   rÒ  Ú8VerifyingBaseFallbackTests.test_lookup1.<locals>._lookupˆ  rû  r   r7  rÕ  r×  rØ  ræ  rç  r¿   )rž   rÁ  r£   r  r¶   rÀ   r¼  rÁ   rÆ  s
           @@r   Útest_lookup1Ú'VerifyingBaseFallbackTests.test_lookup1ƒ  s  ù€ ØˆÜ“(œF›H¤f£hˆaˆØ˜!�9ˆö	#ð × Ñ  Ó#ˆØ�]‰]˜3ˆ]Ð2ˆØ—
‘
˜3  SÓ)ˆØ—
‘
˜3  SÓ)ˆØ�‰�eÔØ×Ñ˜Ð(:Ð';Ô<Ø×Ñ˜ A 6Ô*Ø�‰ˆq‰	×Ò Ñ"ÕØ—
‘
˜3  SÓ)ˆØ�‰�eÔØ×Ñ˜Ø,Ð.@ÐAô	Cà×Ñ˜ A 3Õ'r   c                 ó"  ^ ^^^• [        5       [        5       [        5       /u  mmnU4S jnU4S jnU 4S jnX#U/mU4S jn[        5       [        5       [        5       p‡nT R                  S5      n	T R                  X•S9n
U
R                  XvSU5      nT R	                  UT5        U
R                  XvSU5      nT R	                  UT5        U	R
                  S   =R                  S-  sl        U
R                  XvSU5      nT R	                  UT5        g )	Nc                 ó   >• T$ r;   r
   ©rM  rý  s    €r   Ú	_factory1Ú?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory1�  ó   ø€ ØˆHr   c                 ó   >• T$ r;   r
   ©rM  rþ  s    €r   Ú	_factory2Ú?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory2   rÓ  r   c                 ó(   >• TR                  S5        g rÑ  r}  ©rM  r?   s    €r   Ú	_factory3Ú?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory3£  ó   ø€ Ø�I‰IÐ3Õ4r   c                 ó&   >• TR                  S5      $ r‚  ©r÷  ©r?   rº  r’   r@   Ú
_factoriess       €r   rÒ  Ú=VerifyingBaseFallbackTests.test_adapter_hook.<locals>._lookup¨  ó   ø€ Ø—>‘> !Ó$Ð$r   r7  rÕ  ræ  r¿   )rž   rÁ  r£   r?  r¶   r¼  rÁ   ©r?   Ú_crÑ  rÖ  rÚ  rÒ  r@  rA  rñ  r†   rÛ  rV  rà  rý  rþ  s   `           @@@r   Útest_adapter_hookÚ,VerifyingBaseFallbackTests.test_adapter_hookš  óç   û€ Ü“Hœf›h¬«Ð1‰ˆˆ1ˆbõ	õ	õ	5ð  ¨IÐ6ˆ
õ	%ô $›X¤v£x´³�(ˆØ× Ñ  Ó#ˆØ�]‰]˜3ˆ]Ð2ˆØ—/‘/ #¨C°Ó:ˆØ�‰�g˜qÔ!Ø—/‘/ #¨C°Ó:ˆØ�‰�g˜qÔ!Ø�‰ˆq‰	×Ò Ñ"ÕØ—/‘/ #¨C°Ó:ˆØ�‰�g˜qÕ!r   c                 ó"  ^ ^^^• [        5       [        5       [        5       /u  mmnU4S jnU4S jnU 4S jnX#U/mU4S jn[        5       [        5       [        5       p‡nT R                  S5      n	T R                  X•S9n
U
R                  XgSU5      nT R	                  UT5        U
R                  XgSU5      nT R	                  UT5        U	R
                  S   =R                  S-  sl        U
R                  XvSU5      nT R	                  UT5        g )	Nc                 ó   >• T$ r;   r
   rÐ  s    €r   rÑ  Ú?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory1¹  rÓ  r   c                 ó   >• T$ r;   r
   rÕ  s    €r   rÖ  Ú?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory2¼  rÓ  r   c                 ó(   >• TR                  S5        g rÑ  r}  rÙ  s    €r   rÚ  Ú?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory3¿  rÜ  r   c                 ó&   >• TR                  S5      $ r‚  rÞ  rß  s       €r   rÒ  Ú=VerifyingBaseFallbackTests.test_queryAdapter.<locals>._lookupÄ  râ  r   r7  rÕ  ræ  r¿   )rž   rÁ  r£   rs  r¶   r¼  rÁ   r?  rã  s   `           @@@r   rt  Ú,VerifyingBaseFallbackTests.test_queryAdapter¶  rç  r   c                 ó  ^• [        5       [        5       [        5       /n[        5       [        5       [        5       /nX/mU4S jnU R                  S5      nU R                  XCS9nUR                  SS5      nU R	                  U[        U5      5        UR                  SS5      nU R	                  U[        U5      5        UR                  S   =R                  S-  sl        UR                  SS5      nU R	                  U[        U5      5        g )Nc                 ó8   >• [        TR                  S5      5      $ r‚  ©r–   r÷  ©r?   rº  r’   rù  s      €r   rz  Ú=VerifyingBaseFallbackTests.test_lookupAll.<locals>._lookupAll×  ó   ø€ Ü˜Ÿ™ a›Ó)Ð)r   r7  r}  r×  rØ  r¿   )rž   rÁ  r£   r€  rÀ   r–   r¼  rÁ   )r?   Ú
_results_1Ú
_results_2rz  r†   rÛ  ré  rù  s          @r   Útest_lookupAllÚ)VerifyingBaseFallbackTests.test_lookupAllÒ  sÞ   ø€ Ü“h¤£¬&«(Ð3ˆ
Ü“h¤£¬&«(Ð3ˆ
ØÐ+ˆõ	*ð × Ñ  Ó#ˆØ�]‰]˜3ˆ]Ð8ˆØ—‘˜S #Ó&ˆØ×Ñ˜¤ jÓ 1Ô2Ø—‘˜S #Ó&ˆØ×Ñ˜¤ jÓ 1Ô2Ø�‰ˆq‰	×Ò Ñ"ÕØ—‘˜S #Ó&ˆØ×Ñ˜¤ jÓ 1Õ2r   c                 ó  ^• [        5       [        5       [        5       /n[        5       [        5       [        5       /nX/mU4S jnU R                  S5      nU R                  XCS9nUR                  SS5      nU R	                  U[        U5      5        UR                  SS5      nU R	                  U[        U5      5        UR                  S   =R                  S-  sl        UR                  SS5      nU R	                  U[        U5      5        g )Nc                 ó8   >• [        TR                  S5      5      $ r‚  rô  rõ  s      €r   r‹  ÚEVerifyingBaseFallbackTests.test_subscriptions.<locals>._subscriptionsé  r÷  r   r7  r�  r×  rØ  r¿   )rž   rÁ  r£   r�  rÀ   r–   r¼  rÁ   )r?   rø  rù  r‹  r†   rÛ  ré  rù  s          @r   Útest_subscriptionsÚ-VerifyingBaseFallbackTests.test_subscriptionsä  sä   ø€ Ü“h¤£¬&«(Ð3ˆ
Ü“h¤£¬&«(Ð3ˆ
ØÐ+ˆõ	*ð × Ñ  Ó#ˆØ�]‰]˜3ˆ]Ð@ˆØ× Ñ   cÓ*ˆØ×Ñ˜¤ jÓ 1Ô2Ø× Ñ   cÓ*ˆØ×Ñ˜¤ jÓ 1Ô2Ø�‰ˆq‰	×Ò Ñ"ÕØ× Ñ   cÓ*ˆØ×Ñ˜¤ jÓ 1Õ2r   r
   r˜  )r   r   r   r   rµ  rŸ   r£   rÁ  rÇ  rÌ  rå  rt  rú  rÿ  r   r
   r   r   r¢  r¢  :  s<   † ò%ð (€Oà>BØ"&ôò>	ò(ò.(ò."ò8"ò83õ$3r   r¢  c                   ó   • \ rS rSrS rSrg)ÚVerifyingBaseTestsi÷  c                 ó   • SSK Jn  U$ )Nr   )ÚVerifyingBase)r{   r  )r?   r  s     r   rŸ   Ú"VerifyingBaseTests._getTargetClassú  s   € Ý8ØÐr   r
   Nr   r
   r   r   r  r  ÷  s   † õr   r  c                   ó   ^ • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rU 4S jrS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S'r)U =r*$ )(ÚAdapterLookupBaseTestsiÿ  c                 ó   • SSK Jn  U$ )Nr   )ÚAdapterLookupBase)r{   r	  )r?   r	  s     r   rŸ   Ú&AdapterLookupBaseTests._getTargetClass  s   € Ý<Ø Ð r   c                 ó.   • U R                  5       " U5      $ r;   r¢   rÂ   s     r   r£   ÚAdapterLookupBaseTests._makeOne  s   € Ø×#Ñ#Ô% hÓ/Ð/r   c                 ó$   •  " S S5      nU" 5       $ )Nc                   ó   • \ rS rSrS rSrg)Ú<AdapterLookupBaseTests._makeSubregistry.<locals>.Subregistryi
  c                 ó    • / U l         / U l        g r;   ©rÕ   rÞ   rL   s    r   rc   ÚEAdapterLookupBaseTests._makeSubregistry.<locals>.Subregistry.__init__  s   € Ø!#�”Ø$&�Õ!r   r  Nre   r
   r   r   ÚSubregistryr  
  s   † õ'r   r  r
   )r?   r’   r  s      r   Ú_makeSubregistryÚ'AdapterLookupBaseTests._makeSubregistry  s   € ÷	'ñ 	'ñ
 ‹}Ðr   c                 ó&   •  " S S5      nU" U5      $ )Nc                   ó   • \ rS rSrS rSrg)Ú6AdapterLookupBaseTests._makeRegistry.<locals>.Registryi  c                 ó   • Xl         / U l        g r;   ©ræ   r¼  r‘   s     r   rc   Ú?AdapterLookupBaseTests._makeRegistry.<locals>.Registry.__init__  s   € Ø!)”Ø�•r   r  Nre   r
   r   r   rÀ  r    s   † õr   rÀ  r
   )r?   r’   rÀ  s      r   rÁ  Ú$AdapterLookupBaseTests._makeRegistry  s   € ÷	ñ 	ñ
 ˜Ó!Ð!r   c                 ó~   • U R                  5       nU R                  U5      nU R                  UR                  0 5        g r;   )rÁ  r£   rÀ   r�   )r?   rº   Úalbs      r   Útest_ctor_empty_registryÚ/AdapterLookupBaseTests.test_ctor_empty_registry  s2   € Ø×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×Ñ˜Ÿ™¨Õ,r   c                 óä  • SSK Jn  SSKJn  U" S5      nU" SU45      nU R	                  X45      nU R                  U5      nU R                  [        UR                  R                  5       5      [        XCU/5      5        U R                  UR                  U   X4/5        U R                  UR                  U   U/5        U R                  [        UR                  U   5      [        X4/5      5        g ©Nr   r   ©ÚInterfaceClassÚIFooÚIBar)
r5   r   Úzope.interface.interfacer$  rÁ  r£   rÀ   rÿ   r�   Úkeys©r?   r   r$  r%  r&  rº   r  s          r   Útest_ctor_w_registry_providedÚ4AdapterLookupBaseTests.test_ctor_w_registry_provided  sË   € Ý,Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ�m‰m˜HÓ%ˆØ×Ñœ §¡× 3Ñ 3Ó 5Ó6Ü ¨YÐ 7Ó8ô	:à×Ñ˜Ÿ™¨Ñ-°¨|Ô<Ø×Ñ˜Ÿ™¨Ñ-°¨vÔ6Ø×Ñœ §¡¨yÑ 9Ó:Ü  Ó-õ	/r   c                 óž   •  " S S5      n " S SU R                  5       U5      nU R                  5       nU" U5      nUR                  U5        g )Nc                   ó   • \ rS rSrS rSrg)ÚAAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixini0  c                 ó   • g r;   r
   rT   s     r   rŒ   ÚIAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixin.changed1  r½  r   r
   N©r   r   r   r   rŒ   r   r
   r   r   ÚMixinr.  0  ó   † õr   r2  c                   ó   • \ rS rSrSrg)ÚCAdapterLookupBaseTests.test_changed_empty_required.<locals>.Derivedi4  r
   Nr   r
   r   r   rÍ  r5  4  rÏ   r   rÍ  )rŸ   rÁ  rŒ   )r?   r2  rÍ  rº   r  s        r   Útest_changed_empty_requiredÚ2AdapterLookupBaseTests.test_changed_empty_required-  sI   € ÷	ñ 	ô	�d×*Ñ*Ó,¨eô 	ð ×%Ñ%Ó'ˆÙ�hÓˆØ�‰�CÕr   c                 óÈ  •  " S S5      n " S SU R                  5       U5      n " S S5      nU" S5      nU" S5      nU R                  5       nU" U5      nS	UR                  U'   S	UR                  U'   UR                  U5        U R	                  [        UR                  5      S
5        U R	                  UR                  S 5        U R	                  UR                  U5        g )Nc                   ó   • \ rS rSrS rSrg)Ú=AdapterLookupBaseTests.test_changed_w_required.<locals>.Mixini>  c                 ó   • g r;   r
   rT   s     r   rŒ   ÚEAdapterLookupBaseTests.test_changed_w_required.<locals>.Mixin.changed?  r½  r   r
   Nr1  r
   r   r   r2  r:  >  r3  r   r2  c                   ó   • \ rS rSrSrg)Ú?AdapterLookupBaseTests.test_changed_w_required.<locals>.DerivediB  r
   Nr   r
   r   r   rÍ  r>  B  rÏ   r   rÍ  c                   ó*   • \ rS rSrSrS rS rS rSrg)ÚCAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakrefiE  Nc                 ó   • Xl         g r;   ©Ú_here)r?   Úheres     r   rc   ÚLAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__init__H  s   € Ø!•
r   c                 ó,   • U R                   (       a  U $ S $ r;   rB  rL   s    r   Ú__call__ÚLAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__call__K  s   € Ø#ŸzŸz�tÐ3¨tÐ3r   c                 ó   • Xl         g r;   )Ú_unsub)r?   Útargets     r   r@  ÚOAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.unsubscribeN  s   € Ø$•r   )rC  rJ  )	r   r   r   r   rJ  rc   rG  r@  r   r
   r   r   ÚFauxWeakrefr@  E  s   † ØˆFò"ò4õ%r   rM  FTr¿   r   )rŸ   rÁ  Ú	_requiredrŒ   rÀ   rK   rJ  )r?   r2  rÍ  rM  ÚgonerD  rº   r  s           r   Útest_changed_w_requiredÚ.AdapterLookupBaseTests.test_changed_w_required;  sÄ   € ÷	ñ 	ô	�d×*Ñ*Ó,¨eô 	÷
	%ñ 
	%ñ ˜5Ó!ˆÙ˜4Ó ˆØ×%Ñ%Ó'ˆÙ�hÓˆØˆ�‰�dÑØˆ�‰�dÑØ�‰�CÔØ×Ñœ˜SŸ]™]Ó+¨QÔ/Ø×Ñ˜Ÿ™ dÔ+Ø×Ñ˜Ÿ™ cÕ*r   c                 ó  • SSK Jn  SSKJn  U" S5      nU" SU45      nU R	                  5       nU R                  U5      nX4/Ul        UR                  5         U R                  [        UR                  R                  5       5      [        XCU/5      5        U R                  UR                  U   X4/5        U R                  UR                  U   U/5        U R                  [        UR                  U   5      [        X4/5      5        g r"  )r5   r   r'  r$  rÁ  r£   ræ   Úinit_extendorsrÀ   rÿ   r�   r(  r)  s          r   Ú)test_init_extendors_after_registry_updateÚ@AdapterLookupBaseTests.test_init_extendors_after_registry_update\  sß   € Ý,Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ"˜\ˆÔØ×ÑÔØ×Ñœ §¡× 3Ñ 3Ó 5Ó6Ü ¨YÐ 7Ó8ô	:à×Ñ˜Ÿ™¨Ñ-°¨|Ô<Ø×Ñ˜Ÿ™¨Ñ-°¨vÔ6Ø×Ñœ §¡¨yÑ 9Ó:Ü  Ó-õ	/r   c                 ó&  • SSK Jn  SSKJn  U" S5      nU" SU45      nU R	                  5       nU R                  U5      nUR                  U5        UR                  U5        U R                  [        UR                  R                  5       5      [        XCU/5      5        U R                  UR                  U   X4/5        U R                  UR                  U   U/5        U R                  [        UR                  U   5      [        X4/5      5        g r"  )r5   r   r'  r$  rÁ  r£   r“   rÀ   rÿ   r�   r(  r)  s          r   Útest_add_extendorÚ(AdapterLookupBaseTests.test_add_extendorl  så   € Ý,Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×Ñ˜ÔØ×Ñ˜ÔØ×Ñœ §¡× 3Ñ 3Ó 5Ó6Ü ¨YÐ 7Ó8ô	:à×Ñ˜Ÿ™¨Ñ-°¨|Ô<Ø×Ñ˜Ÿ™¨Ñ-°¨vÔ6Ø×Ñœ §¡¨yÑ 9Ó:Ü  Ó-õ	/r   c                 ó  • SSK Jn  SSKJn  U" S5      nU" SU45      nU R	                  X45      nU R                  U5      nUR                  U5        U R                  [        UR                  R                  5       5      [        X4U/5      5        U R                  UR                  U   U/5        U R                  UR                  U   U/5        U R                  [        UR                  U   5      [        U/5      5        g r"  )r5   r   r'  r$  rÁ  r£   r˜   rÀ   rÿ   r�   r(  r)  s          r   Útest_remove_extendorÚ+AdapterLookupBaseTests.test_remove_extendor|  sØ   € Ý,Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ�m‰m˜HÓ%ˆØ×Ñ˜DÔ!Ø×Ñœ §¡× 3Ñ 3Ó 5Ó6Ü ¨YÐ 7Ó8ô	:à×Ñ˜Ÿ™¨Ñ-°¨vÔ6Ø×Ñ˜Ÿ™¨Ñ-°¨vÔ6Ø×Ñœ §¡¨yÑ 9Ó:Ü  ›õ	)r   c                 ó^  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  U5      nUR	                  U4U5      nU R                  US 5        U R                  [        UR                  5      S5        U R                  UR                  5       UR                  5        g ©Nr   r#  r%  r&  r¿   )
r'  r$  rÁ  r£   rÊ  rÀ   rK   rN  r9  Úweakref©r?   r$  r%  r&  rº   r  Úresults          r   Útest__uncached_lookup_empty_roÚ5AdapterLookupBaseTests.test__uncached_lookup_empty_ro�  sŽ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×%Ñ% t g¨tÓ4ˆØ×Ñ˜ Ô&Ø×Ñœ˜SŸ]™]Ó+¨QÔ/Ø�‰�d—l‘l“n c§m¡mÕ4r   c                 ó  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       nUR                  R                  U5        U R                  U5      nUR                  U4U5      nU R                  US 5        g ©Nr   r#  r%  r&  )	r'  r$  rÁ  r  r¼  rk   r£   rÊ  rÀ   ©r?   r$  r%  r&  rº   Úsubrr  r`  s           r   Ú test__uncached_lookup_order_missÚ7AdapterLookupBaseTests.test__uncached_lookup_order_miss˜  s   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×%Ñ% t g¨tÓ4ˆØ×Ñ˜ Õ&r   c                 ó4  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  5       n0 0 /Ul        UR
                  R                  U5        U R                  U5      nXel        UR                  U4U5      nU R                  US 5        g rd  )r'  r$  rÁ  r  rÕ   r¼  rk   r£   r¸   rÊ  rÀ   re  s           r   Ú$test__uncached_lookup_extendors_missÚ;AdapterLookupBaseTests.test__uncached_lookup_extendors_miss£  s�   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ×$Ñ$Ó&ˆØ˜b˜ˆŒØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×%Ñ% t g¨tÓ4ˆØ×Ñ˜ Õ&r   c                 óf  • SSK Jn  U" S5      nU" SU45      nU" S5      nU R                  X#5      nU R                  5       n[	        5       n0 UUSU000/Ul        UR                  R                  U5        U R                  U5      nX†l	        UR                  U4U5      n	U R                  U	S 5        g ©Nr   r#  r%  r&  ÚIQuxrâ   ©r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   r¸   rÊ  rÀ   ©
r?   r$  r%  r&  rn  rº   rf  Ú
irrelevantr  r`  s
             r   Ú1test__uncached_lookup_components_miss_wrong_ifaceÚHAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_iface°  sº   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆÙ˜fÓ%ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Xˆ
ààØ˜2˜zÐ*ððð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×%Ñ% t g¨tÓ4ˆØ×Ñ˜ Õ&r   c                 óV  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n0 UUSU000/Ul        UR                  R                  U5        U R                  U5      nXul	        UR                  U4U5      nU R                  US 5        g ©Nr   r#  r%  r&  Ú	wrongnamero  ©	r?   r$  r%  r&  rº   rf  rv  r  r`  s	            r   Ú0test__uncached_lookup_components_miss_wrong_nameÚGAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_nameÆ  s°   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆä“Hˆ	ààØ˜;¨	Ð2ððð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×%Ñ% t g¨tÓ4ˆØ×Ñ˜ Õ&r   c                 óR  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n0 X#SU000/Ul        UR                  R                  U5        U R                  U5      nXul	        UR                  U4U5      nU R                  X†5        g ©Nr   r#  r%  r&  râ   ©r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   r¸   rÊ  r¶   )	r?   r$  r%  r&  rº   rf  Ú	_expectedr  r`  s	            r   Ú test__uncached_lookup_simple_hitÚ7AdapterLookupBaseTests.test__uncached_lookup_simple_hitÜ  s¤   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	àØ˜2˜y˜/Ð*Ð+ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×%Ñ% t g¨tÓ4ˆØ�‰�fÕ(r   c                 óš  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n0 X#SU000/Ul        UR                  R                  U5        U R                  U5      nXul	        UR                  U4U5      nUR                  U4U5      n	U R                  X†5        U R                  X–5        g r{  r|  )
r?   r$  r%  r&  rº   rf  r}  r  r`  Úresult2s
             r   Ú"test__uncached_lookup_repeated_hitÚ9AdapterLookupBaseTests.test__uncached_lookup_repeated_hití  sÄ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	àØ˜2˜y˜/Ð*Ð+ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×%Ñ% t g¨tÓ4ˆØ×&Ñ&¨ w°Ó5ˆØ�‰�fÔ(Ø�‰�gÕ)r   c                 ó¨  • SSK Jn  SSKJn  U" S5      nU" SU45      nU" U5       " S S5      5       nU" 5       nU R	                  5       nU R                  5       n0 0 /Ul        UR                  R                  U5        U R                  U5      n	U	R                  U	l        X˜l        [        5       n
U	R                  U4XJS9nU R                  Xº5        g )	Nr   ©Úimplementerr#  r%  r&  c                   ó   • \ rS rSrSrg)ÚFAdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss.<locals>.Fooi  r
   Nr   r
   r   r   ÚFoorˆ    ó   † âr   r‰  ©Údefault)Úzope.interface.declarationsr†  r'  r$  rÁ  r  rÕ   r¼  rk   r£   rÊ  rÙ  r¸   rž   ÚqueryMultiAdapterr¶   )r?   r†  r$  r%  r&  r‰  Úfoorº   rf  r  rñ  r`  s               r   Ú"test_queryMultiAdaptor_lookup_missÚ9AdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss   sÎ   € Ý;Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×%Ñ%Ó'ˆØ×$Ñ$Ó&ˆàØð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×)Ñ)ˆŒ
ØŒÜ“8ˆØ×&Ñ&¨ v¨tÐ&ÐFˆØ�‰�fÕ'r   c                 óÂ   ^^• SSK Jn  SSKJn  U" S5      mU R	                  5       nU R                  U5      mTR                  Tl        UU4S jnUR                  XSS9  g )Nr   r#  )ÚMissingSomeAttrsr%  c                 ó*   >• TR                  U 4T5      $ r;   )rŽ  )Úobr%  r  s    €€r   ÚtestÚVAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access.<locals>.test'  s   ø€ Ø×(Ñ(Ø�Øóð r   rk  )Úexpected_missing)	r'  r$  Úzope.interface.testsr“  rÁ  r£   rÊ  rÙ  Útest_raises)r?   r$  r“  rº   r–  r%  r  s        @@r   Ú1test_queryMultiAdapter_errors_on_attribute_accessÚHAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access  sX   ù€ õ 	<Ý9á˜fÓ%ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×)Ñ)ˆŒ
ö	ð 	×$Ñ$ TÀ+Ð$ÒNr   c                 óì  ^• SSK Jn  SSKJn  U" S5      nU" SU45      nU" U5       " S S5      5       nU" 5       nU R	                  X45      nU R                  5       n/ mU4S jn	0 X4S	U	000/Ul        UR                  R                  U5        U R                  U5      n
U
R                  U
l        X¨l        [        5       nU
R                  U4XKS
9nU R                  XË5        U R!                  TU/5        g )Nr   r…  r#  r%  r&  c                   ó   • \ rS rSrSrg)ÚGAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>.Fooi5  r
   Nr   r
   r   r   r‰  rŸ  5  rŠ  r   r‰  c                 ó(   >• TR                  U 5        g r;   rá  )rM  rã  s    €r   rO  ÚLAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>._factory>  s   ø€ Ø×Ñ Õ(r   râ   r‹  )r�  r†  r'  r$  rÁ  r  rÕ   r¼  rk   r£   rÊ  rÙ  r¸   rž   rŽ  r¶   rÀ   )r?   r†  r$  r%  r&  r‰  r�  rº   rf  rO  r  rñ  r`  rã  s                @r   Ú#test_queryMultiAdaptor_factory_missÚ:AdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss/  sû   ø€ Ý;Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØˆõ	)ð Ø˜2˜x˜.Ð)Ð*ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×)Ñ)ˆŒ
ØŒÜ“8ˆØ×&Ñ&¨ v¨tÐ&ÐFˆØ�‰�fÔ'Ø×Ñ˜¨ uÕ-r   c                 ó  ^^• SSK Jn  SSKJn  U" S5      nU" SU45      nU" U5       " S S5      5       nU" 5       nU R	                  X45      nU R                  5       n[        5       m/ mUU4S jn	0 X4S	U	000/Ul        UR                  R                  U5        U R                  U5      n
U
R                  U
l        X¨l        [        5       nU
R                  U4XKS
9nU R                  UT5        U R!                  TU/5        g )Nr   r…  r#  r%  r&  c                   ó   • \ rS rSrSrg)ÚFAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>.FooiT  r
   Nr   r
   r   r   r‰  r¦  T  rŠ  r   r‰  c                 ó*   >• TR                  U 5        T$ r;   rá  )rM  rã  r}  s    €€r   rO  ÚKAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>._factory^  s   ø€ Ø×Ñ Ô(ØÐr   râ   r‹  )r�  r†  r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   rÊ  rÙ  r¸   rŽ  r¶   rÀ   )r?   r†  r$  r%  r&  r‰  r�  rº   rf  rO  r  rñ  r`  rã  r}  s                @@r   Ú"test_queryMultiAdaptor_factory_hitÚ9AdapterLookupBaseTests.test_queryMultiAdaptor_factory_hitN  s  ù€ Ý;Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	Øˆö	ð
 Ø˜2˜x˜.Ð)Ð*ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×)Ñ)ˆŒ
ØŒÜ“8ˆØ×&Ñ&¨ v¨tÐ&ÐFˆØ�‰�f˜iÔ(Ø×Ñ˜¨ uÕ-r   c                 óà   >^• U R                  U R                  5       5      nU4S jnS mX!l        [        5       SS[        5       /nUR	                  US 5      nU R                  UU SSU 45        g )Nc                  ó   >• T$ r;   r
   )r  Úfactorys    €r   rÙ  ÚKAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.lookupr  s   ø€ ØˆNr   c                  ó   • U $ r;   r
   )r  s    r   r­  ÚLAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.factoryu  s   € ØˆKr   r'   Úabc)r£   rÁ  rÙ  rj  rŽ  rÀ   )r?   r  rÙ  Úobjectsr`  r­  rk  s        @€r   Ú$test_queryMultiAdapter_super_unwrapsÚ;AdapterLookupBaseTests.test_queryMultiAdapter_super_unwrapso  sy   ù€ Ø�m‰m˜D×.Ñ.Ó0Ó1ˆõ	ò	ð Œ
ô ‹GØØÜ‹Gð	
ˆð ×&Ñ& w°Ó5ˆØ×Ñ˜ØØØØð	"
õ 	r   c                 ó^  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  U5      nUR	                  U4U5      nU R                  US5        U R                  [        UR                  5      S5        U R                  UR                  5       UR                  5        g )Nr   r#  r%  r&  r
   r¿   )
r'  r$  rÁ  r£   rË  rÀ   rK   rN  r9  r^  r_  s          r   Ú!test__uncached_lookupAll_empty_roÚ8AdapterLookupBaseTests.test__uncached_lookupAll_empty_ro‰  sŽ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×(Ñ(¨$¨°$Ó7ˆØ×Ñ˜ Ô$Ø×Ñœ˜SŸ]™]Ó+¨QÔ/Ø�‰�d—l‘l“n c§m¡mÕ4r   c                 ó$  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       nUR                  R                  U5        U R                  U5      nXel        UR                  U4U5      nU R                  US5        g ©Nr   r#  r%  r&  r
   )
r'  r$  rÁ  r  r¼  rk   r£   r¸   rË  rÀ   re  s           r   Ú#test__uncached_lookupAll_order_missÚ:AdapterLookupBaseTests.test__uncached_lookupAll_order_miss”  s„   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×(Ñ(¨$¨°$Ó7ˆØ×Ñ˜ Õ$r   c                 ó4  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  5       n0 0 /Ul        UR
                  R                  U5        U R                  U5      nXel        UR                  U4U5      nU R                  US5        g r¹  )r'  r$  rÁ  r  rÕ   r¼  rk   r£   r¸   rË  rÀ   re  s           r   Ú'test__uncached_lookupAll_extendors_missÚ>AdapterLookupBaseTests.test__uncached_lookupAll_extendors_miss   s�   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ×$Ñ$Ó&ˆØ˜b˜ˆŒØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×(Ñ(¨$¨°$Ó7ˆØ×Ñ˜ Õ$r   c                 ód  • SSK Jn  U" S5      nU" SU45      nU" S5      nU R                  X#5      nU R                  5       n[	        5       n0 X$SU000/Ul        UR                  R                  U5        U R                  U5      nX†l	        UR                  U4U5      n	U R                  U	S5        g )Nr   r#  r%  r&  rn  râ   r
   )r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   r¸   rË  rÀ   rp  s
             r   Ú(test__uncached_lookupAll_components_missÚ?AdapterLookupBaseTests.test__uncached_lookupAll_components_miss­  s³   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆÙ˜fÓ%ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Xˆ
àØ˜2˜zÐ*Ð+Ð,ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×(Ñ(¨$¨°$Ó7ˆØ×Ñ˜ Õ$r   c                 ó†  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n[	        5       n0 X#XgS.00/Ul        UR                  R                  U5        U R                  U5      nX…l	        UR                  U4U5      n	U R                  [        U	5      SU4SU4/5        g ©Nr   r#  r%  r&  )râ   Únamedrâ   rÄ  )r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   r¸   rË  rÀ   rÿ   ©
r?   r$  r%  r&  rº   rf  r}  Ú_namedr  r`  s
             r   Ú#test__uncached_lookupAll_simple_hitÚ:AdapterLookupBaseTests.test__uncached_lookupAll_simple_hit¿  sÀ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	Ü“ˆàØ˜yÑ:Ð;Ð<ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×(Ñ(¨$¨°$Ó7ˆØ×Ñœ ›¨2¨y¨/¸GÀVÐ;LÐ)MÕNr   c                 ó   • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n[	        5       n0 X#XgS.00/Ul        UR                  R                  U5        U R                  U5      nUR                  Ul
        X…l        UR                  U4U5      n	U R                  [        U	5      SS/5        g rÃ  )r'  r$  rÁ  r  rž   rÕ   r¼  rk   r£   rË  r€  r¸   ÚnamesrÀ   rÿ   rÅ  s
             r   Ú
test_namesÚ!AdapterLookupBaseTests.test_namesÑ  sÁ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	Ü“ˆàØ˜yÑ:Ð;Ð<ð
ˆŒð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×/Ñ/ˆŒØŒØ—‘˜D˜7 DÓ)ˆØ×Ñœ ›¨"¨g¨Õ7r   c                 ó^  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  U5      nUR	                  U4U5      nU R                  U/ 5        U R                  [        UR                  5      S5        U R                  UR                  5       UR                  5        g r]  )
r'  r$  rÁ  r£   rÌ  rÀ   rK   rN  r9  r^  r_  s          r   Ú%test__uncached_subscriptions_empty_roÚ<AdapterLookupBaseTests.test__uncached_subscriptions_empty_roä  sŽ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ�m‰m˜HÓ%ˆØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñ˜ Ô$Ø×Ñœ˜SŸ]™]Ó+¨QÔ/Ø�‰�d—l‘l“n c§m¡mÕ4r   c                 ó$  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       nUR                  R                  U5        U R                  U5      nXel        UR                  U4U5      nU R                  U/ 5        g rd  )
r'  r$  rÁ  r  r¼  rk   r£   r¸   rÌ  rÀ   re  s           r   Ú'test__uncached_subscriptions_order_missÚ>AdapterLookupBaseTests.test__uncached_subscriptions_order_missï  s„   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñ˜ Õ$r   c                 ó4  • SSK Jn  U" S5      nU" SU45      nU R                  5       nU R                  5       n0 0 /Ul        UR
                  R                  U5        U R                  U5      nXel        UR                  U4U5      nU R                  U/ 5        g rd  )r'  r$  rÁ  r  rÞ   r¼  rk   r£   r¸   rÌ  rÀ   re  s           r   Ú+test__uncached_subscriptions_extendors_missÚBAdapterLookupBaseTests.test__uncached_subscriptions_extendors_missû  sŽ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ%Ó'ˆØ×$Ñ$Ó&ˆØ ˜HˆÔØ�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñ˜ Õ$r   c                 ód  • SSK Jn  U" S5      nU" SU45      nU" S5      nU R                  X#5      nU R                  5       n[	        5       n0 X$SU000/Ul        UR                  R                  U5        U R                  U5      nX†l	        UR                  U4U5      n	U R                  U	/ 5        g rm  ©r'  r$  rÁ  r  rž   rÞ   r¼  rk   r£   r¸   rÌ  rÀ   rp  s
             r   Ú8test__uncached_subscriptions_components_miss_wrong_ifaceÚOAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_iface  s´   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆÙ˜fÓ%ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Xˆ
àØ˜2˜zÐ*Ð+Ð,ð
ˆÔð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñ˜ Õ$r   c                 óT  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n[	        5       n0 X#SU000/Ul        UR                  R                  U5        U R                  U5      nXul	        UR                  U4U5      nU R                  U/ 5        g ru  r×  rw  s	            r   Ú7test__uncached_subscriptions_components_miss_wrong_nameÚNAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_name  sª   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆÜ“Hˆ	àØ˜;¨	Ð2Ð3Ð4ð
ˆÔð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñ˜ Õ$r   c                 ó–  • SSK Jn  U" S5      nU" SU45      nU R                  X#5      nU R                  5       n " S S5      nU" 5       U" 5       p‡0 X#SXx4000/Ul        UR
                  R                  U5        U R                  U5      n	X•l        U	R                  U4U5      n
U R                  [        U
5      [        Xx/5      5        g )Nr   r#  r%  r&  c                   ó   • \ rS rSrS rSrg)ÚKAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Fooi2  c                 ó   • g)NTr
   rT   s     r   Ú__lt__ÚRAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Foo.__lt__4  s   € Ør   r
   N)r   r   r   r   rá  r   r
   r   r   r‰  rß  2  s   † õr   r‰  râ   )r'  r$  rÁ  r  rÞ   r¼  rk   r£   r¸   rÌ  rÀ   rÿ   )r?   r$  r%  r&  rº   rf  r‰  Ú_exp1Ú_exp2r  r`  s              r   Ú'test__uncached_subscriptions_simple_hitÚ>AdapterLookupBaseTests.test__uncached_subscriptions_simple_hit+  sÇ   € Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆ÷	ñ 	ñ
 “u™c›eˆuàØ˜2 ˜~Ð.Ð/Ð0ð
ˆÔð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØŒØ×,Ñ,¨d¨W°dÓ;ˆØ×Ñœ ›¬°°Ó)?Õ@r   c                 ó  ^• SSK Jn  SSKJn  U" S5      nU" SU45      nU" U5       " S S5      5       nU" 5       nU R	                  X45      nU R	                  X45      nU R                  5       n0 mU4S jn	U4S	 jn
0 US S
Xš4000/Ul        UR                  R                  U5        U R                  U5      nUR                  Ul        X¸l        UR                  U4S 5      nU R                  US5        U R                  TU/U/S.5        g )Nr   r…  r#  r%  r&  c                   ó   • \ rS rSrSrg)Ú@AdapterLookupBaseTests.test_subscribers_wo_provided.<locals>.FooiH  r
   Nr   r
   r   r   r‰  ré  H  rŠ  r   r‰  c                 óH   >• TR                  S/ 5      R                  U 5        g ©NrÑ  ©Ú
setdefaultrk   ©rM  Ú_calleds    €r   rÑ  ÚFAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory1R  ó   ø€ Ø×Ñ˜{¨BÓ/×6Ñ6°wÕ?r   c                 óH   >• TR                  S/ 5      R                  U 5        g ©NrÖ  rì  rî  s    €r   rÖ  ÚFAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory2U  rñ  r   râ   r
   )rÑ  rÖ  )r�  r†  r'  r$  rÁ  r  rÞ   r¼  rk   r£   rÌ  r�  r¸   ÚsubscribersrÀ   )r?   r†  r$  r%  r&  r‰  r�  rº   rf  rÑ  rÖ  r  r`  rï  s                @r   Útest_subscribers_wo_providedÚ3AdapterLookupBaseTests.test_subscribers_wo_providedB  s  ø€ Ý;Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×%Ñ% dÓ1ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØˆõ	@õ	@ð Ø�D˜2 	Ð5Ð6Ð7Ð8ð
ˆÔð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×7Ñ7ˆÔØŒØ—‘ # ¨Ó.ˆØ×Ñ˜ Ô$Ø×Ñ˜°°ÀSÀEÑ"JÕKr   c                 ó^  ^^^• SSK Jn  SSKJn  U" S5      nU" SU45      nU" U5       " S S5      5       nU" 5       nU R	                  X45      nU R	                  X45      nU R                  5       n0 m[        5       [        5       smmUU4S jn	UU4S	 jn
U4S
 jn0 X4SXšU4000/Ul        UR                  R                  U5        U R                  U5      nUR                  Ul        XÈl        UR                  U4U5      nU R                  UTT/5        U R                  TU/U/U/S.5        g )Nr   r…  r#  r%  r&  c                   ó   • \ rS rSrSrg)Ú?AdapterLookupBaseTests.test_subscribers_w_provided.<locals>.Fooij  r
   Nr   r
   r   r   r‰  rú  j  rŠ  r   r‰  c                 óJ   >• TR                  S/ 5      R                  U 5        T$ rë  rì  )rM  rï  rã  s    €€r   rÑ  ÚEAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory1u  ó#   ø€ Ø×Ñ˜{¨BÓ/×6Ñ6°wÔ?ØˆLr   c                 óJ   >• TR                  S/ 5      R                  U 5        T$ ró  rì  )rM  rï  rä  s    €€r   rÖ  ÚEAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory2y  rý  r   c                 óH   >• TR                  S/ 5      R                  U 5        g )NÚ_side_effect_onlyrì  rî  s    €r   r  ÚMAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._side_effect_only}  s   ø€ Ø×ÑÐ2°BÓ7×>Ñ>¸wÕGr   râ   )rÑ  rÖ  r  )r�  r†  r'  r$  rÁ  r  rž   rÞ   r¼  rk   r£   rÌ  r�  r¸   rõ  rÀ   )r?   r†  r$  r%  r&  r‰  r�  rº   rf  rÑ  rÖ  r  r  r`  rï  rã  rä  s                 @@@r   Útest_subscribers_w_providedÚ2AdapterLookupBaseTests.test_subscribers_w_providedd  s=  ú€ Ý;Ý;Ù˜fÓ%ˆÙ˜f t gÓ.ˆá	�TÓ	÷	ð 	ó 
ð	ñ ‹eˆØ×%Ñ% dÓ1ˆØ×%Ñ% dÓ1ˆØ×$Ñ$Ó&ˆØˆÜ“x¤£ˆˆˆuö	ö	õ	Hð Ø˜2 	Ð6GÐHÐIÐJÐKð
ˆÔð 	�‰×Ñ˜4Ô Ø�m‰m˜HÓ%ˆØ×7Ñ7ˆÔØŒØ—‘ # ¨Ó.ˆØ×Ñ˜ %¨ Ô0Ø×ÑØØ!˜UØ!˜UØ&) Uñõ	
r   r
   )+r   r   r   r   rŸ   r£   r  rÁ  r  r*  r6  rP  rT  rW  rZ  ra  rg  rj  rr  rx  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  ÿ  sÈ   ø† ò!ò0òò"ò-ò
/òò+òB/ò /ò )ò"	5ò	'ò'ò'ò,'ò,)ò"*ò&(ò2Oò,.ò>.õBò4	5ò
%ò%ò%ò$Oò$8ò&	5ò
%ò%ò%ò$%ò"Aò. L÷D,
ð ,
r   r  c                   ó&   • \ rS rSrS rS rS rSrg)ÚVerifyingAdapterRegistryTestsi“  c                 ó   • SSK Jn  U$ )Nr   )ÚVerifyingAdapterRegistry)r{   r  )r?   r  s     r   rŸ   Ú-VerifyingAdapterRegistryTests._getTargetClassš  s   € ÝCØ'Ð'r   c                 ó.   • U R                  5       " U0 UD6$ r;   r¢   )r?   r  Úkws      r   r£   Ú&VerifyingAdapterRegistryTests._makeOnež  s   € Ø×#Ñ#Ô% tÐ2¨rÑ2Ð2r   c                 óL   • SSK Jn  SSKJn  U R	                  5       nU" X5        g )Nr   )ÚIAdapterRegistry)ÚverifyObject)Úzope.interface.interfacesr  Úzope.interface.verifyr  r£   )r?   r  r  rº   s       r   Ú,test_verify_object_provides_IAdapterRegistryÚJVerifyingAdapterRegistryTests.test_verify_object_provides_IAdapterRegistry¡  s   € Ý>Ý6Ø—=‘=“?ˆÙÐ%Õ0r   r
   N)r   r   r   r   rŸ   r£   r  r   r
   r   r   r  r  “  s   † ò(ò3õ1r   r  c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚAdapterRegistryTestsi¨  c                 ó   • SSK Jn  U$ )Nr   )ÚAdapterRegistry)r{   r  )r?   r  s     r   rŸ   Ú$AdapterRegistryTests._getTargetClassª  s   € Ý:ØÐr   c                 ón   • U R                  5       nU R                  [        UR                  5      S5        g r‚  )r£   rÀ   rK   Ú_v_subregistries)r?   Úars     r   Útest_ctor_no_basesÚ'AdapterRegistryTests.test_ctor_no_bases®  s(   € Ø�]‰]‹_ˆØ×Ñœ˜R×0Ñ0Ó1°1Õ5r   c                 ó  • U R                  5       nU R                  U/5      nU R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R	                  X!R                  5        g rÔ   )r£   rÀ   rK   r  r9  )r?   ÚbaseÚsubs      r   Útest_ctor_w_basesÚ&AdapterRegistryTests.test_ctor_w_bases²  se   € Ø�}‰}‹ˆØ�m‰m˜T˜FÓ#ˆØ×Ñœ˜S×1Ñ1Ó2°AÔ6Ø×Ñœ˜T×2Ñ2Ó3°QÔ7Ø�‰�c×0Ñ0Õ1r   c                 óB  • U R                  5       nU R                  5       nU R                  U/5      nU/Ul        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  X2R                  5        g rÔ   ©r£   rÐ   rÀ   rK   r  r9  ©r?   ÚbeforeÚafterr   s       r   Ú,test__setBases_removing_existing_subregistryÚAAdapterRegistryTests.test__setBases_removing_existing_subregistry»  sy   € Ø—‘“ˆØ—‘“ˆØ�m‰m˜V˜HÓ%ˆØ˜ˆŒØ×Ñœ˜V×4Ñ4Ó5°qÔ9Ø×Ñœ˜U×3Ñ3Ó4°aÔ8Ø�‰�c×1Ñ1Õ2r   c                 óž  • U R                  5       nU R                  5       nU R                  5       nU R                  U/5      nUR                  S   R                  U5        U/Ul        U R	                  [        UR                  5      S5        U R	                  [        UR                  5      S5        U R                  XCR                  5        g )NrÐ   r   r¿   )r£   Ú__dict__rk   rÐ   rÀ   rK   r  r9  )r?   r&  Ústrayr'  r   s        r   Útest__setBases_wo_stray_entryÚ2AdapterRegistryTests.test__setBases_wo_stray_entryÄ  s›   € Ø—‘“ˆØ—‘“ˆØ—‘“ˆØ�m‰m˜V˜HÓ%ˆØ�‰�[Ñ!×(Ñ(¨Ô/Ø˜ˆŒØ×Ñœ˜V×4Ñ4Ó5°qÔ9Ø×Ñœ˜U×3Ñ3Ó4°aÔ8Ø�‰�c×1Ñ1Õ2r   c                 óx  • U R                  5       nU R                  5       nU R                  U/5      nX/Ul        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  X1R                  5        U R                  X2R                  5        g r¾   r$  r%  s       r   Ú*test__setBases_w_existing_entry_continuingÚ?AdapterRegistryTests.test__setBases_w_existing_entry_continuingÏ  s‹   € Ø—‘“ˆØ—‘“ˆØ�m‰m˜V˜HÓ%ˆØ˜ˆŒØ×Ñœ˜V×4Ñ4Ó5°qÔ9Ø×Ñœ˜U×3Ñ3Ó4°aÔ8Ø�‰�c×2Ñ2Ô3Ø�‰�c×1Ñ1Õ2r   c                 ó<  • U R                  5       n " S S5      nU" 5       U" 5       pCUR                  U5        UR                  U5        [        5       nUR                  U5        U R	                  UR
                  U5        U R	                  UR
                  U5        g )Nc                   ó   • \ rS rSrSrS rSrg)ÚBAdapterRegistryTests.test_changed_w_subregistries.<locals>.DerivediÜ  Nc                 ó   • Xl         g r;   r‰   )r?   Úoriginally_changeds     r   rŒ   ÚJAdapterRegistryTests.test_changed_w_subregistries.<locals>.Derived.changedß  s   € Ø 2•r   r‰   )r   r   r   r   rŠ   rŒ   r   r
   r   r   rÍ  r4  Ü  s   † ØˆHõ3r   rÍ  )r£   Ú_addSubregistryrž   rŒ   r¶   rŠ   )r?   r  rÍ  Úderived1Úderived2r‹   s         r   Útest_changed_w_subregistriesÚ1AdapterRegistryTests.test_changed_w_subregistriesÙ  s{   € Ø�}‰}‹ˆ÷	3ñ 	3ñ %›Y©«	�(Ø×Ñ˜XÔ&Ø×Ñ˜XÔ&Ü‹xˆØ�‰�TÔØ�‰�h×'Ñ'¨Ô.Ø�‰�h×'Ñ'¨Õ.r   r
   N)r   r   r   r   rŸ   r  r!  r(  r-  r0  r;  r   r
   r   r   r  r  ¨  s%   † òò6ò2ò3ò	3ò3õ/r   r  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	Ú
Test_utilsië  c                 óL   • SSK Jn  SSKJn  U R	                  U" S 5      U5        g )Nr   ©Ú_convert_None_to_Interfacer   )r{   rA  r'  r   r¶   )r?   rA  r   s      r   Ú&test__convert_None_to_Interface_w_NoneÚ1Test_utils.test__convert_None_to_Interface_w_Noneí  s   € ÝEÝ6Ø�‰Ñ0°Ó6¸	ÕBr   c                 óT   • SSK Jn  [        5       nU R                  U" U5      U5        g )Nr   r@  )r{   rA  rž   r¶   )r?   rA  rU   s      r   Ú'test__convert_None_to_Interface_w_otherÚ2Test_utils.test__convert_None_to_Interface_w_otherò  s    € ÝEÜ“ˆØ�‰Ñ0°Ó7¸Õ?r   c                 ó€   • SSK Jn  SnSnU" U5      nU R                  XC5        U R                  U[	        U5      5        g )Nr   ©Ú_normalize_names   strÚstr)r{   rI  rÀ   rÖ   rS   )r?   rI  ÚSTRÚUNICODEÚnorms        r   Útest__normalize_name_strÚ#Test_utils.test__normalize_name_str÷  s;   € Ý:ØˆØˆÙ˜sÓ#ˆØ×Ñ˜Ô'Ø×Ñ˜d¤D¨£MÕ2r   c                 óD   • SSK Jn  SnU R                  U" U5      U5        g )Nr   rH  Úustr)r{   rI  rÀ   )r?   rI  ÚUSTRs      r   Útest__normalize_name_unicodeÚ'Test_utils.test__normalize_name_unicodeÿ  s   € Ý:àˆØ×Ñ™¨Ó.°Õ5r   c                 ój   • SSK Jn  SSS/ 0 [        5       4 H  nU R                  [        X5        M     g )Nr   rH  r¿   g      ð?r
   )r{   rI  rž   r  Ú	TypeError)r?   rI  rU   s      r   Útest__normalize_name_otherÚ%Test_utils.test__normalize_name_other	  s.   € Ý:Ø˜˜R  R¬«Ó1ˆEØ×Ñœi¨Ö@ò 2r   r
   N)
r   r   r   r   rB  rE  rN  rS  rW  r   r
   r   r   r>  r>  ë  s   † òCò
@ò
3ò6õAr   r>  )r°  Úunittestr™  r   r6   r8   r]   rg   rn   rr   ÚTestCaseru   r–  r²  rœ  r¢  r  r  r  r  r>  r
   r   r   Ú<module>r[     s
  ðñã å 6ò7÷H ñ  ô<&Ð&ô &ô(Ð'ô (ô	˜ô 	ô	�]ô 	ôM˜x×0Ñ0ô Mô`0$Ð*Bô 0$ôfy8˜h×/Ñ/ô y8ôxÐ-Ø+ôôz3 ×!2Ñ!2ô z3ôzÐ3Ø.ôôQ

˜X×.Ñ.ô Q

ôh1 H×$5Ñ$5ô 1ô*@/Ð8ô @/ôFA�×"Ñ"õ Ar   