HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //proc/self/root/opt/alt/python312/lib64/python3.12/test/__pycache__/test_property.cpython-312.pyc
�

�h�eSE��,�ddlZddlZddlmZGd�de�ZGd�de�ZGd�de�ZGd	�d
e�ZGd�de	�Z
Gd
�de
�ZGd�de	�ZGd�de�Z
Gd�de
�ZGd�de	�ZGd�dej �ZGd�de�ZGd�de�ZGd�de�ZGd�d ej �ZGd!�d"�ZGd#�d$eej �ZGd%�d&eej �Zed'k(rej6�yy)(�N)�supportc��eZdZy)�PropertyBaseN��__name__�
__module__�__qualname__���9/opt/alt/python312/lib64/python3.12/test/test_property.pyrr���rrc��eZdZy)�PropertyGetNrr
rrrrr
rrc��eZdZy)�PropertySetNrr
rrrrr
rrc��eZdZy)�PropertyDelNrr
rrrrr
rrc�j�eZdZd�Zed��Zejd��Zejd��Zy)�	BaseClassc��d|_y)N���_spam��selfs r�__init__zBaseClass.__init__s	����
rc��|jS)�BaseClass.getterrrs r�spamzBaseClass.spam����z�z�rc��||_y�Nr�r�values  rrzBaseClass.spams	����
rc��|`yr"rrs rrzBaseClass.spam!s���JrN)rrr	r�propertyr�setter�deleterr
rrrrsK�������
�[�[����
�\�\���rrc��eZdZejj
d��Zejd��Zejd��Zy)�SubClassc�,�t|j��)�SubClass.getter)rrrs rrz
SubClass.spam's���$�*�*�%�%rc�,�t|j��r")rrr#s  rrz
SubClass.spam,����$�*�*�%�%rc�,�t|j��r")rrrs rrz
SubClass.spam0r.rN)rrr	rr�getterr'r(r
rrr*r*%sN���^�^���&��&�
�[�[�&��&�
�\�\�&��&rr*c�*�eZdZdZd�Zeed��Zy)�PropertyDocBase�c��|jSr"rrs r�	_get_spamzPropertyDocBase._get_spam6s���z�z�r�spam spam spam��docN)rrr	rr5r&rr
rrr2r24s��
�E���I�#3�4�Drr2c�D�eZdZejj
d��Zy)�PropertyDocSubc��|jS)z*The decorator does not use this doc stringrrs rrzPropertyDocSub.spam;r rN)rrr	r2rr0r
rrr:r::s ����� � ��!�rr:c�D�eZdZejj
d��Zy)�PropertySubNewGetterc��y)�
new docstringrr
rs rrzPropertySubNewGetter.spamA���rN)rrr	rrr0r
rrr=r=@s���^�^�����rr=c�@�eZdZed��Zej
d��Zy)�PropertyNewGetterc��y)zoriginal docstringr3r
rs rrzPropertyNewGetter.spamGr@rc��y)r?�r
rs rrzPropertyNewGetter.spamKr@rN)rrr	r&rr0r
rrrBrBFs,��
����
�[�[���rrBc���eZdZd�Zd�Zejejjdk\d�d��Z
ejejjdk\d�d��Zd�Zejejjdk\d�d��Z
d	�Zejejjdk\d�d
��Zejejjdk\d�d��Zej$d��Zejejjdk\d�d
��Zejejjdk\d�d��Zd�Zd�Zy)�
PropertyTestsc��t�}|j|jd�|j|jd�d|_|j|jd�|j|jd�t	|d�|jt
|d��|jt
|d��d|_|j|jd�|j|jd�y)Nr�
rr�)r�assertEqualrr�delattr�
assertTrue�hasattr�r�bases  r�!test_property_decorator_baseclassz/PropertyTests.test_property_decorator_baseclassQs����{��������A�&�������Q�'���	�������B�'�������R�(���f�����G�D�&�1�1�2����G�D�'�2�2�3���	�������B�'�������R�(rc���t�}|jtt|d�|jtt
|dd�|jtt|d�y)Nr)r*�assertRaisesr�getattrr�setattrrrL�r�subs  r� test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclass`sG���j�����+�w��V�<����+�w��V�T�B����+�w��V�<r��)Docstrings are omitted with -O2 and abovec�x�t�}|j|jjjd�y)Nr,)r*rK�	__class__r�__doc__rVs  r�$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docgs,���j��������+�+�3�3�5F�Grc�x�t�}|j|jjjd�y)Nr)rrKr\rr]rOs  r�%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_docms,���{��������,�,�4�4�6H�Irc���t�}t�}|j|jjj
d�|j|jjj
d�y)Nr6)r2r:rKr\rr])rrPrWs   r�test_property_decorator_docz)PropertyTests.test_property_decorator_docssT��� �����������,�,�4�4�6F�G�������+�+�3�3�5E�Frc�\�t�}|j|jd�|j|jjjd�t�}|j|jd�|j|jjjd�y)Nrr?rE)r=rKrr\r]rB)r�newgettersub�	newgetters   r�!test_property_getter_doc_overridez/PropertyTests.test_property_getter_doc_overrideys���,�-������*�*�A�.�����/�/�4�4�<�<�o�N�%�'�	��������+�����,�,�1�1�9�9�?�Krc�d���ddgdgddfD]B�G�fd�dt�}|j|jjt	����DGd�d	t��|jt�5G�fd
�dt�}|jjddd�y#1swYyxYw)NTFr3��1c�4��eZdZd�ZW�e_ee�Zy)�EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cc��yr"r
rs r�foozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foo����rN�rrr	rm�__isabstractmethod__r&)�vals�r�Crk�s����+.��(��s�m�rrrc��eZdZd�ZeZy)�KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolc��t��r")�
ValueErrorrs r�__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__�s
�� �l�"rN)rrr	rw�__len__r
rr�NotBoolrt�s��
#��Grryc�>��eZdZd�ZW��e_ee�Zy)rkc��yr"r
rs rrmzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foo�rnrNro)rys�rrrzEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C�s����+2�9��(��s�m�r)�object�assertIsrmrp�boolrSrv)rrrryrqs  @@r�,test_property___isabstractmethod__descriptorz:PropertyTests.test_property___isabstractmethod__descriptor�s�����%��a�S�"�c�2�	A�C�
$�F�
$�

�M�M�!�%�%�4�4�d�3�i�@�
	A�	�f�	��
�
�z�
*�	'�
$�F�
$�

�E�E�&�&�
	'�	'�	'�s�5(B&�&B/c��td��}|j|jd�d|_|j|jd�y)N�basicr7�extended�r&rKr])r�ps  r�"test_property_builtin_doc_writablez0PropertyTests.test_property_builtin_doc_writable�s=��
��!��������G�,���	�������J�/rc�&�Gd�dt�}|�}|j|jjjd�d|jj_|j|jjjd�y)Nc��eZdZed��Zy)�OPropertyTests.test_property_decorator_doc_writable.<locals>.PropertyWritableDocc��y)�Eggs�eggsr
rs rrzTPropertyTests.test_property_decorator_doc_writable.<locals>.PropertyWritableDoc.spam�s��rN)rrr	r&rr
rr�PropertyWritableDocr��s��
�
��
rr�r��Spam)r|rKr\rr])rr�rWs   r�$test_property_decorator_doc_writablez2PropertyTests.test_property_decorator_doc_writable�sj��	�&�	�"�#��������+�+�3�3�V�<�%+��
�
���"�������+�+�3�3�V�<rc���tjtd�}tdddd�}|�}t	d�D]}|jdddd��|j
|�|z
dd�	�y)
N�gettotalrefcount�fget�fset�fdelr8�drrI)�delta)r�
get_attribute�sysr&�ranger�assertAlmostEqual)rr��	fake_prop�refs_before�is     r�test_refleaks_in___init__z'PropertyTests.test_refleaks_in___init__�ss��"�0�0��6H�I���V�V�V�U�;�	�&�(���s��	>�A����v�v�v�u�=�	>����/�1�K�?��"��Mrc�P�Gd�d�}|j|jd�y)Nc�&�eZdZeed���Zy)�,PropertyTests.test_class_property.<locals>.Ac� �d|jzS)NzA doc for %r)r��clss rr]z4PropertyTests.test_class_property.<locals>.A.__doc__�s��&����4�4rN)rrr	�classmethodr&r]r
rr�Ar��s��
�
�
5���
5rr�z
A doc for 'A'�rKr]�rr�s  r�test_class_propertyz!PropertyTests.test_class_property�s"��	5�	5�
	
������O�4rc�P�Gd�d�}|j|jd�y)Nc�*�eZdZdZeed���Zy)�5PropertyTests.test_class_property_override.<locals>.A�Firstc��y)N�Secondr
r�s rr]z=PropertyTests.test_class_property_override.<locals>.A.__doc__�s�� rN)rrr	r]r�r&r
rrr�r��s���
�
�
 ���
 rr�r�r�r�s  r�test_class_property_overridez*PropertyTests.test_class_property_override�s"��	 �	 �	
������H�-rc��t�}dD]8}|jtd|�d��5|jdg|z�ddd��:y#1swY�ExYw)N)rr3�z3^__set_name__\(\) takes 2 positional arguments but z were given$r)r&�assertRaisesRegex�	TypeError�__set_name__)rr�r�s   r�%test_property_set_name_incorrect_argsz3PropertyTests.test_property_set_name_incorrect_args�se���J���	+�A��'�'��F�q�c��V��
+�����!��q��*�	
+�
+�	+�
+�
+�s�A	�	A	c��Gd�dt�}Gd�d�}tj|�}|j|d�|jd��}y)Nc��eZdZd�Zy)�EPropertyTests.test_property_setname_on_property_subclass.<locals>.proc��y)N�abcdefr
)�typ�args�kwargss   r�__new__zMPropertyTests.test_property_setname_on_property_subclass.<locals>.pro.__new__�s��rN)rrr	r�r
rr�pror��s��
 rr�c��eZdZy)�CPropertyTests.test_property_setname_on_property_subclass.<locals>.ANrr
rrr�r��s��rr�r3c��y�Nr3r
rs r�<lambda>zJPropertyTests.test_property_setname_on_property_subclass.<locals>.<lambda>���r)r&r�r�r0)rr�r�r��nps     r�*test_property_setname_on_property_subclassz8PropertyTests.test_property_setname_on_property_subclass�sF��	 �(�	 �	�	�
���S�!��	���q�!��
�X�X�n�
%�rN)rrr	rQrX�unittest�skipIfr��flags�optimizer^r`rbrfrr�r�r�
refcount_testr�r�r�r�r�r
rrrGrGPs���
)�=��X�_�_�S�Y�Y�'�'�1�,�@�B�H�B�H��X�_�_�S�Y�Y�'�'�1�,�@�B�J�B�J�G��X�_�_�S�Y�Y�'�'�1�,�@�B�L�B�L�'�.�X�_�_�S�Y�Y�'�'�1�,�@�B�0�B�0��X�_�_�S�Y�Y�'�'�1�,�@�B�=�B�=�
���N��N��X�_�_�S�Y�Y�'�'�1�,�@�B�5�B�5��X�_�_�S�Y�Y�'�'�1�,�@�B�.�B�.�+�&rrGc��eZdZdZy)�PropertySub�This is a subclass of propertyN)rrr	r]r
rrr�r��s��(rr�c��eZdZy)�PropertySubWoDocNrr
rrr�r��r
rr�c��eZdZdZdZy)�PropertySubSlotsz5This is a subclass of property that defines __slots__r
N)rrr	r]�	__slots__r
rrr�r��s
��?��Irr�c��eZdZd�Zd�Zejejjdk\d�d��Z
ejejjdk\d�d��Zejejjdk\d�d��Zejejjdk\d�d��Z
ejejjdk\d�d	��Zejejjdk\d�d
��Zejejjdk\d�d��Zy)
�PropertySubclassTestsc�v�|jt�5Gd�dt�}ddd�y#1swYyxYw)Nc��eZdZed��Zy)�FPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Fooc��y)z5Trying to copy this docstring will raise an exceptionr3r
rs rrzKPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Foo.spams��rN)rrr	r�rr
rr�Foor��s��!��"�rr�)rS�AttributeErrorr|�rr�s  r�#test_slots_docstring_copy_exceptionz9PropertySubclassTests.test_slots_docstring_copy_exception�s3���
�
�~�
.�	�
�f�
�	�	�	�s�/�8c��Gd�dt�}|�}|jt|dd��d�}||�}|jt|dd��y)Nc��eZdZdZy)�QPropertySubclassTests.test_property_with_slots_no_docstring.<locals>.slotted_prop�rmN�rrr	r�r
rr�slotted_propr���� �Irr�r]c��y)N�r
r
rr�undocumented_getterzXPropertySubclassTests.test_property_with_slots_no_docstring.<locals>.undocumented_getter
���r)r&�assertIsNonerT)rr�r�r�s    r�%test_property_with_slots_no_docstringz;PropertySubclassTests.test_property_with_slots_no_docstringsW��	!�8�	!�
�N�����'�!�Y��5�6�	�
�,�-�����'�!�Y��5�6rrYrZc���Gd�dt�}|d��}|j|j�d�}|jt�5||�}ddd�y#1swYyxYw)Nc��eZdZdZy)�_PropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.slotted_propr�Nr�r
rrr�r�r�rr��	what's upr7c��y)zgetter doc.r�r
r
rr�documented_getterzdPropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.documented_getter���r)r&r�r]rSr��rr�r�r�s    r�3test_property_with_slots_docstring_silently_droppedzIPropertySubclassTests.test_property_with_slots_docstring_silently_droppedsa��	!�8�	!�
�[�)�����!�)�)�$�	��
�
�~�
.�	0��.�/�A�	0�	0�	0�s�	A�A'c��Gd�dt�}|d��}|jd|j�d�}||�}|jd|j�y)Nc��eZdZdZy)�cPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present.<locals>.slotted_prop)rmr]Nr�r
rrr�r�*s��*�Irr�r�r7c��y)�what's up getter doc?r�r
r
rrr�zhPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present.<locals>.documented_getter0r�rr�r�r�s    r�7test_property_with_slots_and_doc_slot_docstring_presentzMPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present&sU��	+�8�	+�
�[�)������a�i�i�0�	�
�*�+�����0�!�)�)�<rc�z�|jtjdd�tdddd�j}|j|dd�d�}d�}tttfD]�}||ddd�j}|j|dd|j
z�||ddd�j}|j|dd	|j
z�||ddd�j}|j|dd|j
z�||ddd�j}|j
|d
|j
z���y)Nr�z+Docstring of `property` subclass is ignoredzissue 41287 is fixedz;Subclasses of `property` ignores `doc` constructor argumentc��y)�Getter docstringNr
��xs rr0z5PropertySubclassTests.test_issue41287.<locals>.getterBr�rc��yr"r
r�s r�
getter_wo_docz<PropertySubclassTests.test_issue41287.<locals>.getter_wo_docEs��rz1Getter overrides explicit property docstring (%s)r�z&Getter docstring is not picked-up (%s)z3Property class doc appears in instance __doc__ (%s))rKr�r]r&r�rr�)rr8r0r�pss     r�test_issue41287z%PropertySubclassTests.test_issue412877sW��	
����,�,�.N�F�	H��$��d�,B�C�K�K������4�V�	X�	#�	��K�)9�9�
	h�B��V�T�4�)?�@�H�H�C����S�"8�P�SU�S^�S^�^�
`��V�T�4��.�6�6�C����S�"4�6^�ac�al�al�6l�m��]�D�$�0F�G�O�O�C����S�"8�P�SU�S^�S^�^�
`��]�D�$��5�=�=�C����c�#X�[]�[f�[f�#f�g�
	hrc�n�Gd�dt�}|j|jjd�y)Nc��eZdZed��Zy)�6PropertySubclassTests.test_docstring_copy.<locals>.Fooc��y)�!spam wrapped in property subclassr3r
rs rrz;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spam[���rN�rrr	r�rr
rrr�rZ���
�
��
rr�r�r|rKrr]r�s  r�test_docstring_copyz)PropertySubclassTests.test_docstring_copyWs.��	�&�	�
	
����H�H���/�	1rc��d�}d�}d�}t|ddd�}|j|�}|j|jd�|j|jd�t|ddd�}|j|�}|j|jd�|j|jd�t|ddd�}|j|�}|j|jd�|j|jd�t|ddd�}d|_|j|�}|j|jd�|j|jd�t|ddd�}d|_|j|�}|j|jd�|j|jd�y)	a5
        Property tries to provide the best docstring it finds for its instances.
        If a user-provided docstring is available, it is preserved on copies.
        If no docstring is available during property creation, the property
        will utilize the docstring from the getter if available.
        c��yr�r
rs r�getter1z;PropertySubclassTests.test_docstring_copy2.<locals>.getter1lr�rc��y)�doc 2rYr
rs r�getter2z;PropertySubclassTests.test_docstring_copy2.<locals>.getter2nr�rc��y)�doc 3r�r
rs r�getter3z;PropertySubclassTests.test_docstring_copy2.<locals>.getter3qr�rNzdoc-Arr�user)r&r0rKr])rrrrr��p2s      r�test_docstring_copy2z*PropertySubclassTests.test_docstring_copy2cs���	�	�	�
�W�d�D�'�2��
�X�X�g�
��������G�,�������W�-�
�W�d�D�'�2��
�X�X�g�
��������G�,�������W�-�
�W�d�D�$�/��
�X�X�g�
��������G�,�������W�-�
�W�d�D�$�/����	�
�X�X�g�
��������F�+�������W�-�
�W�d�D�$�/����	�
�X�X�g�
��������F�+�������V�,rc����Gd�dt����}|j|jd�d|_|j|jd�|j�jjd�G�fd�d��}|�}|j|jd�d|_|j|jd	�|j|jjd�y)
Nc�F�eZdZd�Zed��Zejd��Zy)�OPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Fooc��d|_yr�rrs rrzXPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.__init__�s��Q��
rc��|jS)rrrs rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spam�s���z�z�!rc��||_y)zthis docstring is ignoredNrr#s  rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spam�s��#��
rN)rrr	rr�rr'r
rrr�r�s/��.�
�
"��
"��[�[�
#��
#rr�r3rYrc�H��eZdZW�jjd��Zy)�RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubc��d|_y)zanother ignored docstringr�Nrr#s  rrzWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spam�s��$��
rN)rrr	rr')r�s�r�FooSubr!�s���
�X�X�_�_�
$��
$rr#�r�r)rrmr#�foosubr�s    @r�,test_property_setter_copies_getter_docstringzBPropertySubclassTests.test_property_setter_copies_getter_docstring�s����		#�&�		#��e��������1�%����������1�%�����H�H���/�	1�	$�S�	$�
���������a�(����������f�-�����K�K���/�	1rc����Gd�dt�}|j|jjd�Gd�dt��G�fd�d��}|j|jjd�y)Nc�@�eZdZed��Zej
d��Zy)�IPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Fooc��y�za docstringr3r
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam�r	rc��y��a new docstringrYr
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam�r	rN)rrr	r�rr0r
rrr�r)�s,��
�
��
��[�[�
��
rr�r.c��eZdZed��Zy)�MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasec��yr+r
rs rrzRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spam�r	rNr
r
rr�FooBaser0�rrr2c�H��eZdZW�jjd��Zy)�JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2c��yr-r
rs rrzOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spam�r	rN)rrr	rr0)r2s�r�Foo2r4�s���
�\�\�
 �
 �
�!�
rr6r)rr�r6r2s   @r�&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstring�sa���	�&�	�	
������)�)�+<�=�	�f�	�
	�7�	�
	
������)�)�+<�=rN)rrr	r�r�r�r�r�r�r�r�r�rr
rr&r7r
rrr�r��s����7��X�_�_�S�Y�Y�'�'�1�,�@�B�0�B�0�"�X�_�_�S�Y�Y�'�'�1�,�@�B�
=�B�
=��X�_�_�S�Y�Y�'�'�1�,�@�B�h�B�h�<�X�_�_�S�Y�Y�'�'�1�,�@�B�1�B�1��X�_�_�S�Y�Y�'�'�1�,�@�B�8-�B�8-�t�X�_�_�S�Y�Y�'�'�1�,�@�B�1�B�1�>�X�_�_�S�Y�Y�'�'�1�,�@�B�>�B�>rr�c�@�eZdZdZdZdZd�Zed��Zd�Z	d�Z
d�Zy)�_PropertyUnreachableAttributeNc�8�|jj|�Sr")�
msg_format�format)r�msgs  r�_format_exc_msgz-_PropertyUnreachableAttribute._format_exc_msg�s�����%�%�c�*�*rc�.�|j�|_yr")r��objr�s r�
setUpClassz(_PropertyUnreachableAttribute.setUpClass�s���'�'�)��rc��|jt|jd��5|jjddd�y#1swYyxYw)Nz
has no getter�r�r�r>r@rmrs r�test_get_propertyz/_PropertyUnreachableAttribute.test_get_property�s=��
�
#�
#�N�D�4H�4H��4Y�
Z�	��H�H�L�L�	�	�	�s�A�Ac��|jt|jd��5d|j_ddd�y#1swYyxYw)Nz
has no setterrCrs r�test_set_propertyz/_PropertyUnreachableAttribute.test_set_property�s=��
�
#�
#�N�D�4H�4H��4Y�
Z�	 ��D�H�H�L�	 �	 �	 �s�A�A
c��|jt|jd��5|j`ddd�y#1swYyxYw)Nzhas no deleterrCrs r�test_del_propertyz/_PropertyUnreachableAttribute.test_del_property�s<��
�
#�
#�N�D�4H�4H�IY�4Z�
[�	�����	�	�	�s	�
<�A)rrr	r;r@r�r>r�rArDrFrHr
rrr9r9�s9���J�
�C�
�C�+������ �rr9c�$�eZdZdZGd�d�Zy)�$PropertyUnreachableAttributeWithNamezI^property 'foo' of 'PropertyUnreachableAttributeWithName\.cls' object {}$c��eZdZe�Zy)�(PropertyUnreachableAttributeWithName.clsN)rrr	r&rmr
rrr�rL�s	���j�rr�N)rrr	r;r�r
rrrJrJ�s��]�J��rrJc�<�eZdZdZGd�d�Ze�e_y)�"PropertyUnreachableAttributeNoNamezA^property of 'PropertyUnreachableAttributeNoName\.cls' object {}$c��eZdZy)�&PropertyUnreachableAttributeNoName.clsNrr
rrr�rP�s��rr�N)rrr	r;r�r&rmr
rrrNrN�s��U�J�
�
��j�C�GrrN�__main__)r�r��testr�	Exceptionrrrrr|rr*r2r:r=rB�TestCaserGr&r�r�r�r�r9rJrNr�mainr
rr�<module>rVs$�����	�9�	�	�,�	�	�,�	�	�,�	����"
&�y�
&�5�f�5��_���9�����Y&�H�%�%�Y&�x)�(�)�	�x�	��x��b>�H�-�-�b>�J��2�+H�(�J[�J[���)F��HY�HY���z���H�M�M�O�r