§
    ÇtºfE ã                   óR  — d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ  G d„ d¦  «        Z G d	„ d
ej	        ¦  «        Z
 G d„ dej	        ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ deej	        ¦  «        Z G d„ dej	        ¦  «        Z G d„ dee¦  «        Z G d„ d¦  «        Z G d„ deej	        ¦  «        Z G d„ deej	        ¦  «        Z G d„ de¦  «        Z G d„ d ej	        ¦  «        Z G d!„ d"e¦  «        Z G d#„ d$e¦  «        Z G d%„ d&ej	        ¦  «        Z G d'„ d(e¦  «        Z G d)„ d*ej	        ¦  «        Z G d+„ d,ej	        ¦  «        Z G d-„ d.ej	        ¦  «        Z G d/„ d0ej	        ¦  «        Z G d1„ d2ej	        ¦  «        Z G d3„ d4ej	        ¦  «        Z G d5„ d6eee¦  «        Z  G d7„ d8ej	        ¦  «        Z! G d9„ d:e!¦  «        Z" G d;„ d<ej	        ¦  «        Z# G d=„ d>ej	        ¦  «        Z$ G d?„ d@ej	        ¦  «        Z% G dA„ dBej	        ¦  «        Z& G dC„ dDej	        ¦  «        Z' G dE„ dFe'e¦  «        Z( G dG„ dHej	        ¦  «        Z) G dI„ dJe)e¦  «        Z* G dK„ dLej	        ¦  «        Z+ G dM„ dNe+ee¦  «        Z, G dO„ dP¦  «        Z- G dQ„ dR¦  «        Z.dS )Sz@Test the new API for making and checking interface declarations
é    N)ÚMissingSomeAttrs)ÚOptimizationTestMixin)ÚSubclassableMixin)Ú!NameAndModuleComparisonTestsMixinc                   ó   — e Zd Z	 dd„ZdS )Ú_Py3ClassAdviceTc                 ó"  — dd l }|                     d¬¦  «        5 }|                     ¦   «          	 t          |||¦  «         |r|                      d¦  «         n# t
          $ r Y d d d ¦  «         dS w xY w	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   T)ÚrecordzDidn't raise TypeErrorF)ÚwarningsÚcatch_warningsÚresetwarningsÚexecÚfailÚ	TypeError)ÚselfÚcodeÚglobsÚlocsÚfails_under_py3kr   Ú_s          úe/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/tests/test_declarations.pyÚ_run_generated_codez#_Py3ClassAdvice._run_generated_code   s  € ð 	ˆˆˆØ×$Ò$¨DÐ$Ñ1Ô1ð 
	°QØ×"Ò"Ñ$Ô$Ð$ð8Ý�T˜5 $Ñ'Ô'Ð'ð $ð 8Ø—I’IÐ6Ñ7Ô7Ð7øøõ	 ð ð ð Øð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð
øøøð
 ð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	ð 
	ð 
	s4   ›B±AÁBÁ
A3Á$BÁ2A3Á3BÂBÂBN)T)Ú__name__Ú
__module__Ú__qualname__r   © ó    r   r   r      s-   € € € € € ð 37ðð ð ð ð ð r   r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú
NamedTestsc                 ó„   — ddl m}  |d¦  «         G d„ d¦  «        ¦   «         }|                      |j        d¦  «         d S )Nr   ©ÚnamedÚfooc                   ó   — e Zd ZdS )ú"NamedTests.test_class.<locals>.FooN©r   r   r   r   r   r   ÚFoor%   5   ó   € € € € € àˆDr   r'   ©Úzope.interface.declarationsr"   ÚassertEqualÚ__component_name__)r   r"   r'   s      r   Ú
test_classzNamedTests.test_class2   sz   € Ø5Ð5Ð5Ð5Ð5Ð5à	ˆˆu‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð 	×ÒØÔ" Eñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óp   — ddl m}  |d¦  «        d„ ¦   «         }|                      |j        d¦  «         d S )Nr   r!   r#   c                 ó   — t          ¦   «         ‚©N©ÚNotImplementedError)Úos    r   ÚdoFooz'NamedTests.test_function.<locals>.doFoo@   s   € å%Ñ'Ô'Ð'r   r)   )r   r"   r4   s      r   Útest_functionzNamedTests.test_function=   sV   € Ø5Ð5Ð5Ð5Ð5Ð5à	ˆˆu‰Œð	(ð 	(ñ 
Œð	(ð 	×Ò˜Ô1°5Ñ9Ô9Ð9Ð9Ð9r   c                 óž   — ddl m}  G d„ d¦  «        } |¦   «         }  |d¦  «        |¦  «         |                      |j        d¦  «         d S )Nr   r!   c                   ó   — e Zd ZdS )ú%NamedTests.test_instance.<locals>.FooNr&   r   r   r   r'   r8   I   ó   € € € € € ØˆDr   r'   r#   r)   )r   r"   r'   r#   s       r   Útest_instancezNamedTests.test_instanceF   s‰   € Ø5Ð5Ð5Ð5Ð5Ð5ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆc‰eŒeˆØˆˆˆe‰Œ�SÑÔÐà×ÒØÔ" Eñ	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   r   r-   r5   r:   r   r   r   r   r   0   sA   € € € € € ð	
ð 	
ð 	
ð:ð :ð :ð

ð 

ð 

ð 

ð 

r   r   c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚEmptyDeclarationTestsc                 ó"   — ddl m}  |¦   «         S ©Nr   )ÚDeclaration©r*   r?   ©r   r?   s     r   Ú	_getEmptyzEmptyDeclarationTests._getEmptyW   s    € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ{‰}Œ}Ðr   c                 ót   — |                       ¦   «         }|                      t          |¦  «        g ¦  «         d S r0   )rB   r+   Úlist©r   Údecls     r   Útest___iter___emptyz)EmptyDeclarationTests.test___iter___empty[   s3   € Ø�~Š~ÑÔˆØ×Ò�˜d™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó¦   — ddl m} |                      ¦   «         }|                      t	          |                     ¦   «         ¦  «        |g¦  «         d S ©Nr   ©Ú	Interface)Úzope.interface.interfacerK   rB   r+   rD   Ú	flattened©r   rK   rF   s      r   Útest_flattened_emptyz*EmptyDeclarationTests.test_flattened_empty_   sS   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�~Š~ÑÔˆØ×Ò�˜dŸnšnÑ.Ô.Ñ/Ô/°)°Ñ=Ô=Ð=Ð=Ð=r   c                 óf   — ddl m} |                      ¦   «         }|                      ||¦  «         d S rI   )rL   rK   rB   ÚassertNotInrN   s      r   Útest___contains___emptyz-EmptyDeclarationTests.test___contains___emptyd   s?   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�~Š~ÑÔˆØ×Ò˜ DÑ)Ô)Ð)Ð)Ð)r   c                 óÞ   — ddl m} |                      ¦   «         }|                      |                     |¦  «        ¦  «         |                      |                     |d¬¦  «        ¦  «         d S )Nr   rJ   T©Ústrict)rL   rK   rB   Ú
assertTrueÚextendsrN   s      r   Útest_extends_emptyz(EmptyDeclarationTests.test_extends_emptyi   si   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�~Š~ÑÔˆØ�Š˜Ÿš YÑ/Ô/Ñ0Ô0Ð0Ø�Š˜Ÿš Y°t˜Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=r   c                 óœ   — |                       ¦   «         }t          |                     ¦   «         ¦  «        }|                      |g ¦  «         d S r0   )rB   rD   Ú
interfacesr+   )r   rF   Ú
iface_lists      r   Útest_interfaces_emptyz+EmptyDeclarationTests.test_interfaces_emptyo   sD   € Ø�~Š~ÑÔˆÝ˜$Ÿ/š/Ñ+Ô+Ñ,Ô,ˆ
Ø×Ò˜ RÑ(Ô(Ð(Ð(Ð(r   c                 ót   — ddl m} |                      ¦   «         }|                      |j        ||f¦  «         d S rI   )rL   rK   rB   r+   Ú__sro__rN   s      r   Útest___sro___z#EmptyDeclarationTests.test___sro___t   sF   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�~Š~ÑÔˆØ×Ò˜œ¨¨iÐ'9Ñ:Ô:Ð:Ð:Ð:r   c                 ór   — ddl m} |                      ¦   «         }|                      |j        |f¦  «         d S rI   )rL   rK   rB   r+   Ú__iro__rN   s      r   Útest___iro___z#EmptyDeclarationTests.test___iro___y   sC   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�~Š~ÑÔˆØ×Ò˜œ¨	 |Ñ4Ô4Ð4Ð4Ð4r   c                 ó  — |                       ¦   «         }|                      |                     d¦  «        ¦  «         |                      |                     dd¦  «        d¦  «         |                      |j        ¦  «         d S )NÚattrÚabcÚdef)rB   ÚassertIsNoneÚgetr+   ÚassertFalseÚ_v_attrsrE   s     r   Útest_getzEmptyDeclarationTests.test_get~   ss   € Ø�~Š~ÑÔˆØ×Ò˜$Ÿ(š( 6Ñ*Ô*Ñ+Ô+Ð+Ø×Ò˜Ÿš %¨Ñ/Ô/°Ñ7Ô7Ð7ð 	×Ò˜œÑ'Ô'Ð'Ð'Ð'r   c                 ó²   — |                       ¦   «         }t          ¦   «         |_        |                     |¦  «         |                      |j        ¦  «         d S r0   )rB   Úobjectrj   Úchangedri   rE   s     r   Ú test_changed_w_existing__v_attrsz6EmptyDeclarationTests.test_changed_w_existing__v_attrs†   sJ   € Ø�~Š~ÑÔˆÝ™œˆŒØ�Š�TÑÔÐØ×Ò˜œÑ'Ô'Ð'Ð'Ð'r   N)r   r   r   rB   rG   rO   rR   rX   r\   r_   rb   rk   ro   r   r   r   r<   r<   S   sª   € € € € € ðð ð ð)ð )ð )ð>ð >ð >ð
*ð *ð *ð
>ð >ð >ð)ð )ð )ð
;ð ;ð ;ð
5ð 5ð 5ð
(ð (ð (ð(ð (ð (ð (ð (r   r<   c                   óž   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚDeclarationTestsc                 ó   — ddl m} |S r>   r@   rA   s     r   Ú_getTargetClassz DeclarationTests._getTargetClass�   ó   € Ø;Ð;Ð;Ð;Ð;Ð;ØÐr   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   ©rs   ©r   ÚargsÚkws      r   Ú_makeOnezDeclarationTests._makeOne“   ó#   € Ø%ˆt×#Ò#Ñ%Ô% tÐ2¨rÐ2Ð2Ð2r   c                 ó~   — |                       ¦   «         }|                      t          |j        ¦  «        g ¦  «         d S r0   )rz   r+   rD   Ú	__bases__rE   s     r   Útest_ctor_no_basesz#DeclarationTests.test_ctor_no_bases–   s5   € Ø�}Š}‰ŒˆØ×Ò�˜dœnÑ-Ô-¨rÑ2Ô2Ð2Ð2Ð2r   c                 ó¤   — ddl m}  |d¦  «        }|                      |¦  «        }|                      t	          |j        ¦  «        |g¦  «         d S ©Nr   ©ÚInterfaceClassÚIFoo)rL   r‚   rz   r+   rD   r}   ©r   r‚   rƒ   rF   s       r   Útest_ctor_w_interface_in_basesz/DeclarationTests.test_ctor_w_interface_in_basesš   s\   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜dœnÑ-Ô-°¨vÑ6Ô6Ð6Ð6Ð6r   c                 ó¢   — ddl m}  |¦   «         }|                      |¦  «        }|                      t	          |j        ¦  «        |g¦  «         d S ©Nr   ©Ú
Implements)r*   r‰   rz   r+   rD   r}   )r   r‰   ÚimplrF   s       r   Útest_ctor_w_implements_in_basesz0DeclarationTests.test_ctor_w_implements_in_bases    sX   € Ø:Ð:Ð:Ð:Ð:Ð:Øˆz‰|Œ|ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜dœnÑ-Ô-°¨vÑ6Ô6Ð6Ð6Ð6r   c                 óŒ   — |                       ¦   «         }|                     |¦  «         |                      |j        ¦  «         d S r0   )rz   rn   rg   rj   rE   s     r   Ú!test_changed_wo_existing__v_attrsz2DeclarationTests.test_changed_wo_existing__v_attrs¦   s=   € Ø�}Š}‰ŒˆØ�Š�TÑÔÐØ×Ò˜$œ-Ñ(Ô(Ð(Ð(Ð(r   c                 óZ   — |                       ¦   «         }|                      ||¦  «         d S r0   )rz   rQ   rE   s     r   Útest___contains__w_selfz(DeclarationTests.test___contains__w_self«   s+   € Ø�}Š}‰ŒˆØ×Ò˜˜tÑ$Ô$Ð$Ð$Ð$r   c                 ó|   — ddl m}  |d¦  «        }|                      ¦   «         }|                      ||¦  «         d S r€   )rL   r‚   rz   rQ   r„   s       r   Ú"test___contains__w_unrelated_ifacez3DeclarationTests.test___contains__w_unrelated_iface¯   sL   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�}Š}‰ŒˆØ×Ò˜˜tÑ$Ô$Ð$Ð$Ð$r   c                 ó~   — ddl m}  |d¦  «        }|                      |¦  «        }|                      ||¦  «         d S r€   )rL   r‚   rz   ÚassertInr„   s       r   Ú!test___contains__w_base_interfacez2DeclarationTests.test___contains__w_base_interfaceµ   sN   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�}Š}˜TÑ"Ô"ˆØ�Š�d˜DÑ!Ô!Ð!Ð!Ð!r   c                 óš   — ddl m}  |d¦  «        }|                      |¦  «        }|                      t	          |¦  «        |g¦  «         d S r€   ©rL   r‚   rz   r+   rD   r„   s       r   Útest___iter___single_basez*DeclarationTests.test___iter___single_base»   sX   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 ó´   — ddl m}  |d¦  «        } |d¦  «        }|                      ||¦  «        }|                      t	          |¦  «        ||g¦  «         d S ©Nr   r�   rƒ   ÚIBarr–   ©r   r‚   rƒ   rš   rF   s        r   Útest___iter___multiple_basesz-DeclarationTests.test___iter___multiple_basesÁ   sk   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ�}Š}˜T 4Ñ(Ô(ˆØ×Ò�˜d™œ d¨D \Ñ2Ô2Ð2Ð2Ð2r   c                 ó´   — ddl m}  |d¦  «        } |d|f¦  «        }|                      |¦  «        }|                      t	          |¦  «        |g¦  «         d S r™   r–   r›   s        r   Útest___iter___inheritancez*DeclarationTests.test___iter___inheritanceÈ   sk   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 ó¸   — ddl m}  |d¦  «        } |d¦  «        }|                      |||f¦  «        }|                      t	          |¦  «        ||g¦  «         d S r™   r–   r›   s        r   Ú'test___iter___w_nested_sequence_overlapz8DeclarationTests.test___iter___w_nested_sequence_overlapÏ   so   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ�}Š}˜T D¨$ <Ñ0Ô0ˆØ×Ò�˜d™œ d¨D \Ñ2Ô2Ð2Ð2Ð2r   c                 óÌ   — ddl m} ddl m}  |d¦  «        }|                      |¦  «        }|                      t          |                     ¦   «         ¦  «        ||g¦  «         d S )Nr   rJ   r�   rƒ   ©rL   rK   r‚   rz   r+   rD   rM   )r   rK   r‚   rƒ   rF   s        r   Útest_flattened_single_basez+DeclarationTests.test_flattened_single_baseÖ   sy   € Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜dŸnšnÑ.Ô.Ñ/Ô/°$¸	Ð1BÑCÔCÐCÐCÐCr   c                 óæ   — ddl m} ddl m}  |d¦  «        } |d¦  «        }|                      ||¦  «        }|                      t          |                     ¦   «         ¦  «        |||g¦  «         d S ©Nr   rJ   r�   rƒ   rš   r¢   ©r   rK   r‚   rƒ   rš   rF   s         r   Útest_flattened_multiple_basesz.DeclarationTests.test_flattened_multiple_basesÝ   sŒ   € Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ�}Š}˜T 4Ñ(Ô(ˆØ×Ò�˜dŸnšnÑ.Ô.Ñ/Ô/°$¸¸iÐ1HÑIÔIÐIÐIÐIr   c                 óè   — ddl m} ddl m}  |d¦  «        } |d|f¦  «        }|                      |¦  «        }|                      t          |                     ¦   «         ¦  «        |||g¦  «         d S r¥   r¢   r¦   s         r   Útest_flattened_inheritancez+DeclarationTests.test_flattened_inheritanceå   sŽ   € Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ�}Š}˜TÑ"Ô"ˆØ×Ò�˜dŸnšnÑ.Ô.Ñ/Ô/°$¸¸iÐ1HÑIÔIÐIÐIÐIr   c                 óê   — ddl m} ddl m}  |d¦  «        } |d¦  «        }|                      |||f¦  «        }|                      t          |                     ¦   «         ¦  «        |||g¦  «         d S r¥   r¢   r¦   s         r   Ú(test_flattened_w_nested_sequence_overlapz9DeclarationTests.test_flattened_w_nested_sequence_overlapí   s’   € Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆð
 �}Š}˜T D¨$ <Ñ0Ô0ˆà×Ò�˜dŸnšnÑ.Ô.Ñ/Ô/°$¸¸iÐ1HÑIÔIÐIÐIÐIr   c                 ó
  — ddl m}  |d¦  «        } |d¦  «        }|                      |¦  «        }||z
  }|                      ||                      ¦   «         ¦  «         |                      t          |¦  «        |g¦  «         d S r™   ©rL   r‚   rz   ÚassertIsInstancers   r+   rD   ©r   r‚   rƒ   rš   ÚbeforeÚafters         r   Ú test___sub___unrelated_interfacez1DeclarationTests.test___sub___unrelated_interfaceú   s’   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ—’˜tÑ$Ô$ˆØ˜‘ˆØ×Ò˜e T×%9Ò%9Ñ%;Ô%;Ñ<Ô<Ð<Ø×Ò�˜e™œ t fÑ-Ô-Ð-Ð-Ð-r   c                 ó¢   — ddl m}  |d¦  «        }|                      |¦  «        }||z
  }|                      t	          |¦  «        g ¦  «         d S r€   r–   )r   r‚   rƒ   r°   r±   s        r   Útest___sub___related_interfacez/DeclarationTests.test___sub___related_interface  s_   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ—’˜tÑ$Ô$ˆØ˜‘ˆØ×Ò�˜e™œ bÑ)Ô)Ð)Ð)Ð)r   c                 ó¼   — ddl m}  |d¦  «        } |d|f¦  «        }|                      |¦  «        }||z
  }|                      t	          |¦  «        g ¦  «         d S r™   r–   r¯   s         r   Ú-test___sub___related_interface_by_inheritancez>DeclarationTests.test___sub___related_interface_by_inheritance
  sr   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜f t gÑ.Ô.ˆØ—’˜tÑ$Ô$ˆØ˜‘ˆØ×Ò�˜e™œ bÑ)Ô)Ð)Ð)Ð)r   c                 ó  — ddl m}  |d¦  «        } |d¦  «        }|                      |¦  «        }||z   }|                      ||                      ¦   «         ¦  «         |                      t          |¦  «        ||g¦  «         d S r™   r­   r¯   s         r   Ú test___add___unrelated_interfacez1DeclarationTests.test___add___unrelated_interface  s”   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ—’˜tÑ$Ô$ˆØ˜‘ˆØ×Ò˜e T×%9Ò%9Ñ%;Ô%;Ñ<Ô<Ð<Ø×Ò�˜e™œ t¨T lÑ3Ô3Ð3Ð3Ð3r   c                 ó  — ddl m}  |d¦  «        } |d¦  «        } |d¦  «        }|                      ||¦  «        }|                      ||¦  «        }||z   }|                      t	          |¦  «        |||g¦  «         d S )Nr   r�   rƒ   rš   ÚIBazr–   )r   r‚   rƒ   rš   rº   r°   Úotherr±   s           r   Útest___add___related_interfacez/DeclarationTests.test___add___related_interface  s™   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØ—’˜t TÑ*Ô*ˆØ—’˜d DÑ)Ô)ˆØ˜‘ˆØ×Ò�˜e™œ t¨T°4Ð&8Ñ9Ô9Ð9Ð9Ð9r   c                 ó¶  — ddl m} ddl m} ddlm} ddlm}  |d¦  «        } |d|f¦  «        } ||j        j        d¦  «        5  |  	                    |¦  «        }||z   }d d d ¦  «         n# 1 swxY w Y   |  
                    |j        |||f¦  «         |  
                    |j        ||f¦  «         |  
                    t          |¦  «        ||g¦  «         d S )	Nr   rJ   ©Úror�   ©Ú	C3SettingÚIBaseÚIDerivedT)Úzope.interfacerK   r¿   rL   r‚   Úzope.interface.tests.test_rorÁ   ÚC3Ú
STRICT_IROrz   r+   ra   r}   rD   )	r   rK   r¿   r‚   rÁ   rÂ   rÃ   Úbaser±   s	            r   Ú"test___add___overlapping_interfacez3DeclarationTests.test___add___overlapping_interface%  sY  € ð 	-Ð,Ð,Ð,Ð,Ð,Ø%Ð%Ð%Ð%Ð%Ð%Ø;Ð;Ð;Ð;Ð;Ð;Ø:Ð:Ð:Ð:Ð:Ð:à�˜wÑ'Ô'ˆØ!�> *¨u¨hÑ7Ô7ˆàˆY�r”uÔ'¨Ñ.Ô.ð 	$ð 	$Ø—=’= Ñ'Ô'ˆDØ˜8‘OˆEð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	×Ò˜œ¨°5¸)Ð(DÑEÔEÐEØ×Ò˜œ¨8°UÐ*;Ñ<Ô<Ð<Ø×Ò�˜e™œ x°Ð&7Ñ8Ô8Ð8Ð8Ð8s   ÁA.Á.A2Á5A2c                 óð  — ddl m} ddl m} ddl m} ddl m} ddlm}  G d„ d|¦  «        } G d	„ d
|¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } ||j        j        d¦  «        5   ||¦  «        |z   }	d d d ¦  «         n# 1 swxY w Y   |  	                    |	j
        |	|||f¦  «         |  	                    |	j        ||f¦  «         |  	                    t          |	¦  «        ||g¦  «         d S )Nr   rJ   ©ÚimplementedBy©Úimplementerr¾   rÀ   c                   ó   — e Zd ZdS )úPDeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.IBaseNr&   r   r   r   rÂ   rÐ   F  r9   r   rÂ   c                   ó   — e Zd ZdS )úSDeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.IDerivedNr&   r   r   r   rÃ   rÒ   I  r9   r   rÃ   c                   ó   — e Zd ZdS )úODeclarationTests.test___add___overlapping_interface_implementedBy.<locals>.BaseNr&   r   r   r   ÚBaserÔ   L  r(   r   rÕ   T)rÄ   rK   rÌ   rÎ   r¿   rÅ   rÁ   rÆ   rÇ   r+   r^   r}   rD   )
r   rK   rÌ   rÎ   r¿   rÁ   rÂ   rÃ   rÕ   r±   s
             r   Ú0test___add___overlapping_interface_implementedByzADeclarationTests.test___add___overlapping_interface_implementedBy;  sÚ  € ð
 	-Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.Ø%Ð%Ð%Ð%Ð%Ð%Ø:Ð:Ð:Ð:Ð:Ð:ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆY�r”uÔ'¨Ñ.Ô.ð 	3ð 	3Ø!�M $Ñ'Ô'¨(Ñ2ˆEð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	×Ò˜œ¨°¸%ÀÐ(KÑLÔLÐLØ×Ò˜œ¨8°UÐ*;Ñ<Ô<Ð<Ø×Ò�˜e™œ x°Ð&7Ñ8Ô8Ð8Ð8Ð8s   Á/B
Â
BÂBN)r   r   r   rs   rz   r~   r…   r‹   r�   r�   r‘   r”   r—   rœ   rž   r    r£   r§   r©   r«   r²   r´   r¶   r¸   r¼   rÉ   rÖ   r   r   r   rq   rq   �   sˆ  € € € € € ðð ð ð3ð 3ð 3ð3ð 3ð 3ð7ð 7ð 7ð7ð 7ð 7ð)ð )ð )ð
%ð %ð %ð%ð %ð %ð"ð "ð "ð-ð -ð -ð3ð 3ð 3ð-ð -ð -ð3ð 3ð 3ðDð Dð DðJð Jð JðJð Jð JðJð Jð Jð.ð .ð .ð*ð *ð *ð*ð *ð *ð4ð 4ð 4ð:ð :ð :ð9ð 9ð 9ð,9ð 9ð 9ð 9ð 9r   rq   c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestImmutableDeclarationc                 ó   — ddl m} |S )Nr   )Ú_ImmutableDeclaration)r*   rÚ   )r   rÚ   s     r   rs   z(TestImmutableDeclaration._getTargetClassZ  s   € ØEÐEÐEÐEÐEÐEØ$Ð$r   c                 ó   — ddl m} |S )Nr   )Ú_empty)r*   rÜ   )r   rÜ   s     r   rB   z"TestImmutableDeclaration._getEmpty^  s   € Ø6Ð6Ð6Ð6Ð6Ð6Øˆr   c                 óÒ   — dd l }|                     |                     |                      ¦   «         ¦  «        ¦  «        }|                      ||                      ¦   «         ¦  «         d S )Nr   )ÚpickleÚloadsÚdumpsrB   ÚassertIs)r   rÞ   Úcopieds      r   Útest_picklez$TestImmutableDeclaration.test_pickleb  sV   € ØˆˆˆØ—’˜fŸlšl¨4¯>ª>Ñ+;Ô+;Ñ<Ô<Ñ=Ô=ˆØ�Š�f˜dŸnšnÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r   c                 óŠ   — |                        |                      ¦   «         ¦   «         |                      ¦   «         ¦  «         d S r0   )rá   rs   rB   ©r   s    r   Útest_singletonz'TestImmutableDeclaration.test_singletong  sF   € Ø�ŠØ"ˆD× Ò Ñ"Ô"Ñ$Ô$Ø�NŠNÑÔñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó`   — |                       |                      ¦   «         j        d¦  «         d S )Nr   )r+   rB   r}   rå   s    r   Útest__bases__z&TestImmutableDeclaration.test__bases__m  s+   € Ø×Ò˜ŸšÑ)Ô)Ô3°RÑ8Ô8Ð8Ð8Ð8r   c                 ó
  — |                       ¦   «         }d|_        |                      |                       ¦   «         j        d¦  «         |                      t          ¦  «        5  d|_        d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )é   )rB   r}   r+   ÚassertRaisesr   )r   Úemptys     r   Útest_change__bases__z-TestImmutableDeclaration.test_change__bases__p  sº   € Ø—’Ñ Ô ˆØˆŒØ×Ò˜ŸšÑ)Ô)Ô3°RÑ8Ô8Ð8à×Ò�yÑ)Ô)ð 	#ð 	#Ø"ˆEŒOð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   Á#A8Á8A<Á?A<c                 ó¨   — |                       ¦   «         }|j        }|                      i |¦  «         d|d<   |                      i |j        ¦  «         d S )Né   rê   )rB   Ú
dependentsr+   )r   rì   Údepss      r   Útest_dependentsz(TestImmutableDeclaration.test_dependentsx  sW   € Ø—’Ñ Ô ˆØÔˆØ×Ò˜˜TÑ"Ô"Ð"àˆˆQ‰Ø×Ò˜˜UÔ-Ñ.Ô.Ð.Ð.Ð.r   c                 óT   — |                       ¦   «                              d ¦  «         d S r0   )rB   rn   rå   s    r   Útest_changedz%TestImmutableDeclaration.test_changed€  s&   € à�ŠÑÔ× Ò  Ñ&Ô&Ð&Ð&Ð&r   c                 ój  — |                       |                      ¦   «                              | ¦  «        ¦  «         |                       |                      ¦   «                              | d¬¦  «        ¦  «         |                       |                      ¦   «                              | d¬¦  «        ¦  «         d S )NTrT   F)ri   rB   rW   rå   s    r   Útest_extends_always_falsez2TestImmutableDeclaration.test_extends_always_false„  s–   € Ø×Ò˜ŸšÑ)Ô)×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8Ø×Ò˜ŸšÑ)Ô)×1Ò1°$¸tÐ1ÑDÔDÑEÔEÐEØ×Ò˜ŸšÑ)Ô)×1Ò1°$¸uÐ1ÑEÔEÑFÔFÐFÐFÐFr   c                 óò   — |                       |                      ¦   «                              d¦  «        ¦  «         |                      |                      ¦   «                              dd¦  «        d¦  «         d S )NÚnameé*   )rg   rB   rh   r+   rå   s    r   Útest_get_always_defaultz0TestImmutableDeclaration.test_get_always_default‰  sd   € Ø×Ò˜$Ÿ.š.Ñ*Ô*×.Ò.¨vÑ6Ô6Ñ7Ô7Ð7Ø×Ò˜ŸšÑ)Ô)×-Ò-¨f°bÑ9Ô9¸2Ñ>Ô>Ð>Ð>Ð>r   c                 ó   — |                       ¦   «         }|                      |j        i ¦  «         d|j        d<   |                      |j        i ¦  «         |                      |                     d¦  «        ¦  «         i x}|_        d|d<   |                      |j        i ¦  «         |                      |                     d¦  «        ¦  «         d S )Nrù   rd   )rB   r+   rj   rg   rh   )r   rF   Úattrss      r   Útest_v_attrsz%TestImmutableDeclaration.test_v_attrs�  sÀ   € Ø�~Š~ÑÔˆØ×Ò˜œ¨Ñ+Ô+Ð+à "ˆŒ�fÑØ×Ò˜œ¨Ñ+Ô+Ð+Ø×Ò˜$Ÿ(š( 6Ñ*Ô*Ñ+Ô+Ð+à "Ð"ˆ�”Øˆˆf‰Ø×Ò˜œ¨Ñ+Ô+Ð+Ø×Ò˜$Ÿ(š( 6Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r   N)r   r   r   rs   rB   rã   ræ   rè   rí   rò   rô   rö   rú   rý   r   r   r   rØ   rØ   X  s¼   € € € € € ð%ð %ð %ðð ð ð0ð 0ð 0ð

ð 
ð 
ð9ð 9ð 9ð#ð #ð #ð/ð /ð /ð'ð 'ð 'ðGð Gð Gð
?ð ?ð ?ð,ð ,ð ,ð ,ð ,r   rØ   c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestImplementsc                 ó   — ddl m} |S r‡   )r*   r‰   )r   r‰   s     r   rs   zTestImplements._getTargetClassž  ó   € Ø:Ð:Ð:Ð:Ð:Ð:ØÐr   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTestImplements._makeOne¢  r{   r   c                 ó>   — ddl m}  G d„ d¦  «        } ||¦  «        S )Nr   rË   c                   ó   — e Zd ZdS )ú+TestImplements._makeOneToCompare.<locals>.ANr&   r   r   r   ÚAr  ¨  r9   r   r  ©r*   rÌ   )r   rÌ   r  s      r   Ú_makeOneToComparez TestImplements._makeOneToCompare¥  sN   € Ø=Ð=Ð=Ð=Ð=Ð=ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆ}˜QÑÔÐr   c                 ó   — |                       ¦   «         }|                      |j        d ¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      t          |j        ¦  «        g ¦  «         d S )Nr   ú?)rz   r+   ÚinheritÚdeclaredr   rD   r}   ©r   rŠ   s     r   r~   z!TestImplements.test_ctor_no_bases­  s}   € Ø�}Š}‰ŒˆØ×Ò˜œ tÑ,Ô,Ð,Ø×Ò˜œ¨Ñ+Ô+Ð+Ø×Ò˜œ¨Ñ,Ô,Ð,Ø×Ò�˜dœnÑ-Ô-¨rÑ2Ô2Ð2Ð2Ð2r   c                 ó‚   — |                       ¦   «         }d|_        |                      t          |¦  «        d¦  «         d S )NÚTestingzclassImplements(Testing))rz   r   r+   Úreprr  s     r   Útest___repr__zTestImplements.test___repr__´  s9   € Ø�}Š}‰ŒˆØ!ˆŒØ×Ò�˜d™œÐ%?Ñ@Ô@Ð@Ð@Ð@r   c                 óŽ   — ddl m} |                      ¦   «         }|                      |                     ¦   «         |df¦  «         d S )Nr   rË   r0   )r*   rÌ   rz   r+   Ú
__reduce__)r   rÌ   rŠ   s      r   Útest___reduce__zTestImplements.test___reduce__¹  sL   € Ø=Ð=Ð=Ð=Ð=Ð=Ø�}Š}‰ŒˆØ×Ò˜ŸšÑ*Ô*¨]¸GÐ,DÑEÔEÐEÐEÐEr   c                 ó<  — ddl m} ddlm}  G d„ d¦  «        } G d„ d¦  «        } |d¦  «        }|                       ||¦  «         ||¦  «        ¦  «         |                      t           ||¦  «        ¦  «        t           ||¦  «        ¦  «        ¦  «         |                       ||¦  «        d k     ¦  «         |                      d  ||¦  «        k    ¦  «         |                       ||¦  «         ||¦  «        k     ¦  «         |                       ||¦  «        |k    ¦  «         |                       ||¦  «         ||¦  «        k    ¦  «         |                       ||¦  «        |k    ¦  «         |                       ||¦  «        |k    ¦  «         d S )	Nr   rË   r�   c                   ó   — e Zd ZdS )ú#TestImplements.test_sort.<locals>.ANr&   r   r   r   r  r  Â  r9   r   r  c                   ó   — e Zd ZdS )ú#TestImplements.test_sort.<locals>.BNr&   r   r   r   ÚBr  Å  r9   r   r  rƒ   )r*   rÌ   rL   r‚   r+   ÚhashrV   )r   rÌ   r‚   r  r  rƒ   s         r   Ú	test_sortzTestImplements.test_sort¾  sõ  € Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆ~˜fÑ%Ô%ˆà×Ò˜˜ qÑ)Ô)¨=¨=¸Ñ+;Ô+;Ñ<Ô<Ð<Ø×Ò�˜m˜m¨AÑ.Ô.Ñ/Ô/µ°m°mÀAÑ6FÔ6FÑ1GÔ1GÑHÔHÐHØ�Š˜˜ aÑ(Ô(¨4Ò/Ñ0Ô0Ð0Ø�ŠØ�=�= Ñ#Ô#Ò#ñ	
ô 	
ð 	
ð 	�Š˜˜ aÑ(Ô(¨=¨=¸Ñ+;Ô+;Ò;Ñ<Ô<Ð<Ø�Š˜˜ aÑ(Ô(¨4Ò/Ñ0Ô0Ð0Ø�Š˜˜ aÑ(Ô(¨M¨M¸!Ñ,<Ô,<Ò<Ñ=Ô=Ð=Ø�Š˜˜ aÑ(Ô(¨DÒ0Ñ1Ô1Ð1Ø�Š˜˜ aÑ(Ô(¨DÒ0Ñ1Ô1Ð1Ð1Ð1r   c                 ód  — ddl m}  G d„ d¦  «        } G d„ d¦  «        } G d„ d¦  «        } ||¦  «        } ||¦  «        } ||¦  «        }|                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         |                      ||k    ¦  «         d S )	Nr   rË   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú1TestImplements.test_proxy_equality.<locals>.Proxyc                 ó   — || _         d S r0   ©Ú_wrapped)r   Úwrappeds     r   Ú__init__z:TestImplements.test_proxy_equality.<locals>.Proxy.__init__Û  s   € Ø '�”��r   c                 ó   — t          ¦   «         ‚r0   r1   ©r   rø   s     r   Ú__getattr__z=TestImplements.test_proxy_equality.<locals>.Proxy.__getattr__Þ  ó   € Ý)Ñ+Ô+Ð+r   c                 ó   — | j         |k    S r0   r!  ©r   r»   s     r   Ú__eq__z8TestImplements.test_proxy_equality.<locals>.Proxy.__eq__á  ó   € Ø”}¨Ò-Ð-r   c                 ó   — | j         |k    S r0   r!  r*  s     r   Ú__ne__z8TestImplements.test_proxy_equality.<locals>.Proxy.__ne__ä  r,  r   N)r   r   r   r$  r'  r+  r.  r   r   r   ÚProxyr  Ú  sP   € € € € € ð(ð (ð (ð,ð ,ð ,ð.ð .ð .ð.ð .ð .ð .ð .r   r/  c                   ó   — e Zd ZdS )ú-TestImplements.test_proxy_equality.<locals>.ANr&   r   r   r   r  r1  ç  r9   r   r  c                   ó   — e Zd ZdS )ú-TestImplements.test_proxy_equality.<locals>.BNr&   r   r   r   r  r3  ê  r9   r   r  )r*   rÌ   rV   ri   )r   rÌ   r/  r  r  ÚimplementedByAÚimplementedByBÚproxys           r   Útest_proxy_equalityz"TestImplements.test_proxy_equalityÖ  sŸ  € à=Ð=Ð=Ð=Ð=Ð=ð	.ð 	.ð 	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð '˜ qÑ)Ô)ˆØ&˜ qÑ)Ô)ˆØ��nÑ%Ô%ˆð 	�ŠØ˜nÒ,ñ	
ô 	
ð 	
ð 	�Š˜¨.Ò8Ñ9Ô9Ð9Ø�Š˜¨.Ò8Ñ9Ô9Ð9à�Š˜ Ò/Ñ0Ô0Ð0Ø�Š˜¨%Ò/Ñ0Ô0Ð0Ø×Ò˜ .Ò0Ñ1Ô1Ð1Ø×Ò˜¨5Ò0Ñ1Ô1Ð1à�Š˜ Ò/Ñ0Ô0Ð0Ø�Š˜¨%Ò/Ñ0Ô0Ð0Ð0Ð0r   c                 óp  — |                       ¦   «         }|                      |j        ¦  «         |                      d|j        ¦  «         d|_        |                      d|j        ¦  «         |                     d ¦  «         |                      |j        ¦  «         |                      d|j        ¦  «         d S )NÚ_super_cacherù   )rz   rg   r9  rQ   Ú__dict__r“   rn   r  s     r   Ú test_changed_deletes_super_cachez/TestImplements.test_changed_deletes_super_cache  s£   € Ø�}Š}‰ŒˆØ×Ò˜$Ô+Ñ,Ô,Ð,Ø×Ò˜¨¬Ñ7Ô7Ð7àˆÔØ�Š�n d¤mÑ4Ô4Ð4à�Š�TÑÔÐØ×Ò˜$Ô+Ñ,Ô,Ð,Ø×Ò˜¨¬Ñ7Ô7Ð7Ð7Ð7r   c                 ó,  — |                       ¦   «         }|                      |j        ¦  «         |                      d|j        ¦  «         |                     d ¦  «         |                      |j        ¦  «         |                      d|j        ¦  «         d S )Nr9  )rz   rg   r9  rQ   r:  rn   r  s     r   Ú%test_changed_does_not_add_super_cachez4TestImplements.test_changed_does_not_add_super_cache  s…   € Ø�}Š}‰ŒˆØ×Ò˜$Ô+Ñ,Ô,Ð,Ø×Ò˜¨¬Ñ7Ô7Ð7à�Š�TÑÔÐØ×Ò˜$Ô+Ñ,Ô,Ð,Ø×Ò˜¨¬Ñ7Ô7Ð7Ð7Ð7r   N)r   r   r   rs   rz   r  r~   r  r  r  r7  r;  r=  r   r   r   rÿ   rÿ   ›  s±   € € € € € ðð ð ð3ð 3ð 3ð ð  ð  ð3ð 3ð 3ðAð Að Að
Fð Fð Fð
2ð 2ð 2ð0)1ð )1ð )1ðV
8ð 
8ð 
8ð8ð 8ð 8ð 8ð 8r   rÿ   c                   ó´   ‡ — e Zd Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )ÚTest_implementedByFallbackc                 ó   — ddl m} |S )Nr   )ÚimplementedByFallback)r*   rA  )r   rA  s     r   rs   z*Test_implementedByFallback._getTargetClass  s   € àEÐEÐEÐEÐEÐEØ$Ð$r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   Ú_callFUTz#Test_implementedByFallback._callFUT   r{   r   c                 ó®   —  G d„ d¦  «        } |¦   «         }d |_         |                      t          |                      |¦  «        ¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdZdS )ú]Test_implementedByFallback.test_dictless_wo_existing_Implements_wo_registrations.<locals>.Foo©Ú__implemented__N©r   r   r   Ú	__slots__r   r   r   r'   rF  $  ó   € € € € € Ø,ˆIˆIˆIr   r'   )rH  r+   rD   rC  ©r   r'   r#   s      r   Ú5test_dictless_wo_existing_Implements_wo_registrationszPTest_implementedByFallback.test_dictless_wo_existing_Implements_wo_registrations#  sm   € ð	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-àˆc‰eŒeˆØ"ˆÔØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óv   —  G d„ d¦  «        } |¦   «         }|                       t          | j        |¦  «         d S )Nc                   ó8   — e Zd Zd„ Zd„ Z eee¦  «        Zd„ ZdS )úhTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Fooc                 ó   — t          ¦   «         ‚r0   r1   rå   s    r   Ú	_get_implzrTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo._get_impl-  r(  r   c                 ó   — t           ‚r0   )r   )r   Úvals     r   Ú	_set_implzrTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo._set_impl0  s   € Ý�r   c                 ó   — t          ¦   «         ‚r0   r1   rå   s    r   Ú__call__zqTest_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__.<locals>.Foo.__call__5  s   € å)Ñ+Ô+Ð+r   N)r   r   r   rR  rU  ÚpropertyrH  rW  r   r   r   r'   rP  ,  sT   € € € € € ð,ð ,ð ,ð ð  ð  ð '˜h y°)Ñ<Ô<ˆOð,ð ,ð ,ð ,ð ,r   r'   ©rë   r   rC  rL  s      r   Ú@test_dictless_wo_existing_Implements_cant_assign___implemented__z[Test_implementedByFallback.test_dictless_wo_existing_Implements_cant_assign___implemented__*  sW   € ð	,ð 	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð ˆc‰eŒeˆØ×Ò�) T¤]°CÑ8Ô8Ð8Ð8Ð8r   c                 ó  — ddl m}  G d„ d¦  «        } |¦   «         }d |_        t          ¦   «         }t	          |d¦  «        5 }|||<   |                      |                      |¦  «        |u ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©Údeclarationsc                   ó   — e Zd ZdZdS )ú\Test_implementedByFallback.test_dictless_wo_existing_Implements_w_registrations.<locals>.FoorG  NrI  r   r   r   r'   r_  ?  rK  r   r'   Ú#BuiltinImplementationSpecifications)rÄ   r]  rH  rm   Ú_MonkeyDictrV   rC  )r   r]  r'   r#   ÚregÚspecss         r   Ú4test_dictless_wo_existing_Implements_w_registrationszOTest_implementedByFallback.test_dictless_wo_existing_Implements_w_registrations<  sÿ   € Ø/Ð/Ð/Ð/Ð/Ð/ð	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð ˆc‰eŒeˆØ"ˆÔÝ‰hŒhˆÝ˜Ø>ñ@ô @ð 	7ØCHØˆE�#‰JØ�OŠO˜DŸMšM¨#Ñ.Ô.°#Ð5Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   Á0B Â BÂBc                 ó¶   — ddl m}  |¦   «         } G d„ d¦  «        } |¦   «         }||_        |                      |                      |¦  «        |u ¦  «         d S )Nr   rˆ   c                   ó   — e Zd ZdZdS )úKTest_implementedByFallback.test_dictless_w_existing_Implements.<locals>.FoorG  NrI  r   r   r   r'   rg  N  rK  r   r'   )r*   r‰   rH  rV   rC  )r   r‰   rŠ   r'   r#   s        r   Ú#test_dictless_w_existing_Implementsz>Test_implementedByFallback.test_dictless_w_existing_ImplementsJ  s…   € Ø:Ð:Ð:Ð:Ð:Ð:Øˆz‰|Œ|ˆð	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð ˆc‰eŒeˆØ"ˆÔØ�Š˜Ÿš cÑ*Ô*¨dÐ2Ñ3Ô3Ð3Ð3Ð3r   c                 óÔ   — ddl m}  G d„ d¦  «        } |¦   «         } |d¦  «        }|f|_        |                      t	          |                      |¦  «        ¦  «        |g¦  «         d S )Nr   r�   c                   ó   — e Zd ZdZdS )úOTest_implementedByFallback.test_dictless_w_existing_not_Implements.<locals>.FoorG  NrI  r   r   r   r'   rk  X  rK  r   r'   rƒ   )rL   r‚   rH  r+   rD   rC  )r   r‚   r'   r#   rƒ   s        r   Ú'test_dictless_w_existing_not_ImplementszBTest_implementedByFallback.test_dictless_w_existing_not_ImplementsU  s”   € Ø;Ð;Ð;Ð;Ð;Ð;ð	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð ˆc‰eŒeˆØˆ~˜fÑ%Ô%ˆØ#˜gˆÔØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   c                 óš   ‡— ddl m}  |¦   «         Š G ˆfd„d¦  «        }|                      |                      |¦  «        ‰u ¦  «         d S )Nr   rˆ   c                   ó   •— e Zd Z” ZdS )úJTest_implementedByFallback.test_w_existing_attr_as_Implements.<locals>.FooN©r   r   r   rH  ©rŠ   s   €r   r'   ro  d  ó   ø€ € € € € Ø"ˆOˆOˆOr   r'   ©r*   r‰   rV   rC  ©r   r‰   r'   rŠ   s      @r   Ú"test_w_existing_attr_as_Implementsz=Test_implementedByFallback.test_w_existing_attr_as_Implements`  ó}   ø€ Ø:Ð:Ð:Ð:Ð:Ð:Øˆz‰|Œ|ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	�Š˜Ÿš cÑ*Ô*¨dÐ2Ñ3Ô3Ð3Ð3Ð3r   c                 ó–  — ddl m} ddlm} t	          |d¦  «        5 }|                      t          |                      t          ¦  «        ¦  «        g ¦  «         |                      t          |                      t          ¦  «        ¦  «        g ¦  «         |                      t          |                      t          ¦  «        ¦  «        g ¦  «         t          t          t          fD ]L}||         }|  
                    ||¦  «         |                      t          |¦  «        d|j        ›d�¦  «         ŒM	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r\  rˆ   r`  úclassImplements(ú))rÄ   r]  r*   r‰   ra  r+   rD   rC  ÚtupleÚdictr®   r  r   )r   r]  r‰   rc  ÚtypÚspecs         r   Útest_builtins_added_to_cachez7Test_implementedByFallback.test_builtins_added_to_cachei  sŒ  € Ø/Ð/Ð/Ð/Ð/Ð/Ø:Ð:Ð:Ð:Ð:Ð:Ý˜Ø>ñ@ô @ð 
	4ØCHØ×Ò�T $§-¢-µÑ"6Ô"6Ñ7Ô7¸Ñ<Ô<Ð<Ø×Ò�T $§-¢-µÑ"5Ô"5Ñ6Ô6¸Ñ;Ô;Ð;Ø×Ò�T $§-¢-µÑ"5Ô"5Ñ6Ô6¸Ñ;Ô;Ð;Ý�t¥TÐ*ð 4ð 4�Ø˜S”z�Ø×%Ò% d¨JÑ7Ô7Ð7Ø× Ò ¥ d¡¤ à$'¤L L Lð"3ñ4ô 4ð 4ð 4ð4ð
	4ð 
	4ð 
	4ñ 
	4ô 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4øøøð 
	4ð 
	4ð 
	4ð 
	4ð 
	4ð 
	4s   �DD>Ä>EÅEc                 ó  — ddl m} t          ¦   «         t          ¦   «         t          ¦   «         }}}t          |d¦  «        5 }||t          <   ||t
          <   ||t          <   |                      |                      t          ¦  «        |u ¦  «         |                      |                      t
          ¦  «        |u ¦  «         |                      |                      t          ¦  «        |u ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r\  r`  )	rÄ   r]  rm   ra  rz  rD   r{  rV   rC  )r   r]  Út_specÚl_specÚd_specrc  s         r   Útest_builtins_w_existing_cachez9Test_implementedByFallback.test_builtins_w_existing_cachex  s*  € Ø/Ð/Ð/Ð/Ð/Ð/Ý!'¡¤­6©8¬8µV±X´X˜�ˆÝ˜Ø>ñ@ô @ð 	;ØCHØ!ˆE•%‰LØ ˆE•$‰KØ ˆE•$‰KØ�OŠO˜DŸMšM­%Ñ0Ô0°FÐ:Ñ;Ô;Ð;Ø�OŠO˜DŸMšM­$Ñ/Ô/°6Ð9Ñ:Ô:Ð:Ø�OŠO˜DŸMšM­$Ñ/Ô/°6Ð9Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   ÁB,C:Ã:C>ÄC>c                 óŒ   —  G d„ d¦  «        }|                       t          |                      |¦  «        ¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )úITest_implementedByFallback.test_oldstyle_class_no_assertions.<locals>.FooNr&   r   r   r   r'   r†  ‡  r9   r   r'   ©r+   rD   rC  ©r   r'   s     r   Ú!test_oldstyle_class_no_assertionsz<Test_implementedByFallback.test_oldstyle_class_no_assertions„  ó\   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óŒ   —  G d„ d¦  «        }|                       t          |                      |¦  «        ¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )ú:Test_implementedByFallback.test_no_assertions.<locals>.FooNr&   r   r   r   r'   r�  �  r9   r   r'   r‡  rˆ  s     r   Útest_no_assertionsz-Test_implementedByFallback.test_no_assertionsŒ  rŠ  r   c                 óv   —  G d„ d¦  «        } |¦   «         }|                       t          | j        |¦  «         d S )Nc                   ó   — e Zd ZdZdS )úHTest_implementedByFallback.test_w_None_no_bases_not_factory.<locals>.FooNrp  r   r   r   r'   r‘  –  ó   € € € € € Ø"ˆOˆOˆOr   r'   rY  rL  s      r   Ú test_w_None_no_bases_not_factoryz;Test_implementedByFallback.test_w_None_no_bases_not_factory”  sW   € ð	#ð 	#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð ˆc‰eŒeˆØ×Ò�) T¤]°CÑ8Ô8Ð8Ð8Ð8r   c                 ó†  — ddl m}  G d„ d¦  «        } |¦   «         }d|_        |                      |¦  «        }|                      |j        d¦  «         |                      |j        |¦  «         |                      |j        |¦  «         |                      |j        |¦  «         |  	                    d|j
        ¦  «         d S )Nr   )ÚobjectSpecificationDescriptorc                   ó   — e Zd ZdZd„ ZdS )úFTest_implementedByFallback.test_w_None_no_bases_w_factory.<locals>.FooNc                 ó   — t          ¦   «         ‚r0   r1   rå   s    r   rW  zOTest_implementedByFallback.test_w_None_no_bases_w_factory.<locals>.Foo.__call__¢  r(  r   )r   r   r   rH  rW  r   r   r   r'   r—  Ÿ  s(   € € € € € Ø"ˆOð,ð ,ð ,ð ,ð ,r   r'   r#   z*zope.interface.tests.test_declarations.fooÚ__provides__)r*   r•  r   rC  r+   rá   r  rH  Ú__providedBy__rQ   r:  )r   r•  r'   r#   r}  s        r   Útest_w_None_no_bases_w_factoryz9Test_implementedByFallback.test_w_None_no_bases_w_factoryœ  sï   € ØMÐMÐMÐMÐMÐMð	,ð 	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð ˆc‰eŒeˆØˆŒØ�}Š}˜SÑ!Ô!ˆØ×Ò˜œØEñ	Gô 	Gð 	Gà�Š�d”l CÑ(Ô(Ð(Ø�Š�cÔ)¨4Ñ0Ô0Ð0Ø�ŠØÔÐ =ñ	
ô 	
ð 	
ð 	×Ò˜¨¬Ñ6Ô6Ð6Ð6Ð6r   c                 ó¤  — ddl m}  G d„ d¦  «        }|                      |¦  «        }|                      |j        d¦  «         |                      |j        |¦  «         |                      |j        |¦  «         |                      |j	        |¦  «         |                      |j
        |¦  «         |                      |j
        |j	        ¦  «         d S )Nr   ©ÚClassProvidesc                   ó   — e Zd ZdZdS )úDTest_implementedByFallback.test_w_None_no_bases_w_class.<locals>.FooNrp  r   r   r   r'   r   ´  r’  r   r'   z*zope.interface.tests.test_declarations.Foo)r*   rž  rC  r+   r   rá   r  rH  r®   rš  r™  )r   rž  r'   r}  s       r   Útest_w_None_no_bases_w_classz7Test_implementedByFallback.test_w_None_no_bases_w_class±  s  € Ø=Ð=Ð=Ð=Ð=Ð=ð	#ð 	#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð �}Š}˜SÑ!Ô!ˆØ×Ò˜œØEñ	Gô 	Gð 	Gà�Š�d”l CÑ(Ô(Ð(Ø�Š�cÔ)¨4Ñ0Ô0Ð0Ø×ÒØÔ ñ	
ô 	
ð 	
ð 	×ÒØÔ˜mñ	
ô 	
ð 	
ð 	×ÒØÔ˜cÔ0ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óš   ‡— ddl m}  |¦   «         Š G ˆfd„d¦  «        }|                      |                      |¦  «        ‰u ¦  «         d S )Nr   rˆ   c                   ó   •— e Zd Z” ZdS )úBTest_implementedByFallback.test_w_existing_Implements.<locals>.FooNrp  rq  s   €r   r'   r¤  Ê  rr  r   r'   rs  rt  s      @r   Útest_w_existing_Implementsz5Test_implementedByFallback.test_w_existing_ImplementsÆ  rv  r   c                 óÐ  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } ||¦  «         G d
„ d|¦  «        ¦   «         }|                      t          |                      |¦  «        ¦  «        ||g¦  «         t          ||¦  «        }|                      t          |                      |¦  «        ¦  «        |g¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úSTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.IBaseNr&   r   r   r   rÂ   r¨  Ó  r9   r   rÂ   c                   ó   — e Zd ZdS )úVTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.IDerivedNr&   r   r   r   rÃ   rª  Ö  r9   r   rÃ   c                   ó   — e Zd ZdS )úRTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.BaseNr&   r   r   r   rÕ   r¬  Ù  r(   r   rÕ   c                   ó   — e Zd ZdS )úUTest_implementedByFallback.test_super_when_base_implements_interface.<locals>.DerivedNr&   r   r   r   ÚDerivedr®  Ý  r(   r   r¯  ©rÄ   rK   r*   rÎ   r+   rD   rC  Úsuper©	r   rK   rÎ   rÂ   rÃ   rÕ   r¯  ÚsupÚ	__class__s	           €r   Ú)test_super_when_base_implements_interfacezDTest_implementedByFallback.test_super_when_base_implements_interfaceÏ  sm  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�dñ 	ô 	ñ 
Ô	ð	ð 	×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸À%Ð7HÑIÔIÐIÝ�G˜WÑ%Ô%ˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°E°7Ñ;Ô;Ð;Ð;Ð;r   c                 ó
  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } G d
„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d||¦  «        ¦   «         }|                      t          |                      |¦  «        ¦  «        ||g¦  «         t          ||¦  «        }	|                      t          |                      |	¦  «        ¦  «        |g¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )ú[Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.IBaseNr&   r   r   r   rÂ   r¸  é  r9   r   rÂ   c                   ó   — e Zd ZdS )ú^Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.IDerivedNr&   r   r   r   rÃ   rº  ì  r9   r   rÃ   c                   ó   — e Zd ZdS )úZTest_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.BaseNr&   r   r   r   rÕ   r¼  ï  r(   r   rÕ   c                   ó   — e Zd ZdS )ú\Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Child1Nr&   r   r   r   ÚChild1r¾  ó  r9   r   r¿  c                   ó   — e Zd ZdS )ú\Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.Child2Nr&   r   r   r   ÚChild2rÁ  ö  r9   r   rÂ  c                   ó   — e Zd ZdS )ú]Test_implementedByFallback.test_super_when_base_implements_interface_diamond.<locals>.DerivedNr&   r   r   r   r¯  rÄ  ù  r(   r   r¯  r°  )r   rK   rÎ   rÂ   rÃ   rÕ   r¿  rÂ  r¯  r³  r´  s             €r   Ú1test_super_when_base_implements_interface_diamondzLTest_implementedByFallback.test_super_when_base_implements_interface_diamondå  sÃ  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	�Tñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�Tñ 	ô 	ð 	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�f˜fñ 	ô 	ñ 
Ô	ð	ð 	×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸À%Ð7HÑIÔIÐIÝ�G˜WÑ%Ô%ˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°E°7Ñ;Ô;Ð;Ð;Ð;r   c                 óŒ  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d	¦  «        } G d
„ d|¦  «        } ||¦  «         G d„ d|¦  «        ¦   «         } ||¦  «         G d„ d||¦  «        ¦   «         }|                      |j        ||||t          f¦  «         |                      t          |                      |¦  «        ¦  «        ||g¦  «         t          ||¦  «        }	|                      |	¦  «        }
|                      t          |
¦  «        |g¦  «         |  
                    |
j        ¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )ú]Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.IBaseNr&   r   r   r   rÂ   rÈ    r9   r   rÂ   c                   ó   — e Zd ZdS )ú`Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.IDerivedNr&   r   r   r   rÃ   rÊ    r9   r   rÃ   c                   ó   — e Zd ZdS )ú\Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.BaseNr&   r   r   r   rÕ   rÌ    r9   r   rÕ   c                   ó   — e Zd ZdS )ú^Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Child1Nr&   r   r   r   r¿  rÎ    r9   r   r¿  c                   ó   — e Zd ZdS )ú^Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.Child2Nr&   r   r   r   rÂ  rÐ    r(   r   rÂ  c                   ó   — e Zd ZdS )ú_Test_implementedByFallback.test_super_when_parent_implements_interface_diamond.<locals>.DerivedNr&   r   r   r   r¯  rÒ    r(   r   r¯  )rÄ   rK   r*   rÎ   r+   Ú__mro__rm   rD   rC  r±  rg   Ú_dependents)r   rK   rÎ   rÂ   rÃ   rÕ   r¿  rÂ  r¯  r³  Úfutr´  s              €r   Ú3test_super_when_parent_implements_interface_diamondzNTest_implementedByFallback.test_super_when_parent_implements_interface_diamond  s  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�Tñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	�Tñ 	ô 	ñ 
Ô	ð	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�f˜fñ 	ô 	ñ 
Ô	ð	ð 	×ÒØŒO˜g v¨v°t½VÐDñ	
ô 	
ð 	
ð 	×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸À%Ð7HÑIÔIÐIÝ�G˜WÑ%Ô%ˆØ�mŠm˜CÑ Ô ˆØ×Ò�˜c™œ U GÑ,Ô,Ð,Ø×Ò˜#œ/Ñ*Ô*Ð*Ð*Ð*r   c                 óª  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d	¦  «        } ||¦  «         G d
„ d|¦  «        ¦   «         }|                      t          |                      |¦  «        ¦  «        |g¦  «         t          ||¦  «        }|                      t          |                      |¦  «        ¦  «        g ¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úYTest_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IBaseNr&   r   r   r   rÂ   rÙ  &  r9   r   rÂ   c                   ó   — e Zd ZdS )ú\Test_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IDerivedNr&   r   r   r   rÃ   rÛ  )  r9   r   rÃ   c                   ó   — e Zd ZdS )úXTest_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.BaseNr&   r   r   r   rÕ   rÝ  ,  r9   r   rÕ   c                   ó   — e Zd ZdS )ú[Test_implementedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.DerivedNr&   r   r   r   r¯  rß  /  r(   r   r¯  r°  r²  s	           €r   Ú/test_super_when_base_doesnt_implement_interfacezJTest_implementedByFallback.test_super_when_base_doesnt_implement_interface"  sQ  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�dñ 	ô 	ñ 
Ô	ð	ð 	×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸°zÑBÔBÐBå�G˜WÑ%Ô%ˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óŽ  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         }|                      t          |                      |¦  «        ¦  «        |g¦  «         t          ||¦  «        }|                      t          |                      |¦  «        ¦  «        g ¦  «         d S )
Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úHTest_implementedByFallback.test_super_when_base_is_object.<locals>.IBaseNr&   r   r   r   rÂ   rã  <  r9   r   rÂ   c                   ó   — e Zd ZdS )úKTest_implementedByFallback.test_super_when_base_is_object.<locals>.IDerivedNr&   r   r   r   rÃ   rå  ?  r9   r   rÃ   c                   ó   — e Zd ZdS )úJTest_implementedByFallback.test_super_when_base_is_object.<locals>.DerivedNr&   r   r   r   r¯  rç  B  r(   r   r¯  r°  )r   rK   rÎ   rÂ   rÃ   r¯  r³  r´  s          €r   Útest_super_when_base_is_objectz9Test_implementedByFallback.test_super_when_base_is_object8  s'  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 	×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸°zÑBÔBÐBå�G˜WÑ%Ô%ˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óÐ  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d	|¦  «        } G d
„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } ||¦  «         G d„ d|¦  «        ¦   «         }	 ||¦  «         G d„ d|¦  «        ¦   «         }
 |||¦  «         G d„ d|	|
¦  «        ¦   «         }|}t	          ||¦  «        }t	          |	|¦  «        }t	          |
|¦  «        }|                      t          |                      |¦  «        ¦  «        |||||g¦  «         |                      t          |                      |¦  «        ¦  «        |||g¦  «         |                      t          |                      |¦  «        ¦  «        ||g¦  «         |                      t          |                      |¦  «        ¦  «        |g¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úRTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IBaseNr&   r   r   r   rÂ   rë  O  r9   r   rÂ   c                   ó   — e Zd ZdS )úPTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM1Nr&   r   r   r   ÚIM1rí  R  r9   r   rî  c                   ó   — e Zd ZdS )úPTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM2Nr&   r   r   r   ÚIM2rð  U  r9   r   rñ  c                   ó   — e Zd ZdS )úUTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IDerivedNr&   r   r   r   rÃ   ró  X  r9   r   rÃ   c                   ó   — e Zd ZdS )úWTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.IUnrelatedNr&   r   r   r   Ú
IUnrelatedrõ  [  r9   r   rö  c                   ó   — e Zd ZdS )úQTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.BaseNr&   r   r   r   rÕ   rø  ^  r(   r   rÕ   c                   ó   — e Zd ZdS )úOTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.M1Nr&   r   r   r   ÚM1rú  b  r(   r   rû  c                   ó   — e Zd ZdS )úOTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.M2Nr&   r   r   r   ÚM2rý  f  r(   r   rþ  c                   ó   — e Zd ZdS )úTTest_implementedByFallback.test_super_multi_level_multi_inheritance.<locals>.DerivedNr&   r   r   r   r¯  r   j  r(   r   r¯  ©rÄ   rK   r*   rÎ   r±  r+   rD   rC  ©r   rK   rÎ   rÂ   rî  rñ  rÃ   rö  rÕ   rû  rþ  r¯  ÚdÚsdÚsm1Úsm2r´  s                   €r   Ú(test_super_multi_level_multi_inheritancezCTest_implementedByFallback.test_super_multi_level_multi_inheritanceK  s  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�SÑ	Ô	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�SÑ	Ô	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�X˜zÑ	*Ô	*ð	ð 	ð 	ð 	ð 	�b˜"ñ 	ô 	ñ 
+Ô	*ð	ð ˆÝ�7˜GÑ$Ô$ˆÝ�B˜Ñ Ô ˆÝ�B˜Ñ Ô ˆà×Ò�˜dŸmšm¨AÑ.Ô.Ñ/Ô/Ø" J°°U¸CÐ@ñ	Bô 	Bð 	Bà×Ò�˜dŸmšm¨BÑ/Ô/Ñ0Ô0Ø˜u cÐ*ñ	,ô 	,ð 	,à×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ø˜u˜ñ	'ô 	'ð 	'à×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ø˜ñ	"ô 	"ð 	"ð 	"ð 	"r   )r   r   r   rs   Ú_getFallbackClassrC  rM  rZ  rd  rh  rl  ru  r~  rƒ  r‰  rŽ  r“  r›  r¡  r¥  rµ  rÅ  rÖ  rà  rè  r  Ú__classcell__©r´  s   @r   r?  r?    s®  ø€ € € € € ð%ð %ð %ð
 (Ðð3ð 3ð 3ð7ð 7ð 7ð9ð 9ð 9ð$7ð 7ð 7ð	4ð 	4ð 	4ð	;ð 	;ð 	;ð4ð 4ð 4ð4ð 4ð 4ð
;ð 
;ð 
;ð7ð 7ð 7ð7ð 7ð 7ð9ð 9ð 9ð7ð 7ð 7ð*
ð 
ð 
ð*4ð 4ð 4ð<ð <ð <ð <ð <ð,<ð <ð <ð <ð <ð8+ð +ð +ð +ð +ðB7ð 7ð 7ð 7ð 7ð,7ð 7ð 7ð 7ð 7ð&/"ð /"ð /"ð /"ð /"ð /"ð /"ð /"ð /"r   r?  c                   ó   — e Zd Zd„ ZdS )ÚTest_implementedByc                 ó   — ddl m} |S )Nr   rË   r  )r   rÌ   s     r   rs   z"Test_implementedBy._getTargetClass�  ó   € Ø=Ð=Ð=Ð=Ð=Ð=ØÐr   N©r   r   r   rs   r   r   r   r  r  }  s#   € € € € € ðð ð ð ð r   r  c                   ó2   — e Zd ZdZd„ Zde dz   dfd„Zd„ ZdS )Ú_ImplementsTestMixinTc                 ó   — t           ‚r0   r1   )r   ÚclsÚifaces      r   rC  z_ImplementsTestMixin._callFUT‰  s   € å!Ð!r   Nz.Fooú	not givenc                 ó>  — ddl m} ddlm}  |d¦  «        }|                      ||¦  «        }|                      ||¦  «         |j        }	|�|                      |	|¦  «         |                      |	j        |¦  «         |dk    r|n|}|                      |	j	        |¦  «         |                      |j        |	¦  «         | j
        rV|                      |j        |¦  «         |                      |j        |¦  «         |                      |j        |j        ¦  «         ||fS )Nr   r�  r�   rƒ   r  )r*   rž  rL   r‚   rC  rá   rH  r+   r   r  ÚFUT_SETS_PROVIDED_BYr®   rš  r™  )
r   r'   Ú	orig_specÚ	spec_namer  rž  r‚   rƒ   Úreturnedr}  s
             r   Ú_check_implementerz'_ImplementsTestMixin._check_implementer�  sC  € ð 	>Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà—=’=  dÑ+Ô+ˆà�Š�h Ñ$Ô$Ð$ØÔ"ˆØÐ Ø�MŠM˜$ 	Ñ*Ô*Ð*à×Ò˜œØ"ñ	$ô 	$ð 	$à  KÒ/Ð/�#�#°WˆØ�Š�d”l GÑ,Ô,Ð,Ø�Š�cÔ)¨4Ñ0Ô0Ð0ØÔ$ð 	CØ×!Ò! #Ô"4°mÑDÔDÐDØ×!Ò! #Ô"2°MÑBÔBÐBØ×Ò˜SÔ-¨sÔ/AÑBÔBÐBà�DˆyÐr   c                 óJ   —  G d„ d¦  «        }|                       |¦  «         d S )Nc                   ó   — e Zd ZdS )ú,_ImplementsTestMixin.test_class.<locals>.FooNr&   r   r   r   r'   r  ª  r9   r   r'   )r  rˆ  s     r   r-   z_ImplementsTestMixin.test_class¨  sF   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	×Ò Ñ$Ô$Ð$Ð$Ð$r   )r   r   r   r  rC  r  r-   r   r   r   r  r  †  s\   € € € € € ØÐð"ð "ð "ð
 &*Ø%-°Ñ%6Ø#.ðð ð ð ð6%ð %ð %ð %ð %r   r  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚTest_classImplementsOnlyFc                 ó*   — ddl m}  |||¦  «         |S )Nr   )ÚclassImplementsOnly)r*   r"  )r   r  r  r"  s       r   rC  z!Test_classImplementsOnly._callFUT³  s,   € ØCÐCÐCÐCÐCÐCØÐ˜C Ñ'Ô'Ð'Øˆ
r   c                 óp  ‡— ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «        Š|f‰_         G ˆfd„d¦  «        }|‰_        |                      ||¦  «         |                      |j        ‰u ¦  «         |  	                    ‰j        d ¦  «         |  	                    ‰j        |f¦  «         d S )Nr   rˆ   r�   rƒ   rš   c                   ó   •— e Zd Z” ZdS )ú@Test_classImplementsOnly.test_w_existing_Implements.<locals>.FooNrp  rq  s   €r   r'   r%  À  rr  r   r'   )
r*   r‰   rL   r‚   r  r  rC  rV   rH  r+   ©r   r‰   r‚   rƒ   rš   r'   rŠ   s         @r   r¥  z3Test_classImplementsOnly.test_w_existing_Implements¸  sþ   ø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØˆz˜$ÑÔˆØ˜ˆŒð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð ˆŒØ�Š�c˜4Ñ Ô Ð à�Š˜Ô+¨tÐ3Ñ4Ô4Ð4Ø×Ò˜œ tÑ,Ô,Ð,Ø×Ò˜œ¨¨Ñ0Ô0Ð0Ð0Ð0r   c                 óœ   ‡— ddl m} ddlm}  |d¦  «        } ||¦  «        Š G ˆfd„d¦  «        }|                      |‰dd ¬¦  «         d S )	Nr   rˆ   r�   rš   c                   ó   •— e Zd Z” ZdS )ú0Test_classImplementsOnly.test_class.<locals>.FooNrp  )Úold_specs   €r   r'   r)  Ð  s   ø€ € € € € Ø&ˆOˆOˆOr   r'   r
  ©r  )r*   r‰   rL   r‚   r  )r   r‰   r‚   rš   r'   r*  s        @r   r-   z#Test_classImplementsOnly.test_classÊ  sœ   ø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ�:˜dÑ#Ô#ˆð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	×Ò  X¨s¸DÐÑAÔAÐAÐAÐAr   c                 óü   — |                       t          dt          fi ¦  «        d ¬¦  «        \  }} G d„ d|¦  «        }|                      ||¦  «         |                      |                     |¦  «        ¦  «         d S )Nr'   r+  c                   ó   — e Zd ZdS )úRTest_classImplementsOnly.test_redundant_with_super_still_implements.<locals>.ChildNr&   r   r   r   ÚChildr.  Û  r9   r   r/  )r  Útyperm   rC  rV   rÌ   )r   rÕ   rÂ   r/  s       r   Ú*test_redundant_with_super_still_implementszCTest_classImplementsOnly.test_redundant_with_super_still_implementsÕ  sš   € Ø×-Ò-Ý��˜	 2Ñ&Ô&Øð .ñ 
ô 
‰ˆˆeð
	ð 	ð 	ð 	ð 	�Dñ 	ô 	ð 	ð 	�Š�e˜UÑ#Ô#Ð#Ø�Š˜×+Ò+¨EÑ2Ô2Ñ3Ô3Ð3Ð3Ð3r   N)r   r   r   r  rC  r¥  r-   r1  r   r   r   r   r   °  sY   € € € € € Ø Ððð ð ð
1ð 1ð 1ð$	Bð 	Bð 	Bð
4ð 
4ð 
4ð 
4ð 
4r   r   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTest_classImplementsc                 óT   — ddl m}  |||¦  «        }|                      |¦  «         |S )Nr   ©ÚclassImplements)r*   r6  rg   )r   r  r  r6  Úresults        r   rC  zTest_classImplements._callFUTä  sE   € Ø?Ð?Ð?Ð?Ð?Ð?Ø �Ø�ñ
ô 
ˆð 	×Ò˜&Ñ!Ô!Ð!Øˆ
r   c                 óú  — |                       |¦  «        \  }} G d„ d|¦  «        }|                      ||¦  «        }|                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |j        }|                      |j        d¦  «         |                      |j        |¦  «         |  	                    | 
                     |¦   «         ¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdS )úATest_classImplements.__check_implementer_redundant.<locals>.ChildNr&   r   r   r   r/  r:  ñ  r9   r   r/  rH  rš  r™  r   )r  rC  r“   r:  rQ   rH  r+   r  r  rV   Ú
providedBy)r   rÕ   rÂ   r/  r  r}  s         r   Ú__check_implementer_redundantz2Test_classImplements.__check_implementer_redundantì  s  € ð ×-Ò-¨dÑ3Ô3‰ˆˆeð	ð 	ð 	ð 	ð 	�Dñ 	ô 	ð 	ð —=’= ¨Ñ.Ô.ˆØ�ŠÐ'¨Ô):Ñ;Ô;Ð;Ø×ÒÐ)¨8Ô+<Ñ=Ô=Ð=Ø�Š�n hÔ&7Ñ8Ô8Ð8àÔ$ˆØ×Ò˜œ¨Ñ+Ô+Ð+Ø×Ò˜œ uÑ-Ô-Ð-à�Š˜×(Ò(¨¨©¬Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 óJ   —  G d„ d¦  «        }|                       |¦  «         d S )Nc                   ó   — e Zd ZdS )úUTest_classImplements.test_redundant_implementer_empty_class_declarations.<locals>.FooNr&   r   r   r   r'   r?    r9   r   r'   )Ú2_Test_classImplements__check_implementer_redundantrˆ  s     r   Ú3test_redundant_implementer_empty_class_declarationszHTest_classImplements.test_redundant_implementer_empty_class_declarationsÿ  sF   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	×*Ò*¨3Ñ/Ô/Ð/Ð/Ð/r   c                 óÖ  — ddl m} ddl m} ddl m} ddlm}  G d„ d¦  «        } ||j        j        d¦  «        5  |                      ||¦  «         |  	                    t           ||¦  «        ¦  «        |g¦  «          G d	„ d
|¦  «        }|                      ||¦  «         |  	                    t           ||¦  «        ¦  «        |g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rJ   rË   r¾   rÀ   c                   ó   — e Zd ZdS )úFTest_classImplements.test_redundant_implementer_Interface.<locals>.FooNr&   r   r   r   r'   rD    r9   r   r'   Fc                   ó   — e Zd ZdS )úFTest_classImplements.test_redundant_implementer_Interface.<locals>.BazNr&   r   r   r   ÚBazrF    ó   € € € € € Ø�r   rG  )rÄ   rK   rÌ   r¿   rÅ   rÁ   rÆ   rÇ   rC  r+   rD   )r   rK   rÌ   r¿   rÁ   r'   rG  s          r   Ú$test_redundant_implementer_Interfacez9Test_classImplements.test_redundant_implementer_Interface  s«  € Ø,Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø%Ð%Ð%Ð%Ð%Ð%Ø:Ð:Ð:Ð:Ð:Ð:ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆY�r”uÔ'¨Ñ/Ô/ð 	Dð 	DØ�MŠM˜#˜yÑ)Ô)Ð)Ø×Ò�T - -°Ñ"4Ô"4Ñ5Ô5¸	°{ÑCÔCÐCðð ð ð ð �cñ ô ð ð �MŠM˜#˜yÑ)Ô)Ð)Ø×Ò�T - -°Ñ"4Ô"4Ñ5Ô5¸	°{ÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds   ¼BCÃC"Ã%C"c                 ó
   — ||fS r0   r   ©r   Úapplied_firstÚapplied_seconds      r   Ú_order_for_twoz#Test_classImplements._order_for_two  s   € Ø˜~Ð.Ð.r   c                 ó”  ‡— ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «        Š|f‰_         G ˆfd„d¦  «        }|‰_        |                      ||¦  «         |                      |j        ‰¦  «         |  	                    ‰j        |¦  «         |  	                    ‰j        |  
                    ||¦  «        ¦  «         d S )Nr   rˆ   r�   rƒ   rš   c                   ó   •— e Zd Z” ZdS )ú<Test_classImplements.test_w_existing_Implements.<locals>.FooNrp  rq  s   €r   r'   rQ  $  rr  r   r'   )r*   r‰   rL   r‚   r  r  rC  rá   rH  r+   rN  r&  s         @r   r¥  z/Test_classImplements.test_w_existing_Implements  s  ø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØˆz˜$ÑÔˆØ˜ˆŒð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð ˆŒØ�Š�c˜4Ñ Ô Ð à�Š�cÔ)¨4Ñ0Ô0Ð0Ø×Ò˜œ sÑ+Ô+Ð+Ø×Ò˜œØ×,Ò,¨T°4Ñ8Ô8ñ	:ô 	:ð 	:ð 	:ð 	:r   c                 ó¨  ‡	‡
— ddl m} ddlm}  |d¦  «        } |d¦  «        } |d|f¦  «        }|                     d|¦  «        Š
|f‰
_         G ˆ
fd„d	¦  «        } G ˆ
fd
„d¦  «        }|                     d|¦  «        Š	|f‰	_         G ˆ	fd„d||¦  «        }|‰	_        |                      ||¦  «         |                      |j	        ‰	¦  «         |  
                    ‰	j        |¦  «         |  
                    ‰	j        |                      ||¦  «        ¦  «         |  
                    ‰	j        |                      ||¦  «        ‰
fz   ¦  «         d S )Nr   rˆ   r�   ÚIRootÚISecondRootÚIExtendsRootÚRootc                   ó   •— e Zd Z” ZdS )úFTest_classImplements.test_w_existing_Implements_w_bases.<locals>.Root1Nrp  ©Ú	impl_roots   €r   ÚRoot1rX  9  ó   ø€ € € € € Ø'ˆOˆOˆOr   r[  c                   ó   •— e Zd Z” ZdS )úFTest_classImplements.test_w_existing_Implements_w_bases.<locals>.Root2Nrp  rY  s   €r   ÚRoot2r^  <  r\  r   r_  ÚExtendsRoot1c                   ó   •— e Zd Z” ZdS )úLTest_classImplements.test_w_existing_Implements_w_bases.<locals>.ExtendsRootNrp  )Úimpl_extends_roots   €r   ÚExtendsRootrb  B  s   ø€ € € € € Ø/ˆOˆOˆOr   rd  )r*   r‰   rL   r‚   r"   r  r  rC  rá   rH  r+   rN  r}   )r   r‰   r‚   rS  rT  rU  r[  r_  rd  rc  rZ  s            @@r   Ú"test_w_existing_Implements_w_basesz7Test_classImplements.test_w_existing_Implements_w_bases/  sü  øø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Ø�˜wÑ'Ô'ˆØ$�n ]Ñ3Ô3ˆØ%�~ n°u°hÑ?Ô?ˆà×$Ò$ V¨UÑ3Ô3ˆ	Ø#˜Xˆ	Ôð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð '×,Ò,¨^¸\ÑJÔJÐØ&2 _ÐÔ"ð	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0˜% ñ 	0ô 	0ð 	0ð %0ÐÔ!à�Š�k ;Ñ/Ô/Ð/à�Š�kÔ1Ð3DÑEÔEÐEØ×ÒÐ*Ô2°KÑ@Ô@Ð@Ø×ÒÐ*Ô3Ø×,Ò,¨\¸;ÑHÔHñ	Jô 	Jð 	Jà×ÒØÔ'Ø×Ò ¨kÑ:Ô:¸i¸\ÑIñ	
ô 	
ð 	
ð 	
ð 	
r   N)
r   r   r   rC  r@  rA  rI  rN  r¥  re  r   r   r   r3  r3  â  s€   € € € € € ðð ð ð3ð 3ð 3ð&0ð 0ð 0ðDð Dð Dð&/ð /ð /ð:ð :ð :ð&!
ð !
ð !
ð !
ð !
r   r3  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTest_classImplementsFirstc                 óT   — ddl m}  |||¦  «        }|                      |¦  «         |S )Nr   )ÚclassImplementsFirst)r*   ri  rg   )r   r  r  ri  r7  s        r   rC  z"Test_classImplementsFirst._callFUTU  sF   € ØDÐDÐDÐDÐDÐDØ%Ð%Ø�ñ
ô 
ˆð 	×Ò˜&Ñ!Ô!Ð!Øˆ
r   c                 ó
   — ||fS r0   r   rK  s      r   rN  z(Test_classImplementsFirst._order_for_two]  s   € Ø Ð.Ð.r   N)r   r   r   rC  rN  r   r   r   rg  rg  S  s2   € € € € € ðð ð ð/ð /ð /ð /ð /r   rg  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTest__implements_advicec                 ó   — ddl m}  ||i |¤ŽS )Nr   )Ú_implements_advice)r*   rn  )r   rx   ry   rn  s       r   rC  z Test__implements_advice._callFUTc  ó*   € ØBÐBÐBÐBÐBÐBØ!Ð! 4Ð.¨2Ð.Ð.Ð.r   c                 óL  ‡‡— ddl m} ddl mŠ ddlm}  |d¦  «        Š G ˆˆfd„d¦  «        }|                      |¦  «         |                      d|j        ¦  «         |                      |j	        |¦  «         |  
                    t          |j	        ¦  «        ‰g¦  «         d S )	Nr   rˆ   r5  r�   rƒ   c                   ó   •— e Zd Z” f”fZdS )ú@Test__implements_advice.test_no_existing_implements.<locals>.FooN)r   r   r   Ú__implements_advice_data__)rƒ   r6  s   €€r   r'   rr  m  s   ø€ € € € € Ø+/¨'°?Ð)CÐ&Ð&Ð&r   r'   rs  )r*   r‰   r6  rL   r‚   rC  rQ   r:  r®   rH  r+   rD   )r   r‰   r‚   r'   rƒ   r6  s       @@r   Útest_no_existing_implementsz3Test__implements_advice.test_no_existing_implementsg  s  øø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø?Ð?Ð?Ð?Ð?Ð?Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	�Š�cÑÔÐØ×ÒÐ5°s´|ÑDÔDÐDØ×ÒØÔ ñ	
ô 	
ð 	
ð 	×ÒÝ�Ô$Ñ%Ô%¨ vñ	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   r   rC  rt  r   r   r   rl  rl  a  s2   € € € € € ð/ð /ð /ð
ð 
ð 
ð 
ð 
r   rl  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_implementerc                 ó   — ddl m} |S )Nr   rÍ   )r*   rÎ   )r   rÎ   s     r   rs   z Test_implementer._getTargetClass|  rt   r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTest_implementer._makeOne€  r{   r   c                 ó,   —  | j         |Ž } ||¦  «        S r0   ©rz   )r   r  ÚifacesÚ	decorators       r   rC  zTest_implementer._callFUTƒ  s   € Ø!�D”M 6Ð*ˆ	Øˆy˜‰~Œ~Ðr   c                 ó¢   — ddl m}  |d¦  «        }|                      |¦  «        }|                      t          |t          ¦   «         ¦  «         d S r€   )rL   r‚   rz   rë   r   rm   )r   r‚   rƒ   r|  s       r   Ú test_nonclass_cannot_assign_attrz1Test_implementer.test_nonclass_cannot_assign_attr‡  sV   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ—M’M $Ñ'Ô'ˆ	Ø×Ò�) Yµ±´Ñ9Ô9Ð9Ð9Ð9r   c                 ór  — ddl m}  |d¦  «        } G d„ d¦  «        } |¦   «         }|                      |¦  «        } ||¦  «        }|                      ||u ¦  «         |j        }|                      |j        d¦  «         |                      |j        ¦  «         |  	                    |j        |¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )ú;Test_implementer.test_nonclass_can_assign_attr.<locals>.FooNr&   r   r   r   r'   r�  ‘  r9   r   r'   z(zope.interface.tests.test_declarations.?)
rL   r‚   rz   rV   rH  r+   r   rg   r  rá   )r   r‚   rƒ   r'   r#   r|  r  r}  s           r   Útest_nonclass_can_assign_attrz.Test_implementer.test_nonclass_can_assign_attr�  sé   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ—M’M $Ñ'Ô'ˆ	Ø�9˜S‘>”>ˆØ�Š˜ C˜Ñ(Ô(Ð(ØÔ"ˆØ×ÒØŒMÐEñ	
ô 	
ð 	
ð 	×Ò˜$œ,Ñ(Ô(Ð(Ø�Š�cÔ)¨4Ñ0Ô0Ð0Ð0Ð0r   c                 ó|  — dd l }ddlm}  |d¦  «        }t          |                     ¦   «         ¦  «        }t          d¦  «        D ]%} G d„ d¦  «        }|                      ||¦  «         Œ&|                     ¦   «          t          |                     ¦   «         ¦  «        }d}|                      |||z   ¦  «         d S )Nr   r�   rƒ   il  c                   ó   — e Zd ZdS )úHTest_implementer.test_does_not_leak_on_unique_classes.<locals>.TestClassNr&   r   r   r   Ú	TestClassr…  ­  rH  r   r†  )	ÚgcrL   r‚   ÚlenÚget_objectsÚrangerC  ÚcollectÚassertLessEqual)	r   r‡  r‚   rƒ   Úbegin_countr   r†  Ú	end_countÚfudge_factors	            r   Ú$test_does_not_leak_on_unique_classesz5Test_implementer.test_does_not_leak_on_unique_classesŸ  sç   € ð 	ˆ	ˆ	ˆ	à;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆå˜"Ÿ.š.Ñ*Ô*Ñ+Ô+ˆå�t‘”ð 	+ð 	+ˆAðð ð ð ð ñ ô ð ð �MŠM˜) TÑ*Ô*Ð*Ð*à
�
Š
‰Œˆå˜ŸšÑ(Ô(Ñ)Ô)ˆ	ð ˆØ×Ò˜Y¨°lÑ(BÑCÔCÐCÐCÐCr   N)	r   r   r   rs   rz   rC  r~  r‚  r�  r   r   r   rv  rv  z  ss   € € € € € ðð ð ð3ð 3ð 3ðð ð ð:ð :ð :ð1ð 1ð 1ð$Dð Dð Dð Dð Dr   rv  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_implementer_onlyc                 ó   — ddl m} |S )Nr   )Úimplementer_only)r*   r”  )r   r”  s     r   rs   z%Test_implementer_only._getTargetClassÀ  s   € Ø@Ð@Ð@Ð@Ð@Ð@ØÐr   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTest_implementer_only._makeOneÄ  r{   r   c                 óB   — |                       |¦  «        } ||¦  «        S r0   rz  )r   r  r  r|  s       r   rC  zTest_implementer_only._callFUTÇ  s!   € Ø—M’M %Ñ(Ô(ˆ	Øˆy˜‰~Œ~Ðr   c                 ó�   — ddl m}  |d¦  «        }|                      |¦  «        }d„ }|                      t          ||¦  «         d S )Nr   r�   rƒ   c                  ó   — t          ¦   «         ‚r0   r1   r   r   r   Ú	_functionz6Test_implementer_only.test_function.<locals>._functionÐ  ó   € Ý%Ñ'Ô'Ð'r   )rL   r‚   rz   rë   Ú
ValueError)r   r‚   rƒ   r|  r™  s        r   r5   z#Test_implementer_only.test_functionË  sc   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ—M’M $Ñ'Ô'ˆ	ð	(ð 	(ð 	(ð 	×Ò�* i°Ñ;Ô;Ð;Ð;Ð;r   c                 ó®   — ddl m}  |d¦  «        }|                      |¦  «        } G d„ d¦  «        }|                      t          ||j        ¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd Zd„ ZdS )ú.Test_implementer_only.test_method.<locals>.Barc                 ó   — t          ¦   «         ‚r0   r1   rå   s    r   Ú_methodz6Test_implementer_only.test_method.<locals>.Bar._methodÛ  r(  r   N)r   r   r   r   r   r   r   ÚBarrž  Ú  s#   € € € € € ð,ð ,ð ,ð ,ð ,r   r¡  )rL   r‚   rz   rë   r›  r   )r   r‚   rƒ   r|  r¡  s        r   Útest_methodz!Test_implementer_only.test_methodÕ  s~   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ—M’M $Ñ'Ô'ˆ	ð	,ð 	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	×Ò�* i°´Ñ=Ô=Ð=Ð=Ð=r   N)r   r   r   rs   rz   rC  r5   r¢  r   r   r   r’  r’  ¾  s_   € € € € € ð ð  ð  ð3ð 3ð 3ðð ð ð<ð <ð <ð	>ð 	>ð 	>ð 	>ð 	>r   r’  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚProvidesClassTestsc                 ó   — ddl m} |S ©Nr   ©ÚProvidesClass©r*   r¨  ©r   r¨  s     r   rs   z"ProvidesClassTests._getTargetClassã  r  r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zProvidesClassTests._makeOneç  r{   r   c                 ó¶   — ddl m}  |d¦  «        } G d„ d¦  «        }|                      ||¦  «        }|                      t	          |¦  «        |g¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )ú?ProvidesClassTests.test_simple_class_one_interface.<locals>.FooNr&   r   r   r   r'   r®  î  r9   r   r'   r–   ©r   r‚   rƒ   r'   r}  s        r   Útest_simple_class_one_interfacez2ProvidesClassTests.test_simple_class_one_interfaceê  s„   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �}Š}˜S $Ñ'Ô'ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 ó  — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        }|                      ||¦  «        }|                     ¦   «         \  }}|                      ||¦  «         |                      |||f¦  «         d S )Nr   ©ÚProvidesr�   rƒ   c                   ó   — e Zd ZdS )ú/ProvidesClassTests.test___reduce__.<locals>.FooNr&   r   r   r   r'   rµ  ù  r9   r   r'   )r*   r³  rL   r‚   rz   r  rá   r+   )r   r³  r‚   rƒ   r'   r}  Úklassrx   s           r   r  z"ProvidesClassTests.test___reduce__ô  s¹   € Ø8Ð8Ð8Ð8Ð8Ð8Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �}Š}˜S $Ñ'Ô'ˆØ—o’oÑ'Ô'‰ˆˆtØ�Š�e˜XÑ&Ô&Ð&Ø×Ò˜  T˜{Ñ+Ô+Ð+Ð+Ð+r   c                 ó²   — ddl m}  |d¦  «        } G d„ d¦  «        }|                      ||¦  «        }||_        |                      |j        |¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )ú2ProvidesClassTests.test___get___class.<locals>.FooNr&   r   r   r   r'   r¹    r9   r   r'   ©rL   r‚   rz   r™  rá   r¯  s        r   Útest___get___classz%ProvidesClassTests.test___get___class  s…   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �}Š}˜S $Ñ'Ô'ˆØˆÔØ�Š�cÔ&¨Ñ-Ô-Ð-Ð-Ð-r   c                 ó¾   ‡— ddl m}  |d¦  «        } G d„ d¦  «        Š|                      ‰|¦  «        }|‰_        ˆfd„}|                      t
          |¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )ú5ProvidesClassTests.test___get___instance.<locals>.FooNr&   r   r   r   r'   r¾    r9   r   r'   c                  ó&   •—  ‰¦   «         } | j         S r0   )r™  )r#   r'   s    €r   Ú_testz7ProvidesClassTests.test___get___instance.<locals>._test  s   ø€ Ø�#‘%”%ˆCØÔ#Ð#r   )rL   r‚   rz   r™  rë   ÚAttributeError)r   r‚   rƒ   r}  rÀ  r'   s        @r   Útest___get___instancez(ProvidesClassTests.test___get___instance  s    ø€ Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �}Š}˜S $Ñ'Ô'ˆØˆÔð	$ð 	$ð 	$ð 	$ð 	$ð 	×Ò�.¨%Ñ0Ô0Ð0Ð0Ð0r   N)	r   r   r   rs   rz   r°  r  r»  rÂ  r   r   r   r¤  r¤  á  sn   € € € € € ðð ð ð3ð 3ð 3ð-ð -ð -ð,ð ,ð ,ð	.ð 	.ð 	.ð1ð 1ð 1ð 1ð 1r   r¤  c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚProvidesClassStrictTestsc                 ój   •‡— t          ¦   «                              ¦   «         Š G ˆfd„d‰¦  «        }|S )Nc                   ó   •— e Zd Zˆ fd„ZdS )ú@ProvidesClassStrictTests._getTargetClass.<locals>.StrictProvidesc                 ó4   •— ‰                      | |d¬¦  «        S ©NT)Ú	base_mrosrU   ©Ú_do_calculate_ro)r   rÊ  r¨  s     €r   rÌ  zQProvidesClassStrictTests._getTargetClass.<locals>.StrictProvides._do_calculate_ro$  ó'   ø€ Ø$×5Ò5Ø I°dð 6ñ ô ð r   N©r   r   r   rÌ  r§  s   €r   ÚStrictProvidesrÇ  #  ó.   ø€ € € € € ðð ð ð ð ð ð r   rÏ  ©r±  rs   )r   rÏ  r¨  r´  s     @€r   rs   z(ProvidesClassStrictTests._getTargetClass   sU   øø€ Ý™œ×/Ò/Ñ1Ô1ˆð	ð 	ð 	ð 	ð 	ð 	ð 	˜]ñ 	ô 	ð 	ð Ðr   c           	      ó  — ddl m} ddl m} ddl m}  G d„ d|¦  «        } ||¦  «         G d„ d¦  «        ¦   «         }|                      ||¦  «        }|                      |j        | ||¦  «        | |t          ¦  «        |f¦  «         d S )	Nr   rJ   rË   rÍ   c                   ó   — e Zd ZdS )úMProvidesClassStrictTests.test_overlapping_interfaces_corrected.<locals>.IBaseNr&   r   r   r   rÂ   rÔ  2  r9   r   rÂ   c                   ó   — e Zd ZdS )úLProvidesClassStrictTests.test_overlapping_interfaces_corrected.<locals>.BaseNr&   r   r   r   rÕ   rÖ  5  r(   r   rÕ   )rÄ   rK   rÌ   rÎ   rz   r+   r^   rm   )r   rK   rÌ   rÎ   rÂ   rÕ   r}  s          r   Ú%test_overlapping_interfaces_correctedz>ProvidesClassStrictTests.test_overlapping_interfaces_corrected+  s  € ð 	-Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð �}Š}˜T 5Ñ)Ô)ˆØ×Ò˜œØØˆM˜$ÑÔØØˆM�&Ñ!Ô!Øð(
ñ 	ô 	ð 	ð 	ð 	r   ©r   r   r   rs   r×  r	  r
  s   @r   rÄ  rÄ    sG   ø€ € € € € ð	ð 	ð 	ð 	ð 	ðð ð ð ð ð ð r   rÄ  c                   ó\   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚTestProvidesClassReprc                 ó   — ddl m} |S r¦  r©  rª  s     r   rs   z%TestProvidesClassRepr._getTargetClassE  r  r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTestProvidesClassRepr._makeOneI  r{   r   c                 óF  — ddl m}  |d¦  «        }|j        dk    sJ ‚|j        t          k    sJ ‚t	          |¦  «        dt          › d�k    sJ ‚ |d¦  «        }|                      t          | ¦  «        ||¦  «        }|                      t	          |¦  «        d¦  «         d S )Nr   r�   rƒ   z<InterfaceClass z.IFoo>rš   z3directlyProvides(TestProvidesClassRepr, IFoo, IBar))rL   r‚   r   r   r  rz   r0  r+   )r   r‚   rƒ   rš   Úinsts        r   Útest__repr__z"TestProvidesClassRepr.test__repr__L  sÄ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØŒ} Ò&Ð&Ð&Ð&ØŒ¥(Ò*Ð*Ð*Ð*Ý�D‰zŒzÐ@µÐ@Ð@Ð@Ò@Ð@Ð@Ð@àˆ~˜fÑ%Ô%ˆà�}Š}�T $™ZœZ¨¨tÑ4Ô4ˆØ×ÒÝ�‰JŒJØAñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óf   — ddl m} |j        }|                      t	          |¦  «        d¦  «         d S )Nr   ©ÚdummyzIdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IDummyModule))Úzope.interface.testsrâ  r™  r+   r  )r   râ  Úprovidess      r   Ú'test__repr__module_provides_typical_usez=TestProvidesClassRepr.test__repr__module_provides_typical_use[  sN   € ð 	/Ð.Ð.Ð.Ð.Ð.ØÔ%ˆØ×ÒÝ�‰NŒNðñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óì   — dd l }ddlm} |j        }t	          |j        dz   ¦  «        D ]J}|                      |j        ¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒKd S )Nr   rá  rê   )	rÞ   rã  râ  r™  rŠ  ÚHIGHEST_PROTOCOLrë   ÚPicklingErrorrà   )r   rÞ   râ  rä  Úprotos        r   Útest__repr__module_after_picklez5TestProvidesClassRepr.test__repr__module_after_pickleg  sÏ   € àˆˆˆà.Ð.Ð.Ð.Ð.Ð.ØÔ%ˆÝ˜6Ô2°QÑ6Ñ7Ô7ð 	.ð 	.ˆEØ×"Ò" 6Ô#7Ñ8Ô8ð .ð .Ø—’˜X uÑ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .øð	.ð 	.s   ÁA(Á(A,	Á/A,	c                 ó¤  — dd l }ddlm} ddlm} ddlm} ddlm}  |d¦  «        } |d¦  «        }|j        }|`|  	                    t          |d|¦  «          |||¦  «         |j        }	|                      t          |	¦  «        d	¦  «          |||¦  «         |j        }	|                      t          |	¦  «        d
¦  «         |j        t                   }
t          |
d¦  «        rJ ‚ ||
||¦  «         |  	                    t           |
d¦  «         |                      |
j        |	¦  «         |                      t          |	¦  «        d¦  «         d S )Nr   ©ÚalsoProvides©ÚdirectlyProvidesr�   rá  rƒ   rš   r™  zAdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IFoo)zGdirectlyProvides(sys.modules['zope.interface.tests.dummy'], IFoo, IBar)zfdirectlyProvides(('zope.interface.tests.dummy', 'zope.interface.tests.test_declarations'), IFoo, IBar))Úsysr*   rí  rï  rL   r‚   rã  râ  r™  Ú
addCleanupÚsetattrr+   r  Úmodulesr   ÚhasattrÚdelattrrá   )r   rð  rí  rï  r‚   râ  rƒ   rš   Úorig_providesrä  Ú	my_modules              r   Ú#test__repr__directlyProvides_modulez9TestProvidesClassRepr.test__repr__directlyProvides_moduleq  s®  € Øˆ
ˆ
ˆ
à<Ð<Ð<Ð<Ð<Ð<Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Ø.Ð.Ð.Ð.Ð.Ð.àˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆàÔ*ˆØÐØ�Š� ¨¸ÑFÔFÐFàÐ˜ Ñ%Ô%Ð%ØÔ%ˆà×ÒÝ�‰NŒNØOñ	
ô 	
ð 	
ð
 	ˆ�U˜DÑ!Ô!Ð!ØÔ%ˆà×ÒÝ�‰NŒNðñ	
ô 	
ð 	
ð ”K¥Ô)ˆ	Ý˜9 nÑ5Ô5Ð5Ð5Ð5àÐ˜ D¨$Ñ/Ô/Ð/Ø�Š� ¨NÑ;Ô;Ð;Ø�Š�iÔ,¨hÑ7Ô7Ð7Ø×ÒÝ�‰NŒNðñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óæ   — ddl m} ddlm}  |d¦  «        }|                      ||¦  «        }|xj        dz  c_        |xj        dz  c_        |                      t          |¦  «        d¦  «         d S )Nr   )Ú
ModuleTyper�   rƒ   )zsome.module)zanother.modulez9directlyProvides(('some.module', 'another.module'), IFoo))r*   rú  rL   r‚   rz   Ú_v_module_namesr+   r  )r   rú  r‚   rƒ   rÞ  s        r   Ú)test__repr__module_provides_cached_sharedz?TestProvidesClassRepr.test__repr__module_provides_cached_shared¡  s    € Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà�}Š}˜Z¨Ñ.Ô.ˆØÐÔÐ 0Ñ0ÐÔØÐÔÐ 3Ñ3ÐÔØ×ÒÝ�‰JŒJØGñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óì   — ddl m}  |dd¬¦  «        } |dd¬¦  «        } |d¦  «        }|                      t          | ¦  «        |||¦  «        }|                      t          |¦  «        d¦  «         d S )	Nr   r�   rƒ   Úmod1©r   Úmod2rº   z>directlyProvides(TestProvidesClassRepr, IFoo, IBaz, mod2.IFoo)©rL   r‚   rz   r0  r+   r  ©r   r‚   rƒ   ÚIFoo2rº   rÞ  s         r   Útest__repr__duplicate_namesz1TestProvidesClassRepr.test__repr__duplicate_names®  s–   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜f°Ð8Ñ8Ô8ˆØ�˜v°&Ð9Ñ9Ô9ˆØˆ~˜fÑ%Ô%ˆà�}Š}�T $™ZœZ¨¨t°UÑ;Ô;ˆØ×ÒÝ�‰JŒJØLñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óø   — ddl m} ddl m}  G d„ d|¦  «        } G d„ d¦  «        } |t          | ¦  «        ¦  «        }|                      |||¦  «        }|                      t          |¦  «        d¦  «         d S )	Nr   rJ   rË   c                   ó   — e Zd ZdZdS )úKTestProvidesClassRepr.test__repr__implementedBy_in_interfaces.<locals>.IFooúDoes nothingN©r   r   r   Ú__doc__r   r   r   rƒ   r  ¾  ó   € € € € € ØˆNˆNˆNr   rƒ   c                   ó   — e Zd ZdZdS )úJTestProvidesClassRepr.test__repr__implementedBy_in_interfaces.<locals>.Barr  Nr	  r   r   r   r¡  r  Á  r  r   r¡  zCdirectlyProvides(Bar, IFoo, classImplements(TestProvidesClassRepr)))rÄ   rK   rÌ   r0  rz   r+   r  )r   rK   rÌ   rƒ   r¡  rŠ   rÞ  s          r   Ú'test__repr__implementedBy_in_interfacesz=TestProvidesClassRepr.test__repr__implementedBy_in_interfacesº  sÔ   € Ø,Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0ð	ð 	ð 	ð 	ð 	�9ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆ}�T $™ZœZÑ(Ô(ˆà�}Š}˜S $¨Ñ-Ô-ˆØ×ÒÝ�‰JŒJð6ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó�   — |                       t          | ¦  «        ¦  «        }|                      t          |¦  «        d¦  «         d S )Nz'directlyProvides(TestProvidesClassRepr)©rz   r0  r+   r  ©r   rÞ  s     r   Útest__repr__empty_interfacesz2TestProvidesClassRepr.test__repr__empty_interfacesÎ  sG   € Ø�}Š}�T $™ZœZÑ(Ô(ˆØ×ÒÝ�‰JŒJØ5ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó²   ‡ ‡— ˆ fd„Š G ˆfd„d¦  «        }‰                        |¦   «         ¦  «        }‰                      t          |¦  «        d¦  «         d S )Nc                  ó2   •— ‰                       d¦  «         d S )NzShould not call str)r   rå   s   €r   Ústr___dont_call_mezGTestProvidesClassRepr.test__repr__non_class.<locals>.str___dont_call_me×  s   ø€ Ø�IŠIÐ+Ñ,Ô,Ð,Ð,Ð,r   c                   ó   •— e Zd ZdZ” Zd„ ZdS )ú;TestProvidesClassRepr.test__repr__non_class.<locals>.Objectr   c                 ó   — dS )Nz<Object>r   rå   s    r   Ú__repr__zDTestProvidesClassRepr.test__repr__non_class.<locals>.Object.__repr__Þ  s   € Ø!�zr   N)r   r   r   r}   Ú__str__r  )r  s   €r   ÚObjectr  Ú  s.   ø€ € € € € ØˆIØ(ˆGð"ð "ð "ð "ð "r   r  zdirectlyProvides(<Object>))rz   r+   r  )r   r  rÞ  r  s   `  @r   Útest__repr__non_classz+TestProvidesClassRepr.test__repr__non_classÕ  s–   øø€ ð	-ð 	-ð 	-ð 	-ð 	-ð	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð �}Š}˜V˜V™XœXÑ&Ô&ˆØ×ÒÝ�‰JŒJØ(ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óè   — ddl m} ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } | |¦   «         ¦  «        }|                      t          |¦  «        d¦  «         d S )	Nr   rÍ   ©r;  r�   rƒ   c                   ó   — e Zd ZdS )úDTestProvidesClassRepr.test__repr__providedBy_from_class.<locals>.FooNr&   r   r   r   r'   r   í  r(   r   r'   úclassImplements(Foo, IFoo))r*   rÎ   r;  rL   r‚   r+   r  )r   rÎ   r;  r‚   rƒ   r'   rÞ  s          r   Ú!test__repr__providedBy_from_classz7TestProvidesClassRepr.test__repr__providedBy_from_classç  sÉ   € Ø;Ð;Ð;Ð;Ð;Ð;Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆz˜#˜#™%œ%Ñ Ô ˆØ×ÒÝ�‰JŒJØ(ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó&  — ddl m} ddl m} ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } |¦   «         } |||¦  «          ||¦  «        }	|                      t          |	¦  «        d
¦  «         d S )Nr   rì  rÍ   r  r�   rƒ   rš   c                   ó   — e Zd ZdS )úFTestProvidesClassRepr.test__repr__providedBy_alsoProvides.<locals>.FooNr&   r   r   r   r'   r%  ÿ  r(   r   r'   z7directlyProvides(Foo, IBar, classImplements(Foo, IFoo)))r*   rí  rÎ   r;  rL   r‚   r+   r  )
r   rí  rÎ   r;  r‚   rƒ   rš   r'   r#   rÞ  s
             r   Ú#test__repr__providedBy_alsoProvidesz9TestProvidesClassRepr.test__repr__providedBy_alsoProvides÷  sÿ   € Ø<Ð<Ð<Ð<Ð<Ð<Ø;Ð;Ð;Ð;Ð;Ð;Ø:Ð:Ð:Ð:Ð:Ð:Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØˆ�S˜$ÑÔÐàˆz˜#‰ŒˆØ×ÒÝ�‰JŒJØEñ	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   r   rs   rz   rß  rå  rê  rø  rü  r  r  r  r  r"  r&  r   r   r   rÚ  rÚ  C  sØ   € € € € € ðð ð ð3ð 3ð 3ð
ð 
ð 
ð

ð 

ð 

ð.ð .ð .ð.
ð .
ð .
ð`
ð 
ð 
ð

ð 

ð 

ð
ð 
ð 
ð(
ð 
ð 
ð
ð 
ð 
ð$
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   rÚ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTest_Providesc                 ó   — ddl m}  ||i |¤ŽS )Nr   r²  )r*   r³  )r   rx   ry   r³  s       r   rC  zTest_Provides._callFUT  s)   € Ø8Ð8Ð8Ð8Ð8Ð8Øˆx˜Ð$ Ð$Ð$Ð$r   c                 óV  — ddl m} ddlm}  |d¦  «        }i } G d„ d¦  «        }t	          ||¬¦  «        5  |                      ||¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      t          |¦  «        |g¦  «         |                      |||f         |u ¦  «         d S )Nr   r\  r�   rƒ   c                   ó   — e Zd ZdS )ú.Test_Provides.test_no_cached_spec.<locals>.FooNr&   r   r   r   r'   r,    r9   r   r'   ©ÚInstanceDeclarations)	rÄ   r]  rL   r‚   Ú_MonkeyrC  r+   rD   rV   )r   r]  r‚   rƒ   Úcacher'   r}  s          r   Útest_no_cached_specz!Test_Provides.test_no_cached_spec  s#  € Ø/Ð/Ð/Ð/Ð/Ð/Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ �\¸Ð>Ñ>Ô>ð 	,ð 	,Ø—=’=  dÑ+Ô+ˆDð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,à×Ò�˜d™œ d VÑ,Ô,Ð,Ø�Š˜˜s D˜kÔ*¨dÐ2Ñ3Ô3Ð3Ð3Ð3s   ¸AÁAÁ"Ac                 ó"  — ddl m} ddlm}  |d¦  «        }t	          ¦   «         } G d„ d¦  «        }||f|i}t          ||¬¦  «        5  |                      ||¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      ||u ¦  «         d S )Nr   r\  r�   rƒ   c                   ó   — e Zd ZdS )ú-Test_Provides.test_w_cached_spec.<locals>.FooNr&   r   r   r   r'   r4  '  r9   r   r'   r-  )rÄ   r]  rL   r‚   rm   r/  rC  rV   )r   r]  r‚   rƒ   Úpriorr'   r0  r}  s           r   Útest_w_cached_specz Test_Provides.test_w_cached_spec!  s  € Ø/Ð/Ð/Ð/Ð/Ð/Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆÝ‘”ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �t�˜eÐ$ˆÝ�\¸Ð>Ñ>Ô>ð 	,ð 	,Ø—=’=  dÑ+Ô+ˆDð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,à�Š˜ ˜Ñ&Ô&Ð&Ð&Ð&s   Á
A-Á-A1Á4A1N)r   r   r   rC  r1  r6  r   r   r   r(  r(    sA   € € € € € ð%ð %ð %ð4ð 4ð 4ð'ð 'ð 'ð 'ð 'r   r(  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_directlyProvidesc                 ó   — ddl m}  ||i |¤ŽS )Nr   rî  )r*   rï  )r   rx   ry   rï  s       r   rC  zTest_directlyProvides._callFUT2  ó*   € Ø@Ð@Ð@Ð@Ð@Ð@ØÐ Ð,¨Ð,Ð,Ð,r   c                 ó  — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         }|                      ||¦  «         |                      |j        |¦  «         |                      t          |j        ¦  «        |g¦  «         d S )Nr   r§  r�   rƒ   c                   ó   — e Zd ZdS )ú7Test_directlyProvides.test_w_normal_object.<locals>.FooNr&   r   r   r   r'   r=  ;  r9   r   r'   ©	r*   r¨  rL   r‚   rC  r®   r™  r+   rD   ©r   r¨  r‚   rƒ   r'   Úobjs         r   Útest_w_normal_objectz*Test_directlyProvides.test_w_normal_object6  óÔ   € Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ�Š�c˜4Ñ Ô Ð Ø×ÒØÔ˜mñ	
ô 	
ð 	
ð 	×ÒÝ�Ô!Ñ"Ô" T Fñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó  — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        }|                      ||¦  «         |                      |j        |¦  «         |                      t          |j        ¦  «        |g¦  «         d S )Nr   r�  r�   rƒ   c                   ó   — e Zd ZdS )ú/Test_directlyProvides.test_w_class.<locals>.FooNr&   r   r   r   r'   rE  L  r9   r   r'   )	r*   rž  rL   r‚   rC  r®   r™  r+   rD   ©r   rž  r‚   rƒ   r'   s        r   Útest_w_classz"Test_directlyProvides.test_w_classG  sÉ   € Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	�Š�c˜4Ñ Ô Ð Ø×ÒØÔ˜mñ	
ô 	
ð 	
ð 	×ÒÝ�Ô!Ñ"Ô" T Fñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó$  ‡— ddl m} ddlm}  |d¦  «        }i Š G ˆfd„d¦  «        } |¦   «         }|                      ||¦  «         |                      ‰d         |¦  «         |                      t          ‰d         ¦  «        |g¦  «         d S )Nr   r§  r�   rƒ   c                   ó    •— e Zd Zd„ Zˆ fd„ZdS )ú:Test_directlyProvides.test_w_classless_object.<locals>.Fooc                 ó0   — |dk    rd S t          |¦  «        ‚©Nr´  r1   r&  s     r   Ú__getattribute__zKTest_directlyProvides.test_w_classless_object.<locals>.Foo.__getattribute__^  s    € à˜;Ò&Ð&Ø˜4Ý)¨$Ñ/Ô/Ð/r   c                 ó   •— |‰|<   d S r0   r   )r   rø   ÚvalueÚthe_dicts      €r   Ú__setattr__zFTest_directlyProvides.test_w_classless_object.<locals>.Foo.__setattr__d  s   ø€ Ø!&�˜‘��r   N©r   r   r   rM  rQ  ©rP  s   €r   r'   rJ  ]  s=   ø€ € € € € ð0ð 0ð 0ð'ð 'ð 'ð 'ð 'ð 'ð 'r   r'   r™  )r*   r¨  rL   r‚   rC  r®   r+   rD   )r   r¨  r‚   rƒ   r'   r@  rP  s         @r   Útest_w_classless_objectz-Test_directlyProvides.test_w_classless_objectW  sÔ   ø€ Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð ˆc‰eŒeˆØ�Š�c˜4Ñ Ô Ð Ø×Ò˜h ~Ô6¸ÑFÔFÐFØ×Ò�˜h ~Ô6Ñ7Ô7¸$¸Ñ@Ô@Ð@Ð@Ð@r   N)r   r   r   rC  rA  rG  rT  r   r   r   r8  r8  0  sU   € € € € € ð-ð -ð -ð
ð 
ð 
ð"
ð 
ð 
ð Að Að Að Að Ar   r8  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTest_alsoProvidesc                 ó   — ddl m}  ||i |¤ŽS )Nr   rì  )r*   rí  )r   rx   ry   rí  s       r   rC  zTest_alsoProvides._callFUTo  s)   € Ø<Ð<Ð<Ð<Ð<Ð<Øˆ|˜TÐ( RÐ(Ð(Ð(r   c                 ó  — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         }|                      ||¦  «         |                      |j        |¦  «         |                      t          |j        ¦  «        |g¦  «         d S )Nr   r§  r�   rƒ   c                   ó   — e Zd ZdS )ú8Test_alsoProvides.test_wo_existing_provides.<locals>.FooNr&   r   r   r   r'   rZ  x  r9   r   r'   r>  r?  s         r   Útest_wo_existing_providesz+Test_alsoProvides.test_wo_existing_providess  rB  r   c                 óR  — ddl m} ddl m} ddlm}  |d¦  «        } |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «         |                      ||¦  «         |                      |j        |¦  «         |                      t          |j        ¦  «        ||g¦  «         d S )	Nr   r§  rî  r�   rƒ   rš   c                   ó   — e Zd ZdS )ú7Test_alsoProvides.test_w_existing_provides.<locals>.FooNr&   r   r   r   r'   r^  ‹  r9   r   r'   )
r*   r¨  rï  rL   r‚   rC  r®   r™  r+   rD   )r   r¨  rï  r‚   rƒ   rš   r'   r@  s           r   Útest_w_existing_providesz*Test_alsoProvides.test_w_existing_provides„  s
  € Ø=Ð=Ð=Ð=Ð=Ð=Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø�Š�c˜4Ñ Ô Ð Ø×ÒØÔ˜mñ	
ô 	
ð 	
ð 	×ÒÝ�Ô!Ñ"Ô" T¨4 Lñ	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   r   rC  r[  r_  r   r   r   rV  rV  m  sA   € € € € € ð)ð )ð )ð
ð 
ð 
ð"
ð 
ð 
ð 
ð 
r   rV  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_noLongerProvidesc                 ó   — ddl m}  ||i |¤ŽS )Nr   )ÚnoLongerProvides)r*   rc  )r   rx   ry   rc  s       r   rC  zTest_noLongerProvides._callFUT›  r:  r   c                 óÒ   — ddl m}  |d¦  «        } G d„ d¦  «        } |¦   «         }|                      ||¦  «         |                      t	          |j        ¦  «        g ¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )ú<Test_noLongerProvides.test_wo_existing_provides.<locals>.FooNr&   r   r   r   r'   rf  £  r9   r   r'   )rL   r‚   rC  r+   rD   r™  )r   r‚   rƒ   r'   r@  s        r   r[  z/Test_noLongerProvides.test_wo_existing_providesŸ  sž   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ�Š�c˜4Ñ Ô Ð Ø×ÒÝ�Ô!Ñ"Ô" Bñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óö   — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «         |                      ||¦  «         |                      t          |j        ¦  «        g ¦  «         d S )Nr   rî  r�   rƒ   c                   ó   — e Zd ZdS )ú?Test_noLongerProvides.test_w_existing_provides_hit.<locals>.FooNr&   r   r   r   r'   ri  ±  r9   r   r'   ©r*   rï  rL   r‚   rC  r+   rD   r™  )r   rï  r‚   rƒ   r'   r@  s         r   Útest_w_existing_provides_hitz2Test_noLongerProvides.test_w_existing_provides_hit¬  sÃ   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø�Š�c˜4Ñ Ô Ð Ø×ÒÝ�Ô!Ñ"Ô" Bñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó  — ddl m} ddlm}  |d¦  «        } |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «         |                      ||¦  «         |                      t          |j        ¦  «        |g¦  «         d S )Nr   rî  r�   rƒ   rš   c                   ó   — e Zd ZdS )ú@Test_noLongerProvides.test_w_existing_provides_miss.<locals>.FooNr&   r   r   r   r'   rn  Á  r9   r   r'   rj  )r   rï  r‚   rƒ   rš   r'   r@  s          r   Útest_w_existing_provides_missz3Test_noLongerProvides.test_w_existing_provides_miss»  sÔ   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø�Š�c˜4Ñ Ô Ð Ø×ÒÝ�Ô!Ñ"Ô" T Fñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÈ   — ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      t
          | j        ||¦  «         d S )Nr   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )úDTest_noLongerProvides.test_w_iface_implemented_by_class.<locals>.FooNr&   r   r   r   r'   rr  Ð  r(   r   r'   )r*   rÎ   rL   r‚   rë   r›  rC  )r   rÎ   r‚   rƒ   r'   r@  s         r   Ú!test_w_iface_implemented_by_classz7Test_noLongerProvides.test_w_iface_implemented_by_classË  s¡   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×Ò�* d¤m°S¸$Ñ?Ô?Ð?Ð?Ð?r   N)r   r   r   rC  r[  rk  ro  rs  r   r   r   ra  ra  ™  sd   € € € € € ð-ð -ð -ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð 
@ð 
@ð 
@ð 
@ð 
@r   ra  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚClassProvidesBaseFallbackTestsc                 ó   — ddl m} |S ©Nr   )ÚClassProvidesBaseFallback©r*   rx  ©r   rx  s     r   rs   z.ClassProvidesBaseFallbackTests._getTargetClassÚ  ó   € àIÐIÐIÐIÐIÐIØ(Ð(r   c                 óZ   —  G d„ d|                       ¦   «         ¦  «        } |||¦  «        S )Nc                   ó   — e Zd Zd„ ZdS )ú8ClassProvidesBaseFallbackTests._makeOne.<locals>.Derivedc                 ó"   — || _         || _        d S r0   )Ú_clsÚ_implements)r   ÚkÚis      r   r$  zAClassProvidesBaseFallbackTests._makeOne.<locals>.Derived.__init__ä  s   € Ø�”	Ø#$�Ô Ð Ð r   N)r   r   r   r$  r   r   r   r¯  r~  ã  s#   € € € € € ð%ð %ð %ð %ð %r   r¯  rv   )r   r¶  Ú
implementsr¯  s       r   rz   z'ClassProvidesBaseFallbackTests._makeOneß  sL   € ð	%ð 	%ð 	%ð 	%ð 	%�d×*Ò*Ñ,Ô,ñ 	%ô 	%ð 	%ð
 ˆw�u˜jÑ)Ô)Ð)r   c                 ó´   — ddl m}  |d¦  «        } G d„ d¦  «        }|                      ||¦  «        x}|_        |                      |j        |u ¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )úGClassProvidesBaseFallbackTests.test_w_same_class_via_class.<locals>.FooNr&   r   r   r   r'   r‡  î  r9   r   r'   )rL   r‚   rz   r™  rV   )r   r‚   rƒ   r'   Úcpbps        r   Útest_w_same_class_via_classz:ClassProvidesBaseFallbackTests.test_w_same_class_via_classê  sˆ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð #'§-¢-°°TÑ":Ô":Ð:ˆˆsÔØ�Š˜Ô(¨DÐ0Ñ1Ô1Ð1Ð1Ð1r   c                 óÂ   — ddl m}  |d¦  «        } G d„ d¦  «        } |¦   «         }|                      ||¦  «        |_        |                      |j        |¦  «         d S )Nr   r�   rƒ   c                   ó   — e Zd ZdS )úJClassProvidesBaseFallbackTests.test_w_same_class_via_instance.<locals>.FooNr&   r   r   r   r'   rŒ  ø  r9   r   r'   rº  )r   r‚   rƒ   r'   r#   s        r   Útest_w_same_class_via_instancez=ClassProvidesBaseFallbackTests.test_w_same_class_via_instanceô  s‹   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØŸ=š=¨¨dÑ3Ô3ˆÔØ�Š�cÔ&¨Ñ-Ô-Ð-Ð-Ð-r   c                 ó0  — ddl m}  |d¦  «        } G d„ d¦  «        } G d„ d|¦  «        } |¦   «         }|                      ||¦  «        |_        |                      t
          t          |d¦  «         |                      t
          t          |d¦  «         d S )	Nr   r�   rƒ   c                   ó   — e Zd ZdS )úBClassProvidesBaseFallbackTests.test_w_different_class.<locals>.FooNr&   r   r   r   r'   r�    r9   r   r'   c                   ó   — e Zd ZdS )úBClassProvidesBaseFallbackTests.test_w_different_class.<locals>.BarNr&   r   r   r   r¡  r’    r9   r   r¡  r™  )rL   r‚   rz   r™  rë   rÁ  Úgetattr)r   r‚   rƒ   r'   r¡  Úbars         r   Útest_w_different_classz5ClassProvidesBaseFallbackTests.test_w_different_classÿ  sÒ   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ð 	ð ˆc‰eŒeˆØŸ=š=¨¨dÑ3Ô3ˆÔØ×Ò�.­'°3¸ÑGÔGÐGØ×Ò�.­'°3¸ÑGÔGÐGÐGÐGr   N)r   r   r   rs   rz   r‰  r�  r•  r   r   r   ru  ru  Ø  sd   € € € € € ð)ð )ð )ð
	*ð 	*ð 	*ð2ð 2ð 2ð	.ð 	.ð 	.ðHð Hð Hð Hð Hr   ru  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚClassProvidesBaseTestsc                 ó   — ddl m} |S )Nr   )ÚClassProvidesBase)r*   r™  )r   r™  s     r   rs   z&ClassProvidesBaseTests._getTargetClass  s   € ØAÐAÐAÐAÐAÐAØ Ð r   c                 ó   — ddl m} |S rw  ry  rz  s     r   r  z(ClassProvidesBaseTests._getFallbackClass  r{  r   N)r   r   r   rs   r  r   r   r   r—  r—    s2   € € € € € ð!ð !ð !ð)ð )ð )ð )ð )r   r—  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚClassProvidesTestsc                 ó   — ddl m} |S ©Nr   r�  ©r*   rž  ©r   rž  s     r   rs   z"ClassProvidesTests._getTargetClass"  r  r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zClassProvidesTests._makeOne&  r{   r   c                 óv  — ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         }|                      |t          |¦  «        |¦  «        x}|_        |                      |j        |u ¦  «         |                      t           |¦   «         j        ¦  «        |g¦  «         d S )Nr   rÍ   r�   rƒ   rš   c                   ó   — e Zd ZdS )ú7ClassProvidesTests.test_w_simple_metaclass.<locals>.FooNr&   r   r   r   r'   r¤  /  r(   r   r'   )
r*   rÎ   rL   r‚   rz   r0  r™  rV   r+   rD   ©r   rÎ   r‚   rƒ   rš   r'   Úcps          r   Útest_w_simple_metaclassz*ClassProvidesTests.test_w_simple_metaclass)  sï   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð !%§¢¨cµ4¸±9´9¸dÑ CÔ CÐCˆˆSÔØ�Š˜Ô(¨BÐ.Ñ/Ô/Ð/Ø×Ò�˜c˜c™eœeÔ0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   c                 ój  — ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         }|                      |t          |¦  «        |¦  «        x}|_        |                      |                     ¦   «         t          |¦  «        |t          |¦  «        |ff¦  «         d S )Nr   rÍ   r�   rƒ   rš   c                   ó   — e Zd ZdS )ú/ClassProvidesTests.test___reduce__.<locals>.FooNr&   r   r   r   r'   rª  =  r(   r   r'   )	r*   rÎ   rL   r‚   rz   r0  r™  r+   r  r¥  s          r   r  z"ClassProvidesTests.test___reduce__7  sí   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð !%§¢¨cµ4¸±9´9¸dÑ CÔ CÐCˆˆSÔØ×Ò˜Ÿš™œÝ˜r™(œ( S­$¨s©)¬)°TÐ$:Ð;ñ	=ô 	=ð 	=ð 	=ð 	=r   N)r   r   r   rs   rz   r§  r  r   r   r   rœ  rœ     sP   € € € € € ðð ð ð3ð 3ð 3ð;ð ;ð ;ð=ð =ð =ð =ð =r   rœ  c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚClassProvidesStrictTestsc                 ój   •‡— t          ¦   «                              ¦   «         Š G ˆfd„d‰¦  «        }|S )Nc                   ó   •— e Zd Zˆ fd„ZdS )úEClassProvidesStrictTests._getTargetClass.<locals>.StrictClassProvidesc                 ó4   •— ‰                      | |d¬¦  «        S rÉ  rË  )r   rÊ  rž  s     €r   rÌ  zVClassProvidesStrictTests._getTargetClass.<locals>.StrictClassProvides._do_calculate_roM  rÍ  r   NrÎ  r�  s   €r   ÚStrictClassProvidesr¯  L  rÐ  r   r±  rÑ  )r   r±  rž  r´  s     @€r   rs   z(ClassProvidesStrictTests._getTargetClassI  sU   øø€ Ý™œ×/Ò/Ñ1Ô1ˆð	ð 	ð 	ð 	ð 	ð 	ð 	 -ñ 	ô 	ð 	ð #Ð"r   c           
      ón  — ddl m} ddl m} ddl m}  G d„ d|¦  «        } ||¦  «         G d„ dt          ¦  «        ¦   «         } |d	t
          fi ¦  «        }|                      |||¦  «        }|                      |j        | ||¦  «        | |t          ¦  «         |t
          ¦  «        |f¦  «         d S )
Nr   rJ   rË   rÍ   c                   ó   — e Zd ZdS )úMClassProvidesStrictTests.test_overlapping_interfaces_corrected.<locals>.IBaseNr&   r   r   r   rÂ   r´  [  r9   r   rÂ   c                   ó   — e Zd ZdS )úQClassProvidesStrictTests.test_overlapping_interfaces_corrected.<locals>.metaclassNr&   r   r   r   Ú	metaclassr¶  ^  r(   r   r·  r  )	rÄ   rK   rÌ   rÎ   r0  rm   rz   r+   r^   )r   rK   rÌ   rÎ   rÂ   r·  r  r}  s           r   r×  z>ClassProvidesStrictTests.test_overlapping_interfaces_correctedT  s5  € ð 	-Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Ô	ð	ð ˆiØÝˆIØñ
ô 
ˆð �}Š}˜S )¨UÑ3Ô3ˆØ×Ò˜œØØˆM˜)Ñ$Ô$ØØˆM�$ÑÔØˆM�&Ñ!Ô!Øð(
ñ 	ô 	ð 	ð 	ð 	r   rØ  r
  s   @r   r¬  r¬  F  sG   ø€ € € € € ð	#ð 	#ð 	#ð 	#ð 	#ðð ð ð ð ð ð r   r¬  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestClassProvidesReprc                 ó   — ddl m} |S rž  rŸ  r   s     r   rs   z%TestClassProvidesRepr._getTargetClassu  r  r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTestClassProvidesRepr._makeOney  r{   r   c                 óœ   — |                       t          | ¦  «        t          ¦  «        }|                      t          |¦  «        d¦  «         d S )Nz'directlyProvides(TestClassProvidesRepr)r  r  s     r   Útest__repr__emptyz'TestClassProvidesRepr.test__repr__empty|  sI   € Ø�}Š}�T $™ZœZ­Ñ.Ô.ˆØ×ÒÝ�‰JŒJØ5ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÆ   — ddl m}  G d„ d|¦  «        }|                      t          | ¦  «        t          |¦  «        }|                      t          |¦  «        d¦  «         d S )Nr   rJ   c                   ó   — e Zd ZdZdS )ú=TestClassProvidesRepr.test__repr__providing_one.<locals>.IFoor  Nr	  r   r   r   rƒ   rÀ  †  r  r   rƒ   z-directlyProvides(TestClassProvidesRepr, IFoo))rÄ   rK   rz   r0  r+   r  )r   rK   rƒ   rÞ  s       r   Útest__repr__providing_onez/TestClassProvidesRepr.test__repr__providing_oneƒ  s‰   € Ø,Ð,Ð,Ð,Ð,Ð,ð	ð 	ð 	ð 	ð 	�9ñ 	ô 	ð 	ð �}Š}�T $™ZœZ­¨tÑ4Ô4ˆØ×ÒÝ�‰JŒJØ;ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óø   — ddl m}  |dd¬¦  «        } |dd¬¦  «        } |d¦  «        }|                      t          | ¦  «        t          |||¦  «        }|                      t          |¦  «        d¦  «         d S )	Nr   r�   rƒ   rþ  rÿ  r   rº   z>directlyProvides(TestClassProvidesRepr, IFoo, IBaz, mod2.IFoo)r  r  s         r   r  z1TestClassProvidesRepr.test__repr__duplicate_names�  s˜   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜f°Ð8Ñ8Ô8ˆØ�˜v°&Ð9Ñ9Ô9ˆØˆ~˜fÑ%Ô%ˆà�}Š}�T $™ZœZ­¨t°T¸5ÑAÔAˆØ×ÒÝ�‰JŒJØLñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óØ   — ddl m} ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } ||¦  «        }|                      t          |¦  «        d¦  «         d S )	Nr   rË   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )ú<TestClassProvidesRepr.test__repr__implementedBy.<locals>.FooNr&   r   r   r   r'   rÅ  ¡  r(   r   r'   r!  )r*   rÌ   rÎ   rL   r‚   r+   r  )r   rÌ   rÎ   r‚   rƒ   r'   rÞ  s          r   Útest__repr__implementedByz/TestClassProvidesRepr.test__repr__implementedBy›  sÃ   € Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆ}˜SÑ!Ô!ˆØ×ÒÝ�‰JŒJØ(ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó(  — ddl m}  G d„ d¦  «        } | |¦   «         ¦  «        }|                      t          |¦  «        dt          › d�¦  «          |¦   «         }d|_         ||¦  «        }|                      t          |¦  «        d¦  «         d S )Nr   rË   c                   ó   — e Zd Zd„ ZdS )úRTestClassProvidesRepr.test__repr__implementedBy_generic_callable.<locals>.Callablec                 ó   — | S r0   r   rå   s    r   rW  z[TestClassProvidesRepr.test__repr__implementedBy_generic_callable.<locals>.Callable.__call__±  s   € Ø�r   N)r   r   r   rW  r   r   r   ÚCallablerÉ  °  s#   € € € € € ðð ð ð ð r   rË  rx  z.?)zclassImplements(Callable))r*   rÌ   r+   r  r   )r   rÌ   rË  rÞ  Úcs        r   Ú*test__repr__implementedBy_generic_callablez@TestClassProvidesRepr.test__repr__implementedBy_generic_callable«  sÓ   € Ø=Ð=Ð=Ð=Ð=Ð=ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆ}˜X˜X™ZœZÑ(Ô(ˆØ×ÒÝ�‰JŒJØ,�xÐ,Ð,Ð,ñ	
ô 	
ð 	
ð
 ˆH‰JŒJˆØˆŒ
Øˆ}˜QÑÔˆØ×ÒÝ�‰JŒJØ'ñ	
ô 	
ð 	
ð 	
ð 	
r   N)
r   r   r   rs   rz   r½  rÁ  r  rÆ  rÍ  r   r   r   r¹  r¹  s  s}   € € € € € ðð ð ð3ð 3ð 3ð
ð 
ð 
ð

ð 

ð 

ð

ð 

ð 

ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r¹  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_directlyProvidedByc                 ó   — ddl m}  ||i |¤ŽS )Nr   )ÚdirectlyProvidedBy)r*   rÑ  )r   rx   ry   rÑ  s       r   rC  z Test_directlyProvidedBy._callFUTÅ  ro  r   c                 ó    —  G d„ d¦  «        } |¦   «         }|                       t          |                      |¦  «        ¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )úNTest_directlyProvidedBy.test_wo_declarations_in_class_or_instance.<locals>.FooNr&   r   r   r   r'   rÔ  Ë  r9   r   r'   r‡  rL  s      r   Ú)test_wo_declarations_in_class_or_instancezATest_directlyProvidedBy.test_wo_declarations_in_class_or_instanceÉ  sg   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óð   — ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      t          |                      |¦  «        ¦  «        g ¦  «         d S )Nr   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )úRTest_directlyProvidedBy.test_w_declarations_in_class_but_not_instance.<locals>.FooNr&   r   r   r   r'   rØ  Ö  r(   r   r'   )r*   rÎ   rL   r‚   r+   rD   rC  )r   rÎ   r‚   rƒ   r'   r#   s         r   Ú-test_w_declarations_in_class_but_not_instancezETest_directlyProvidedBy.test_w_declarations_in_class_but_not_instanceÑ  s¯   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óè   — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «         |                      t          |                      |¦  «        ¦  «        |g¦  «         d S )Nr   rî  r�   rƒ   c                   ó   — e Zd ZdS )úRTest_directlyProvidedBy.test_w_declarations_in_instance_but_not_class.<locals>.FooNr&   r   r   r   r'   rÜ  â  r9   r   r'   )r*   rï  rL   r‚   r+   rD   rC  )r   rï  r‚   rƒ   r'   r#   s         r   Ú-test_w_declarations_in_instance_but_not_classzETest_directlyProvidedBy.test_w_declarations_in_instance_but_not_classÝ  s¯   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   c                 ó,  — ddl m} ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         } |||¦  «         |                      t          |                      |¦  «        ¦  «        |g¦  «         d S )	Nr   rî  rÍ   r�   rƒ   rš   c                   ó   — e Zd ZdS )úNTest_directlyProvidedBy.test_w_declarations_in_instance_and_class.<locals>.FooNr&   r   r   r   r'   rà  ð  r(   r   r'   )r*   rï  rÎ   rL   r‚   r+   rD   rC  )r   rï  rÎ   r‚   rƒ   rš   r'   r#   s           r   Ú)test_w_declarations_in_instance_and_classzATest_directlyProvidedBy.test_w_declarations_in_instance_and_classé  så   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   N)r   r   r   rC  rÕ  rÙ  rÝ  rá  r   r   r   rÏ  rÏ  Ã  s_   € € € € € ð/ð /ð /ð7ð 7ð 7ð
7ð 
7ð 
7ð
;ð 
;ð 
;ð;ð ;ð ;ð ;ð ;r   rÏ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTest_providerc                 ó   — ddl m} |S )Nr   )Úprovider)r*   rå  )r   rå  s     r   rs   zTest_provider._getTargetClassû  s   € Ø8Ð8Ð8Ð8Ð8Ð8Øˆr   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   zTest_provider._makeOneÿ  r{   r   c                 ó  — ddl m} ddlm}  |d¦  «        }|                      |¦  «         G d„ d¦  «        ¦   «         }|                      |j        |¦  «         |                      t          |j        ¦  «        |g¦  «         d S )Nr   r�  r�   rƒ   c                   ó   — e Zd ZdS )ú'Test_provider.test_w_class.<locals>.FooNr&   r   r   r   r'   ré    r(   r   r'   )	r*   rž  rL   r‚   rz   r®   r™  r+   rD   rF  s        r   rG  zTest_provider.test_w_class  sÌ   € Ø=Ð=Ð=Ð=Ð=Ð=Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	�Š�tÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 	×ÒØÔ˜mñ	
ô 	
ð 	
ð 	×ÒÝ�Ô!Ñ"Ô" T Fñ	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   r   rs   rz   rG  r   r   r   rã  rã  ù  sA   € € € € € ðð ð ð3ð 3ð 3ð
ð 
ð 
ð 
ð 
r   rã  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_moduleProvidesc                 óÚ   — ddl m} ddlm}  |d¦  «        }d||dœ}i }d                     dd	g¦  «        }t          |||¦  «         |d
         }|                      t          |¦  «         d S )Nr   ©ÚmoduleProvidesr�   rƒ   úzope.interface.tests.foo©r   rî  rƒ   ú
z
def foo():ú    moduleProvides(IFoo)r#   )r*   rî  rL   r‚   Újoinr   rë   r   )r   rî  r‚   rƒ   r   r   ÚCODEr#   s           r   Útest_called_from_functionz-Test_moduleProvides.test_called_from_function  s§   € Ø>Ð>Ð>Ð>Ð>Ð>Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ7Ø#1¸4ðAð AˆàˆØ�yŠyØØ&ð
ñ ô ˆõ 	ˆT�5˜$ÑÔÐØ�5ŒkˆØ×Ò�) SÑ)Ô)Ð)Ð)Ð)r   c                 óú   — ddl m} ddlm}  |d¦  «        }d||dœ}i }d                     dd	g¦  «        }|                      t          ¦  «        5  t          |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   rí  r�   rƒ   rï  rð  rñ  zclass Foo(object):rò  ©r*   rî  rL   r‚   ró  rë   r   r   )r   rî  r‚   rƒ   r   r   rô  s          r   Útest_called_from_classz*Test_moduleProvides.test_called_from_class%  sú   € Ø>Ð>Ð>Ð>Ð>Ð>Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ7Ø#1¸4ðAð AˆàˆØ�yŠyØ Ø&ð
ñ ô ˆð ×Ò�yÑ)Ô)ð 	$ð 	$Ý��u˜dÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ÁA0Á0A4Á7A4c                 óä   — ddl m} ddlm}  |d¦  «        }d||dœ}d                     dg¦  «        }t          ||¦  «         |d	         }|                      t          |¦  «        |g¦  «         d S )
Nr   rí  r�   rƒ   rï  rð  rñ  úmoduleProvides(IFoo)r™  )r*   rî  rL   r‚   ró  r   r+   rD   )r   rî  r‚   rƒ   r   rô  r}  s          r   Ú"test_called_once_from_module_scopez6Test_moduleProvides.test_called_once_from_module_scope3  s¦   € Ø>Ð>Ð>Ð>Ð>Ð>Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ7Ø#1¸4ðAð Aˆà�yŠyØ"ð
ñ ô ˆõ 	ˆT�5ÑÔÐØ�^Ô$ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 óô   — ddl m} ddlm}  |d¦  «        }d||dœ}d                     ddg¦  «        }|                      t          ¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   rí  r�   rƒ   rï  rð  rñ  rú  r÷  )r   rî  r‚   rƒ   r   rô  s         r   Ú#test_called_twice_from_module_scopez7Test_moduleProvides.test_called_twice_from_module_scope@  sõ   € Ø>Ð>Ð>Ð>Ð>Ð>Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØ7Ø#1¸4ðAð Aˆð �yŠyØ"Ø"ð
ñ ô ˆð ×Ò�yÑ)Ô)ð 	ð 	Ý��uÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÁA-Á-A1Á4A1N)r   r   r   rõ  rø  rû  rý  r   r   r   rë  rë    sP   € € € € € ð*ð *ð *ð$ð $ð $ð-ð -ð -ðð ð ð ð r   rë  c                   óZ   — e Zd Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ ZdS )Ú#Test_getObjectSpecificationFallbackc                 ó   — ddl m} |S )Nr   )ÚgetObjectSpecificationFallback)r*   r  )r   r  s     r   r  z5Test_getObjectSpecificationFallback._getFallbackClassQ  s   € àNÐNÐNÐNÐNÐNØ-Ð-r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rC  z,Test_getObjectSpecificationFallback._callFUTX  r{   r   c                 ó®   ‡— i Š G ˆfd„d¦  «        } |¦   «         }|                       |¦  «        }|                      t          |¦  «        g ¦  «         d S )Nc                   ó    •— e Zd Zˆ fd„Zd„ ZdS )úTTest_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Fooc                 óz   •— |dk    rt          |¦  «        ‚	 ‰|         S # t          $ r t          |¦  «        ‚w xY wrL  )rÁ  ÚKeyError)r   rø   rP  s     €r   rM  zeTest_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Foo.__getattribute___  sT   ø€ à˜;Ò&Ð&Ý(¨Ñ.Ô.Ð.ð/Ø# Dœ>Ð)øÝð /ð /ð /Ý(¨Ñ.Ô.Ð.ð/øøøs   ˜   :c                 ó   — t          ¦   «         ‚r0   r1   )r   rø   rO  s      r   rQ  z`Test_getObjectSpecificationFallback.test_wo_existing_provides_classless.<locals>.Foo.__setattr__h  r(  r   NrR  rS  s   €r   r'   r  ^  s=   ø€ € € € € ð/ð /ð /ð /ð /ð,ð ,ð ,ð ,ð ,r   r'   ©rC  r+   rD   )r   r'   r#   r}  rP  s       @r   Ú#test_wo_existing_provides_classlesszGTest_getObjectSpecificationFallback.test_wo_existing_provides_classless[  sz   ø€ Øˆð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð ˆc‰eŒeˆØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó²   — ddl m} ddlm}  |d¦  «        }d„ } |||¦  «         |                      |¦  «        }|                      ||j        ¦  «         d S )Nr   rî  r�   rƒ   c                  ó   — t          ¦   «         ‚r0   r1   r   r   r   r#   zOTest_getObjectSpecificationFallback.test_existing_provides_is_spec.<locals>.foot  rš  r   )r*   rï  rL   r‚   rC  rá   r™  )r   rï  r‚   rƒ   r#   r}  s         r   Útest_existing_provides_is_speczBTest_getObjectSpecificationFallback.test_existing_provides_is_speco  s‡   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	(ð 	(ð 	(ð 	Ð˜˜dÑ#Ô#Ð#Ø�}Š}˜SÑ!Ô!ˆØ�Š�d˜CÔ,Ñ-Ô-Ð-Ð-Ð-r   c                 ó¢   — d„ }t          ¦   «         |_        |                      |¦  «        }|                      t	          |¦  «        g ¦  «         d S )Nc                  ó   — t          ¦   «         ‚r0   r1   r   r   r   r#   zSTest_getObjectSpecificationFallback.test_existing_provides_is_not_spec.<locals>.foo}  rš  r   )rm   r™  rC  r+   rD   )r   r#   r}  s      r   Ú"test_existing_provides_is_not_speczFTest_getObjectSpecificationFallback.test_existing_provides_is_not_spec{  sR   € ð	(ð 	(ð 	(õ "™8œ8ˆÔØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ RÑ(Ô(Ð(Ð(Ð(r   c                 óì   — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «         |                      |¦  «        }|                      t          |¦  «        |g¦  «         d S )Nr   rî  r�   rƒ   c                   ó   — e Zd ZdS )úGTest_getObjectSpecificationFallback.test_existing_provides.<locals>.FooNr&   r   r   r   r'   r  ‰  r9   r   r'   )r*   rï  rL   r‚   rC  r+   rD   )r   rï  r‚   rƒ   r'   r#   r}  s          r   Útest_existing_providesz:Test_getObjectSpecificationFallback.test_existing_provides„  s²   € Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 óö   — ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                      |¦  «        }|                      t          |¦  «        |g¦  «         d S )Nr   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )úWTest_getObjectSpecificationFallback.test_wo_provides_on_class_w_implements.<locals>.FooNr&   r   r   r   r'   r  –  r(   r   r'   )r*   rÎ   rL   r‚   rC  r+   rD   ©r   rÎ   r‚   rƒ   r'   r#   r}  s          r   Ú&test_wo_provides_on_class_w_implementszJTest_getObjectSpecificationFallback.test_wo_provides_on_class_w_implements‘  s´   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 ó¤   —  G d„ d¦  «        } |¦   «         }|                       |¦  «        }|                      t          |¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )úXTest_getObjectSpecificationFallback.test_wo_provides_on_class_wo_implements.<locals>.FooNr&   r   r   r   r'   r     r9   r   r'   r	  ©r   r'   r#   r}  s       r   Ú'test_wo_provides_on_class_wo_implementszKTest_getObjectSpecificationFallback.test_wo_provides_on_class_wo_implementsž  ój   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó>   — t          j        | | j        d¬¦  «         d S )Nr™  ©Úexpected_missing©r   Útest_raisesrC  rå   s    r   Ú,test_catches_only_AttributeError_on_provideszPTest_getObjectSpecificationFallback.test_catches_only_AttributeError_on_provides§  s/   € ÝÔ$Ø�$”-°.ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó@   — t          j        | | j        dd ¬¦  «         d S )Nr´  )r"  r™  r#  rå   s    r   Ú)test_catches_only_AttributeError_on_classzMTest_getObjectSpecificationFallback.test_catches_only_AttributeError_on_class¬  s4   € ÝÔ$ØØŒMØ(Øð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óZ   —  G d„ d¦  «        }|                        |¦   «         ¦  «         d S )Nc                   ó$   — e Zd Z ee¦  «        ZdS )úlTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_AttrError.<locals>.FooN)r   r   r   r   rÁ  r™  r   r   r   r'   r*  ¸  s   € € € € € Ø+Ð+¨NÑ;Ô;ˆLˆLˆLr   r'   )rC  rˆ  s     r   Ú;test_raises_AttrError_w_provides_fails_type_check_AttrErrorz_Test_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_AttrError´  sJ   € ð	<ð 	<ð 	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	�Š�c�c‘e”eÑÔÐÐÐr   c                 ó
  —  G d„ d¦  «        }|                       t          ¦  «        5 }|                       |¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d|j        j        d         ¦  «         d S )Nc                   ó$   — e Zd Z ee¦  «        ZdS )úoTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_RuntimeError.<locals>.FooN)r   r   r   r   ÚRuntimeErrorr™  r   r   r   r'   r.  Á  s   € € € € € Ø+Ð+¨LÑ9Ô9ˆLˆLˆLr   r'   r´  r   )rë   r/  rC  r+   Ú	exceptionrx   )r   r'   Úexcs      r   Ú>test_raises_AttrError_w_provides_fails_type_check_RuntimeErrorzbTest_getObjectSpecificationFallback.test_raises_AttrError_w_provides_fails_type_check_RuntimeError¾  sÒ   € ð	:ð 	:ð 	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð ×Ò�|Ñ,Ô,ð 	!°Ø�MŠM˜#˜#™%œ%Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	×Ò˜ c¤mÔ&8¸Ô&;Ñ<Ô<Ð<Ð<Ð<s   ¨AÁAÁAN)r   r   r   r  rs   rC  r
  r  r  r  r  r  r%  r'  r+  r2  r   r   r   rÿ  rÿ  O  sÏ   € € € € € ð.ð .ð .ð
 (€Oð3ð 3ð 3ð)ð )ð )ð(
.ð 
.ð 
.ð)ð )ð )ð-ð -ð -ð-ð -ð -ð)ð )ð )ð
ð 
ð 
ð

ð 
ð 
ðð ð ð	=ð 	=ð 	=ð 	=ð 	=r   rÿ  c                   ó   — e Zd Zd„ ZdS )ÚTest_getObjectSpecificationc                 ó   — ddl m} |S )Nr   )ÚgetObjectSpecification)r*   r6  )r   r6  s     r   rs   z+Test_getObjectSpecification._getTargetClassÎ  s   € ØFÐFÐFÐFÐFÐFØ%Ð%r   Nr  r   r   r   r4  r4  Ê  s#   € € € € € ð&ð &ð &ð &ð &r   r4  c                   óŒ   ‡ — e Zd Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zˆ fd
„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚTest_providedByFallbackc                 ó   — ddl m} |S )Nr   )ÚprovidedByFallback)r*   r:  )r   r:  s     r   r  z)Test_providedByFallback._getFallbackClassÕ  s   € àBÐBÐBÐBÐBÐBØ!Ð!r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rC  z Test_providedByFallback._callFUTÜ  r{   r   c                 ó¤   —  G d„ d¦  «        } |¦   «         }|                       |¦  «        }|                      t          |¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )úNTest_providedByFallback.test_wo_providedBy_on_class_wo_implements.<locals>.FooNr&   r   r   r   r'   r>  á  r9   r   r'   r	  r  s       r   Ú)test_wo_providedBy_on_class_wo_implementszATest_providedByFallback.test_wo_providedBy_on_class_wo_implementsß  r  r   c                 óö   — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |¦   «         } |||¦  «        |_        |                      |¦  «        }|                      t          |¦  «        |g¦  «         d S )Nr   r²  r�   rƒ   c                   ó   — e Zd ZdS )úATest_providedByFallback.test_w_providedBy_valid_spec.<locals>.FooNr&   r   r   r   r'   rB  í  r9   r   r'   )r*   r³  rL   r‚   rš  rC  r+   rD   )r   r³  r‚   rƒ   r'   r#   r}  s          r   Útest_w_providedBy_valid_specz4Test_providedByFallback.test_w_providedBy_valid_specè  s³   € Ø8Ð8Ð8Ð8Ð8Ð8Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆØ%˜X c¨4Ñ0Ô0ˆÔØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 óÊ   —  G d„ d¦  «        } |¦   «         }t          ¦   «         |_        |                      |¦  «        }|                      t	          |¦  «        g ¦  «         d S )Nc                   ó   — e Zd ZdS )úCTest_providedByFallback.test_w_providedBy_invalid_spec.<locals>.FooNr&   r   r   r   r'   rF  ÷  r9   r   r'   )rm   rš  rC  r+   rD   r  s       r   Útest_w_providedBy_invalid_specz6Test_providedByFallback.test_w_providedBy_invalid_specõ  sv   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆÝ#™XœXˆÔØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó  — ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }t	          ¦   «         |_        |                      |¦  «        }|                      t          |¦  «        |g¦  «         d S )Nr   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )úVTest_providedByFallback.test_w_providedBy_invalid_spec_class_w_implements.<locals>.FooNr&   r   r   r   r'   rJ  	  r(   r   r'   )	r*   rÎ   rL   r‚   rm   rš  rC  r+   rD   r  s          r   Ú1test_w_providedBy_invalid_spec_class_w_implementszITest_providedByFallback.test_w_providedBy_invalid_spec_class_w_implementsÿ  sÀ   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆÝ#™XœXˆÔØ�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 óÜ   —  G d„ d¦  «        } |¦   «         }t          ¦   «         |_        t          ¦   «         x}|_        |                      |¦  «        }|                      ||u ¦  «         d S )Nc                   ó   — e Zd ZdS )úcTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_no_provides_on_class.<locals>.FooNr&   r   r   r   r'   rN  	  r9   r   r'   ©rm   rš  r™  rC  rV   ©r   r'   r#   Úexpectedr}  s        r   Ú>test_w_providedBy_invalid_spec_w_provides_no_provides_on_classzVTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_no_provides_on_class	  s‚   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆÝ#™XœXˆÔÝ&,¡h¤hÐ.ˆ�3Ô#Ø�}Š}˜SÑ!Ô!ˆØ�Š˜ Ð(Ñ)Ô)Ð)Ð)Ð)r   c                 ó  —  G d„ d¦  «        } |¦   «         }t          ¦   «         |_        t          ¦   «         x}|_        t          ¦   «         |_        |                      |¦  «        }|                      ||u ¦  «         d S )Nc                   ó   — e Zd ZdS )úeTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_diff_provides_on_class.<locals>.FooNr&   r   r   r   r'   rU  	  r9   r   r'   rO  rP  s        r   Ú@test_w_providedBy_invalid_spec_w_provides_diff_provides_on_classzXTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_diff_provides_on_class	  sŽ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆc‰eŒeˆÝ#™XœXˆÔÝ&,¡h¤hÐ.ˆ�3Ô#Ý!™8œ8ˆÔØ�}Š}˜SÑ!Ô!ˆØ�Š˜ Ð(Ñ)Ô)Ð)Ð)Ð)r   c                 óP  — ddl m} ddlm}  |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |¦   «         }t	          ¦   «         |_        t	          ¦   «         x|_        |_        |                      |¦  «        }|                      t          |¦  «        |g¦  «         d S )Nr   rÍ   r�   rƒ   c                   ó   — e Zd ZdS )úeTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_same_provides_on_class.<locals>.FooNr&   r   r   r   r'   rY  )	  r(   r   r'   )
r*   rÎ   rL   r‚   rm   rš  r™  rC  r+   rD   r  s          r   Ú@test_w_providedBy_invalid_spec_w_provides_same_provides_on_classzXTest_providedByFallback.test_w_providedBy_invalid_spec_w_provides_same_provides_on_class$	  sÔ   € Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð ˆc‰eŒeˆÝ#™XœXˆÔÝ.4©h¬hÐ6ˆÔ˜3Ô+Ø�}Š}˜SÑ!Ô!ˆØ×Ò�˜d™œ d VÑ,Ô,Ð,Ð,Ð,r   c                 ó  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } ||¦  «         G d
„ d|¦  «        ¦   «         } |¦   «         }|                      t          |                      |¦  «        ¦  «        ||g¦  «         t          ||¦  «        }|                      |¦  «        }	|                      |	j	        ¦  «         |                      t          |	¦  «        |g¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úPTest_providedByFallback.test_super_when_base_implements_interface.<locals>.IBaseNr&   r   r   r   rÂ   r]  7	  r9   r   rÂ   c                   ó   — e Zd ZdS )úSTest_providedByFallback.test_super_when_base_implements_interface.<locals>.IDerivedNr&   r   r   r   rÃ   r_  :	  r9   r   rÃ   c                   ó   — e Zd ZdS )úOTest_providedByFallback.test_super_when_base_implements_interface.<locals>.BaseNr&   r   r   r   rÕ   ra  =	  r(   r   rÕ   c                   ó   — e Zd ZdS )úRTest_providedByFallback.test_super_when_base_implements_interface.<locals>.DerivedNr&   r   r   r   r¯  rc  A	  r(   r   r¯  ©
rÄ   rK   r*   rÎ   r+   rD   rC  r±  rg   rÔ  )r   rK   rÎ   rÂ   rÃ   rÕ   r¯  Úderivedr³  rÕ  r´  s             €r   rµ  zATest_providedByFallback.test_super_when_base_implements_interface3	  s‘  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�dñ 	ô 	ñ 
Ô	ð	ð �'‘)”)ˆØ×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸À%Ð7HÑIÔIÐIå�G˜WÑ%Ô%ˆØ�mŠm˜CÑ Ô ˆØ×Ò˜#œ/Ñ*Ô*Ð*Ø×Ò�˜c™œ U GÑ,Ô,Ð,Ð,Ð,r   c                 ó¾  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d	¦  «        } ||¦  «         G d
„ d|¦  «        ¦   «         } |¦   «         }|                      t          |                      |¦  «        ¦  «        |g¦  «         t          ||¦  «        }|                      t          |                      |¦  «        ¦  «        g ¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úVTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IBaseNr&   r   r   r   rÂ   rh  Q	  r9   r   rÂ   c                   ó   — e Zd ZdS )úYTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.IDerivedNr&   r   r   r   rÃ   rj  T	  r9   r   rÃ   c                   ó   — e Zd ZdS )úUTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.BaseNr&   r   r   r   rÕ   rl  W	  r9   r   rÕ   c                   ó   — e Zd ZdS )úXTest_providedByFallback.test_super_when_base_doesnt_implement_interface.<locals>.DerivedNr&   r   r   r   r¯  rn  Z	  r(   r   r¯  r°  )
r   rK   rÎ   rÂ   rÃ   rÕ   r¯  re  r³  r´  s
            €r   rà  zGTest_providedByFallback.test_super_when_base_doesnt_implement_interfaceM	  s\  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	�dñ 	ô 	ñ 
Ô	ð	ð �'‘)”)ˆØ×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸°zÑBÔBÐBå�G˜WÑ%Ô%ˆØ×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r   c                 óÚ  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d	¦  «        ¦   «         } |¦   «         }|                      t          |                      |¦  «        ¦  «        |g¦  «         t          ||¦  «        }|                      |¦  «        }|                      |j	        ¦  «         |                      t          |¦  «        g ¦  «         d S )
Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úETest_providedByFallback.test_super_when_base_is_object.<locals>.IBaseNr&   r   r   r   rÂ   rq  h	  r9   r   rÂ   c                   ó   — e Zd ZdS )úHTest_providedByFallback.test_super_when_base_is_object.<locals>.IDerivedNr&   r   r   r   rÃ   rs  k	  r9   r   rÃ   c                   ó   — e Zd ZdS )úGTest_providedByFallback.test_super_when_base_is_object.<locals>.DerivedNr&   r   r   r   r¯  ru  n	  r(   r   r¯  rd  )
r   rK   rÎ   rÂ   rÃ   r¯  re  r³  rÕ  r´  s
            €r   rè  z6Test_providedByFallback.test_super_when_base_is_objectd	  sK  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�XÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð �'‘)”)ˆØ×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸°zÑBÔBÐBå�G˜WÑ%Ô%ˆØ�mŠm˜CÑ Ô ˆØ×Ò˜#œ/Ñ*Ô*Ð*Ø×Ò�˜c™œ BÑ'Ô'Ð'Ð'Ð'r   c                 óŒ  •— ddl m} ddlm} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d	„ d
¦  «        ¦   «         } G d„ d|¦  «        } |¦   «         }|                      t          |                      |¦  «        ¦  «        |g¦  «          |||¦  «         |                      t          |                      |¦  «        ¦  «        ||g¦  «         t          ||¦  «        }	|                      |	¦  «        }
|  	                    |
j
        ¦  «         |                      t          |
¦  «        |g¦  «         d S )Nr   rJ   rî  rÍ   c                   ó   — e Zd ZdS )úOTest_providedByFallback.test_super_when_object_directly_provides.<locals>.IBaseNr&   r   r   r   rÂ   rx  	  r9   r   rÂ   c                   ó   — e Zd ZdS )úRTest_providedByFallback.test_super_when_object_directly_provides.<locals>.IDerivedNr&   r   r   r   rÃ   rz  ‚	  r9   r   rÃ   c                   ó   — e Zd ZdS )úNTest_providedByFallback.test_super_when_object_directly_provides.<locals>.BaseNr&   r   r   r   rÕ   r|  …	  r(   r   rÕ   c                   ó   — e Zd ZdS )úQTest_providedByFallback.test_super_when_object_directly_provides.<locals>.DerivedNr&   r   r   r   r¯  r~  ‰	  r9   r   r¯  )rÄ   rK   r*   rï  rÎ   r+   rD   rC  r±  rg   rÔ  )r   rK   rï  rÎ   rÂ   rÃ   rÕ   r¯  re  r³  rÕ  r´  s              €r   Ú(test_super_when_object_directly_providesz@Test_providedByFallback.test_super_when_object_directly_providesz	  sË  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	�dñ 	ô 	ð 	ð �'‘)”)ˆØ×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸°wÑ?Ô?Ð?àÐ˜ (Ñ+Ô+Ð+Ø×Ò�˜dŸmšm¨GÑ4Ô4Ñ5Ô5¸À%Ð7HÑIÔIÐIå�G˜WÑ%Ô%ˆØ�mŠm˜CÑ Ô ˆØ×Ò˜#œ/Ñ*Ô*Ð*Ø×Ò�˜c™œ U GÑ,Ô,Ð,Ð,Ð,r   c                 óà  •— ddl m} ddlm}  G d„ d|¦  «        } G d„ d|¦  «        } G d„ d	|¦  «        } G d
„ d|¦  «        } G d„ d|¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } ||¦  «         G d„ d|¦  «        ¦   «         }	 ||¦  «         G d„ d|¦  «        ¦   «         }
 |||¦  «         G d„ d|	|
¦  «        ¦   «         } |¦   «         }t	          ||¦  «        }t	          |	|¦  «        }t	          |
|¦  «        }|                      t          |                      |¦  «        ¦  «        |||||g¦  «         |                      t          |                      |¦  «        ¦  «        |||g¦  «         |                      t          |                      |¦  «        ¦  «        ||g¦  «         |                      t          |                      |¦  «        ¦  «        |g¦  «         d S )Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úOTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IBaseNr&   r   r   r   rÂ   r‚  ›	  r9   r   rÂ   c                   ó   — e Zd ZdS )úMTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM1Nr&   r   r   r   rî  r„  ž	  r9   r   rî  c                   ó   — e Zd ZdS )úMTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IM2Nr&   r   r   r   rñ  r†  ¡	  r9   r   rñ  c                   ó   — e Zd ZdS )úRTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IDerivedNr&   r   r   r   rÃ   rˆ  ¤	  r9   r   rÃ   c                   ó   — e Zd ZdS )úTTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.IUnrelatedNr&   r   r   r   rö  rŠ  §	  r9   r   rö  c                   ó   — e Zd ZdS )úNTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.BaseNr&   r   r   r   rÕ   rŒ  ª	  r(   r   rÕ   c                   ó   — e Zd ZdS )úLTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.M1Nr&   r   r   r   rû  rŽ  ®	  r(   r   rû  c                   ó   — e Zd ZdS )úLTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.M2Nr&   r   r   r   rþ  r�  ²	  r(   r   rþ  c                   ó   — e Zd ZdS )úQTest_providedByFallback.test_super_multi_level_multi_inheritance.<locals>.DerivedNr&   r   r   r   r¯  r’  ¶	  r(   r   r¯  r  r  s                   €r   r  z@Test_providedByFallback.test_super_multi_level_multi_inheritance—	  s  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø;Ð;Ð;Ð;Ð;Ð;ð	ð 	ð 	ð 	ð 	�Iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�uñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð 
ˆ�UÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�SÑ	Ô	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�SÑ	Ô	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Ô	ð	ð 
ˆ�X˜zÑ	*Ô	*ð	ð 	ð 	ð 	ð 	�b˜"ñ 	ô 	ñ 
+Ô	*ð	ð ˆG‰IŒIˆÝ�7˜AÑÔˆÝ�B˜‰lŒlˆÝ�B˜‰lŒlˆà×Ò�˜dŸmšm¨AÑ.Ô.Ñ/Ô/Ø" J°°U¸CÐ@ñ	Bô 	Bð 	Bà×Ò�˜dŸmšm¨BÑ/Ô/Ñ0Ô0Ø˜u cÐ*ñ	,ô 	,ð 	,à×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ø˜u˜ñ	'ô 	'ð 	'à×Ò�˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ø˜ñ	"ô 	"ð 	"ð 	"ð 	"r   c                 óJ   — t          j        | | j        dt          ¬¦  «         d S )Nrš  )r"  r´  )r   r$  rC  rm   rå   s    r   Ú.test_catches_only_AttributeError_on_providedByzFTest_providedByFallback.test_catches_only_AttributeError_on_providedByÈ	  s2   € ÝÔ$ T¨4¬=Ø6FÝ/5ð	7ñ 	7ô 	7ð 	7ð 	7ð 	7r   c                 ó>   — t          j        | | j        d¬¦  «         d S )Nr´  r!  r#  rå   s    r   r'  zATest_providedByFallback.test_catches_only_AttributeError_on_classÍ	  s1   € õ 	Ô$Ø�$”-°+ð	?ñ 	?ô 	?ð 	?ð 	?ð 	?r   )r   r   r   r  rs   rC  r?  rC  rG  rK  rR  rV  rZ  rµ  rà  rè  r  r  r”  r'  r	  r
  s   @r   r8  r8  Ó  sI  ø€ € € € € ð"ð "ð "ð
 (€Oð3ð 3ð 3ð)ð )ð )ð-ð -ð -ð)ð )ð )ð-ð -ð -ð	*ð 	*ð 	*ð
*ð 
*ð 
*ð-ð -ð -ð-ð -ð -ð -ð -ð47ð 7ð 7ð 7ð 7ð.(ð (ð (ð (ð (ð,-ð -ð -ð -ð -ð:/"ð /"ð /"ð /"ð /"ðb7ð 7ð 7ð
?ð ?ð ?ð ?ð ?ð ?ð ?r   r8  c                   ó   — e Zd Zd„ ZdS )ÚTest_providedByc                 ó   — ddl m} |S )Nr   r  )r*   r;  )r   r;  s     r   rs   zTest_providedBy._getTargetClassØ	  r  r   Nr  r   r   r   r—  r—  Ô	  s#   € € € € € ðð ð ð ð r   r—  c                   óB   — e Zd Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	S )
Ú*ObjectSpecificationDescriptorFallbackTestsc                 ó   — ddl m} |S )Nr   )Ú%ObjectSpecificationDescriptorFallback)r*   rœ  )r   rœ  s     r   r  z<ObjectSpecificationDescriptorFallbackTests._getFallbackClassß	  s&   € ð	2ð 	2ð 	2ð 	2ð 	2ð 	2à4Ð4r   c                 ó6   —  |                       ¦   «         |i |¤ŽS r0   rv   rw   s      r   rz   z3ObjectSpecificationDescriptorFallbackTests._makeOneç	  r{   r   c                 óô   — ddl m} ddlm}  |d¦  «        } G d„ d¦  «        } |||¦  «        |_        |                      ¦   «         |_        |                      t          |j        ¦  «        |g¦  «         d S )Nr   r²  r�   rƒ   c                   ó   — e Zd ZdS )úOObjectSpecificationDescriptorFallbackTests.test_accessed_via_class.<locals>.FooNr&   r   r   r   r'   r   ï	  r9   r   r'   )	r*   r³  rL   r‚   r™  rz   rš  r+   rD   )r   r³  r‚   rƒ   r'   s        r   Útest_accessed_via_classzBObjectSpecificationDescriptorFallbackTests.test_accessed_via_classê	  s¬   € Ø8Ð8Ð8Ð8Ð8Ð8Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð $˜8 C¨Ñ.Ô.ˆÔØ!Ÿ]š]™_œ_ˆÔØ×Ò�˜cÔ0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   c                 óL  — ddl m} ddl m} ddlm}  |d¦  «        } |d¦  «        } ||¦  «         G d„ d¦  «        ¦   «         } |||¦  «        |_        |                      ¦   «         |_         |¦   «         }|                      t          |j        ¦  «        |g¦  «         d S )	Nr   r²  rÍ   r�   rƒ   rš   c                   ó   — e Zd ZdS )úZObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_wo_provides.<locals>.FooNr&   r   r   r   r'   r¤  ý	  r(   r   r'   )
r*   r³  rÎ   rL   r‚   r™  rz   rš  r+   rD   )r   r³  rÎ   r‚   rƒ   rš   r'   r#   s           r   Ú"test_accessed_via_inst_wo_provideszMObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_wo_providesö	  sí   € Ø8Ð8Ð8Ð8Ð8Ð8Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð $˜8 C¨Ñ.Ô.ˆÔØ!Ÿ]š]™_œ_ˆÔØˆc‰eŒeˆØ×Ò�˜cÔ0Ñ1Ô1°D°6Ñ:Ô:Ð:Ð:Ð:r   c                 óˆ  — ddl m} ddl m} ddl m} ddlm}  |d¦  «        } |d¦  «        } |d¦  «        } ||¦  «         G d	„ d
¦  «        ¦   «         } |||¦  «        |_        |                      ¦   «         |_         |¦   «         }	 ||	|¦  «         |  	                    t          |	j        ¦  «        ||g¦  «         d S )Nr   r²  rî  rÍ   r�   rƒ   rš   rº   c                   ó   — e Zd ZdS )úYObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_w_provides.<locals>.FooNr&   r   r   r   r'   r¨  
  r(   r   r'   )r*   r³  rï  rÎ   rL   r‚   r™  rz   rš  r+   rD   )
r   r³  rï  rÎ   r‚   rƒ   rš   rº   r'   r#   s
             r   Ú!test_accessed_via_inst_w_provideszLObjectSpecificationDescriptorFallbackTests.test_accessed_via_inst_w_provides
  s#  € Ø8Ð8Ð8Ð8Ð8Ð8Ø@Ð@Ð@Ð@Ð@Ð@Ø;Ð;Ð;Ð;Ð;Ð;Ø;Ð;Ð;Ð;Ð;Ð;Øˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆØˆ~˜fÑ%Ô%ˆà	ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð $˜8 C¨Ñ.Ô.ˆÔØ!Ÿ]š]™_œ_ˆÔØˆc‰eŒeˆØÐ˜˜dÑ#Ô#Ð#Ø×Ò�˜cÔ0Ñ1Ô1°D¸$°<Ñ@Ô@Ð@Ð@Ð@r   c                 óà   ‡ ‡—  G d„ dt           ¦  «        Š G ˆˆ fd„d¦  «        } |¦   «         }‰                      ‰¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )úvObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.MyExceptionNr&   r   r   r   ÚMyExceptionr¬  
  r9   r   r­  c                   óR   •— e Zd Z”                     ¦   «         Zeˆ fd„¦   «         ZdS )únObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.Fooc                 ó   •— ‰‚r0   r   )r   r­  s    €r   r™  z{ObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught.<locals>.Foo.__provides__!
  s	   ø€ à!Ð!r   N©r   r   r   rz   rš  rX  r™  )r­  r   s   €€r   r'   r¯  
  sE   ø€ € € € € Ø!Ÿ]š]™_œ_ˆNàð"ð "ð "ð "ñ ŒXð"ð "ð "r   r'   rš  )Ú	Exceptionrë   r“  )r   r'   r#   r­  s   `  @r   Ú6test_arbitrary_exception_accessing_provides_not_caughtzaObjectSpecificationDescriptorFallbackTests.test_arbitrary_exception_accessing_provides_not_caught
  sû   øø€ ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð ˆc‰eŒeˆØ×Ò˜{Ñ+Ô+ð 	+ð 	+Ý�CÐ)Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÁA#Á#A'Á*A'c                 óª   ‡ —  G d„ dt           ¦  «        } G ˆ fd„d¦  «        } |¦   «         }t          |d¦  «        }‰                      |¦  «         d S )Nc                   ó   — e Zd ZdS )úmObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.MyExceptionNr&   r   r   r   r­  r¶  +
  r9   r   r­  c                   óN   •— e Zd Z”                      ¦   «         Zed„ ¦   «         ZdS )úeObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.Fooc                 ó   — t           ‚r0   )rÁ  rå   s    r   r™  zrObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught.<locals>.Foo.__provides__1
  s   € å$Ð$r   Nr±  rå   s   €r   r'   r¸  .
  s;   ø€ € € € € Ø!Ÿ]š]™_œ_ˆNàð%ð %ñ ŒXð%ð %ð %r   r'   rš  )r²  r“  ÚassertIsNotNone)r   r­  r'   r#   Úprovideds   `    r   Ú-test_AttributeError_accessing_provides_caughtzXObjectSpecificationDescriptorFallbackTests.test_AttributeError_accessing_provides_caught)
  s–   ø€ ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð ˆc‰eŒeˆÝ˜3Ð 0Ñ1Ô1ˆØ×Ò˜XÑ&Ô&Ð&Ð&Ð&r   c                 ó  — ddl m} ddl m}  G d„ d|¦  «        } ||¦  «         G d„ d¦  «        ¦   «         }|                      ¦   «         |_        t           |¦   «         d¦  «        }|                      |¦  «         d S )	Nr   rJ   rÍ   c                   ó   — e Zd ZdS )úZObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.IFooNr&   r   r   r   rƒ   r¿  =
  r9   r   rƒ   c                   ó$   — e Zd Zed„ ¦   «         ZdS )úYObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.Fooc                 ó   — d S r0   r   rå   s    r   r™  zfObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides.<locals>.Foo.__provides__C
  s   € à�tr   N)r   r   r   rX  r™  r   r   r   r'   rÁ  @
  s/   € € € € € ð ðð ñ ŒXðð ð r   r'   rš  )rÄ   rK   rÎ   rz   rš  r“  rg   )r   rK   rÎ   rƒ   r'   r»  s         r   Ú!test_None_in__provides__overrideszLObjectSpecificationDescriptorFallbackTests.test_None_in__provides__overrides9
  sÑ   € Ø,Ð,Ð,Ð,Ð,Ð,Ø.Ð.Ð.Ð.Ð.Ð.ð	ð 	ð 	ð 	ð 	�9ñ 	ô 	ð 	ð 
ˆ�TÑ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð "Ÿ]š]™_œ_ˆÔå˜3˜3™5œ5Ð"2Ñ3Ô3ˆØ×Ò˜(Ñ#Ô#Ð#Ð#Ð#r   N)r   r   r   r  rs   rz   r¡  r¥  r©  r³  r¼  rÃ  r   r   r   rš  rš  Ý	  s–   € € € € € ð5ð 5ð 5ð (€Oð3ð 3ð 3ð
;ð 
;ð 
;ð;ð ;ð ;ð Að Að Að&+ð +ð +ð 'ð 'ð 'ð $ð $ð $ð $ð $r   rš  c                   ó   — e Zd Zd„ ZdS )Ú"ObjectSpecificationDescriptorTestsc                 ó   — ddl m} |S )Nr   )ÚObjectSpecificationDescriptor)r*   rÇ  )r   rÇ  s     r   rs   z2ObjectSpecificationDescriptorTests._getTargetClassT
  s   € ØMÐMÐMÐMÐMÐMØ,Ð,r   Nr  r   r   r   rÅ  rÅ  M
  s#   € € € € € ð-ð -ð -ð -ð -r   rÅ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )r/  c                 ó’   ‡— ‰| _         ˆfd„|D ¦   «         | _        |                     ¦   «         D ]\  }}t          ‰||¦  «         Œd S )Nc                 ó2   •— i | ]}|t          ‰|¦  «        “ŒS r   )r“  )Ú.0ÚkeyÚmodules     €r   ú
<dictcomp>z$_Monkey.__init__.<locals>.<dictcomp>`
  s%   ø€ ÐCÐCÐC¸˜3¥¨°Ñ 4Ô 4ÐCÐCÐCr   )rÍ  Ú
to_restoreÚitemsrò  )r   rÍ  ry   rÌ  rO  s    `   r   r$  z_Monkey.__init__^
  s_   ø€ ØˆŒØCÐCÐCÐCÀÐCÑCÔCˆŒØŸ(š(™*œ*ð 	(ð 	(‰JˆC�Ý�F˜C Ñ'Ô'Ð'Ð'ð	(ð 	(r   c                 ó   — | S r0   r   rå   s    r   Ú	__enter__z_Monkey.__enter__d
  s   € Øˆr   c                 óp   — | j                              ¦   «         D ]\  }}t          | j        ||¦  «         Œd S r0   )rÏ  rÐ  rò  rÍ  )r   Úexc_typeÚexc_valÚexc_tbrÌ  rO  s         r   Ú__exit__z_Monkey.__exit__g
  sD   € Øœ/×/Ò/Ñ1Ô1ð 	-ð 	-‰JˆC�Ý�D”K  eÑ,Ô,Ð,Ð,ð	-ð 	-r   N©r   r   r   r$  rÒ  r×  r   r   r   r/  r/  \
  sA   € € € € € ð(ð (ð (ðð ð ð-ð -ð -ð -ð -r   r/  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ra  c                 óà   — || _         t          ||¦  «        | _        | j                             ¦   «         | _        | j                             ¦   «          | j                             |¦  «         d S r0   )rÍ  r“  ÚtargetÚcopyrÏ  ÚclearÚupdate)r   rÍ  Úattrnamery   s       r   r$  z_MonkeyDict.__init__o
  s_   € ØˆŒÝ˜f hÑ/Ô/ˆŒØœ+×*Ò*Ñ,Ô,ˆŒØŒ×ÒÑÔÐØŒ×Ò˜2ÑÔÐÐÐr   c                 ó   — | j         S r0   )rÛ  rå   s    r   rÒ  z_MonkeyDict.__enter__v
  s
   € ØŒ{Ðr   c                 óv   — | j                              ¦   «          | j                              | j        ¦  «         d S r0   )rÛ  rÝ  rÞ  rÏ  )r   rÔ  rÕ  rÖ  s       r   r×  z_MonkeyDict.__exit__y
  s4   € ØŒ×ÒÑÔÐØŒ×Ò˜4œ?Ñ+Ô+Ð+Ð+Ð+r   NrØ  r   r   r   ra  ra  l
  sA   € € € € € ðð ð ðð ð ð,ð ,ð ,ð ,ð ,r   ra  )/r
  Úunittestrã  r   r   r   Ú#zope.interface.tests.test_interfacer   r   ÚTestCaser   r<   rq   rØ   rÿ   r?  r  r  r   r3  rg  rl  rv  r’  r¤  rÄ  rÚ  r(  r8  rV  ra  ru  r—  rœ  r¬  r¹  rÏ  rã  rë  rÿ  r4  r8  r—  rš  rÅ  r/  ra  r   r   r   ú<module>rå     sª  ððð à €€€à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð&ð &ð &ð &ð &ð &ðð ð ð ð ñ ô ð ð( 
ð  
ð  
ð  
ð  
�Ô"ñ  
ô  
ð  
ðF7(ð 7(ð 7(ð 7(ð 7(˜HÔ-ñ 7(ô 7(ð 7(ðtH9ð H9ð H9ð H9ð H9Ð,ñ H9ô H9ð H9ðV@,ð @,ð @,ð @,ð @,Ð4ñ @,ô @,ð @,ðFy8ð y8ð y8ð y8ð y8Ð6ØÔ&ñy8ô y8ð y8ðxc"ð c"ð c"ð c"ð c" Ô!2ñ c"ô c"ð c"ðLð ð ð ð Ð3Ø.ñô ð ð'%ð '%ð '%ð '%ð '%ñ '%ô '%ð '%ðT/4ð /4ð /4ð /4ð /4Ð3°XÔ5Fñ /4ô /4ð /4ðdn
ð n
ð n
ð n
ð n
Ð/°Ô1Bñ n
ô n
ð n
ðb/ð /ð /ð /ð /Ð 4ñ /ô /ð /ð
ð 
ð 
ð 
ð 
˜hÔ/ñ 
ô 
ð 
ð2ADð ADð ADð ADð ADÐ+ñ ADô ADð ADðH >ð  >ð  >ð  >ð  >Ð4ñ  >ô  >ð  >ðF91ð 91ð 91ð 91ð 91˜Ô*ñ 91ô 91ð 91ðx#ð #ð #ð #ð #Ð1ñ #ô #ð #ðLG
ð G
ð G
ð G
ð G
˜HÔ-ñ G
ô G
ð G
ðT 'ð  'ð  'ð  'ð  '�HÔ%ñ  'ô  'ð  'ðF:Að :Að :Að :Að :A˜HÔ-ñ :Aô :Að :Aðz)
ð )
ð )
ð )
ð )
˜Ô)ñ )
ô )
ð )
ðX<@ð <@ð <@ð <@ð <@˜HÔ-ñ <@ô <@ð <@ð~4Hð 4Hð 4Hð 4Hð 4H XÔ%6ñ 4Hô 4Hð 4Hðn)ð )ð )ð )ð )ØØ"Øñ)ô )ð )ð"#=ð #=ð #=ð #=ð #=˜Ô*ñ #=ô #=ð #=ðL*ð *ð *ð *ð *Ð1ñ *ô *ð *ðZM
ð M
ð M
ð M
ð M
˜HÔ-ñ M
ô M
ð M
ð`3;ð 3;ð 3;ð 3;ð 3;˜hÔ/ñ 3;ô 3;ð 3;ðl
ð 
ð 
ð 
ð 
�HÔ%ñ 
ô 
ð 
ð49ð 9ð 9ð 9ð 9˜(Ô+ñ 9ô 9ð 9ðxx=ð x=ð x=ð x=ð x=¨(Ô*;ñ x=ô x=ð x=ðv&ð &ð &ð &ð &Ð"EØ"7ñ&ô &ð &ð~?ð ~?ð ~?ð ~?ð ~?˜hÔ/ñ ~?ô ~?ð ~?ðBð ð ð ð Ð-Ø+ñô ð ðm$ð m$ð m$ð m$ð m$°Ô1Bñ m$ô m$ð m$ð`	-ð 	-ð 	-ð 	-ð 	-Ø2ØØñ	-ô 	-ð 	-ð-ð -ð -ð -ð -ñ -ô -ð -ð ,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,r   