Edit File: Main.cpython-311.pyc
� ����q�d�����������������������Z ����d�dl�mZ�d�dlT��G�d��d������������Z�G�d��d������������Z�G�d��d������������Z�G�d ��d e������������Z�G�d��de������������Z�G�d ��de������������Z�G�d��de������������Z �G�d��de������������Z �G�d��de������������Z�G�d��de������������Z�G�d��de������������Z �G�d��de������������Z�G�d��d������������Z�G�d��de������������Z�G�d��d e������������Z�G�d!��d"e������������Z�G�d#��d$e������������Z�G�d%��d&e������������Z�G�d'��d(e������������Z�G�d)��d*e������������Z�G�d+��d,e������������Z�G�d-��d.e������������Z�G�d/��d0e������������Z�G�d1��d2e������������Z�G�d3��d4e������������Z�G�d5��d6e������������Z�G�d7��d8������������Z�G�d9��d:������������Z�G�d;��d<e������������Z�G�d=��d>e������������Z �G�d?��d@e������������Z!�G�dA��dBe������������Z"�G�dC��dDe������������Z#�G�dE��dFe#������������Z$�G�dG��dHe#������������Z%�G�dI��dJe������������Z&�G�dK��dLe������������Z'�G�dM��dNe������������Z(�G�dO��dPe(������������Z)�G�dQ��dRe(������������Z*�G�dS��dT������������Z+�G�dU��dVe������������Z,�G�dW��dXe������������Z-�G�dY��dZe������������Z.�G�d[��d\e������������Z/�G�d]��d^e������������Z0�G�d_��d`������������Z1�G�da��dbe0������������Z2�G�dc��dde������������Z3�G�de��dfe������������Z4�G�dg��dhe������������Z5�G�di��dje������������Z6�G�dk��dle������������Z7�G�dm��dne������������Z8do��Z9�G�dp��dq������������Z:�G�dr��dse:������������Z;�G�dt��due:������������Z<�G�dv��dwe:������������Z=�G�dx��dye:������������Z>�G�dz��d{e>������������Z?�G�d|��d}e>������������Z@�G�d~��dwe>������������Z=�G�d��d�e>������������ZAd���ZBd���ZCd���ZDd���ZEi�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�d�e:�i�d�e?�d�e@�d�e:�d�e>�d�e>�d�e>�d�e>�d�e:�d�e:�d�e=�d�e>�d�e>�d�e>�d�e:�d�eD�d�eD�d�eD��i�d�eD�d�eD�d�eD�d�eD�d�eD�d�eD�d�e:�d�e:�d�eA�d�eA�d�eA�d�eA�d�eA�d�eA�d�eA�d�e:�d�e:��e:e:e:e:e:e:e:e:e:d�� �ZFd���ZG�G�d���d�������������ZH�G�d���d�������������ZI�G�d���d�eI������������ZJ�G�d���d�eI������������ZK�G�d�dæ�����������ZL�G�dĄ�d�eI������������ZM�G�dƄ�d�eI������������ZN�G�dȄ�d�eI������������ZO�G�dʄ�d˦�����������ZPd�S�)������)�property_nondata��*c��������������������X�����e�Zd�Zd��Zd��Zdeddfd�Zd��Zd��Zd ��Z d ��Z dd�Z � � �dd�ZdS�)�SpecEnvc������������������Z�����||�_���������i�|�_��������i�|�_��������g�|�_��������d|�_��������d|�_��������d�S��Nr���)�mod�imported_packages�importing_packages� error_reports� num_errors�num_warnings)�selfr ���s��� �a/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/guppy/gsl/Main.py�__init__zSpecEnv.__init__���s6���������!#���"$������������������c������������������������d}d}|�b|}|j���������dz���}|j��������}|�"|j��������}|���������������������|j����������������������}t ����������|�d|�d��������������|rt ����������d|z���������������d�S�d�S�d�S�)N��z<unknown file>����)�index�:z %r)r����src�filename�get_line�print)r����context�linetextr����node�linenor���s��� r����errmsg_contextzSpecEnv.errmsg_context���s���������#�����D��Z�!�^�F��(�C����<���<�<�g�m�<�<�<���h�h�h����/�0�0�0��� +��h��)�*�*�*�*�*���� +�� +r���N��r���c������������������ ����|�j������������������������������|||||f�������������|r|�xj��������dz ��c_��������n|�xj��������dz ��c_��������|����������������������|�������������|rt����������d|z���������������nt����������d|z���������������t�������������������������|D�]:\��}}|����������������������|�������������t����������d|z���������������t��������������������������;|�j��������rdd�l}|������������������������������������d�S�|�j��������|�j ��������k����rt����������d�������������|�|�d�S�)Nr���z* %sz*** %sz %sr���zToo many errors, giving up)r ����appendr���r���r!���r����debug�pdb� set_trace� max_errors� TooManyErrors) r����messager���� exception�more�harmless�msg�ctxr&���s ��� r����errorz SpecEnv.error���sA�������!�!� �g�y�$��9� ;�� ;�� ;��� !�����"�����O�O�q� �O�O����G�$�$�$��� &��(�W�$�%�%�%�%��(�W�$�%�%�%� ������ �� �H�C������$�$�$��(�S�.�!�!�!��G�G�G�G��:�� ��J�J�J��M�M�O�O�O�O�O���$�/�1�1�#�$@�A�A�A��$����%�$r���c������������������n�����g�}|D�]/}|����������������������|���������������������|�j����������������������������������0|S��N)�extend� get_filers� output_dir)r���� documents�filers�ds��� r���r4���zSpecEnv.get_filers9���s>���������� 9�� 9�A��M�M�!�,�,�t��7�7�8�8�8�8�� r���c����������������������|�j������������������������������|������������}|��||�j��������v�r=|����������������������dt ����������|�j���������������������������������������������������������|�������������d|�j��������|<���|���������������������d|�j��������j��������j ��������j ��������������������dz���}|����������������������||������������}|����������������������|������������}||�j���������|<���|�j��������|=�|S�)Nz)Invalid mutual import involving packages r����.�.gsl) r����getr���r0����list�keys�replacer ����IO�path�sep�package_of_filename� mkPackage)r����namer����pacr����ips��� r����import_packagezSpecEnv.import_package?���s��������$�(�(��.�.���;��t�.�.�.�� � � ���0�5�5�7�7�8�8�8�;�<C�E��E��E�,-�D�#�D�)��|�|�C����)9�)=�>�>�v�E�H��)�)�(�D�9�9�B��.�.��$�$�C�+.�D�"�4�(��'��-�� r���c����������� ����������� ��� ��i��i��� ��� fd�� |D�]!� � ������������������������������������}�� |��������������"t����������������������������������������������������������D�]p\��}}t����������|������������dk����rXt ����������d|z���������������|D�]4\��� }t ����������d� ������������������������������������d|j��������dz�������������������5t ����������d��������������qg�}t����������������������������������������������������������D�]�\��}}|�vr�i�}|D�]#\��� }d|� �����������������������������������<���d|_���������$t����������|�����������������������������������������������}|� �����������������������������������d� ��������������������|������������}|���������������������|�d |������������������|���������d ���������\��}}|D�]-\��� }� |u�rd|_���������d|_��������|j��������f|j ��������z���|_ ���������.��|r8|� �����������������������������������t ����������d �������������|D�]} t ����������d| ��������������d�S�d�S�)Nc������������������|�����|�j���������}|dk����rE|�j�������������������������������������������}����������������������|g�����������������������������������|�f�������������nS|dk����rE|�j�������������������������������������������}����������������������|g�����������������������������������|�f�������������n|dk����rd�S�|�j��������D�] }��|��������������d�S�)N�link_to�define�to_tester_only)�tag�arg�strip� setdefaultr$����children)r����trE����chr8����defines�links�walks��� ����r���rW���z$SpecEnv.link_documents.<locals>.walkR���s����������A��I�~�~��x�~�~�'�'��� � ��r�*�*�1�1�1�d�)�<�<�<�<��h����x�~�~�'�'���"�"�4��,�,�3�3�Q��I�>�>�>�>��&�&�&����m�� �� ����R����� �� r���r���z,Duplicate definition of name %r, defined in:z z line zWill use the first one.�link_to_unresolved�, z used in r���� link_to_local�link_to_externzUnresolved links:z )� get_resultr=����items�lenr����get_doc_namer���rN���r>����sort�joinr$���� doc_name_noderR���)r���r6���r���rE����ds�nodefs�used�defd�defnode�ndr8���rU���rV���rW���s��� @@@@r����link_documentszSpecEnv.link_documentsM���so������������� �� �� �� �� �� �� �� ���� �� �A��<�<�>�>�D��D��J�J�J�J��W�]�]�_�_�-�-�� 1�� 1�H�D�"��2�w�w��{�{��D�t�K�L�L�L�!#��O��O�I�Q���E�a�n�n�.>�.>�.>�.>�� �1���M�N�N�N�N��/�0�0�0�����U�[�[�]�]�+�+�� L�� L�H�D�"��7�"�"���!#��4��4�I�Q��-.�D����)�)�*�3�D�H�H��D�I�I�K�K�(�(��� � �����y�y������ � ����t�t�<�=�=�=�=� '�� �a� 0� ��g�!#��L��L�I�Q���D�y�y�#2����#3���)-�);�(=�d�m�(K�� � �L���� ��K�K�M�M�M��%�&�&�&��� �� ���d�B����� �� � �� r���c������������������h�����t����������|�||������������}|�j��������|_��������|������������������������������������|S�r2���)�PackageDescriptionr5����resolve_all)r����subrF���s��� r���rD���zSpecEnv.mkPackage����s1������ ��s�C�0�0������������� r���r���c����������������������|�j���������}|�G|���������������������d������������r|d�d����������}n|}|���������������������|j��������j��������j��������d������������}|�j��������r&|j��������j�����������������������������|�j��������|������������}n|j��������j�����������������������������|������������}|�|}n|j��������� ��������������������|������������}|� ����������������������������������}|���������������������d|���������������������d������������z���������������|���������������������d|���������������������d������������z���������������|���������������������|���������������������d�������������������������|� ����������������������������������}||j��������v�r |j��������|���������S�|j�����������������������������|||�������������} |�j��������} t%����������d|z���������������t'����������||�| ||������������}| |�j��������k����r ||j��������|<���|S�) Nr;������r:���s���.filename: %s zutf-8s���.packname: : %s )�nostripzMaking package subject %r)r ����endswithr?���r@���rA���rB���� input_dirra����abspath� read_file�md5�update�encode�digest� package_cache� SpecNodes�node_of_stringr���r����PackageSubject)r���r����packnamerp����input_stringr ����dataru���rx���r����numerr�packages��� r���rC���zSpecEnv.package_of_filename����s�������h����� � ��(�(�� $�#�C�R�C�=���#���'�'������=�=�H��>�� 5��v�{�'�'����A�A�H�H��v�{�*�*�8�4�4�H��#��D�D��6�#�#�H�-�-�D��g�g�i�i��� � �%�����(@�(@�@�A�A�A�� � �'�(�/�/�'�*B�*B�B�C�C�C�� � �4�;�;�w�'�'�(�(�(��������S�&�&�&��$�V�,�,��}�+�+�D�(�G�+�L�L����� �)�H�4�5�5�5� ��d�D�(�H�E�E���T�_�$�$�(/�C��f�%��r���Fc ����������� ������������|�|�j���������j��������}||�_��������|�d}||�_��������||�_��������|�|�j���������j��������}||�_�������� �|����������������������|����������������������||�������������������������} | �����������������������������������} | s|����������������������dd�d��������������|�j ��������r|r$t����������d�������������|����������������������| �������������|�j ��������r|r|����������������������| ������������}d}n#�t����������$�r�d}Y�nw�xY�w|�j ��������sm|D�]j} |�j���������j�����������������������������| ������������}t����������d d ���������������������t#����������|j���������������������������������������������|�������������������������������������k|�j��������r*t����������d|�j��������dd�|�j��������dk��������������fz���������������|�j ��������r<t����������d |�j ��������dd�|�j ��������dk��������������|fz���������������|rt+����������d�������������d�S�d�S�)Nz/tmp)r~���zNo documents specified.r����r+���r-����Linkingr���z giving up --z Writing: rY���z* %d warning%s reported.�sz.*** %d error%s reported --%s no files written.zSome error has been reported.)r ���rr���r5���r%���r(���rD���rC���� get_documentsr0���r���r���ri���r4���r)����Filer�filerra���r=����writefile_names�writer����HadReportedError)r���r���rr���r5���r%���r(����process_despite_errors�raise_at_errorsr~���rF���r6���r7���� giving_upr�����fs��� r����process_mainzSpecEnv.process_main����so����������*�I�"������J�$����� �����,�J�$��� ��.�.��!9�!9��|��":��"5��"5��6��6�C��)�)�+�+�I��� 7�� � �4�%)�A����7��7��7��?�� /�&<�� /��i� � � ��#�#�I�.�.�.��?�� 4�&<�� 4�����3�3����I�I����� (�� (�� (�'�I�I�I� (�������� ��� �� ���H�N�(�(��/�/���k�4�9�9�T�!�2C�-D�-D�#E�#E�F�F�F���� � � � ���� A��.��!�3�'=��(9�A�(=�'=�#>�2@��@�� A�� A�� A��?�� H��B����%9�d�o��&9�%9�!:�I�FG��G�� H�� H�� H��� H�&�'F�G�G�G� H�� H� H�� Hs����B#C$��$C3�2C3)Nr���N)NNFNFFN) �__name__� __module__�__qualname__r���r!���� ReportedErrorr0���r4���rH���ri���rD���rC���r����r"���r���r���r���r������s��������������������+��+��+��&*�]��VW�� �� �� �� �:����������5 ��5 ��5 �n������������@�_c�CH�"&�+H��+H��+H��+H��+H��+Hr���r���c��������������������,�����e�Zd�Zd��Zd��Zd��Zd��Zd��ZdS�)�UntypedDescriptionc������������������`�����||�_���������|j��������|�_��������|j��������|�_��������||�_��������||�_��������d�S�r2�����envrF���r ����tgtr����r���r����r����r���s��� r���r���zUntypedDescription.__init__����s-����������7����7����������r���c������������������:�����|�j������������������������������|�������������d�S�r2���)�combined_subjectsr$����r����subjects��� r����combine_with_subjectz'UntypedDescription.combine_with_subject����s��������%�%�g�.�.�.�.�.r���c������������������V�����|��������������������������������������|�������������������������������������d�S�r2���)�resolve_primary�resolve_lookuped�r���s��� r���rl���zUntypedDescription.resolve_all����s,�������������������r���c������������������V�����|��������������������������������������|�������������������������������������d�S�r2���)�resolve_type�resolve_tgtr����s��� r���r����z"UntypedDescription.resolve_primary����s,�������������������r���c������������������T����|�j���������j��������}t����������|d������������s|�j���������j��������|�_��������|�j��������j��������|�j���������j��������z���|�_��������|�j���������j ��������|�_ ��������|�j���������j��������|�_��������|�j���������j ��������|�_ ��������|�j��������j��������|�_��������|�j���������j��������|�_��������||�_��������d�S�)N�d_tag)r�����description_class�hasattrrN���r����r ���� tgt_prefix�fullname�tgtfullnamer����tgtnode�lastname�tgtlastname�srcnoder����srcfullname�srclastname� __class__)r����dcs��� r���r����zUntypedDescription.resolve_type����s������� �X� '���r�7�#�#�� &����D�J��8�.�t�x�/@�@����x�}����8�,����x�}����8�,����8�,�������r���N)r����r����r����r���r����rl���r����r����r"���r���r���r����r��������s_�������������������/��/��/� �� �� ��������������r���r����c������������������������e�Zd�ZdZdZdZdZdZdZdZ dZ d��Zd��Zd*d�Z defd �Zd ��Zd��Zd+d �Zd��Zd��Zd��Zd��Zd��Zd*d�Zd��Zd,d�Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z!d��Z"d��Z#d��Z$d ��Z%d!��Z&d"��Z'd-d#�Z(d$��Z)d%��Z*d&��Z+d'��Z,d(��Z-d)��Z.dS�).�DescriptionNr"����otherr���Fc������������������.����|D��]} �|j���������j��������}|rU|�j�����������������������������|������������}|r/||u�r�3|����������������������d|�d�|j���������j��������t�����������������������||�j��������|<���|�j�����������������������������|j ��������g�������������}|j ��������}|�@t����������|������������dz���|k����r*|����������������������d||j ��������fz��|j���������j���������������������|���������������������|�������������|�j �����������������������������|���������������#�t����������$�r�Y���w�xY�wd�S�)NzDuplicate aspect z (may be correct in future).r���zMore than %d %r aspects.)r����definame� localviewr<���r0���r����DuplicateError�aspects_by_tagrQ���r�����d_max_occurr^���r$����aspectsr����)r����as_�asp�k�w�bn�ocs��� r����aspects_extendzDescription.aspects_extend��sN������� �� �C� ��G�$���� ,���*�*�1�-�-�A���3���8�8��%�� � � �XY�XY�XY�#[�#$�5�:�#1�3��3��3��),�D�N�1�%��(�3�3�C�I�r�B�B���_���>��2�w�w��{�R�'�'�� � �#=��� �A+��$+�,/�G�L�:��:��:�� � �#������#�#�C�(�(�(�(�� �� �� �� ��� ����/ �� s����.D�CD� D�Dc�����������������������|D�]N} �t����������|�||������������}|������������������������������������|����������������������|f��������������?#�t����������$�r�Y��Kw�xY�wd�S�r2���)r����r����r����r����)r����subjects�vr����s��� r����aspects_extend_by_subjectsz&Description.aspects_extend_by_subjects��s|�������� �� �A� �(��q�!�4�4���#�#�%�%�%��#�#�S�F�+�+�+�+�� �� �� �� ��� ���� �� s����;A� A�Ac������������������������|�|�} �|�j���������}|j��������|v�r(|����������������������d|j��������z��|j��������j���������������������|||j��������<���d�S�#�t ����������$�r�|�j�����������������������������|�������������Y�d�S�w�xY�w)NzDuplicate definition of %r)�tgtviewr����r0���r���r����AttributeErrorr�����deftgt)r����former����s��� r���r����zDescription.deftgt'��s��������=��E� /��l�G��� �G�+�+�� � �7� �,�-�.3�i�n�>��>��>�).�G�E�%�&�&�&�� ��� #�� #�� #��H�O�O�E�"�"�"�"�"�"� #���s����A �� $A2�1A2c������������������6������|�j���������j��������j��������|||fi�|��S�r2���)rF���r����r0����r���r.���r���r+����kwdss��� r���r0���zDescription.error5��s%������!�t�x�|�!�#�t�Y�?�?�$�?�?�?r���c������������������N�����|�j���������sd|�_���������|�������������������������������������d�S�d�S��Nr���)�is_lookuped�resolve_aspectsr����s��� r���r����zDescription.resolve_lookuped8��s7��������� #� �D��� � �"�"�"�"�"� #�� #r���c������������������.�����|��������������������������������������d�S�r2���)r����r����s��� r���r����zDescription.resolve_tgt=��s��������� � � � � r���r���c����������������������g�}|����������������������dd������������}|dv�rn|�j��������D�]+}|������������������������������������|���������������������|��������������,|dk����r5|�j��������D�]+}|������������������������������������|���������������������|��������������,|S�|f|z���}|�j��������D�]4}|j��������|v�r)|������������������������������������|���������������������|��������������5|S�)N� �_)r���rO���r���)r?����argsr����r$���r����r����)r���rN����tags�al�as��� r����find_aspectszDescription.find_aspects@��s������� ���k�k�#�s�#�#���,����Y�� �� ���"�"�$�$�$�� � �!������c�z�z����!��!�A��&�&�(�(�(��I�I�a�L�L�L�L�� ��v��}����� �� �A��w�$����"�"�$�$�$�� � �!������ r���c������������������������g�}|�j���������D�]+}|������������������������������������|���������������������|��������������,|�j��������D�]4}|j��������dv�r)|������������������������������������|���������������������|��������������5|S�)N) rO����seq�repeat�altr����� optionals�key_arg�draw�no_arg)r����r����r$���r����r����)r���r����r����s��� r����find_arg_aspectszDescription.find_arg_aspectsS��s������� ����� �� �A� ��� � � ��I�I�a�L�L�L�L���� �� �A��w��-��-��-��"�"�$�$�$�� � �!������ r���c������������������x�����g�}|�����������������������d������������D�]!}|j��������dv�r|���������������������|��������������!�"|S�)Nr���)� attribute�mapping�kind�either�kind_of� superkind�superkind_of)r����r����r$���)r����kasr����s��� r����find_kind_aspectszDescription.find_kind_aspects_��sQ���������$�$�S�)�)�� �� �C��y��-��-��-�� � �3������� r���c�����������������������|S�r2���r"���)r����descrss��� r����merge_policyzDescription.merge_policyi��s������� r���c������������������V�����|�j���������s!|�j���������|�j�����������������������������|������������S�|�S�r2���)r�����the_less_specific_descr�get_descr_for_aspect)r����aspects��� r���r����z Description.get_descr_for_aspectl��s1�������|�� M�� <� H��/�D�D�V�L�L�L��r���c������������������0����|�����������������������d������������}g�}|D�]{}|j��������dv�r$|���������������������t����������|�|��������������������������/|j��������dv�rC||�ur?t����������|�|������������}|�����������������������������������D�]}|���������������������||z������������������||S��Nr���) r����r����r�����operator�inplace_operator�reverse_operator�function_operator�delitem�getitem�setitem)r����r����� subkind_of)r����r����r$����beam�get_atom_beams)r���r�����aksr����r�����bs��� r���r��zDescription.get_atom_beamsq��s��������#�#�C�(�(������ &�� &�C��y��������� � �4��c�?�?�+�+�+�+���?�?�?�C�t�O�O���s�O�O���+�+�-�-��&��&�A��J�J�q�1�u�%�%�%�%��� r���c������������������������|�|�����������������������d������������}g�}|D�]U}|j��������dv�r|���������������������|��������������!|j��������dv�r+||�ur'|���������������������|�������������������������������������������������V|S�r����)r����r����r$���r3����get_atom_kinds)r���r����r��r����s��� r����get_aspects_kindzDescription.get_aspects_kind���s��������?��'�'��,�,�G����� 1�� 1�C��y��������� � �3�������?�?�?�C�t�O�O�� � �3�-�-�/�/�0�0�0��� r���c������������������Z�����|�����������������������|�g|����������������������d������������z���������������S�)Nr���)r��r����r����s��� r���r ��zDescription.get_atom_kinds���s+�������$�$�d�V�d�.?�.?��.D�.D�%D�E�E�Er���c�����������������������g�}|�����������������������d������������}|D�])}|���������������������|�������������������������������������������������*|S��N�example)r����r3����get_examples)r����get_all�examples�exs�exs��� r���r��zDescription.get_examples���sM����������� �*�*���� /�� /�B��O�O�B�O�O�-�-�.�.�.�.��r���c������������������$������|����������������������d������������r\��fd��������������������������������������D���������������}|s&�����������������������d��j��������j��������t ��������������������������j��������j��������j��������|��S���j��������j��������� ����������������������������������S�)Nr��c������������������N������g�|�]!}�j���������j�����������������������������|��������������"S�r"���)r ����RE�Single)�.0�xr���s��� �r���� <listcomp>z&Description.get_re.<locals>.<listcomp>���s+�������H�H�H�q�T�X�[�'�'��*�*�H�H�Hr���z+Test coverage error: no examples specified.) r<���r��r0���r����r���� CoverageErrorr ���r���Unionr��)r����opt�exress���` r����get_rezDescription.get_re���s���������7�7�>�"�"�� ,�H�H�H�H�D�4E�4E�4G�4G�H�H�H�E��� *�� � �H��8�=�(�*��*��*��%�4�8�;�$�e�,�,��8�;�%�%�d�+�+�+r���c������������������������g�}|D�]G��fd�|D���������������}|D�]}|�u�r�n-|�����������������������������������r�n� |������������������������������������H|S�)Nc������������������>������g�|�]}�����������������������|�������������|��S�r"���)�is_more_specific_than)r��r��r8���s��� �r���r��z8Description.get_most_specific_descrs.<locals>.<listcomp>���s,�������D�D�D���)@�)@��)C�)C�D�1�D�D�Dr���)r#��r$���)r���r�����ndsr��r8���s��� @r����get_most_specific_descrsz$Description.get_most_specific_descrs���s������������ �� �A�D�D�D�D�c�D�D�D�C��� �� ����6�6��E��*�*�1�-�-����E���� � �1� � � ��� r���c�����������������������|�j���������S�r2���)rF���r����s��� r����get_packagezDescription.get_package���s �������x�r���c������������������J�����|�j���������}||u�p|d�uo|���������������������|������������S�r2���)r����r#��)r���r8����rs��� r���r#��z!Description.is_more_specific_than���s0�������(���A�v�G�!�4�-�F�A�,C�,C�A�,F�,F�Gr���c������������������$�������fd����|�������������S�)Nc�������������������������|�����������������������d������������}|r>t����������|������������dk����sJ��|d���������j��������j��������j�������������������������������������������S�|�j��������dk����r��|�j��������������������S�d�S�)Nr���r���r���r����)r����r^���r���r���rO���rP���r����r����)�e�sa�finds��� �r���r.��z'Description.get_self_name.<locals>.find���sn�����������'�'�B��� 2��2�w�w�!�|�|�|�|��!�u�y�~�)�/�/�1�1�1��w�)�#�#��t�A�E�{�{�"��4r���r"���)r���r.��s��� @r���� get_self_namezDescription.get_self_name���s,������� �� �� �� �� ���t�D�z�z�r���c�����������������������|�����������������������d������������}|s|���������������������d|�j��������z���������������d�S�|D�]}|���������������������|��������������d�S�)N�descriptionz<NO DESCRIPTION OF %r>)r�����gen_textr�����gen_doc)r����outrc���r8���s��� r����gen_description_doczDescription.gen_description_doc���sh������ � � �}� -� -���� ��L�L�1�D�4D�D�E�E�E�E�E��� �� ��� � �#����� �� r���c�����������������������|�j���������S�r2����r����r����s��� r����get_id_namezDescription.get_id_name������������r���c�����������������������|�j���������S�r2���r7��r����s��� r���� get_link_namezDescription.get_link_name���r9��r���c�����������������������|�j���������S�r2����r����r����s��� r����get_local_namezDescription.get_local_name���r9��r���c�����������������������|�j���������S�r2���r7��r����s��� r���� get_test_namezDescription.get_test_name���r9��r���c�����������������������|�j���������S�r2���r7��r����s��� r����get_namezDescription.get_name���r9��r���c�����������������������|�����������������������d������������}|s|�j��������}n#|j��������j��������j�������������������������������������������}|S�)NrE���)r����r����r����r���rO���rP���)r����nrE���s��� r����get_NamezDescription.get_Name���sC���������f�%�%���� *��#�D�D��5�:�>�'�'�)�)�D��r���c������������������6�����|�j������������������������������|������������S�r2���)rF����get_descr_by_subjectr����s��� r���rG��z Description.get_descr_by_subject���s�������x�,�,�W�5�5�5r���c������������������v�����i�|�_���������g�|�_��������i�|�_��������|s!|����������������������|�j��������j���������������������d�S�d�S�r2���)r����r����r����r����r����)r���� only_varss��� r����init_localviewzDescription.init_localview���sI������������ ����� >��+�+�D�H�,<�=�=�=�=�=� >�� >r���c������������������������������������������������������������������j��������j��������r��fd���j��������j��������D�����������������_����������������������������������������������d�S�)Nc������������������D������g�|�]}�j������������������������������|��������������S�r"���)r����rG��)r��rO���r���s��� �r���r��z/Description.resolve_aspects.<locals>.<listcomp>���s>��������/��/��/�����6�6������/��/��/r���)rJ��r���r�����resolve_specialr����s���`r���r����zDescription.resolve_aspects���sg��������������8�=�� /�/��/��/��/� $�� �/��/��/�D�I��������r���c�����������������������d�S�r2���r"���r����s��� r���rM��zDescription.resolve_special���s�������r���c������������������x�����|�j���������j��������j�������������������������������������������}|�j��������rd|�j��������j��������z���|S�)NzNo children expected for %r)r���r���rO���rP���r����rN����r���rO���s��� r����get_the_one_argumentz Description.get_the_one_argument���s8�������h�m��%�%�'�'���<�� :�)�D�I�M�9�9�� r���c������������������*������g����fd��t����������|������������dk����r|d���������j��������dk����r|d���������S�|D�] }��|���������������}t������������������������}d|_��������||_��������dd���������������������d��|D���������������������������z��|_��������d|_��������|S�)Nc������������������������|�j���������dk����r$|������������������������������������D�] }��|��������������d�S�����������������������|��������������d�S�)Nr����)r����r����r$���)r�����k1�flatten�kss��� ��r���rU��z/Description.make_and_test_kind.<locals>.flatten��sY��������w�&� � ��-�-�/�/�� �� �B��G�B�K�K�K�K� �� ��� � �!�����r���r���r���r�����(%s)�&c�����������������������g�|�] }|j����������� S�r"���r7���r��r��s��� r���r��z2Description.make_and_test_kind.<locals>.<listcomp>���������+I�+I�+I�a�A�M�+I�+I�+Ir���)r^���r�����Kindr����ra���r����r����)r����kindsr����rU��rV��s��� @@r����make_and_test_kindzDescription.make_and_test_kind���s��������� �� �� �� �� �� �� �� ��J�J�!�O�O��a���&� 8� 8���8�O��� �� �A��G�A�J�J�J�J����F�F������� ��#�(�(�+I�+I�5�+I�+I�+I�"J�"J�K�� ��� ��r���c�����������������������t����������|������������dk����r|d���������j��������dv�r|d���������S�t������������������������}d|_��������||_��������dd���������������������d��|D���������������������������z��|_��������d|_��������d|_��������|S�) Nr���r����r����r����r����rW��rX��c�����������������������g�|�] }|j����������� S�r"���r7��rZ��s��� r���r��z-Description.make_and_kind.<locals>.<listcomp>��r[��r���T)r^���r����r\��r����ra���r����r�����is_synthetic�r���r]��r����s��� r���� make_and_kindzDescription.make_and_kind��s|��������J�J�!�O�O��a���1D� D� D���8�O��F�F������� ��#�(�(�+I�+I�5�+I�+I�+I�"J�"J�K�� ��� �����r���c������������������������t����������|������������dk����r|d���������S�t������������������������}d|_��������||_��������dd���������������������d��|D���������������������������z��|_��������d|_��������d|_��������|S�)Nr���r���r����rW���|c�����������������������g�|�] }|j����������� S�r"���r7��rZ��s��� r���r��z,Description.make_or_kind.<locals>.<listcomp>)��s������/M�/M�/M�!�� �/M�/M�/Mr���T)r^���� Superkindr����r����ra���r����r����rb��rc��s��� r����make_or_kindzDescription.make_or_kind"��sk�������u�:�:��?�?���8�O����A��A�G��A�I�"�c�h�h�/M�/M�u�/M�/M�/M�&N�&N�O�A�M� �A�M�!�A�N��Hr���r2���r����F�r���)/r����r����r����r�����d_sub�d_type�d_is_defr����rb��r����r����r����r����r����r����r0���r����r����r����r����r����r����r����r��r��r ��r��r ��r%��r'��r#��r/��r5��r8��r;��r>��r@��rB��rE��rG��rJ��r����rM��rQ��r^��rd��ri��r"���r���r���r����r��������sy��������������K��E� �F��H��K��L�"�� �D������6�����/��/��/��/��#�m��@��@��@��@�#��#��#� ������������& �� �� ���������������� �� �� ��������F��F��F�������� ,�� ,�� ,�����������H��H��H� �� �� ������ �� �� � �� �� � �� �� � �� �� � �� �� ������6��6��6�>��>��>��>������ �� �� �����������. �� �� � �� �� �� �� r���r����c�������������������������e�Zd�ZdZdZd��ZdS�)� Definitionr���� definitionc�����������������������|�j���������|_���������|j��������dk����r |�j��������|_��������n|j��������|�j��������k����rt����������d�������������|���������������������|�j���������������������d�S�)N�importzDifferent description tag)r����r�����ImportErrorr����r�����r���r���s��� r����export_aspectszDefinition.export_aspects3��s_��������� ��9�� � �� �C�I�I��y�D�J�&�&��"�"=�>�>�>����4�<�(�(�(�(�(r���N)r����r����r����rn��rm��rv��r"���r���r���rp��rp��/��s-���������������H� �F� )�� )�� )�� )�� )r���rp��c�������������������������e�Zd�ZdZdZd��ZdS�)�DescriptionDescription)�textr1��c������������������:�����|�j������������������������������|�������������d�S�r2���)r����� arg_accept)r���r4��s��� r���r3��zDescriptionDescription.gen_docC��s�����������$�$�$�$�$r���N)r����r����r����rl��r����r3��r"���r���r���rx��rx��?��s-���������������E��E�%��%��%��%��%r���rx��c�������������������������e�Zd�Zd��ZdS�)�Defaultc����������������������|�j���������j����������������������������������������������������������������d������������}|d���������}d���������������������|dd�����������������������}|���������������������d�������������|���������������������d�������������|���������������������d�������������|���������������������d�������������|������������������������������������|���������������������|�������������|������������������������������������|���������������������d�������������|���������������������|�������������|�j������������������������������|�������������|������������������������������������|���������������������d�������������d�S�) N� r���r����dl�dt�strongz Default: �dd) r����rO���rP����splitra����openr2���close�children_accept)r���r4���arglines�default�rests��� r���r3��zDefault.gen_docH��s ������<�#�)�)�+�+�1�1�$�7�7���1�+���y�y��!�"�"��&�&��������������������������[�!�!�!�� � �������W����� � ��������������T������$�$�S�)�)�)�� � ����� � �$�����r���N�r����r����r����r3��r"���r���r���r}��r}��G��s#����������������������r���r}��c�������������������������e�Zd�Zd��ZdS�)�DescriptionWithHeaderc�����������������������|�j���������j����������������������������������������������������������������d������������}|d���������}d���������������������|dd�����������������������}|���������������������d�������������|���������������������|�������������|���������������������d�������������|���������������������|�������������|�j������������������������������|�������������|� �����������������������������������|� �����������������������������������d�S�)Nr��r���r���r���r���) r����rO���rP���r���ra���r����gen_outer_dtr2��r���r���)r���r4��r����headerr���s��� r���r3��zDescriptionWithHeader.gen_doc[��s��������<�#�)�)�+�+�1�1�$�7�7���!����y�y��!�"�"��&�&������������� � � �����������T������$�$�S�)�)�)�� � ����� � �����r���Nr���r"���r���r���r���r���Z��s#����������������������r���r���c�������������������������e�Zd�ZdZdS�)�Comment�commentN)r����r����r����r����r"���r���r���r���r���i��s���������������E��Dr���r���c��������������������$�����e�Zd�ZdZd��Zd��Zd��ZdS�)�Either� with_argsc������������������"�����t����������|�������������gS�r2����r��r����s��� r���r��zEither.get_atom_beamsq��s�������T� � �|�r���c�����������������������|�gS�r2���r"���r����s��� r���r ��zEither.get_atom_kindst��� �������v� r���c������������������*�����|�������������������������������������S�r2���)r����r����s��� r���� get_alt_kindszEither.get_alt_kindsw��s�������%�%�'�'�'r���N)r����r����r����rm��r��r ��r���r"���r���r���r���r���n��sF�������������� �F�����������(��(��(��(��(r���r���c�������������������������e�Zd�ZdZd��Zd��ZdS�)�Import)�from� resolve_by�usingr����� conditionr1��r����constructorr�����methodr����r����r����r���r��r��r��r���r��c��������������������������d��_�����������j��������j�������������������������������j��������j����������j��������j����������j��������j��������f������������\������j��������j��������}����fd���j��������j��������D���������������}t����������|������������dk����r |d���������}n3t������������|t����������d��|D�����������������������������j��������j ��������������������}|j����������_����������j��������j ����������j��������j��������z�����_��������|��_�������������������������������d��������������|�������������������������������������������������������������j��������j�����������������������������������������������������������d�S�)Nr���c������������������t������g�|�]4\��}}�j������������������������������||�������������������������������������������������5S�r"���)rF���rH����get_descr_by_name)r��� from_name� from_noder���� using_name� using_nodes��� ���r���r��z&Import.resolve_tgt.<locals>.<listcomp>���sU��������@��@��@�(�9�i���h�%�%�i��;�;��� �J�7�7�@��@��@r���r���c�����������������������g�|�] }|j����������� S�r"���)r���rZ��s��� r���r��z&Import.resolve_tgt.<locals>.<listcomp>���s������1D�1D�1D�A�!�%�1D�1D�1Dr���)rI��)r����r���� imp_using_mapr<���r����r���� imp_fromsr^����Product�ProductSubject�imp_resolve_moder����r ���r����r����r����r����rJ��rv��r����r����r����)r����import_noderc���r8���r���r���s���` @@r���r����zImport.resolve_tgt���s^�����������!%��!7�!;�!;��H���� 1�4�8�=�A�"C��"C�� �J��h�m��@��@��@��@��@��@�,0�H�,>�@��@��@����r�7�7�a�<�<��1��A�A���b�.�1D�1D��1D�1D�1D�"E�"E���1�3��3�A���5����8�.�t�x�/@�@���'(��$����a��(�(�(� ��������'�'���(8�9�9�9���� � � � � r���c�����������������������d�S�r2���r"���r����s��� r���r����zImport.resolve_aspects�����������r���N)r����r����r����rl��r����r����r"���r���r���r���r���{��s9�������������� �E������0 �� �� �� �� r���r���c�������������������� �����e�Zd�Zd��Zd��Zd��ZdS�)r���c����������� �����������||�_���������|j��������|�_��������||�_��������||�_��������|j��������|�_��������|d���������j��������}|dd�����������D�]r}|j��������|urg|����������������������dd|j��������j���������d|j��������j���������d|d���������j��������j���������d|d���������j��������j���������d� z���dz���|j��������j����������������������s||�_��������||�_ ��������d�S�) Nr���r���z4Import error when importing from multiple packages: z Can not make a product of z (tgt = z) with z) z because of different targets.) r����r ���r����moderF���r����r0���r����r���rc���)r���r����rc���r���r���r����r8���s��� r���r���zProduct.__init__���s�����������7�������� ��7�����e�i���A�B�B��� '�� '�A��u�C���� � �R�R� �u�~�~�~�q�u�~�~�~�r�!�u�y�?Q�?Q�?Q�SU�VW�SX�S\�Se�Se�Se�g�g��=�=���5�:� '��'��'����������r���c������������������D�����|�j���������D�]}|���������������������|��������������d�S�r2���)rc���rv��)r���r���r8���s��� r���rv��zProduct.export_aspects���s4��������� "�� "�A� ���S�!�!�!�!� "�� "r���c������������������R�����|�j���������D�]}||u�s|���������������������|������������r�dS��dS�)NTF)rc���r#��)r���r8���r��s��� r���r#��zProduct.is_more_specific_than���s?��������� �� �A��A�v�v��0�0��3�3�v��t�t����ur���N)r����r����r����r���rv��r#��r"���r���r���r���r������sA�������������������&"��"��"���������r���r���c�������������������������e�Zd�Zd��ZdS�)rk���c������������������V�����||�_���������|�|�_��������|j��������|�_��������||�_��������||�_��������d�S�r2���r����r����s��� r���r���zPackageDescription.__init__���s+�������������7����������r���N�r����r����r����r���r"���r���r���rk���rk������s#����������������������r���rk���c�������������������������e�Zd�ZdZd��Zd��ZdS�)�ErrorDescriptionr0���c�����������������������||�_���������d�S�r2���)r�����r���r����s��� r���r���zErrorDescription.__init__���s ����������r���c�����������������������dS�)Nz<error>.<error>r"���r����s��� r���r8��zErrorDescription.get_id_name���s������ � r���N)r����r����r����r����r���r8��r"���r���r���r���r������s7���������������E������!��!��!��!��!r���r���c��������������������R�����e�Zd�ZdZd��Zd d�Zd��Zd d�Zd��Zd��Z d ��Z d ��Zd��Zd��Z dS�)�Package)�andr���r����documentrs��r�����macror����c������������������6����t����������|�j��������������������di}|�j��������g}t����������|�j�������������������������������������������������������D�]S}|�����������������������������������}|D�]:}t����������|������������|vr'd|t����������|������������<���|���������������������|��������������;�T|S�r����)�idr����r=���r����values�get_tgtdictsr$���)r����seen�tgtdicts�p�sds�sds��� r���r���zPackage.get_tgtdicts���s��������4�<� � �!�$���L�>���d�,�3�3�5�5�6�6�� (�� (�A��.�.�"�"�C��� (�� (���b�6�6��%�%�#$�D��B���L��O�O�B�'�'�'�� (���r���Nc����������� �����������|����������������������|�j��������j��������������������r|����������������������||������������S�|�}|���������������������d������������}|D�]t} �|j��������|���������}nO#�t����������$�rB�|sJ��|�j�����������������������������d|�d|� �����������������������������������d�|t������������������������Y�nw�xY�w|�������������������������������������u|S�)Nr:���zUndefined: � in �r+���)� startswithr ���r�����get_descr_by_tgt_namer���r�����KeyErrorr����r0���r8���UndefinedErrorr����)r���rE���r���r,���parts�parts��� r���r���zPackage.get_descr_by_name���s��������?�?�4�8�.�/�/�� =��-�-�d�G�<�<�<���� � �3������ !�� !�D� .��K��%������ .�� .�� .����������.2�d�d�A�M�M�O�O�O�O�D�g�,����.��.��.��.��.� .���� � ��� � � � ��s���� A � A B,�+B,c������������������ ����|j���������}|���������������������|�j��������dz���������������r2|t����������|�j��������������������dz���d����������������������������������������������}n|����������������������d|z��|j���������������������|����������������������||j��������������������S�)Nr:���r���z Undefined: %r)r����r���r����r^���rP���r0���r���r����r���r����rE���s��� r���rG��zPackage.get_descr_by_subject���s�����������?�?�4�+�C�/�0�0�� =���D�,�-�-�a�/�0�0�1�7�7�9�9�D�D��J�J���-�w�|�<�<�<��%�%�d�G�L�9�9�9r���c����������������������|�������������������������������������}g�}|D�]L}||v�rF||���������}|������������������������������������|���������������������d������������}|���������������������|��������������M|s|����������������������d|z��|t �����������������������|����������������������|������������}t����������|������������dk����rT|����������������������|������������}t����������|������������dk����r,|����������������������d|�dd��|D�����������������|t�����������������������|d���������S�)Nr���zNo definition of tgt %rr���zConflicting descriptions of r���c������������������&�����g�|�]}|j���������j����������S�r"���)r���r����)r��r8���s��� r���r��z1Package.get_descr_by_tgt_name.<locals>.<listcomp> ��s������:�:�:�a�1�5�>�:�:�:r���r���) r���r����r����r$���r0���r���r%��r^���r����r����)r���rE���r���r���r�����tgtdictr8���s��� r���r���zPackage.get_descr_by_tgt_name���s-������$�$�&�&������ !�� !�G��w����D�M���"�"�$�$�$��*�*�3�/�/��� � �a� � � ���� 6��J�J�0���$�n� 6�� 6�� 6��.�.�v�6�6���v�;�;��?�?��&�&�v�.�.�F��6�{�{�Q���� � � ��D�D�:�:�6�:�:�:�:�<��"�$��$��$� ��a�y�r���c�����������������������|�j���������j��������S�r2���)r���r���r����s��� r����get_filenamezPackage.get_filename��s �������x� � r���c�����������������������|�S�r2���r"���r����s��� r���r'��zPackage.get_package��s�������r���c�����������������������i�|�_���������d�S�r2���)r����r����s��� r���r����zPackage.resolve_tgt��s ����������r���c������������������<�����i�|�_���������|�������������������������������������d�S�r2���)r���rJ��r����s��� r���r����zPackage.resolve_aspects��s"������!#����������r���c�����������������������|�j������������������������������|������������}|�%|�j�����������������������������||������������}||�j���������|<���|S�r2���)r���r<���r����rH���)r���rE���r���rF���s��� r���rH���zPackage.import_package ��sF�������$�(�(��.�.���;��(�)�)�$��8�8�C�+.�D�"�4�(�� r���c�����������������������g�}|�j���������j��������D�]>}|j��������}|�j��������j�����������������������������||�������������}|���������������������|��������������?|S�r2���)r���r6���r���r ����Documentr���r$���)r���r6����docr���s��� r���r����zPackage.get_documents'��sY������� ��8�%�� "�� "�C��8�D��(�#�,�,�T�4�8�8�C����S�!�!�!�!��r���r2���)r����r����r����rl��r���r���rG��r���r���r'��r����r����rH���r����r"���r���r���r���r������s��������������� �E� �� �� ��������":��:��:��������.!��!��!�����������������������������r���r���c��������������������H�����e�Zd�ZdZd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��ZdS�)� Attribute) r����r���r1���description_with_headerr����r����r����r���r���c������������������R�����|�j���������|_���������|���������������������|�j���������������������d�S�r2���)r����r����r����ru��s��� r���rv��zAttribute.export_aspects5��s'��������� ����4�<�(�(�(�(�(r���c�����������������������|�j���������S�r2����r����r����s��� r���� get_attr_namezAttribute.get_attr_name9��r9��r���c�����������������������|�j���������S�r2���r���r����s��� r���rB��zAttribute.get_name<��r9��r���c������������������T�����|�������������������������������������}|����������������������|������������S�r2���)r����rd���r���r����s��� r����get_kindzAttribute.get_kind?��s'�������$�$�&�&���!�!�#�&�&�&r���c������������������������|�������������������������������������}|j��������dk����rB|�����������������������������������}t����������|������������dk����r |d���������}nt ����������d|�z���������������|j��������S�)Nr����r���r���z$Don't know how to name this kind, %r)r���r����r����r^���� ValueErrorr����)r���r����r����s��� r���� get_kind_namezAttribute.get_kind_nameC��sc�������M�M�O�O���7�i����%�%�'�'�C��3�x�x�1�}�}���F��� �!G�$�!N�O�O�O��}�r���c�����������������������|�����������������������|�j��������j��������������������������������������������������������d|�j��������j����������}|S��Nr:���)rG��r�����parentr;��r����)r���r����s��� r���r;��zAttribute.get_link_nameM��sG�������0�0��H�O����*�]�_�_�-��-�.2�h�.?�.?� A���r���c������������������T�����|�������������������������������������}|����������������������|������������S�r2���)r����r^��r���s��� r���� get_test_kindzAttribute.get_test_kindS��s'�������$�$�&�&���&�&�s�+�+�+r���c������������������X�����|�����������������������d������������o|�����������������������d�������������S�)Nr����r�����r����r����s��� r���� is_methodzAttribute.is_methodW��s1�������!�!�)�,�,��1��%�%�i�0�0�0� 2r���c������������������*�����|�������������������������������������S�r2���)r���r����s��� r����get_op_namezAttribute.get_op_name[��s�������!�!�#�#�#r���N) r����r����r����rl��rv��r���rB��r���r���r;��r���r���r���r"���r���r���r���r���1��s��������������� ?�E�)��)��)� �� �� � �� �� �'��'��'�����������,��,��,�2��2��2�$��$��$��$��$r���r���c�������������������������e�Zd�ZdZdZdS�)�KindOfr���r"���N�r����r����r����rm��rl��r"���r���r���r���r���_��s�������������� �F��E�E�Er���r���c�������������������������e�Zd�ZdZdZdS�)� SubkindOfr���)r1��Nr��r"���r���r���r��r��d��s�������������� �F��E�E�Er���r��c�������������������������e�Zd�ZdZd��Zd��ZdS�)r\��)r����r���r1��r���r���r��r����r���r����r����r����r���r���r��r��r��r��c������������������,�����|�����������������������d������������S�)Nr����r���r����s��� r����get_attributeszKind.get_attributess��s������� � ��-�-�-r���c������������������,�����|�����������������������d������������S�)Nr����r���r����s��� r����get_mappingszKind.get_mappingsv��s������� � ��+�+�+r���N)r����r����r����rl��r��r��r"���r���r���r\��r\��i��s9�������������� �E�.��.��.�,��,��,��,��,r���r\��c�������������������������e�Zd�ZdZd��ZdS�)rh��)r���r1��r��r����c�����������������������|�j���������S�r2���r=��r����s��� r���r>��zSuperkind.get_local_name}��r9��r���N)r����r����r����rl��r>��r"���r���r���rh��rh��z��s(��������������A�E� �� �� �� �� r���rh��c�������������������������e�Zd�ZdZdd�ZdS�)�SuperkindOfr���r���c����������� �������4����t��������������������������������|�|������������}t����������|������������|k�����ri|������������������������������������D�]T}||�u�r�|���������������������|���������������������|t����������|������������z ���������������������������t����������|������������|k����r�n�U|S�r2���)r����r��r^���r����r3���)r����enoughr���kas��� r���r��zSuperkindOf.get_examples���s��������+�+�D�&�9�9���x�=�=�6�!�!��,�,�.�.�� �� ����:�:���������s�8�}�}�0D� E� E�F�F�F��x�=�=�F�*�*��E��+��r���N)r���)r����r����r����rm��r��r"���r���r���r��r�����s-�������������� �F� �� �� �� �� �� r���r��c��������������������<�����e�Zd�ZdZdddddd�Zd��Zdd �Zd��Zd��Zd S�)�Example�r���r1��� in_context�'''�"""�)�]�})r��r���(�[�{c�����������������������|�j���������j��������S�r2���)r����ex_textr����s��� r����get_ex_textzExample.get_ex_text���s �������x��r���Fc�����������������������|�gS�r2���r"���)r���r��s��� r���r��zExample.get_examples���r���r���c�����������������������|�����������������������d������������}|sdS�|d���������j��������j��������j�������������������������������������������S�)Nr��r���r���)r����r����r���rO���rP���)r���r����s��� r����get_ctx_textzExample.get_ctx_text���s?����������-�-���� ��2��1�v�z��"�(�(�*�*�*r���c�����������������������|S�r2���r"����r���r��s��� r����get_use_textzExample.get_use_text���s�������r���Nrj��) r����r����r����rl���partabr��r��r!��r$��r"���r���r���r��r�����su��������������4�E������ ���F� �� �� ��������+��+��+���������r���r��c�������������������������e�Zd�ZdZdS�)� InContextr���N�r����r����r����r����r"���r���r���r'��r'���������������������K�K�Kr���r'��c�������������������������e�Zd�ZdZd��ZdS�)�Definesr���c������������������@�����d��|�����������������������d������������D���������������S�)Nc�����������������������g�|�] }|j����������� S�r"���r7��rZ��s��� r���r��z1Defines.get_defined_tgt_names.<locals>.<listcomp>���s������@�@�@�!�� �@�@�@r���rO���r���r����s��� r����get_defined_tgt_nameszDefines.get_defined_tgt_names���s$������@�@�t�'8�'8��'?�'?�@�@�@�@r���N)r����r����r����rm��r.��r"���r���r���r+��r+�����s-�������������� �F�A��A��A��A��Ar���r+��c�������������������������e�Zd�Zd��Zd��ZdS�)�Macroc������������������6�����|�j���������|_���������|�j��������|_��������d�S�r2���)r����r����ru��s��� r���rv��zMacro.export_aspects���s��������� ��l����r���c������������������n�����|�j���������j�����������������������������dd|�j��������j��������|�j��������j��������������������S�)N�blockr���)r ���rz����node_of_tacir����rR���r���)r����optionss��� r����usez Macro.use���s5�������x�!�.�.��R���.���0B�D��D�� Dr���N)r����r����r����rv��r6��r"���r���r���r0��r0�����s7��������������#��#��#�D��D��D��D��Dr���r0��c�������������������������e�Zd�ZdZdS�)�Selfr���Nr(��r"���r���r���r8��r8�����r)��r���r8��c��������������������F�����e�Zd�ZdZdZd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��ZdS�)�Mappingr����)r����rO���r����r���r1��r����equationr����r����r�����precondition� postconditionr�����returnsr���r����c����������� �����������|�����������������������i�������������}|�����������������������������������}|D��]+} �|�_||k����rYt����������|������������|k����rF|����������������������d|�j��������|d|dk����d�����������t����������|������������fz��|�j��������j���������������������n�|�Yt����������|������������|k�����rF|����������������������d|�j��������|d|dk����d�����������t����������|������������fz��|�j��������j���������������������nZ|�Xt����������|������������|k����rE|����������������������d|�j��������|d|dk����d�����������t����������|������������fz��|�j��������j�����������������������#�t����������$�r�Y���)w�xY�wd�S�)Nz,%s requires %d argument%s specified, got %d.r����r���z5%s requires at least %d argument%s specified, got %d.z4%s can take at most %d argument%s specified, got %d.)�get_args_re�sequnir^���r0���r����r���r���r����)r����min�max�re�xsr��s��� r����chk_num_argszMapping.chk_num_args���s������ � � �b� !� !�� �Y�Y�[�[���� �� �A� ��?�s�c�z�z�c�!�f�f��m�m��J�J�F� �J��S������^�S��V�V�JE��E��� �'��'��'��'� ��_��Q���#����J�J�O� �J��S������^�S��V�V�SE��E��� �'��'��'��'� ��_��Q���#����J�J�N� �J��S������^�S��V�V�RE��E��� �'��'��'����!�� �� �� ��� ����' �� s����DE� E�Ec�����������������������g�}|�����������������������d������������D�])}|���������������������t����������|j����������������������������������*|S�)Nr����)r����r3���r=���r����)r����akr����s��� r���� get_arg_kindszMapping.get_arg_kinds���sF������ ���"�"�6�*�*�� $�� $�A��I�I�d�1�6�l�l�#�#�#�#�� r���c�������������������������� �ddi}������������������������|������������}d} �|�����������������������������������}nl#���j��������j��������j��������$�rU�t����������d��j��������z���������������t����������d|z���������������|���������������������|������������}|�����������������������������������}Y�nw�xY�w����fd�|D���������������}|S�#�t����������$�r�g�cY�S�w�xY�w)Nr��Tr���z#Infinitely long args example for %sz;Limiting by expanding each Cleene closure 0 up to %d times.c������������������N������g�|�]!}t�����������t����������|����������������������������"S�r"���)�ArgsExample�tuple)r��r���mapnamer����top_kinds��� ���r���r��z-Mapping.get_args_examples.<locals>.<listcomp>���sI��������4��4��4�+,��$�D�%��+��+��X�'��'��4��4��4r���) r@��rA��r ���r��� InfiniteErrorr���r�����limitedr��)r���rN��rO��r��rD���coveragerE��r��s���``` r����get_args_exampleszMapping.get_args_examples���s�������� �!�4�(�C��!�!�#�&�&�B��H� !��Y�Y�[�[�����8�;�,�� !�� !�� !��;�d�>N�N�O�O�O��Q�T\�\�^��^��^��Z�Z��)�)���Y�Y�[�[���� !����4��4��4��4��4��4�02�4��4��4�H� ��O����� �� �� ��I�I�I� ���s2����B4��6��B4��A&B�B4��B�B4��4C�Cc�����������������������g�}|�������������������������������������D�]�}|j��������}|dk����r�|�����������������������������������}||v�r|���������������������||���������������������}nK|�����������������������������������}|s-|����������������������d|j��������j��������z��|j��������j ���������������������|d���������}|� ��������������������|���������������J��t����������|�t����������|������������|j ��������|j��������������������S�)NrO���ziTest coverage error: Can not create precondition for %r -- no examples specified for the argument above.r���)r����r����rB��� get_arg_valuer��r0���r����r����r���r���r$���rL��rM��rN��rO��) r���r�����match�arglistr����rS���rE���r����r��s ��� r����get_args_for_argszMapping.get_args_for_args��s����������&�&�(�(�� �� �A���A��E�z�z��z�z�|�|���5�=�=��*�*�5��;�7�7�A�A����)�)�B����� � ��I���LP���LX���Ld���d��E�J��������1��A����q�!�!�!�!�����4��w�����t�}�M�M�Mr���c�����������������������|�j���������j��������j��������}|������������������������������������D�]}||���������������������|������������z ��}�|S�r2����r ���r���Epsilonr����r ���r���r��rD��r����s��� r���r@��zMapping.get_args_re���D������ �X�[� ���&�&�(�(�� �� �A��!�(�(�3�-�-��B�B�� r���c������������������*�����|�������������������������������������S�r2����r����r����s��� r���� get_argumentszMapping.get_arguments%��s�������$�$�&�&�&r���c������������������f�����|�����������������������d��|����������������������d������������D���������������������������S�)Nc������������������6�����g�|�]}|��������������������������������������S�r"���)r���rZ��s��� r���r��z+Mapping.get_return_kind.<locals>.<listcomp>*��s ������"V�"V�"V�A�1�:�:�<�<�"V�"V�"Vr���r>��)rd��r����r����s��� r����get_return_kindzMapping.get_return_kind)��s3�������!�!�"V�"V��9J�9J�9�9U�9U�"V�"V�"V�W�W�Wr���c������������������f�����|�����������������������d��|����������������������d������������D���������������������������S�)Nc������������������6�����g�|�]}|��������������������������������������S�r"���)r���rZ��s��� r���r��z0Mapping.get_return_test_kind.<locals>.<listcomp>-��s"������'`�'`�'`�a����(9�(9�'`�'`�'`r���r>��)r^��r����r����s��� r����get_return_test_kindzMapping.get_return_test_kind,��s4�������&�&�'`�'`�4�CT�CT�U^�C_�C_�'`�'`�'`�a�a�ar���N) r����r����r����rm��rl��rF��rI��rS��rX��r@��r`��rc��rf��r"���r���r���r:��r:�����s��������������� �F� �E������2����������0N��N��N�0�����'��'��'�X��X��X�b��b��b��b��br���r:��c��������������������>�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z d S�) rL��c������������������f������||�_���������||�_���������|�_��������||�_���������fd�|D���������������|�_��������d�S�)Nc������������������&������g�|�] }��|��������������S�r"���r"���)r��r��rN��s��� �r���r��z(ArgsExample.__init__.<locals>.<listcomp>6��s!�������-�-�-�A�W�W�Q�Z�Z�-�-�-r���)r�����egsrN��rO���negs)r���r����rj��rN��rO��s��� ` r���r���zArgsExample.__init__1��s>���������������� �� �-�-�-�-��-�-�-�� � � r���c������������������6�����d����������������������|�j��������������������S�)NrY���)ra���rk��r����s��� r����__str__zArgsExample.__str__8��s�������y�y���#�#�#r���c������������������������d}|�j��������������������������������������������D�]N}|j��������}|dk����r(|�����������������������������������|k����r|�j��������|���������c�S�nt����������d|z���������������|dz ��}�Od�S�)Nr���rO���zNo argument matches: %rr���)r����r����r����rB��rj���ConditionError)r���rE����ir����rS���s��� r���rU��zArgsExample.get_arg_value;��s������� ����.�.�0�0�� �� �A���A��E�z�z��:�:�<�<�4�'�'��8�A�;�&�&�&��(��%�%>��%E�F�F�F� ��F�A�A� �� r���c������������������6�����|�j������������������������������d������������S��Nr<���r����r����r����s��� r����get_preconditionszArgsExample.get_preconditionsF��s�������|�(�(��8�8�8r���c������������������6�����|�j������������������������������d������������S��Nr=��rs��r����s��� r����get_postconditionszArgsExample.get_postconditionsI��s�������|�(�(��9�9�9r���c�����������������������|�������������������������������������}|sg�S�|�j��������}|�j��������}|���������������������d������������}|r�|���������������������d������������D�]�}|���������������������d������������D�]�}|���������������������d������������}|r�|����������������������|���������������������d������������������������}|�=|���������������������|�|������������}t ����������|�����������������������������������|������������gc�c�S�����d�S�g�S�)Nr<��r����r����r=��)rt��rO��r����r�����match_torX���SetUpr���) r����presr�����mapr�����m�mprerV��r����s ��� r����get_setups_for_preconditionsz(ArgsExample.get_setups_for_preconditionsL��s������%�%�'�'���� ��I��}���l������/�/���� ��&�&�{�3�3�� �� ����� �2�2�����A��>�>�.�9�9�D���!� � �M�M�!�.�.��*I�*I�J�J�E��(� �2�2�4��?�?�� %�a�o�o�&7�&7�� >� >�?�?�?�?�?�?��)�����t�� r���c�����������������������d�S�r2���r"���)r���r����s��� r���� match_to_kindzArgsExample.match_to_kindi��r���r���c������������������R����i�}|�������������������������������������D�]�}|D�]�}|j��������|j��������k����rot����������|j��������������������t����������|j��������������������k����r�=i�}t ����������|j��������|j��������������������D�]\��}}||v�r�n|||<����|���������������������|��������������n���d�S���d|vsJ��|S�)N�,)rt���cond_idr^���� arg_names�ziprv���)r����postsrV���pre�pos�updr����r��s��� r���ry��zArgsExample.match_tol��s����������)�)�+�+�� �� �C��� �� ���;�#�+�-�-��3�=�)�)�S���-?�-?�?�?� ��C� #�C�M�3�=� A� A�������1���:�:�!�E�!"��A������S�)�)�)�����t�t�����%������r���N)r����r����r����r���rm��rU��rt��rw��r��r���ry��r"���r���r���rL��rL��0��s���������������.��.��.�$��$��$� �� �� �9��9��9�:��:��:������: �� �� ���������r���rL��c�������������������� �����e�Zd�Zd��Zd��Zd��ZdS�)rz��c������������������"�����||�_���������||�_��������d�S�r2���)rE���r����)r���rE���r����s��� r���r���zSetUp.__init__���s�������� ��� � � r���c�����������������������|�j���������S�r2����rE���r����s��� r���rB��zSetUp.get_name���� �������y�r���c�����������������������|�j���������S�r2���)r����r����s��� r����get_argszSetUp.get_args���r���r���N)r����r����r����r���rB��r���r"���r���r���rz��rz�����sA��������������������������������r���rz��c��������������������&�����e�Zd�ZdZdZdZd��Zd��ZdS�)�Operatorr���r����) rO���r���r1��r���r;��r=��r<��r���r>��c������������������H�����|�j���������j��������j�������������������������������������������S�r2����r���r���rO���rP���r����s��� r���r���zOperator.get_op_name�����������x�}� �&�&�(�(�(r���c������������������2�����|�����������������������dd�������������d�S�r�����rF��r����s��� r���rM��zOperator.resolve_special�������������!�Q�����r���N)r����r����r����rn��rm��rl��r���rM��r"���r���r���r���r������sC���������������H� �F� "�E� )��)��)� �� �� �� �� r���r���c�������������������������e�Zd�ZdS�)�ReverseOperatorN�r����r����r����r"���r���r���r���r����������������������Dr���r���c�������������������������e�Zd�Zd��ZdS�)�FunctionOperatorc������������������2�����|�����������������������dd�������������d�S�r ���r���r����s��� r���rM��z FunctionOperator.resolve_special���r���r���N�r����r����r����rM��r"���r���r���r���r������s#�������������� �� �� �� �� r���r���c�������������������������e�Zd�ZdS�)�InplaceOperatorNr���r"���r���r���r���r������r���r���r���c��������������������"�����e�Zd�ZdZdZd��Zd��ZdS�)�SetItemr����)rO���r���r1��r���r;��r=��r<��r���c�����������������������dS�)Nz[]r"���r����s��� r���r���zSetItem.get_op_name�����������tr���c������������������2�����|�����������������������dd��������������d�S��N����r���r����s��� r���rM��zSetItem.resolve_special�������������!�T�"�"�"�"�"r���N)r����r����r����rm��rl��r���rM��r"���r���r���r���r������s>�������������� �F� �E� �����#��#��#��#��#r���r���c�������������������������e�Zd�Zd��ZdS�)�DelItemc������������������2�����|�����������������������dd��������������d�S�r����r���r����s��� r���rM��zDelItem.resolve_special���r���r���Nr���r"���r���r���r���r�������#��������������#��#��#��#��#r���r���c��������������������(�����e�Zd�Zej��������dz���Zd��ZdS�)�GetItem)r>��c������������������2�����|�����������������������dd��������������d�S�r����r���r����s��� r���rM��zGetItem.resolve_special���r���r���N)r����r����r����r���rl��rM��r"���r���r���r���r������s/���������������M�M�)�E�#��#��#��#��#r���r���c��������������������8�����e�Zd�ZdZdZd��Zd��Z�ee������������ZdS�)� Conditionr���)r���rO���r���r1���python_codec�����������������������g�}|�����������������������d������������D�]A}|j��������dv�r6|���������������������|j��������j��������j���������������������������������������������������������B|S�)Nr���rP��)r����r����r$���r���r���rO���rP���)r����anr����s��� r���� get_arg_nameszCondition.get_arg_names���s[������ ���"�"�3�'�'�� 2�� 2�A��w�/�)�)�� � �!�%�*�.�.�.�0�0�1�1�1��� r���c�����������������������|�j���������j��������}|S�r2���)r���r����)r����dns��� r����get_def_namezCondition.get_def_name���s������ �X� ��� r���N) r����r����r����rn��rl��r���r����property�def_namer"���r���r���r���r������sG���������������H�D�E�������������x��%�%�H�H�Hr���r���c�������������������������e�Zd�ZdZdS�)� PythonCoder��N�r����r����r����rl��r"���r���r���r���r������s��������������4�E�E�Er���r���c��������������������@�����e�Zd�ZdZd��Zd��Z�ee������������Zd��Zd��Z dS�)�ConditionRef�r���r1��c������������������f����� �|�j���������S�#�t����������$�r�t�������������������������������|�������������cY�S�w�xY�wr2���)� cond_exprr����r�����__repr__r����s��� r���r���zConditionRef.__repr__���sD������ .��>�!���� .�� .�� .��'�'��-�-�-�-�-� .���s���� ��$0�0c������������������D�����|�j���������j��������}|�j��������rd|z���}||�_��������|S�)N�not )�cond_definitionr�����is_notr���)r���r���s��� r����get_cond_idzConditionRef.get_cond_id���s-�������&�2���;�� '��w�&�G�����r���c�����������������������|�j���������S�r2���)r���r����s��� r����get_definitionzConditionRef.get_definition���s�������#�#r���c������������������(����|�j���������j��������}|�j�����������������������������|������������|�_��������|j��������j��������dz���|j��������z���|�_��������|�j���������j��������j��������� ����������������������������������|�_ ��������|�j���������j��������|�_��������|�j���������j��������|�_��������d�S�r���) r���r���r����rG��r���r����� cond_doc_namer���rO���rP���r���r���r���)r����cond_defs��� r���rM��zConditionRef.resolve_special���ss�������8�+��#�x�<�<�X�F�F���%�_�5��;�h�>O�O������*�0�0�2�2�����+����h�o����r���N) r����r����r����rl��r���r���r���r���r���rM��r"���r���r���r���r������sg��������������'�E�.��.��.���������{�+�+�G�$��$��$�&��&��&��&��&r���r���c�������������������������e�Zd�Zd�ZdS�)�PreconditionN�r����r����r�����doc_namer"���r���r���r���r������s���������������H�H�Hr���r���c�������������������������e�Zd�Zd�ZdS�)� PostconditionNr���r"���r���r���r���r������s���������������H�H�Hr���r���c�������������������������e�Zd�Zd��ZdS�)�PostcondCasec������������������6�����|�t�����������_��������|t�����������_��������d�S�r2���)r����postcond� variables)r���r���s��� r���r���zPostcondCase.__init__��s������ �� �"����r���Nr���r"���r���r���r���r�����s#��������������#��#��#��#��#r���r���c�������������������������e�Zd�ZdZdZdS�)�Constructorr���r���Nr��r"���r���r���r���r�����s�������������� �F�'�E�E�Er���r���c�������������������������e�Zd�ZdZdS�)�Equation)r���r1��r<��r=��Nr���r"���r���r���r���r��� ��s��������������G�E�E�Er���r���c�������������������������e�Zd�ZdZdZd��ZdS�)�Argsr���)r���r1��r����c�����������������������|�j���������j��������j��������}|������������������������������������D�]}||���������������������|������������z ��}�|S�r2���rZ��r\��s��� r���r ��zArgs.get_re��r]��r���N)r����r����r����rm��rl��r ��r"���r���r���r���r�����s-�������������� �F�5�E���������r���r���c�������������������������e�Zd�Zd��ZdS�)�NoArgc������������������$�����|�j���������j��������j��������S�r2���)r ���r��r[��)r���r��s��� r���r ��zNoArg.get_re��s�������x�{�"�"r���N)r����r����r����r ��r"���r���r���r���r�����r���r���r���c��������������������,�����e�Zd�ZdZd��Zd��Zd��Zdd�ZdS�) �Arg)r���r���r1��r����rE���c������������������P�����|�����������������������|������������������������������������������������S�r2���)ri��r����r����s��� r���r���zArg.get_kind$��s"������� � ��!7�!7�!9�!9�:�:�:r���c������������������N����� �|�������������������������������������S�#�t����������$�r�Y�dS�w�xY�w�N�?)�get_arg_namer����r����s��� r���rB��zArg.get_name'��s;������ ��$�$�&�&�&���� �� �� ��3�3� ���s������ $�$c�����������������������|�j���������j��������S�r2���)r����specified_namer����s��� r���r���zArg.get_arg_name-��s �������x�&�&r���Fc������������������ ����g�}|�����������������������d������������}|D�])}|���������������������|�������������������������������������������������*|r|r;|������������������������������������}|���������������������|������������������������������������������������|S�r��)r����r3���r��r���)r���r��r��r��r��r����s��� r���r��zArg.get_examples0��s������������ �*�*���� /�� /�B��O�O�B�O�O�-�-�.�.�.�.��� .�g�� .�� � ���A��O�O�A�N�N�,�,�-�-�-��r���Nrj��)r����r����r����rl��r���rB��r���r��r"���r���r���r���r���!��sZ��������������K�E�;��;��;������'��'��'�����������r���r���c��������������������&�����e�Zd�Zd��Zd��Zd��Zd��ZdS�)�KeyArgEGc������������������"�����||�_���������||�_��������d�S�r2���)rE����eg)r���rE���r���s��� r���r���zKeyArgEG.__init__<��s�������� �����r���c������������������4�����|�j��������������������������������������������S�r2���)r���r��r����s��� r���r��zKeyArgEG.get_ex_text@��s�������w�"�"�$�$�$r���c������������������4�����|�j��������������������������������������������S�r2���)r���r!��r����s��� r���r!��zKeyArgEG.get_ctx_textC��s�������w�#�#�%�%�%r���c�����������������������|�j����������d|��S�)N�=r���r#��s��� r���r$��zKeyArgEG.get_use_textF��s�������)�)�)�Q�Q�'�'r���N)r����r����r����r���r��r!��r$��r"���r���r���r���r���;��sP�������������������%��%��%�&��&��&�(��(��(��(��(r���r���c�������������������������e�Zd�Zdd�ZdS�)�KeyArgFc������������������z������|���������������������������������������fd�t�������������������������������|�|������������D���������������S�)Nc������������������0������g�|�]}t�����������|��������������S�r"���)r���)r��r���rE���s��� �r���r��z'KeyArg.get_examples.<locals>.<listcomp>Q��s#�������M�M�M�r���r�"�"�M�M�Mr���)r���r���r��)r���r��rE���s��� @r���r��zKeyArg.get_examplesO��s>�������� � �"�"��M�M�M�M�S�-=�-=�d�G�-L�-L�M�M�M�Mr���Nrj��)r����r����r����r��r"���r���r���r���r���J��s.�������������� N��N��N��N��N��Nr���r���c�������������������������e�Zd�ZdZd��ZdS�)�Draw)r���r1��r����r����c�����������������������|�j���������j��������j��������}|������������������������������������D�]#}|�|���������������������|������������d������������z ��}�$|S�r���rZ��r\��s��� r���r ��zDraw.get_reW��sN������ �X�[� ���&�&�(�(�� %�� %�A��-�!�(�(�3�-�-��$�$�$�B�B�� r���N)r����r����r����rl��r ��r"���r���r���r���r���T��s(��������������:�E���������r���r���c�������������������������e�Zd�ZdZdZd��ZdS�)� Optionals)rO���r����r����r���r����r���c������������������P�������������fd������������������������������������������������������S�)Nc������������������������|�s�j���������j��������j��������S��|�d���������������������������������������������|�dd�����������������������z���d������������S�)Nr���r���r���)r ���r��r[��r ��)r����r���opt_rar���s��� ���r���r��z Optionals.get_re.<locals>.opt_rac��sQ��������� +��x�{�*�*�@�G�A�J�%�%�c�*�*�V�V�G�A�B�B�K�-@�-@�@�#�F�F�Fr���r_��)r���r��r��s���``@r���r ��zOptionals.get_reb��sM��������� G�� G�� G�� G�� G�� G�� G���v�d�+�+�-�-�.�.�.r���N�r����r����r����rl��rm��r ��r"���r���r���r���r���^��s-��������������:�E� �F�/��/��/��/��/r���r���c�������������������������e�Zd�ZdZd��Zd��ZdS�)�Repeat)r����rO���r����r���r1��c������������������H�����|�j���������j��������j�������������������������������������������S�r2���r���r����s��� r����get_argzRepeat.get_argm��r���r���c������������������2����|�������������������������������������}|s |����������������������d|�j��������j���������������������|d������������������������������|������������}|dd�����������D�]}||���������������������|������������z ��}�|������������������������������������}d}||v�r�|���������������������|������������}t����������|������������dk����r#|����������������������d|z��|�j��������j���������������������d��|D���������������\��}} �t����������|������������}n0#�t����������$�r#�|����������������������d|�j��������j���������������������Y�nw�xY�w| d k����rA �t����������| ������������} nt#�t����������$�r#�|����������������������d |�j��������j���������������������Y�nHw�xY�wnC �t����������|������������}n0#�t����������$�r#�|����������������������d|�j��������j���������������������Y�nw�xY�w|} |dk�����s| d k����r&| dk�����r |����������������������d|�j��������j���������������������| d k����r#�|d ������������} t����������|������������D�]}|| z���} �n�| |k�����r |����������������������d |�j��������j���������������������|�j��������j��������j ��������}t����������|������������D�]}||z ��}�|�j��������j��������j ��������}t����������|| ������������D�]}�||z���d������������}�||z���} | S�)NzNo argument aspects.r���r���z..r���zMore than one %r in argument.c������������������6�����g�|�]}|��������������������������������������S�r"����rP���rZ��s��� r���r��z!Repeat.get_re.<locals>.<listcomp>���s ������.�.�.�A�a�g�g�i�i�.�.�.r���zExpected int in lower bound.r���z!Expected int or * in upper bound.z-Expected int, int..int or int..* in argument.z'Expected non-negative repetition count.z$Expected upper bound >= lower bound.r���)r����r0���r���r���r ��r��r���r^����intr����ranger ���r��r[��) r���r��r����rD��r����rO���rB���r�����lo�hi�resrp��r��s ��� r���r ��z Repeat.get_rep��s������#�#�%�%���� >��J�J�-�t�x�}�=�=�=� ��V�]�]�3� � ���Q�R�R��� �� �A��!�(�(�3�-�-��B�B��l�l�n�n�����#�:�:��9�9�S�>�>�D��4�y�y�A�~�~�� � �:��� $�� �/��/��/�.�.��.�.�.�F�B�� J���W�W������ J�� J�� J�� � �9�4�8�=�I�I�I�I�I� J�����S�y�y�.��R���B�B��!��.��.��.��J�J�B�#�x�}�.��.��.��.��.�.������ T���X�X������ T�� T�� T�� � �C�T�X�]�T��T��T��T��T� T������B� ��6�6�b�C�i�i�B��F�F��J�J�@��x�}� &�� &�� &����9�9��"�S�'�'�C��2�Y�Y�� �� ���3�h��� ���B�w�w�� � �A��8�=�*��*��*�����#�A��2�Y�Y�� �� ���R�������#�A��2�r�]�]�� "�� "���R�!�V�S�M�M����a�%�C�� s6����,C<��<*D)�(D)�3E��*E0�/E0�5F��*F2�1F2N)r����r����r����rl��r��r ��r"���r���r���r��r��j��s7��������������<�E�)��)��)�8��8��8��8��8r���r��c��������������������&�����e�Zd�ZdZedz ��ZdZd��ZdS�)�Seq)rO���r���r1��r����)r����r���c�����������������������|�j���������j��������j��������}|������������������������������������D�]}||���������������������|������������z ��}�|S�r2���rZ��r\��s��� r���r ��z Seq.get_re���r]��r���Nr��r"���r���r���r��r�����s7��������������;�E� �]��E� �F���������r���r��c�������������������������e�Zd�ZdZdZd��ZdS�)�Alt)rO���r���� descriptonr����r����r����r���c������������������������|�������������������������������������}|s |����������������������d|�j��������j���������������������|d������������������������������|������������}|dd�����������D�]}||���������������������|������������z��}�|S�)NzNo alternatives.r���r���)r����r0���r���r���r ��)r���r��r����rD��r����s��� r���r ��z Alt.get_re���s{�������#�#�%�%���� :��J�J�)�4�8�=�9�9�9� ��V�]�]�3� � ���Q�R�R��� �� �A��!�(�(�3�-�-��B�B�� r���Nr��r"���r���r���r��r�����s-��������������J�E� �F���������r���r��c��������������������"�����e�Zd�ZdZdZd��Zd��ZdS�)�Returns)r����r���r1��r���r����r����r���� with_opt_argsc������������������P�����|�����������������������|������������������������������������������������S�r2���)rd��r����r����s��� r���r���zReturns.get_kind���s"�������!�!�$�"8�"8�":�":�;�;�;r���c������������������P�����|�����������������������|������������������������������������������������S�r2���)r^��r����r����s��� r���r���zReturns.get_test_kind���s"�������&�&�t�'=�'=�'?�'?�@�@�@r���N)r����r����r����rl��rm��r���r���r"���r���r���r��r�����sC�������������� ,�E� �F�<��<��<�A��A��A��A��Ar���r��c������������������d�����g�}|�D�]*}|����������������������|���������������������|��������������������������+|S�r2���)r3���r����)r����rN���r�����os��� r����find_aspects_inseqr�����s<������ �C� ��(��(��� � �1�>�>�#�&�&�'�'�'�'��Jr���c�������������������������e�Zd�Zd��Zd��ZdS�)�Beamc������������������V�����|d���������|�_���������|d���������|�_��������||�_��������||�_��������d�S�)Nr������)r���r�����k_tag�objects)r���r$��r%��s��� r���r���z Beam.__init__���s*�������1�:����2�;����� �����r���c������������������"�����t����������|�|������������S�r2���)�compose)r���r����s��� r����__add__zBeam.__add__���s�������t�U�#�#�#r���N)r����r����r����r���r(��r"���r���r���r!��r!�����s2�������������������$��$��$��$��$r���r!��c�������������������������e�Zd�ZdS�)�KindBeamNr���r"���r���r���r*��r*�����r���r���r*��c�������������������������e�Zd�ZdS�)�AtomKindBeamNr���r"���r���r���r,��r,�����r���r���r,��c�������������������������e�Zd�ZdS�)�KindMappingBeamNr���r"���r���r���r.��r.�����r���r���r.��c��������������������R�����e�Zd�ZdZdZd��Zd��Zd��Zd��Zd��Z d��Z d��Zd ��Zd ��Z d��ZdS�) � KindOpBeamr���c������������������F�����t����������|������������������������������������d������������S�)Nr;���r��� get_op_seqr����s��� r����find_equationszKindOpBeam.find_equations���s������!�$�/�/�"3�"3�Z�@�@�@r���c������������������F�����t����������|������������������������������������d������������S�rv��r2��r����s��� r����find_postconditionszKindOpBeam.find_postconditions���s������!�$�/�/�"3�"3�_�E�E�Er���c������������������F�����t����������|������������������������������������d������������S�rr��r2��r����s��� r����find_preconditionszKindOpBeam.find_preconditions���s������!�$�/�/�"3�"3�^�D�D�Dr���c������������������l�����|�j���������d���������}|���������������������������������������������������������||������������S�r ���)r%��� get_the_oprS��)r���rN��rO��s��� r���rS��zKindOpBeam.get_args_examples���s-�������<��?����� � �2�2�7�H�E�E�Er���c������������������J�����|�j���������|�j����������������������������������������������������S�r2���)r%��� op_name_indexr8��r����s��� r����get_op_id_namezKindOpBeam.get_op_id_name����������|�D�.�/�;�;�=�=�=r���c������������������J�����|�j���������|�j����������������������������������������������������S�r2���)r%��r<��r���r����s��� r���r���zKindOpBeam.get_op_name��r>��r���c������������������*�����|�j���������|�j��������d�����������S�r2����r%���op_indexr����s��� r���r3��zKindOpBeam.get_op_seq ��s�������|�D�M�N�N�+�+r���c������������������N�����|������������������������������������������������������������������������S�r2���)r:��r/��r����s��� r���r/��zKindOpBeam.get_self_name ��s��������� � �.�.�0�0�0r���c������������������&�����|�j���������|�j�����������������S�r2���rA��r����s��� r���r:��zKindOpBeam.get_the_op��s�������|�D�M�*�*r���c������������������N�����|������������������������������������������������������������������������S�r2���)r:��rf��r����s��� r���rf��zKindOpBeam.get_return_test_kind��s��������� � �5�5�7�7�7r���N)r����r����r����rB��r<��r4��r6��r8��rS��r=��r���r3��r/��r:��rf��r"���r���r���r0��r0�����s����������������H��M�A��A��A�F��F��F�E��E��E�F��F��F�>��>��>�>��>��>�,��,��,�1��1��1�+��+��+�8��8��8��8��8r���r0��c�������������������������e�Zd�Zd��ZdS�)�KindAttributeBeamc�����������������������J��r2���r"���r����s��� r���r:��zKindAttributeBeam.get_the_op��s�������r���N)r����r����r����r:��r"���r���r���rG��rG����s#����������������������r���rG��c�������������������������e�Zd�ZdZdS�)�KindAttributeMappingBeamr���N)r����r����r����rB��r"���r���r���rJ��rJ����s���������������H�H�Hr���rJ��c�������������������������e�Zd�Zd��ZdS�)r.��c�����������������������dS�)Nz()r"���r����s��� r���r���zKindMappingBeam.get_op_name!��r���r���N)r����r����r����r���r"���r���r���r.��r.�� ��s#����������������������r���c�������������������������e�Zd�ZdZdZdS�)� KOKOpBeamr���N)r����r����r����rB��r<��r"���r���r���rN��rN��%��s���������������H��M�M�Mr���rN��c�������������������$�����t����������|�dd�������������S�r���r���)r%��s��� r����subkind_of_kindrP��*����������������r���c�����������������������|�j���������|j��������urd|�j����������d|j�����������|�j��������|j��������dd�����������z���}t����������|��S�)NzComposition error, tgt z is not src r���)r����r���r%��r��)r����r��r%��s��� r���r'��r'��.��sI�������u�A�E����;<�5�5�5�!�%�%�H�H��i�!�)�A�B�B�-�'�G���>�r���c������������������8�����t����������|d���������g|dd������������R���S�)Nr�������r����r$��r%��s��� r���� remove_1_2rV��6��s$��������� �)�W�Q�R�R�[�)�)�)�)r���c������������������$�����t����������|dd�������������S�r����r���rU��s��� r����remove_0rX��:��rQ��r���)r����r����)r����r����)r����r����)r����r����r����r����)r����r����r����r���)r����r����r����r����)r����r����r����r����)r����r����r����r����)r����r����r����r����)r����r����r����r��)r����r����r����r��)r����r����r����r��)r����r����)r����)r����r����)r����r����r����)r����r����)r����r����r����r����r����)r����r����r����)r����r����)r����r���)r����r��)r����r��)r����r����r`��)r����r����r����r����)r����r����)r����r����)r����r����)r����r��)r����r��)r����r��r����r����)r����r��r����r���)r����r��r����r��)r����r��r����r��)r����r��r����r����)r����r��r����r����)r����r��r����r����)r����r��r����r����)r����r��r����r��)r����r����)r����r����r����)r����r����r���)r����r����r��)r����r����r��)r����r����r����)r����r����r����)r����r����r����)r����r����r��)r����r����r����)r��r����) )r��r����r����)r��r����r���)r��r����r��)r��r����r��)r��r����r����)r��r����r����)r��r����r����)r��r����r����)r��r����r��c�������������������`�����t����������d��|�D���������������������������}t����������|���������}�||g|��R���S�)Nc�����������������������g�|�] }|j����������� S�r"���)r����rZ��s��� r���r��zbeam.<locals>.<listcomp>���s������,�,�,�q�1�7�,�,�,r���)rM��� beam_table)r%��r$���Cs��� r���r��r����s@�������,�,�G�,�,�,�-�-�E��5��A��1�U��W����r���c�������������������������e�Zd�Zd��ZdS�)r���c������������������b�����||�_���������dd���������������������d��|D���������������������������z��|�_��������d�S�)NrW��r���c�����������������������g�|�] }|j����������� S�r"����r����rZ��s��� r���r��z+ProductSubject.__init__.<locals>.<listcomp>���s������*H�*H�*H�!�1�:�*H�*H�*Hr���)r����ra���r����)r���r����s��� r���r���zProductSubject.__init__���s4������ �� �����*H�*H�x�*H�*H�*H�!I�!I�I�� � � r���Nr���r"���r���r���r���r������s(��������������J��J��J��J��Jr���r���c������������������������e�Zd�ZdZdZd��Zd��Zd��Zd��Zd��Z d��Z d+d �Zd ��Zd��Z d+d�Zd ��Zdefd�Zd��Zd,d�Zd,d�Zd��Zd��Zd��Zd��Zd+d�Zd��Zd��Zd��Zd��Zd-d�Zd��Zd��Z d ��Z!d!��Z"d"��Z#d#��Z$d$��Z%d%��Z&d&��Z'd'��Z(d(��Z)d)��Z*d*��Z+dS�).�Subjectr"���Nc����������������������||�_���������|j��������|�_��������|�j��������j��������|�_��������||�_��������|�j��������j��������|�_��������||�_��������g�|�_��������i�|�_��������d|�_��������|j ��������|�_ ��������|�j��������� ��������������������|j ��������������������|�_��������d�|�_��������|�j���������|�ur&|�j���������� ��������������������|�j��������������������|�_��������d�S�|�j��������|�_��������d�S�r ���)r���rF���r ���r���r���r����r����r����� node_indexrN����get_description_classr�����aspect_mode�make_child_namer����)r���r���r���r����s��� r���r���zSubject.__init__���s�����������:����8�<����� ���)�� � �� ������ �����8���!%��!?�!?���!I�!I�������;�d�"�"� �K�7�7�� �F�F�D�M�M�M� �M�D�M�M�Mr���c������������������j�����|�����������������������|d�������������}|D�]}|����������������������||��������������d�S�)Nr����rB����get_arglist�add_new_subject�r���r����namesrE���s��� r����_visit_type_definitionzSubject._visit_type_definition���sL������� � ��1� �-�-���� -�� -�D�� � ��t�,�,�,�,� -�� -r���c�����������������������|�j���������j��������j��������|j�����������������}|����������������������|d�������������}|D�]}|�d|��}|����������������������||�������������� d�S�)Nr���ri��r���)r ���rz����reverse_node_aliasesrN���rk��rl��)r���r����shtagrn��rE���s��� r����_visit_type_operatorzSubject._visit_type_operator���sp��������"�7���A��� � ��1� �-�-���� -�� -�D�#�e�e�T�T�*�D�� � ��t�,�,�,�,� -�� -r���c������������������0�����|�����������������������|�������������d�S�r2���)rl���r���r���s��� r����_visit_type_otherzSubject._visit_type_other�������������T�"�"�"�"�"r���c���������������������������������������������������������������}���fd�|D���������������}������������������������������������}|r ||_��������d�S�d�S�)Nc������������������<������g�|�]}�����������������������|���������������S�r"�����find_subject�r��rE���r���r���s��� ��r���r��z1Subject._visit_type_with_args.<locals>.<listcomp>����)�������@�@�@�$��!�!�$��-�-�@�@�@r����rk��rl��r�����r���r���rn��r����r����s���`` r����_visit_type_with_argszSubject._visit_type_with_args���sc��������� � ��&�&��@�@�@�@�@�%�@�@�@���&�&�t�,�,���� ��G�L�L�L� �� r���c���������������������������������������������������d�������������}���fd�|D���������������}������������������������������������}|r ||_��������d�S�d�S�)Nr���ri��c������������������<������g�|�]}�����������������������|���������������S�r"���rz��r|��s��� ��r���r��z5Subject._visit_type_with_opt_args.<locals>.<listcomp>���r}��r���r~��r��s���`` r����_visit_type_with_opt_argsz!Subject._visit_type_with_opt_args���sh��������� � ��1� �-�-��@�@�@�@�@�%�@�@�@���&�&�t�,�,���� ��G�L�L�L� �� r���c������������������\�����|�����������������������||������������}|����������������������|�������������|S�r2���)�new_subject�add_subject�r���r���r����r����s��� r���rl��zSubject.add_new_subject����0�������"�"�4��2�2������!�!�!��r���c������������������X�����|�����������������������|�������������|������������������������������������|S�r2���)�def_subject�add_top_noder����s��� r���r���zSubject.add_subject���s-����������!�!�!��������r���c������������������>�����|�j���������}|����������������������|�������������d�S�r2���)r����_visit_childrenru��s��� r���r���zSubject.add_top_node���s#�������y�����T�"�"�"�"�"r���c������������������\�����|�����������������������||������������}|����������������������|�������������|S�r2���)r���r���r���s��� r����def_new_subjectzSubject.def_new_subject���r���r���c����������������������|j���������j��������rZ|j��������}||�j��������v�r8|����������������������d|z��|j��������d|z��|�j��������|���������j��������fg��������������d�S�||_��������||�j��������|<���nd�|_��������|�j�����������������������������|�������������d�S�)NzRedefinition of %r.zPrevious definition of %r.)r,���) r����rn��r����r����r0���r���r����r����r$���r���s��� r���r���zSubject.def_subject���s��������$�-�� $��#�D��t�}�$�$�� � �0�4�7���;�d�B�#�}�T�2�7�"9��!:��������� ���#�G��")�D�M�$���#�G������G�$�$�$�$�$r���c������������������,������|�j���������j��������|||fi�|��S�r2���)rF���r0���r����s��� r���r0���z Subject.error���s"�������t�x�~�c�4��;�;�d�;�;�;r���c������������������:�����|�j������������������������������|||�������������S�r2���)rF���r{��)r���rE���r���s��� r���r{��zSubject.find_subject���s�������x�$�$�T�4��6�6�6r���r���c�����������������������|������������������������������������}|������������������������������������D�]�}|s�|j����������������������������������������������������������������d������������s,|j����������������������������������������������������������������d������������rd}nd}|����������������������||d���������������d��|D���������������}�n��t ����������|������������|k�����r|����������������������d||fz��|�������������|S�)Nr���z9Arg list to definition can not start or end with a comma.zMissing argument to definition.r���c�����������������������g�|�]}|�|��S�r"���r"���rZ��s��� r���r��z'Subject.get_arglist.<locals>.<listcomp>���s������3�3�3���3�1�3�3�3r���z4Not enough arguments, minimum %d expected to node %s)rk��rO���rP���r���rq���r0���r^���)r���r���rB��rW��rO���r}��s��� r���rk��zSubject.get_arglist���s������"�"�$�$���#�#�%�%�� �� �C��� ��8�>�>�#�#�.�.�s�3�3��:�t�x�~�~�7G�7G�7P�7P�QT�7U�7U��:�S�A�A�9�A�� � �1�d�d� �3�3�3�3�3�g�3�3�3���� ���w�<�<�#����J�J�F���J���� �� �� ���r���c������������������\�����|�����������������������||������������}|����������������������|�������������|S�r2���)rk���no_children)r���r���rB��r����s��� r����get_arglist_onlyzSubject.get_arglist_only���s0������ � � �d�C� (� (���������� r���c����������������������� �t����������|�j��������������������5�}t����������|�����������������������������������������������|��������������������������������������������}d�d�d��������������n#�1�swxY�w�Y���n#�t ����������$�r�d�}Y�nw�xY�w|S�r2���)r���r���r=���� readlines�rstrip� Exception)r���r���r����ry��s��� r���r���zSubject.get_line���s������� ��d�m�$�$�� ;���A�K�K�M�M�*�*�5�1�8�8�:�:�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;����� ;�� ;�� ;�� ;����� �� �� ��D�D�D� �����s4����A(��:A�A(��A � A(��#A �$A(��(A7�6A7c�����������������������|�j����������||�_���������n,|�j���������|k����r!|����������������������d|�d|�j�����������|�������������|����������������������|�������������d�S�)NzInconsistent aspect mode: z, was: )rf��r0���r���)r���r���r���s��� r���� _visit_aspectzSubject._visit_aspect��sj��������#�#�D�����4�'�'�� � � �d�d�d�D�L\�L\�]��!��!��!����T�"�"�"�"�"r���c����������� �����������|j���������D�]�} �|j��������|�j��������j��������vr3|����������������������d|j���������d|�j���������d|�j��������j����������|�������������|�j��������j���������-d|�j��������j�����������������������������|�j��������i�������������|j��������<���|���������������������|��������������n#�t����������$�r�Y�nw�xY�w|�xj ��������dz ��c_ ����������d�S�)NzInvalid tag: z in: z. Allowed = r���)rR���rN���r����rl��r0���r ����cover_checkrQ����acceptr����rd��)r���r���rT���s��� r���r���zSubject._visit_children��s��������-�� !�� !�B� ��6��!7�!=�=�=��J�J�J���������$�*@�*F�*F� H�IM�O��O��O��8�'�3�LM�D�H�(�3�3�D�H�b�A�A�"�&�I�� � �$������ �� �� �� ��� �����O�O�q� �O�O�O� !�� !s����BB � B-�,B-c�����������������������|�j����������d|��S�r���r`��)r����child_lastnames��� r���rg��zSubject.make_child_name��s�������-�-�-���8�8r���c����������������������|�j������������������������������|j��������������������j��������}||d�uk����sJ��|� d|�j��������z��}|j��������}|dk����rt����������|�||������������S�|dk����rt ����������|�||������������S�t����������|�||������������S�)Nz<%d>r���r���)r ���re��rN���rn��rd���MacroSubject�DocumentSubjectrb��)r���r���rE����is_defrN���s��� r���r���zSubject.new_subject!��s���������/�/���9�9�B���$�d�*�+�+�+�+��<��D�O�+�D��h���'�>�>���d�D�1�1�1� �J� � �"�4��t�4�4�4��4��t�,�,�,r���c������������������Z�����|�j���������j�����������������������������|d|j��������|j��������������������S�)Nr���)r ���rz���r4��rR���r���)r���rN���r���s��� r����new_tag_nodezSubject.new_tag_node.��s%�������x�!�.�.�s�B�� �t�z�R�R�Rr���c������������������X�����|j���������r"|����������������������d|j��������z��|d���������������d�S�d�S�)Nz)No children expected for node with tag %rr���)rR���r0���rN���ru��s��� r���r���zSubject.no_children1��sK�������=�� '��J�J�B�T�X�M��!%�� �� '�� '�� '�� '�� '� '�� 'r���c�����������������������|�����������������������|d�������������D�].}|����������������������||������������}|���������������������|d��������������/d�S�)Nr���ri��r����rk��r{��r����r���r���rE���� ofsubjects��� r���� visit_andzSubject.visit_and7��s\�������$�$�T�q�$�1�1�� 1�� 1�D��)�)�$��5�5�I��#�#�D�%�0�0�0�0� 1�� 1r���c�����������������������|�����������������������|d�������������D�].}|����������������������||������������}|���������������������|d��������������/d�S�)Nr���ri��r����r���r���s��� r����visit_aspects_ofzSubject.visit_aspects_of<��s\�������$�$�T�q�$�1�1�� 4�� 4�D��)�)�$��5�5�I��#�#�D�(�3�3�3�3� 4�� 4r���Fc�����������������������|j��������������������������������������������}d�}d�}|rpd|v�rj|���������������������d������������}t����������|������������dk����r|����������������������d|�������������d��|D���������������\��}}|r|����������������������||������������}|r|}n|}|����������������������|������������} |r|| _��������|����������������������| �������������|r| j���������|����������������������d|�������������|� |g| _ ��������d�S�d�S�)Nr���r���zMore than 1 colon in argument.c������������������6�����g�|�]}|��������������������������������������S�r"���r��rZ��s��� r���r��z%Subject.visit_arg.<locals>.<listcomp>J��s ������"9�"9�"9��1�7�7�9�9�"9�"9�"9r���zNo argument name specified.) rO���rP���r���r^���r0���r{��r���r���r���r����) r���r����must_have_namerO����arg_namer�����nkrE���� kind_namer����s ��� r���� visit_argzSubject.visit_argA��s!������h�n�n���������� ��c�z�z��Y�Y�s�^�^���r�7�7�Q�;�;��J�J�?��F�F�F�"9�"9�b�"9�"9�"9���i���>��,�,�Y��=�=�D���$�#�H�� ����"�"�4�(�(���� .�%-�G�"�����!�!�!��� <�g�4�<��J�J�4�d�;�;�;��� �6�G�L�L�L���r���c�����������������������d�S�r2���r"���ru��s��� r���� visit_commentzSubject.visit_comment`��r���r���c������������������p�����|�����������������������|d�������������}|D�]}|����������������������|d|z����������������d�S�)Nr���ri��zcond:%srj��rm��s��� r����visit_conditionzSubject.visit_conditionc��sQ������� � ��1� �-�-���� 9�� 9�D�� � ��y�4�'7�8�8�8�8� 9�� 9r���c������������������^����|�j������������������������������|j��������������������}|j�������������������������������������������}|���������������������d������������}|j��������dk����|k����r/|rd|j��������z��}n d|j��������z��}|����������������������||d����������������t����������|�d|j��������z��������������|�������������d�S�)Nr���rq��z.Tag %r is not a definition, should not have ::z#Tag %r is a definition, requires ::r���z_visit_type_%s) r ���re��rN���rO���rP���r���rm��r0����getattr)r���r���r����rO����colonr.���s��� r���� visit_defaultzSubject.visit_defaulth��s������� �H�:�:�4�8�D�D���h�n�n�������s�#�#���$��4��>�>��� G�F���Q���;�d�h�F���J�J�s�D�D�J�1�1�1�B���&�):�)A�A�B�B�4�H�H�H�H�Hr���c������������������0�����|�����������������������|�������������d�S�r2���)r���ru��s��� r����visit_descriptionzSubject.visit_descriptionu��rw��r���c������������������0�����|�����������������������|�������������d�S�r2���)r���ru��s��� r����visit_description_with_headerz%Subject.visit_description_with_headerx��s���������t�$�$�$�$�$r���c������������������p����|�����������������������|������������}|j��������j��������}|j�������������������������������������������}d|v�rp|���������������������|d�d����������������������|dd�����������k����sB|���������������������|d�d����������������������|dd�����������k����s|����������������������d|d�d��������������d|z��}||_��������d�S�) Nr��r���r#��rT�����z=Multi-line expression should be in parentheses (for clarity).r����rW��)rl��r����r%��rO���rP���r<���r0���r��)r���r���r����r%��r��s��� r���� visit_examplezSubject.visit_example{��s��������&�&�t�,�,���*�1�� �X�^�^� � ���2�:�:��J�J�r�"�1�"�v�&�&�"�R�S�S�'�1�1��J�J�r�"�1�"�v�&�&�"�R�S�S�'�1�1�� � �Z�\`�%)�A����7��7��7��"��B�����r���c������������������P����|�����������������������|d�������������}d�}d�}g�}|j��������D�]�}|j��������}|dk����r0|����������������������|������������D�]}|���������������������||f���������������?|dk����rX|r|����������������������d|j��������d����������������e|j�������������������������������������������}|dvr|����������������������d|d���������������d }��|d k����r4|�g�}|����������������������|������������D�]}|���������������������||f����������������|����������������������d|d�����������������i�} |��t����������|������������t����������|������������k����rJt����������t����������������������t����������|������������k�����rd} nd } |����������������������d| z��t����������d���������������t����������||������������D�] \��}}|| |<����t����������|������������dk����r|����������������������d|�������������t����������|������������dk����r|s|����������������������d|d���������������d }|D�]-}|�� ��������������������||������������} || _��������| | _��������|| _���������.d�S�)Nr���ri��r���r���zMore than 1 'resolve' clause.r���)r����orzResolve by: and / or expected.r���r���zUnexpected clause in import�few�manyz=Too %s 'using' names, should match number of names in .importr���zNo 'from' clausez;Importing from multiple packages but no 'resolve by' clause)rk��rR���rN���r���r$���r0���r���rO���rP���r^����using_namesr���r���r���r���r���r���)r���r����my_names�resolve_mode�usings�fromsrT���rS���rE���� using_map�manyfewr}���ur����s��� r����visit_importzSubject.visit_import���s�������#�#�D�a�#�0�0���������-�� N�� N�B���A��F�{�{� �1�1�"�5�5��-��-�D��L�L�$���,�,�,�,�-��l�"�"��� -��J�J�>�!�w�$����8��8��8��8��$&�6�<�<�>�>�L�'�=�8�8�� � �#C�#%�-1��#��3��3��3��(-����g����>��F� �1�1�"�5�5��.��.�D��M�M�4��*�-�-�-�-�.��� � �8�"�� �M�M�M�M�� ����6�{�{�c�(�m�m�+�+��{�#�#�c�(�m�m�3�3�#�G�G�$�G�� � �S�V]�]��"����$��$��$���H�f�-�-�� !�� !���1� � �!����u�:�:��?�?��J�J�)�4�0�0�0��u�:�:��>�>��� %�� � �X��4����1��1��1�$���� &�� &�D��*�*�4��6�6�G�'3�G�$�$-�G�!� %�G��� &�� &r���c������������������4�����|�����������������������|d��������������d�S�)NT)r���)r���ru��s��� r���� visit_key_argzSubject.visit_key_arg���s���������t�D��1�1�1�1�1r���c����������� �������,����|j��������������������������������������������}|���������������������d������������s|����������������������d|�������������|�j�����������������������������d||�j�����������������������������dd|j��������������������f���������������������������������|��������������d�S�)Nr���z)Tag 'method' is a definition, requires ::r����r����r���)rO���rP���r���r0���r ���r4��rR���r���)r���r���rO���s��� r����visit_methodzSubject.visit_method���s��������h�n�n�����~�~�c�"�"�� J��J�J�B�D�I�I�I�����k�3�#�x�4�4�Y��D�M�R�R�T� V�� V�V\�V\�]a�Vb�Vb�Vb�Vb�Vbr���c�����������������������|�j����������|����������������������d|�������������|j�������������������������������������������}|s|����������������������d|�������������||�_���������d�S�)NzDuplicate name specification.zNo name specification.)r���r0���rO���rP���)r���r���rE���s��� r���� visit_namezSubject.visit_name���s\��������*��J�J�6��=�=�=��x�~�~������ 7��J�J�/��6�6�6�"����r���c�����������������������|�����������������������|d�������������D�].}|����������������������||������������}|���������������������|d��������������/d�S�)Nr���ri��r���r���r���s��� r����visit_orzSubject.visit_or���s\�������$�$�T�q�$�1�1�� 0�� 0�D��)�)�$��5�5�I��#�#�D�$�/�/�/�/� 0�� 0r���c����������������������|j��������������������������������������������}d|vr|����������������������d|�������������|���������������������d������������}|���������������������d������������}||k�����r|����������������������d|�������������||dz���|���������������������������������������������}d|v�r d��|���������������������d������������D���������������}n|g}|}|d�|���������������������������������������������}|s|����������������������d|�������������d }|���������������������d ������������r|dd����������������������������������������������}d}|���������������������d������������} | d ������������������������������d������������s#d| d ���������z���| d <���d���������������������| ������������}|����������������������||������������} |�� ��������������������|������������}| |_ ��������||_��������||_��������||_ ��������d�S�)Nr��zNo left parenthesisr��z#None or misplaced right parenthesisr���r���c������������������6�����g�|�]}|��������������������������������������S�r"���r��rZ��s��� r���r��z/Subject.visit_postcondition.<locals>.<listcomp>���s ������1�1�1�q������1�1�1r���zNo condition namer���r�������r:���r#��zcond:)rO���rP���r0���r���r.��r���r���ra���r{��rl��r���� cond_namer���r���)r���r���rO����lpar�rparrD��r���r���r���r���r���r����s��� r����visit_postconditionzSubject.visit_postcondition���s�������h�n�n�����c�z�z��J�J�,�d�3�3�3��y�y��~�~���x�x��}�}���$�;�;��J�J�<�d�C�C�C���Q��t���"�"�$�$���!�8�8�1�1�A�G�G�C�L�L�1�1�1�A�A���A�� �����J�$�$�&�&� ��� 2��J�J�*�D�1�1�1�������'�'�� �!�!�"�"� �+�+�-�-�I��F�����$�$���R�y�#�#�G�,�,�� (���b� �)�E�"�I�������I��$�$�Y��5�5���&�&�t�,�,��"*���%���%�������r���c������������������0�����|�����������������������|�������������d�S�r2���)r���ru��s��� r����visit_preconditionzSubject.visit_precondition���s������� � ��&�&�&�&�&r���r2���rk��rj��),r����r����r����r����r���r���ro��rs��rv��r���r���rl��r���r���r���r���r����r0���r{��rk��r���r���r���r���rg��r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r"���r���r���rb��rb�����s�������������� �D��N�*��*��*�&-��-��-� -��-��-�#��#��#� �� �� � �� �� �������� ����� #��#��#�������� %��%��%�"�#�m��<��<��<��<�7��7��7��������$������� �����#��#��#�!��!��!�9��9��9�-��-��-��-�S��S��S�'��'��'�1��1��1� 4��4��4� "��"��"��"�> �� �� �9��9��9� I��I��I�#��#��#�%��%��%������:&��:&��:&�x2��2��2�c��c��c�#��#��#�0��0��0� " ��" ��" �H'��'��'��'��'r���rb��c�������������������������e�Zd�ZdS�)�ErrorSubjectNr���r"���r���r���r���r�����r���r���r���c��������������������(�����e�Zd�Zd��Zdefd�Zdd�ZdS�)r|���c������������������h����||�_���������||�_��������|�|�_��������||�_��������|�}t�������������������������������|�|�||�������������|���������������������d������������d���������|�_��������d|�_��������t����������|�_ ��������g�|�_��������|j��������D�]}�||�������������}||�j ��������|j��������<����|����������������������|�������������|�`d�S�)Nr:���r#��r����)r ����specenvrF���r���rb��r���r���r����rN���r���r����r6����predefined_subjectsr����r����r���)r���r ���r���r���rE���r���r����s��� r���r���zPackageSubject.__init__ ��s���������������� �� ��t������t�T�4�0�0�0�� � �3����+�� ����!(�������(�� *�� *�A���$���A�()�D�M�!�*�%�%����T�"�"�"��L�L�Lr���Nc������������������,������|�j���������j��������|||fi�|��S�r2���)r���r0���r����s��� r���r0���zPackageSubject.error��s#������!�t�|�!�#�t�Y�?�?�$�?�?�?r���c�����������������������|s|�����������������������d|z��|�������������d��|���������������������d������������D���������������}|d���������s|d���������}|dd�����������}nd}|dk����r|�}n~|dk����r\|}|�<d }|j��������|�k����r$|j��������|vr|j��������}|j��������|�k����r |j��������|v�|j��������|vrd�}|�|�����������������������d |z��|�������������n|�����������������������d|�d|��|�������������|j��������}t����������|������������D�]n\��} } |j�����������������������������| ������������}|�C|j��������d k����r|�����������������������d| �d|�d�|�������������t����������|||| d�����������������������c�S�|dz���| z���}|}�o|S�)NzInvalid subject name: %rc������������������6�����g�|�]}|��������������������������������������S�r"���r��rZ��s��� r���r��z/PackageSubject.find_subject.<locals>.<listcomp>$��s ������4�4�4�q������4�4�4r���r:���r���r���r����myfile�mykind)r����r���rs��z%mykind tag without such a context: %rzInvalid tag r���rs��zNo such subject: z in ) r0���r���r���rN���r����� enumerater����r<����SubImportSubject)r���rE���r���r���r���rN���r����� kind_tags�snamerp��rD���nss��� r���r{��zPackageSubject.find_subject ��s�������� @��J�J�1�D�8�$�?�?�?�4�4�D�J�J�s�O�O�4�4�4���Q�x�� ���(�C��!�"�"�I�E�E��C��(�?�?��A�A� �H�_�_��A��}�5� ��h�$�&�&�1�5� �+A�+A���A���h�$�&�&�1�5� �+A�+A��5� �)�)��A��y�� � �B�� �!%�'��'��'��� �J�J�J����d�d�;�T�B�B�B�� ���e�$�$�� �� �D�A�q������"�"�B��z��5�H�$�$��J�J�J� !���5�5�5� *�+/�1��1��1�'��4��q�r�r��;�;�;�;�;��C�K�!�O�E��A�A��r���r2���)r����r����r����r���r����r0���r{��r"���r���r���r|���r|�����sV�������������������(�#�m��@��@��@��@�%��%��%��%��%��%r���r|���c�������������������������e�Zd�Zd��ZdS�)r���c�����������������������||�_���������||�_��������||�_��������d���������������������|j��������g|z���������������|�_��������|d���������|�_��������d�S�)Nr:���r#��)r���r����rnpartsra���r����r����)r���r���r���r���s��� r���r���zSubImportSubject.__init__I��sC����������� �������&�/�!2�7�!:�;�;�� ����� � � r���Nr���r"���r���r���r���r���H��s#��������������$��$��$��$��$r���r���c�������������������������e�Zd�Zd��ZdS�)r���c�����������������������d�S�r2���r"���r����s��� r���r���zMacroSubject.add_top_nodeR��r���r���N�r����r����r����r���r"���r���r���r���r���Q��s#�������������� �� �� �� �� r���r���c�������������������������e�Zd�Zd��ZdS�)r���c������������������D�����|�j���������j�����������������������������|��������������d�S�r2���)r���r6���r$���r����s��� r���r���zDocumentSubject.add_top_nodeW��s!���������$�$�T�*�*�*�*�*r���Nr���r"���r���r���r���r���V��s#��������������+��+��+��+��+r���r���c�������������������������e�Zd�Zd��ZdS�)� GuppyWorldc������������������r�����||�_���������dx|�_��������|�_��������d�|�_��������d|�_��������g�|�_��������t����������|�_��������d�S�)N�Guppy_Worldz<GuppyWorld>)rF���r����r����r���rN���r����r����r����r���s��� r���r���zGuppyWorld.__init__\��s:���������(5�5�� �� ��� �!������!,����r���Nr���r"���r���r���r���r���[��s#��������������-��-��-��-��-r���r���c������������ ��������4����e�Zd�ZdZdZi�de�de�de�de�de �de �d e�d e�de �de�d e�de�de�de�de�de�de�i�de�de�de�de�de�de�de�de�de�de�de �de!�d e"�d!e#�d"e$�d#e%�d$e&��e'e(e)e*e+e,e-e.d%��Z/d&Z0d'Z1d'Z2d(Z3d)��Z4d*��Z5d+��Z6d,��Z7d-��Z8d.��Z9d'S�)/�_GLUECLAMP_)z_parent:Documentz_parent:FileIOz_parent.FileIO:IOz _parent:Filerz_parent:Htmlz _parent:Latexz_parent:SpecNodesz_parent.SpecNodes:node_of_taciz_parent:Testerz_root.hashlib:md5z_root.guppy.etc:iterpermutez_root.guppy.etc:RE)r����io_dirr(���r����rO���r����r����r���r���r���r���rU���r��r1��r���r;��r��r����r����r���r��rs��r��r����r����r����r����r���r����r����r����r=��r<��r���r����r����r����)r����r>��r���r����r��r��r����r����z.tgt.N� ���c������������������B�����|�j������������������������������|t����������������������S�r2���)�description_classesr<���r����)r���rN���s��� r���re��z!_GLUECLAMP_.get_description_class���s�������'�+�+�C��=�=�=r���c�����������������������t�����������fS�r2���)r���r����s��� r����_get_predefined_subjectsz$_GLUECLAMP_._get_predefined_subjects���s �������}�r���c�����������������������i�S�r2���r"���r����s��� r����_get_package_cachez_GLUECLAMP_._get_package_cache���s������� r���c������������������@�����t����������|�������������}�|j��������|fi�|���d�S�r2���)r���r����)r���r���r�����ses��� r����mainz_GLUECLAMP_.main���s-������ �T�]�]������)�)�D�)�)�)�)�)r���c�����������������������d�S�r2���r"���r����s��� r����_test_main_z_GLUECLAMP_._test_main_���r���r���c������������������R�����|�j���������j�����������������������������|������������}||�_��������d�S�r2���)r@���rA���rs���rr���)r����dirs��� r���� set_input_dirz_GLUECLAMP_.set_input_dir���s$�������g�l�"�"�3�'�'������r���):r����r����r����� _imports_� _chgable_r��r���r���r���r���r���r���r}��r+��r���rx��r���r���r��r���r���r���r���r���r'��r���r���r\��r���r0��r:��r���r���r���r���r���r���r���r���r��r��r8��r��r���r��rh��r��r��r����r���r��r(���re��r��r ��r ��r��r��r"���r���r���r��r��e��sm������������� �I��8�I�+� �s�+� �s�+�� ��+�� �Y� +� � �7�+�� �Y� +�� �{�+�� �7�+�� �7�+�� �7�+�� �-�+�� "�#8�+�� �H�+�� �7�+�� �&�+� � ��!+�"� �-�#+��+�$� �7�%+�&� �&�'+�(� �i�)+�*� �O�++�,� �6�-+�.� ��/+�0� �6�1+�2� ��3+�4� �7�5+�6� �%�7+�8� �H�9+�:� ��;+�<� ��=+�>� �z�?+�@� �O�A+�B� �Y�C+�D� �7�E+��+�F��������#�U+��+��+��Z��J��K� �F��J�>��>��>�����������*��*��*� �� �� ���������r���r��N)Q�guppy.etc.Descriptorr����guppy.gsl.Exceptionsr���r����r����rp��rx��r}��r���r���r���r���r���rk���r���r���r���r���r��r\��rh��r��r��r'��r+��r0��r8��r:��rL��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��r��r��r!��r*��r,��r.��r0��rG��rJ��rN��rP��r'��rV��rX��r[��r��r���rb��r���r|���r���r���r���r���r��r"���r���r����<module>r�����s������1��1��1��1��1��1��"��"��"��"�PH��PH��PH��PH��PH��PH��PH��PH�f���������������Bs��s��s��s��s��s��s��s�l )�� )�� )�� )�� )��� )�� )�� )� %��%��%��%��%�[��%��%��%����������$�������&���������2������� �� �� �� �� �$�� �� �� � (�� (�� (�� (�� (�[�� (�� (�� (�# ��# ��# ��# ��# �Z��# ��# ��# �L���������k�������>���������+�������!��!��!��!��!��!��!��!�[��[��[��[��[�k��[��[��[�|+$��+$��+$��+$��+$� ��+$��+$��+$�\���������[������� ���������������� ,��,��,��,��,�:��,��,��,�" �� �� �� �� � �� �� �� ����������+����������������k�������4����������������A��A��A��A��A�k��A��A��A�D��D��D��D��D�J��D��D��D����������;�������jb��jb��jb��jb��jb�k��jb��jb��jb�ZN��N��N��N��N��N��N��N�b �� �� �� �� �� �� �� � �� �� �� �� �w�� �� �� � �� �� �� �� �h�� �� �� � �� �� �� �� �x�� �� �� � �� �� �� �� �h�� �� �� �#��#��#��#��#�g��#��#��#�#��#��#��#��#�g��#��#��#� #��#��#��#��#�g��#��#��#�&��&��&��&��&���&��&��&�$5��5��5��5��5���5��5��5�&��&��&��&��&�;��&��&��&�<���������<������� ���������L������� #��#��#��#��#��#��#��#�(��(��(��(��(�+��(��(��(� H��H��H��H��H�{��H��H��H����������;�������#��#��#��#��#�K��#��#��#� ���������+�������4(��(��(��(��(��(��(��(�N��N��N��N��N�S��N��N��N����������;������� /�� /�� /�� /�� /��� /�� /�� /�>��>��>��>��>�[��>��>��>�B �� �� �� �� �+�� �� �� ����������+������� A�� A�� A�� A�� A�k�� A�� A�� A������$��$��$��$��$��$��$��$� �� �� �� �� �t�� �� �� � �� �� �� �� �4�� �� �� � �� �� �� �� �d�� �� �� �!8��!8��!8��!8��!8���!8��!8��!8�H��������� ������� ���������z����������������j������� ��������� ������� ����������*��*��*������>���>��T�>���d�>��2�4� >� �:�4�>��9�$� >��0��>��1�$�>��9�$�>��0��>��0��>��0��>���d�>���$�>����>� �$�T�!>�"��4�#>��>�$�8�9J�%>�&�%�&>�'>�(���)>�*�"�:�+>�,���->�.���/>�0�!�*�1>�2���3>�4�-�d�5>�6���7>�8��*�9>�:�!�*�;>�<���=>�>��D�?>�@�0��A>�B�8��C>�D�.�z�E>��>��>�F�.�z�G>�H�7� �I>�J�.�z�K>�L�/� �M>�N�7� �O>�P�.�z�Q>�R���S>�T�%�d�U>�V�-�i�W>�X�#�I�Y>�Z�#�I�[>�\�,�Y�]>�^�$�Y�_>�`�,�Y�a>�b�#�I�c>�d�#�D�e>�f��D�g>��>�h�*.�15�'+�'+�04�'+�(,�04�'+�y>��>��>� �B�����J��J��J��J��J��J��J��J�v'��v'��v'��v'��v'��v'��v'��v'�r �� �� �� �� �7�� �� �� �=��=��=��=��=�W��=��=��=�@$��$��$��$��$��$��$��$� �� �� �� �� �7�� �� �� � +��+��+��+��+�g��+��+��+� -��-��-��-��-���-��-��-�W��W��W��W��W��W��W��W��W��Wr���