add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

Jz`f�cs(�SSKJr SSKrSSKrSSKrSSKrSSKrSSKrS/r\RRr\RRr
\R"SS9S5r\R "S\R"\R$-5rS
SjrS	r\R "S
\R,\R"-5R.r\R "S\R,\R"-5R.r"SS\R45rg)���DecimalN�Fractioni@)Zmaxsizecs��[US[5n[[[U55U-5nUS:�aUOU*nUS:XaS$U$![a	 [
nN'f=f)Ni����r�����)Zpow�_PyHASH_MODULUSZhash�abs�
ValueError�_PyHASH_INF)�	numerator�denominatorZdinvZhash_Zresults     �"/usr/lib64/python3.13/fractions.py�_hash_algorithmrse��2��;��O�4��(�T�#�i�.�)�D�0�1���1�n�U�5�&�F��2��2�)�6�)��+�����s�A�A�Aa�
    \A\s*                                  # optional whitespace at the start,
    (?P<sign>[-+]?)                        # an optional sign, then
    (?=\d|\.\d)                            # lookahead for digit or .digit
    (?P<num>\d*|\d+(_\d+)*)                # numerator (possibly empty)
    (?:                                    # followed by
       (?:\s*/\s*(?P<denom>\d+(_\d+)*))?   # an optional denominator
    |                                      # or
       (?:\.(?P<decimal>\d*|\d+(_\d+)*))?  # an optional fractional part
       (?:E(?P<exp>[-+]?\d+(_\d+)*))?      # and optional exponent
    )
    \s*\Z                                  # and optional whitespace to finish
cs��US:�a	USU--nO	USU*--n[XS-	-U5upEUS:XaUS-S:XaUS-nU(aUS:OUS:nU[U54$)Nr�
�r)�divmodr)�n�d�exponent�no_neg_zeroZqZr�signs       r�_round_to_exponentrJsx���1�}�	�R��\���	�R�(��]����!�A�v�,��"�D�A��A�v�!�a�%�1�*�	�R����1�q�5�Q��U�D���Q��<��cs�US:XaSSSU-
4$[[U55[U5pC[U5[U5-
XC:*-nXR-
n[XU5upx[[U55US-:Xa
US-nUS-
nXxU4$)NrFrr
)�strr�lenr)	rr�figuresZstr_nZstr_d�mrr�significands	         r�_round_to_figuresrgs���"	�A�v��a��W��$�$��s�1�v�;��A��5��E�
�S��Z��5�>�2�A��{�H�*�1��:��D��3�{����!��+������A�
���h�&�&ray
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    # Alt flag forces a slash and denominator in the output, even for
    # integer-valued Fraction objects.
    (?P<alt>\#)?
    # We don't implement the zeropad flag since there's no single obvious way
    # to interpret it.
    (?P<minimumwidth>0|[1-9][0-9]*)?
    (?P<thousands_sep>[,_])?
a�
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    (?P<no_neg_zero>z)?
    (?P<alt>\#)?
    # A '0' that's *not* followed by another digit is parsed as a minimum width
    # rather than a zeropad flag.
    (?P<zeropad>0(?=[0-9]))?
    (?P<minimumwidth>0|[1-9][0-9]*)?
    (?P<thousands_sep>[,_])?
    (?:\.(?P<precision>0|[1-9][0-9]*))?
    (?P<presentation_type>[eEfFgG%])
cs�^�\rSrSrSrS0U4Sjjr\S5r\S5r\U4Sj5r	Sr
SrS1S	jr\
S
5r\
S5rSrS
rSrSrSrS2SjrSr\"\\R05urrSr\"\\R85urrSr\"\\R@5ur!r"Sr#\"\#\RH5ur%r&Sr'\"\'\RPS5ur)r*Sr+\"\+\,S5ur-r.Sr/\"\/\R`S5ur1r2Sr3Sr4Sr5Sr6Sr7\Rp4Sjr9S r:S!r;S"r<S3S#jr=S$r>S%r?S&r@S'rAS(rBS)rCS*rDS+rES,rFS-rGS.rHS/rIU=rJ$)4ri���
_numerator�_denominatorcs�>�[[U]U5nUGc�[U5[LaXlSUlU$[U[R5(a$URUlURUlU$[U[[45(aUR5uUlUlU$[U[5(Ga[ R#U5nUc[%SU-5e[	UR'S5=(d S5nUR'S5nU(a[	U5nO�SnUR'S5nU(a4UR)SS5nS	[+U5-nX-[	U5-nX'-nUR'S
5nU(a#[	U5nUS:�a	US	U--nO	US	U*--nUR'S5S
:XaU*nO�[-S5e[U5[s=La[U5LaO OO{[U[R5(aQ[U[R5(a2URUR-URUR-p!O[-S5eUS:Xa[/SU-5e[0R2"X5n	US:aU	*n	X-nX)-nXlX#lU$)Nrz Invalid literal for Fraction: %rZnum�0�denom�decimalZ_�r
�exprr�-z2argument should be a string or a Rational instancez+both arguments should be Rational instances�Fraction(%s, 0))�superr�__new__�type�intrr�
isinstance�numbers�Rationalr	r
�floatr�as_integer_ratior�_RATIONAL_FORMAT�matchrZgroupZreplacer�	TypeError�ZeroDivisionError�math�gcd)�clsr	r
�selfrr!r"Zscaler$�g�	__class__s          �rr(ZFraction.__new__�s����>�X�s�+�C�0�����I��#�%�"+��$%��!����I�w�'7�'7�8�8�"+�"5�"5���$-�$9�$9��!����I��w�'7�8�8�5>�5O�5O�5Q�2����!2����I�s�+�+�$�*�*�9�5���9�$�%G�%.�&/�0�0������� 5�#�6�	�����(���"%�e�*�K�"#�K��g�g�i�0�G��")�/�/�#�r�":�� "�C��L� 0��$-�$5��G��$D�	�#�,���'�'�%�.�C��!�#�h���!�8�%��S��0�I�'�2��t�8�3�K��7�7�6�?�c�)�!*�
�I�� �!9�:�:��)�_��
8�t�K�'8�
8����G�$4�$4�5�5��{�G�$4�$4�5�5��#�#�k�&=�&=�=��%�%�	�(=�(=�=�#�
�1�2�
2��!��#�$5�	�$A�B�B��H�H�Y�,����?���A���	����#��'���rc	s�[U[R5(aU"U5$[U[5(d4[	UR
<SU<S[
U5R
<S35eUR"UR56$)Nz%.from_float() only takes floats, not � (�))	r+r,�Integralr.r2�__name__r)�_from_coprime_intsr/)r6Zf�  r�
from_floatZFraction.from_float4sq���a��)�)�*�*��q�6�M��A�u�%�%�� �\�\�1�d�1�g�.>�.>�@�A�
A��%�%�q�'9�'9�';�<�<rc	s2�SSKJn [U[R5(aU"[U55nOD[X5(d4[
UR<SU<S[U5R<S35eUR"UR56$)Nrrz).from_decimal() only takes Decimals, not r:r;)r"rr+r,r<r*r2r=r)r>r/)r6Zdecr�   r�from_decimalZFraction.from_decimalBsv��	$��c�7�+�+�,�,��#�c�(�#�C��C�)�)�����s�D��I�$6�$6�8�9�
9��%�%�s�';�';�'=�>�>rcsF>�[[U]U5nXlX#lU$�N)r'rr(rr)r6r	r
Zobjr9s    �rr>ZFraction._from_coprime_intsNs&����H�c�*�3�/��"��&���
rcs �URS:H$�Nr�r�r7� r�
is_integerZFraction.is_integerZs��� � �A�%�%rcs2�URUR4$rCrrFrGrr/ZFraction.as_integer_ratio^s��
����!2�!2�3�3rcs��US:a[S5eURU::a[U5$Sup#pEURURpvXg-nX8U--n	X�:�aOXEX(U--U	4up#pEXvX�--
pvM'X-
U-n
SU-X:U---UR::a[R	XE5$[R	X*U--X:U--5$)Nrz$max_denominator should be at least 1)rrrr�)rrrrr>)r7Zmax_denominatorZp0Zq0Zp1Zq1rr�aZq2Zks           r�limit_denominatorZFraction.limit_denominatores���@�Q���C�D�D�����/��D�>�!�#�������� 1� 1�1����A��b�D��B��#���R�"��W�b�0�N�B�B����e�q�
��
�"�$��
�Q�3��R�4��=�D�-�-�-��.�.�r�6�6��.�.�r�B�$�w��R�4��@�@rc��UR$rC)r�rJrGrr	ZFraction.numerator�s���|�|�rcrLrCrErMrGrr
ZFraction.denominator�s���~�~�rcsn�URR<SUR<SUR<S3$)NZ(z, r;)r9r=rrrFrGr�__repr__ZFraction.__repr__�s*��#�~�~�6�6�#����0A�0A�C�	Crcs��URS:Xa[UR5$UR<SUR<3$)Nr�/)rrrrFrGr�__str__ZFraction.__str__�s4������!��t���'�'�"�o�o�t�/@�/@�A�Arcs"�US=(d SnUS=(d SnUSS:XaSOUSn[US5n[US	=(d S
5nUS=(d SnURURp�U	S:�dU(a[	U5US
X�3n
O[	U5Un
US:aSOUnX&[U5-
[U
5-
-nUS:XaX�-U
-$US:XaX�-U-$US:Xa[U5S-n
USU
U-U
-X�S-$X�-U
-$)N�fill� �align�>rr%r#�alt�minimumwidthr �
thousands_seprrOr�<�^rI)�boolr*rrrr)r7r1rQrS�pos_sign�alternate_formrVrWrr�bodyr�padding�halfs              r�_format_generalZFraction._format_general�sA���V�}�#����g��%�#���v��#�-�2�5��=���e�E�l�+���5��0�7�C�8���o�.�4�"�
����� 1� 1�1��q�5�N��!�f�m�_�-�Q�q��.A�B�D��!�f�m�_�-�D��!�e�s�����T��2�S��Y�>�?���C�<��>�D�(�(�
�c�\��;��(�(�
�c�\��w�<�1�$�D��5�D�>�D�(�4�/�'�%�.�@�@��>�D�(�(rc
s�^^ �US=(d SnUS=(d SnUSS:XaSOUSn[US5n[US	5n[US
5n[US=(d S5nUS
m [US=(d S5n	USn
U
S;=(a U(+nU(+nU
S;aSOSn
U
S;a7U	*nU
S:XaUS-n[URURX�5unnSnU	nOkU
S;a[U	S5OU	S-n[
URURU5unnnU
S;=(d US:�=(d UU-S:*nU(aUS-
OU*nU
S:XaSnOU(aU
UU-S3nOSnUSUS-S3nU(aSOUnUS[U5U-
mU[U5U-
SnU(aURS5nU(a	U(dSOSnUU-U-nU(a=U[U5-
[U5-
nTRT (aS U-S!-S-OU5mT (aJS[T5S-
S --nTSUSRUU 4S"j[U[T5S 555-mTU-nX([U5-
[U5-
-nUS:XaUU-U-$US#:XaUU-U-$US$:Xa[U5S-nUSUU-U-UUS-$UU-U-$)%NrQrRrSrTrr%r#rrU�zeropadrVr rW�	precisionZ6�presentation_typeZgGZEFGZEZezfF%Z%rIFrZeEri����z+03drZ.�ic3s6># �UHnTTXS--v� M g7f)rdN�)Z.0Zpos�leadingrWs  ��rZ	<genexpr>Z/Fraction._format_float_style.<locals>.<genexpr>"s&����4�����A�g� 6�6�4�s�rXrY)rZr*rrrZmaxrrZrstripZzfillZjoinZrange)!r7r1rQrSr[rr\rarVrbrcZ
trim_zerosZ
trim_pointZexponent_indicatorrZnegativerZ
scientificZ	point_posrZsuffixZdigitsrZ	frac_partZ	separatorZtrailingZmin_leadingZ	first_posr]r^r_rfrWs!                               @@r�_format_float_styleZFraction._format_float_style�sp����V�}�#����g��%�#���v��#�-�2�5��=���5��/�0���e�E�l�+���u�Y�'�(���5��0�7�C�8���o�.�
���k�*�1�c�2�	�!�"5�6��&�$�.�E�~�3E�
�'�'�
�$5��$>�S�C����%�!�z�H� �C�'��A�
��$6�����!2�!2�H�%K�!�H�k��J�!�I�%��,��I�q�!���]�
�
/@�����!2�!2�G�/=�+�H�k�8�"�T�)�,��a�<�,��g�%��+�
�
(2��!���y�I���#��F�
�*�+�H�y�,@��+F�G�F��F� ��)�a�-���1�2��
�s�H���2�3�v�;��2�3���3�v�;��2�4�5�	��!�(�(��-�I�$�Y�B�C�	��y�(�6�1���&��T��2�S��]�B�K��m�m�,9��K��1�$�q�(�{��G�
��S��\�A�-��2�2�I��j�y�)�B�G�G�4� ��C��L�!�<�4�-��G���!����T��2�S��Y�>�?���C�<��T�>�D�(�(�
�c�\��$�;��(�(�
�c�\��w�<�1�$�D��5�D�>�D�(�4�/�'�$�%�.�@�@��'�>�D�(�(rcs��[U5=n(aURU5$[U5=n(aUSbUScURU5$[	SU<S[U5R<35e)NrSrazInvalid format specifier z for object of type )�%_GENERAL_FORMAT_SPECIFICATION_MATCHERr`�#_FLOAT_FORMAT_SPECIFICATION_MATCHERrgrr)r=)r7Zformat_specr1rAr�
__format__ZFraction.__format__5s���:�+�F�F�5�F��'�'��.�.�7��D�D�5�D��W�~�%��y�)9�)A��/�/��6�6��'���7"�"&�t�*�"5�"5�!8�
:�
�	
rcs�^^^�UUU4SjnSTR-S-UlTRUlUUU4SjnSTR-S-UlTRUlX44$)NcsB>�[U[5(aT"X5$[U[5(aT"U[U55$[U[5(aT"[U5U5$T(a'[U[5(aT"[	U5U5$[
$rC)r+rr*r.�complex�NotImplemented)rJ�b�fallback_operator�handle_complex�monomorphic_operator�  ���r�forwardZ-Fraction._operator_fallbacks.<locals>.forward�s}����!�X�&�&�+�A�1�1��A�s�#�#�+�A�x��{�;�;��A�u�%�%�(��q��1�5�5��J�q�'�$:�$:�(����Q�7�7�%�%rZ__csh>�[U[R5(aT"[U5U5$[U[R5(aT"[U5[U55$T(a:[U[R5(aT"[U5[U55$[$rC)	r+r,r-rZRealr.�Complexrkrl)rmrJrnrorprqr�reverseZ-Fraction._operator_fallbacks.<locals>.reverse�s{����!�W�-�-�.�.�+�H�Q�K��;�;��A�w�|�|�,�,�(��q��5��8�<�<��J�q�'�/�/�$B�$B�(����W�Q�Z�@�@�%�%rZ__r)r=Z__doc__)rprnrorrrts```  r�_operator_fallbacksZFraction._operator_fallbacksFsg���b
	&� �"3�"<�"<�<�t�C���.�6�6���		&�!�#4�#=�#=�=��D���.�6�6�����rcs��URURp2URURpT[R"X55nUS:Xa[RX%-X4--X5-5$X6-nX%U--XG--n[R"X�5n	U	S:Xa[RX�U-5$[RX�-XuU	--5$rD�rrr4r5rr>�
rJrm�na�da�nb�dbr8ZsZt�g2�
          r�_addZ
Fraction._add�������q�~�~�B����q�~�~�B��H�H�R�����6��.�.�r�w���/@�"�'�J�J��G����'�N�R�V�#��
�X�X�a�^��
��7��.�.�q�b�&�9�9��*�*�1�7�A�r��N�C�Crcs��URURp2URURpT[R"X55nUS:Xa[RX%-X4--
X5-5$X6-nX%U--XG--
n[R"X�5n	U	S:Xa[RX�U-5$[RX�-XuU	--5$rDrvrwr}r�_subZ
Fraction._subrrcs"�URURp2URURpT[R"X%5nUS:�aX&-nXV-n[R"XC5nUS:�aXG-nX7-n[RX$-XS-5$rDrv)rJrmrxryrzr{�g1r|s        r�_mulZ
Fraction._muls}�����q�~�~�B����q�~�~�B�
�X�X�b�
��
��6��I�B��I�B�
�X�X�b�
��
��6��I�B��I�B��*�*�2�7�B�G�<�<rcsd�URURp2US:Xa[SU-5eURURpT[R"XB5nUS:�aXF-nX&-n[R"X55nUS:�aXW-nX7-nXC-X%-p�U	S:aU*U	*p�[
R
X�5$)Nrr&r)rrr3r4r5rr>)
rJrmrzr{rxryr�r|rrr}r�_divZ
Fraction._div(s������q�~�~�B�
��7�#�$5��$:�;�;����q�~�~�B�
�X�X�b�
��
��6��I�B��I�B�
�X�X�b�
��
��6��I�B��I�B��w���1��q�5��2��r�q��*�*�1�0�0rcsh�URUR-URUR--$rC)r	r
�rJrmr?r�	_floordivZFraction._floordiv>s'�����a�m�m�+�������1L�M�MrFcs��URURp2[URU-X!R-5upEU[XRU-54$rC)r
rr	r)rJrmryr{ZdivZn_mod�      r�_divmodZFraction._divmodDsC������
�
�B��A�K�K�"�,�b�;�;�.>�?�
���H�U��G�,�,�,rcs��URURp2[URU-URU--X#-5$rC)r
rr	)rJrmryr{s    r�_modZ
Fraction._modLs7������
�
�B�����r�)�a�k�k�B�.>�?���I�Ircst�[U[R5(GaURS:Xa�URnUS:�a0[
R
URU-URU-5$URS:�a2[
R
URU*-URU*-5$URS:Xa[SURU*--5e[
R
UR*U*-UR*U*-5$[U5[U5-$[U5U-$)Nrrr&)r+r,r-r
r	rr>rrr3r.)rJrmZpowerrAr�__pow__ZFraction.__pow__Ss&���a��)�)�*�*��}�}��!������A�:�#�6�6�q�|�|�u�7L�78�~�~��7N�P�P��\�\�A�%�#�6�6�q�~�~�%��7O�78�|�|��v�7M�O�O��\�\�Q�&�+�,=�,-�N�N�u�f�,D�-E�F�F�$�6�6�����U�F�7R�9:���
�5�&�7P�R�R�
�Q�x�5��8�+�+���8�q�=� rcs:�URS:XaURS:�aXR-$[U[R5(a#[URUR5U-$URS:XaXR-$U[U5-$)Nrr)	rrr+r,r-rr	r
r.)rmrJr?r�__rpow__ZFraction.__rpow__qsz���>�>�Q��1�<�<�1�#4����$�$��a��)�)�*�*��A�K�K����7�1�<�<��>�>�Q�����$�$��E�!�H�}�rcsV�[RURUR5$rC�rr>rrrMrGr�__pos__ZFraction.__pos__s���*�*�1�<�<����H�HrcsX�[RUR*UR5$rCr�rMrGr�__neg__ZFraction.__neg__�s���*�*�A�L�L�=�!�.�.�I�Ircsh�[R[UR5UR5$rC)rr>rrrrMrGr�__abs__ZFraction.__abs__�s"���*�*�3�q�|�|�+<�a�n�n�M�Mrcs��URS:a!U"UR*UR-*5$U"URUR-5$�Nrr)rJZ_indexr?r�__int__ZFraction.__int__�sC���<�<�!���Q�\�\�M�Q�^�^�;�<�=�=��!�,�,�!�.�.�8�9�9rcs��URS:aUR*UR-*$URUR-$r�rrMrGr�	__trunc__ZFraction.__trunc__�s9���<�<�!���l�l�]�a�n�n�4�5�5��<�<�1�>�>�1�1rcs4�URUR-$rCrrMrGr�	__floor__ZFraction.__floor__�s���|�|�q�~�~�-�-rcs8�UR*UR-*$rCrrMrGr�__ceil__ZFraction.__ceil__�s���,�,��!�.�.�0�1�1rcs*�UcMURn[URU5up4US-U:aU$US-U:�aUS-$US-S:XaU$US-$S[U5-nUS:�a[	[X-5U5$[	[X-5U-5$)NrIrrr
)rrrrrZround)r7ZndigitsrZfloorZ	remainderZshiftr�r�	__round__ZFraction.__round__�s���
�?��!�!�A�%�d�o�o�q�9��E��1�}�q� ����Q���"��q�y� ����a�����q�y� ��C��L� ���Q�;��E�$�,�/��7�7��E�$�,�/�%�7�8�8rcsB�[URUR5$rC)rrrrFrGr�__hash__ZFraction.__hash__�s���t����0A�0A�B�Brcsh�[U5[La%URU:H=(a URS:H$[	U[
R5(a9URUR:H=(a URUR:H$[	U[
R5(aURS:XaURn[	U[5(aN[R"U5(d[R"U5(aSU:H$XR!U5:H$["$)Nrr�)r)r*rrr+r,r-r	r
rsZimagZrealr.r4�isnan�isinfr@rlr�r?r�__eq__ZFraction.__eq__�s�����7�c�>��<�<�1�$�<����1�)<�<��a��)�)�*�*��L�L�A�K�K�/�4��N�N�a�m�m�3�
5��a����)�)�a�f�f��k����A��a�����z�z�!�}�}��
�
�1�
�
��a�x���L�L��O�+�+�"�!rcs��[U[R5(a7U"URUR-UR
UR-5$[U[5(aV[R"U5(d[R"U5(a	U"SU5$U"XRU55$[$)Nr�)
r+r,r-rr
rr	r.r4r�r�r@rl)r7ZotherZoprAr�_richcmpZFraction._richcmp�s����e�W�-�-�.�.��d�o�o��(9�(9�9��'�'�%�/�/�9�;�
;��e�U�#�#��z�z�%� � �D�J�J�u�$5�$5��#�u�~�%��$���� 6�7�7�!�!rc�B�URU[R5$rC)r��operatorZltr�r?r�__lt__ZFraction.__lt__�����z�z�!�X�[�[�)�)rcr�rC)r�r�Zgtr�r?r�__gt__ZFraction.__gt__�r�rcr�rC)r�r�Zler�r?r�__le__ZFraction.__le__�r�rcr�rC)r�r�Zger�r?r�__ge__ZFraction.__ge__�r�rcs,�[UR5$rC)rZrrMrGr�__bool__ZFraction.__bool__�s���A�L�L�!�!rcsJ�URURUR44$rC)r9rrrFrGr�
__reduce__ZFraction.__reduce__s ��������$�2C�2C� D�E�Erc�x�[U5[:XaU$URURUR5$rC�r)rr9rrrFrGr�__copy__ZFraction.__copy__�.����:��!��K��~�~�d�o�o�t�/@�/@�A�Arcr�rCr�)r7Zmemor?r�__deepcopy__ZFraction.__deepcopy__r�r)rrr9)rN)i@B)TrC)Kr=Z
__module__Z__qualname__Z__firstlineno__Z	__slots__r(Zclassmethodr@rBr>rHr/rKZpropertyr	r
rNrPr`rgrjrur~r�ZaddZ__add__Z__radd__r�ZsubZ__sub__Z__rsub__r�ZmulZ__mul__Z__rmul__r�ZtruedivZ__truediv__Z__rtruediv__r�ZfloordivZ__floordiv__Z
__rfloordiv__r�rZ
__divmod__Z__rdivmod__r�ZmodZ__mod__Z__rmod__r�r�r�r�r�Zindexr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�Z__static_attributes__Z
__classcell__)r9s@rrr�s����*/�I�g�R�=��=��	?��	?��	��	�&�4�7A�r��������C�
B� )�D_)�B
�$,0�l �dD�,�D�(�,�,�?��G�X�D�,�D�(�,�,�?��G�X�=�,�D�(�,�,�?��G�X�1�(!4�D�(�:J�:J� K��K��N�#6�i��AR�AR�TY�"Z��L�-�-�2�'�6�5�I��J��J�
,�D�(�,�,��F��G�X�!�<�I�J�N�#�.�.�:�2�.�2�
9�4C�"�*"�,*�*�*�*�"�F�B�
B�Br)F)r"rZ	functoolsr4r,r�ZreZsysZ__all__Z	hash_infoZmodulusrZinfrZ	lru_cacherZcompileZVERBOSEZ
IGNORECASEr0rrZDOTALLZ	fullmatchrhrir-rrerr�<module>r�s�������	�
��,��
�-�-�'�'���m�m����
���w�'�*�(�*�@�:�:���Z�Z�"�-�-��!��"�:$'�P)+�
�
�
4��Y�Y�����
)�'�Y�&�$')�j�j�2��Y�Y�����'�'�Y�$�$[
B�w���[
Br