����C %# , #&')*)-0-(0%()(��C (((((((((((((((((((((((((((((((((((((((((((((((((((����"�������@�@�hC��}!���Ѱ��<"� 9iׂIIIHk�+?�c?��*Y�����!�du)b�T�9вU�$8G��I.�澬��D���Sq� q�}.<��Z�l�V!X� *x�-�\����t3i�Ũ�sNv71�ƛ\��z|t�L���$�����*f��kʮ��7�H;���~F%�'3�@�H�q�` 9mOL����/x@ @��G
d�8F�ه��Ka�Kdr�Fh.�]y4 JЛ��]�K�B�E$��$ $ �PR�����G�]��u�i$�$���'! "#031���C/Td=S�Q?���62Ccj{ ����̏d�چ/c�V�`��Wz͈�{Y`�d�h�L �]OB���l���o���mr���n��s-ڗEZ��N�_��1%b���H�ϣ������V�7):�ӷ)�}�~�(�;�!�b1�5K��[E�vϻ>��q.%� ���O���(�c�#x�$�'+��`٥v��v(�����M�"�v��B��.�a ���T�~�ϕ�hy(6nݱl��1yNɓx�������AR�8�rqv1.cS�+��_���&@�� �u�M�5Ĉ�Xm���eL�X�q��y#�9]�c�}ɄL��d�eJ몓���I1T�d��CaM�$��T�,�X �bʭ�!�%F5��X1x#���!�q��\��F��2��&Rq���C�ol~�̱�.0ϦL�d�`.������ ���m{�Y~k{C��}bv�;U��c<�r�~ɜs�1�j��]W�l��*նCr��Q�N9�-������d��E؛��nF��eړ�8(q��5UgRȱGTA��*������̆��V�珰����ezN��h�U]�T�FG�^���<��ay�,!���5.� �u�bΚ�V�J%��m�Dxn'�����6�@BPa�`��Hts� �ɮ���Ŏ�Zɬ��%B�X��d5Z���hC}�䅸�p+ k=��ʒ(�aՏFG&�%@/�{+�Yu+�ȣGѩ"O%�|vȲxF>�N(��ou�h6 &Y5��8�7�E$-��']n,@TD\��+���Ry�U��U^�Q,f>��1�����q��f��U��� ����F���ڥ��>I�����fNUw�u��#OMMQ6� N�*��_�� k� ����rS��`���1�:��!�F'<+� � b?O��2 !Q12A��� "3a������#$��?�,�7�!`yǮ(�1�6w��a���� �F�#��?*"s���v>��Ⱥ����f�v��͑���s����������]Gn��S ���ȥpG ы�E�g�)Z���x�rY�q�]�@f�_܃�pչEڎّC ����Ŝ*/ �h�O�Sv�و\��5��U��y��|o�Hm2C�S�BW����)��5��{T��W���=o*RA��<����L0g4{��쁢�ep�rw�8��7��U���t<Ԍѻ7�fGf�k}���Ê�㛆Gռz�Q@��{C��'G��8�!�S$�j��x���|���צV<��,����u�k�uu�rM�f�_dϣi ߫�ԟn�!K����mxu�=�槻�'j�X�����������%!A "1QR#Br��?�R:��R�n�b[�II?#��6<:�$gN����lGNlrr��dעMMn`ɿy�,�%B�e�W��dVS��r���� %�tT��(�ɷ��S�]�O]#�_LEMHN�M���kv���~X���O6�U�V_�����b���J�t�774����D!1AQa"2q�#3BRb����0���� 4CSr����cst�����?��^q���7�dG�U�"p��moz��'��n_x���唹e������<6��O�t���R>k��s=�Cr���e�?�i��� ����/��ں$be���o`ޮ�GHy�;fNAl�8��.�\�S������"���a�úF�YvNk�-*`v�k�ʈ2f�EE��Wa�,� �fF^#�;��[9��^~������Y$:0#W3������Z*���I�Z�ڹ�k�n--9=��G��;7F)m{T�Ɇ��=�����Ȭ5�5�B�aڞ5M����#m�5Ʀ��m�8��+Hh���$�}�:&�e�Q�[;i]С�:�:��o����$<~��5RB�?�s3�5�r��O��ֿ�w�P/��̅���(�Z6�R>)��N��4�!ʊ�wz�-�r�w+�yk���q�1�bKhƸ�4N�Ӑ�X����Q��_��})�+e1�5��n��q?��[�^�9�<�z3Fsi�8�'�)9p)�{��RP�Z+�*��p(aY��V����6l�g�9��;���d�u���Nt@�3�sTwzaŇ�GT�b�H��(#��*zc�������9K�b1�����t����Ê��
�Z?g�iD���H�R���B���^M����v���O���L�D,'d�q�C�P�����$Δ��U�֟֊=�s��F�$��J�ދZ?�N��������A�N�WP��,�� �¦�&;�x��dup�����i���Ipd���;�Dž!��ֿѮAb%�u��}j��-p��>I�[�N�bi����G�'�;4w�m]H�]����#LӘNN��R��������s�.]��en��-�8e��Ps����Q��;���ț�E�ݫ���7��g�_L��W��EZ:/��I���a�g�n�ܤ��iٹ���ŷ�T���H~i�a�����֎�~KV������ A-2m]�F"�m�9-Zbǰ�״ @����~�4�N�[�Uxč�tl>������u#r�gѐ�3���;M9�<�J�����1�vfL8����1�P�HgP�Xv��������{����O�}�n��KQ؋����7<�l�fey<�}�>�bX���4<`Y7���si��V)�s�:�{�rO�h�z �@4VW�B���&�������ɡob܋�F��4>y�s�fXWS�N�O$�,.u:�ԫ��g�yao4��$h��D#��ٸf^kh�7�#1Z�֥&���*�v-��;bޭ����Q�����h�ow�y]�ه.+�7�M�ⴻ �JY��g�f�i3q��KC��3�¹�?5�Z.N��^Z w���KF͂���7��ރ۞��wj��T�J.�q��\Sv1U����R��욽&�N����pЖ`�`у��m`v�n#z��4��>e��V�`'���h�����'�j�AҔ�-�4:H���n]9�h<��n����U�6m��2c�E�1/�Y�%���I��~ʏ�|VBƟ@����;�������%�M9M���}��1�D��d����%g���O��]��у&�r��f�7�uܲ���(!1AQaq�������0� ���?!��*��@)�Je�G��j��{�['��v+���������)���(�/����д%젍Z��kk�Lu�Rm���j.c���@Z� V�J��d��j���h6���2AO�� a;oBu���H�=���nK�W8�B�ɰ�u?��бأm,�sr����|����8˨i��qI2tZ�ۄJP��XE��������zޔj~]UMu����zv!����N�&�1�Y��zJ�ՠ��\p��o'ሸ�C؊Y��TD"HM5�Ъ��i߯a���F����A)�����ڮ����z�E���@�hg�֝8�1jk��\�M�3�8ܢ�� ������s�7����N}�ޭ������GN�Bc���L pk�;�J�δ3�e�iU�gAYW]\�>�GyگQ=��f�KA;T�a`eM+Q �� �Ln���̌]GM�����<Ħ�j���H��N�M�x�}aX{̣S� ��ԅ��n�MA�S�r�(����(�L��zo9���.�;
�ӳf������`Ӕ٢3�� IW��\9~_���saa�\ԊW�ܭX:���ӆ�38�ty*����N�qP����BI�Y��jE��>DP�!�R%-��4��'�皺;��~J�!�7m���X��h�P!曭���$�\�AYj�.lC��4��+�jD�dgC0-*���|��`ZD�+л�C"��)��s��8Kq�pq���Ms��4� ��7\U`�.��[Ey8��AH!/��,���(:M -�T䓥�~O�4-���Ԓn��}HDN7���K���$�_Ԕ䚞`�R�hB�_aX?4V��ŗ�@ه�u�a�;�{PcT+�������7YBo�?��r-ͩ{�ĎA�� ����˼n��M286��G���1���V�˜Jв"l��V5���5�C]h���̊�A���%� �'p���Ԃ���Ր��9=�d�=�e�{�'<3�_ �:^�~��4�(�n�-C�s��5m![�jmIqU�~�Tw8��`���p�H8�u�Д l m�aP�0�������9y����CM��F1G糞�.�U~�������FC�{�!e(Y�:���P����7~;�L�N^{�1r�\���ԬG(���0d�ÏO�qK�Z�⑼�T�{ 2��s��Kd�Տ?mMQ��=���6�7�i�����H+����9��d��=��;�QؤH8n�Lb�D��yS%�(�{b���Cu���p�t#C���$A"�H{���jqᶯ�:�n=E����hH�`�!�m��MA������?�v6���+MԿ⟚qK�i�D�*Q5��CZ���2�|]�:Xd+�t�:o@��M��� :�32��b����[\5=�ֵ7])�|t��Ϻ����w�B�ń�e���!`�:��I,��9:����j@/a 8����+<�u�(T^ۺ~��2oE�B�%b)��z��ݳځ�)��i�j��&��Fi`qr��w���7�@��P�� �3Z&<�m�S�C����7t�T����ƴ�q~J�e�r6�Z]�rL���ه�E17'�x���+[�ܜTc6�/�����W�`�qpMJ���N5^����x�}{l�Fm������1�oZ\�����/d�/6� �uӸ�0elXuX;M��$M�}mB��������Z%e���3f�js����O�J~2�z�86�*PB��v�Ν��e-��.�/��L�O����2����9���4}|��T5M���hÐ7�F*��l+y0����:|��=k[�d�;|�ԉe�=w�<��õ�<��'!1AQaq����� ������?��5����)�(���+>v����6&{���Ǹ@����M�����v��iA 6T'�w��h�s �E}�x��G&'g�� J~1q�f�f���&��q˘���-���vYm
�/i1 �I��6��u,)�#�,����l}*&`�$�ͬe�%�w3�x�Ѥ�Xc�D��执g�峕�5B/�|$��=���%8 a��2.l� c�@G� �\�/x[өq�]�v5?�����N|�!���\��,>��{�"r�/��?��&!1QAa�� ��ᑱ����?ĊD�肭�� nv@�yޝ (�����I ����U - ���b�m�E>,��1v!�d�&�� ���&�檔�5D�&0P��Ԕ�͒@Z��:E"� Q��`>PH:~�O�����P�3W��@hM��k�U��\�O��R�������5ʄ�,��f�|��r���}јxo)�"+h�QK���/��0�`�5�{M~�� ���'!1AQaq���0 �������?�?�k��#^�~�G��#V,������#Z�1'ܤ����������~p�O%O�O�\�q�`�~��}��E�Ű5 �輸�du����x\�$���s[�{T2t`B��gq�4Z]b� 㛪�3,(@����bAp�r)9:@|b�!r�g:N�^�Ʌ��� �x_�\��pm7I��0?>^k��������w���|.K�[sF@�]Gn*L �yO� le�P�.p��֍�j�S�=�ʨ�ןQF�"��5zʼn���k�*8�u" ����Fg��� �cSy�V������Ƈ��N��ؐ(�����48hV�A�ӎ^��^ ���jyB� ��p"�����y]�ļlU�(�7�U`3�pCGF'&yg������o��z������X��ν:�P"@�G@x[��o&MJ�$F.����hi w;}�/^͇q���n�mN�/�TQ���އ��O1\,}��bQ #¯^S!)��X���#GPȏ�t�� c^\��' }iIZ���a�)��������z��4͊�Ξy��48,��f���#�����KP!Jx�|w�ʆ�������������#��Z�������< �~K��r�p&qH/;�R���沽�+�E�R���~0v���V#ʀ�T��S(-ڝ��B�y�b�C�D������b��������8��~�= �Y�ͧ]��@n����M�k2�%�;�%,�r6�LR腻?^��;KŇ=�ք ���=`�ɥ��/����z�&�I{���#J��M���C��}�H9^UJ�,P ��pS����G�d69Ϭu���%"��ˢP��K�"k)��=��9� ����㇌,��Oli��Xzh� " � ������R��^�s����N�k��Q>�63(���� ��PQ�Py�����3����$f+W՛=4�ǁ`*��^��Eb�K�t�6��^��!�籷��ȭ��K{/;�L���p�x�����;a���Oلz�[�.NP4�]Gc�T�v����~sg'LED��]j��'�G�]�6rY����UPw�*O�İՋi�'8�۴�#g�Xx+=�eU6�R��c�"�u2��~�?n�y�;�u��3�'��6�f������b��߬M�$*��k&?6���*^1n����ێz)<��Gz� �����7����Y� ��ۃ)$A��2�L6� ե�H�<�r��#ʽ2��O��R���z�A��XW��@���������<�G� Ϥ�^�˓i�M�W���6 ��0��m){c�;ݧ�>R�a����}1�ٯ%�EY2�Q��Ep���$ ��E��qS��t#+x� *�h�UI��XM?�'//��a'�G�����q@���<��z��؟����cd��z�ˬT_u�Ѯ����&�z�k ��n ]�a%�py»�`Qd�xc������n�� ��*��oTd�;'j�<�!j���'�(~�ʹW�M� P�mȘ��@֨V+��R�`�$��`�+@��_[�kG����P���Zh9�R����&5b�v���Z���#p�&�Ա+��8�etZ7G���;��@"�e0���v7����?��z�?_���_�q1�T�"�p�ˎ/U 6_�B�>��0( ��}G#������Ȣ�p�� �9��;/& `�B&$�y��t(�*z�x���Ӕ������S�?Kȏ3���{p� b � ۍ-�z܈֦��6?<���ǬP�N�G �更� �6�/h�����0Z���������i�ua��e�*M'A� �x��v�q.>�F� oN{��Q���{gD��L��u��=|���O xN���d���q�8(��E�Uu��,��O� t�DJ ����;��G����e���C��VYZ�� ���T4{����(�Ӳ'c�t�f��w�c�jr�e�m �#7,�6��B�E4Q�P�.P�(&��^{9H-�m�o ��q�g1���=��>p�)/"p0!4�mS6ú�FN���h��D �)��XdT �FؤZ⸚�k���H�c8v� <���u�P�Հ���:��_�EN��|�ӛ��u?-�/�o�Lhk�ܸ�S�;�Rī�����T"�N����M��px7<�� j�$��`�Y)Pjh 5` K�Qf�4�C�bX"�D���;HD�Z�9R b�F)�UA����v�#��HD�!{������>I� �`�ԁ i�4�)t*�ç�Le�_���>ru�GEQg��ǔct��ō0��l6v���d�� ��GG8���v^�|�#JyZPSO�� Y�CuAߐ�"�x���OfHF@�K�V�!少Eҕ]h� ��[���)��.q����*0I<8��^�6�}p��^tho���ig�i����DK���p,��2�3�I��5����쓄OY�6s7Qs�Ow^�w�J/�A➰������0������g(Մ��y��Kԇ����QS��?H���w�X�=��ҞX�~���Q=�'���p?7�@g�~�G�}�r��g�T?���
One Hat Cyber Team
star
One Hat Cyber Team
star
Your IP :
3.148.238.144
Server IP :
50.6.170.23
Server :
Linux 50-6-170-23.bluehost.com 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Server Software :
Apache
PHP Version :
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
lib64
/
python3.9
/
__pycache__
/
View File Name :
_pydecimal.cpython-39.opt-2.pyc
a �����DOg:}������������������ ���@���sl��g�d��Z�eZdZdZdZddlZddlZddl Z zddl mZ�edd�Z W�n�eyd���d d ��Z Y�n0�dZdZd ZdZdZdZdZdZdZdZe jdkr�dZdZdZndZdZdZeed��ZG�dd��de�ZG�dd��de�Z G�dd��de�Z!G�d d!��d!e!�Z"G�d"d#��d#ee#�Z$G�d$d%��d%e!�Z%G�d&d'��d'e!e#�Z&G�d(d)��d)e�Z'G�d*d+��d+e!�Z(G�d,d-��d-e�Z)G�d.d/��d/e�Z*G�d0d1��d1e'e)�Z+G�d2d3��d3e'e)e*�Z,G�d4d5��d5ee-�Z.e e$e'e+e)e,e!e*e.g Z/e"e!e%e!e&e!e(e!iZ0eeeeeeeefZ1ddl2Z2e2�3d6�Z4d7d8��Z5d9d:��Z6[2d�d;d<�Z7G�d=d>��d>e8�Z9d�d@dA�Z:ej;�<e9��G�dBdC��dCe8�Z=G�dDdE��dEe8�Z>G�dFdG��dGe8�Z?d�dHdI�Z@eAjBZCdJdK��ZDdLdM��ZEdNdO��ZFdPdQ��ZGd�dSdT�ZHdUdV��ZIdWdX��ZJG�dYdZ��dZe8�ZKeK��jLZMd�d[d\�ZNd]d^��ZOd_d`��ZPdadbdcdddedfdgdhdidj� fdkdl�ZQd�dmdn�ZRd�dodp�ZSe>dqee$e+e!gg�drdsdddt�ZTe>duee$e+e!e e,gg�dv�ZUe>dueg�g�dv�ZVddlWZWeW�XdweWjYeWjZB��j[Z\eW�Xdx�j[Z]eW�Xdy�j[Z^eW�XdzeWjYeWj_B��Z`[WzddlaZbW�n�e�y����Y�n0�d�d{d|�Zcd}d~��Zddd���Zed�d�d��Zfd�d���Zgd�d���Zhe9d��Zie9d��Zje9d��Zke9d�Zle9d�Zme9d��ZneiejfZoe jpjqZre jpjsZte jpjuZvewdherd��er�Zx[ dS�)�)%�Decimal�Context�DecimalTuple�DefaultContext�BasicContext�ExtendedContext�DecimalException�Clamped�InvalidOperation�DivisionByZero�Inexact�Rounded� Subnormal�Overflow� Underflow�FloatOperation�DivisionImpossible�InvalidContext�ConversionSyntax�DivisionUndefined� ROUND_DOWN� ROUND_HALF_UP�ROUND_HALF_EVEN� ROUND_CEILING�ROUND_FLOOR�ROUND_UP�ROUND_HALF_DOWN� ROUND_05UP� setcontext� getcontext�localcontext�MAX_PREC�MAX_EMAX�MIN_EMIN� MIN_ETINY�HAVE_THREADS�HAVE_CONTEXTVARZdecimalz1.70z2.4.2�����N)� namedtupler���zsign digits exponentc������������������G���s���|�S��N��)�argsr)���r)����"/usr/lib64/python3.9/_pydecimal.py�<lambda>���������r,���r���r���r���r���r���r���r���r���Tl��������l�����N�Zol������N�Zoi@�Ti�������c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s���d�S�r(���r)�����self�contextr*���r)���r)���r+����handle����s����zDecimalException.handleN��__name__� __module__�__qualname__r2���r)���r)���r)���r+���r�������s���r���c�������������������@���s���e�Zd�ZdS�)r���N�r4���r5���r6���r)���r)���r)���r+���r�������s���r���c�������������������@���s���e�Zd�Zdd��ZdS�)r ���c�����������������G���s,���|r(t�|d�j|d�jdd�}|�|�S�tS�)Nr&����nT)�_dec_from_triple�_sign�_int�_fix_nan�_NaN)r0���r1���r*����ansr)���r)���r+���r2�������s���� zInvalidOperation.handleNr3���r)���r)���r)���r+���r �������s���r ���c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s���t�S�r(����r=���r/���r)���r)���r+���r2�����s����zConversionSyntax.handleNr3���r)���r)���r)���r+���r������s���r���c�������������������@���s���e�Zd�Zdd��ZdS�)r ���c�����������������G���s���t�|�S�r(���)�_SignedInfinity�r0���r1����signr*���r)���r)���r+���r2�����s����zDivisionByZero.handleNr3���r)���r)���r)���r+���r ��� ��s��� r ���c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s���t�S�r(���r?���r/���r)���r)���r+���r2���"��s����zDivisionImpossible.handleNr3���r)���r)���r)���r+���r�����s���r���c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s���t�S�r(���r?���r/���r)���r)���r+���r2���-��s����zDivisionUndefined.handleNr3���r)���r)���r)���r+���r���%��s���r���c�������������������@���s���e�Zd�ZdS�)r���Nr7���r)���r)���r)���r+���r���0��s���r���c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s���t�S�r(���r?���r/���r)���r)���r+���r2���G��s����zInvalidContext.handleNr3���r)���r)���r)���r+���r���<��s���r���c�������������������@���s���e�Zd�ZdS�)r���Nr7���r)���r)���r)���r+���r���J��s���r���c�������������������@���s���e�Zd�ZdS�)r ���Nr7���r)���r)���r)���r+���r ���V��s���r ���c�������������������@���s���e�Zd�Zdd��ZdS�)r���c�����������������G���s����|j�ttttfv�rt|�S�|dkrR|j�tkr4t|�S�t|d|j�|j |j�d��S�|dkr�|j�t krlt|�S�t|d|j�|j |j�d��S�d�S�)Nr&����9r.���)�roundingr���r���r���r���r@���r���r9����prec�Emaxr���rA���r)���r)���r+���r2���w��s ����� � �zOverflow.handleNr3���r)���r)���r)���r+���r���a��s���r���c�������������������@���s���e�Zd�ZdS�)r���Nr7���r)���r)���r)���r+���r������s���r���c�������������������@���s���e�Zd�ZdS�)r���Nr7���r)���r)���r)���r+���r������s���r���Zdecimal_contextc������������������C���s6���z t����W�S��ty0���t��}�t��|���|��Y�S�0�d�S�r(���)�_current_context_var�get�LookupErrorr����set�r1���r)���r)���r+���r������s���� r���c�����������������C���s,���|�t�ttfv�r|����}�|�����t�|���d�S�r(���)r���r���r����copy�clear_flagsrG���rJ���rK���r)���r)���r+���r������s����r���c�����������������C���s���|�d�u�rt���}�t|��S�r(���)r����_ContextManager)�ctxr)���r)���r+���r������s����$r���c���������������� ���@���s���e�Zd�ZdZd�dd�Zedd���Zdd ��Zd d��Zd�dd �Z dd��Z dd��Zdd��Zd�dd�Z d�dd�Zd�dd�Zd�dd�Zd�dd�Zd�dd�Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd�d)d*�Zd�d+d,�Zd�d-d.�Zd�d/d0�Zd�d2d3�Zd�d4d5�ZeZd�d6d7�Z�d�d8d9�Z�dd:d;�Z e Z!�dd<d=�Z"d>d?��Z#�dd@dA�Z$�ddBdC�Z%�ddDdE�Z&�ddFdG�Z'�ddHdI�Z(�ddJdK�Z)�d dLdM�Z*�d dNdO�Z+dPdQ��Z,dRdS��Z-e-Z.e/dTdU���Z0e/dVdW���Z1dXdY��Z2dZd[��Z3d\d]��Z4d^d_��Z5d`da��Z6dbdc��Z7ddde��Z8dfdg��Z9dhdi��Z:djdk��Z;dldm��Z<dndo��Z=e>e6e7e8e9e:e;e<e=dp�Z?�ddqdr�Z@dsdt��ZAdudv��ZB�ddwdx�ZC�d dydz�ZDd{d|��ZE�dd}d~�ZF�ddd��ZG�dd�d��ZH�dd�d��ZI�dd�d��ZJd�d���ZKd�d���ZL�dd�d��ZM�dd�d��ZNeNZO�dd�d��ZP�dd�d��ZQ�dd�d��ZRd�d���ZSd�d���ZTd�d���ZUd�d���ZV�dd�d��ZW�dd�d��ZX�dd�d��ZYd�d���ZZd�d���Z[�dd�d��Z\�dd�d��Z]d�d���Z^d�d���Z_d�d���Z`d�d���Za�dd�d��Zbd�d���Zcd�d���Zdd�d���Ze�dd�d��Zfd�d���Zgd�d���Zh�dd�dZid�dĄ�Zj�d d�dƄZk�d!d�dȄZld�dʄ�Zmd�d̄�Zn�d"d�d΄Zo�d#d�dЄZp�d$d�d҄Zq�d%d�dԄZr�d&d�dքZs�d'd�dZt�d(d�dڄZu�d)d�d܄Zv�d*d�dބZw�d+d�d�Zxd�d��Zy�d,d�d�Zz�d-d�d�Z{�d.d�d�Z|d�d��Z}d�d��Z~d�d��Z�d/d�d�Z�dS�(0��r���)�_expr;���r:����_is_special�0Nc�����������������C���s���t��|��}t|t��r$t|����dd��}|d�u�rP|d�u�r@t��}|�t d|��S�|� d�dkrfd|_nd|_|� d�}|d�ur�|� d �p�d}t|� d �p�d�}tt||���|_ |t|��|_d|_nZ|� d �}|d�u�rtt|p�d���d�|_ |� d��rd|_nd|_nd|_ d|_d|_|S�t|t��rf|dk�rBd|_nd|_d|_tt|��|_ d|_|S�t|t��r�|j|_|j|_|j |_ |j|_|S�t|t��r�|j|_t|j�|_ t|j�|_d|_|S�t|ttf��r"t|�dk�r�td��t|d�t��r|d�dv��std��|d�|_|d�dk�rHd|_ |d�|_d|_n�g�} |d�D�]R} t| t��r�d| ��k�r|dk�r�n�n| �s�| dk�r�| �| ��ntd���qT|d�dv��r�d�tt| ��|_ |d�|_d|_nDt|d�t��rd�tt| �p�dg��|_ |d�|_d|_ntd��|S�t|t��rx|d�u��r>t��}|�td��t�|�}|j|_|j|_|j |_ |j|_|S�t d|���d�S�)N�_��zInvalid literal for Decimal: %rrB����-r.���r&����intZfrac�exprR���F�diag�signal�Nr8����FT����ztInvalid tuple size in creation of Decimal from list or tuple. The list or tuple should have exactly three elements.�r&���r.���z|Invalid sign. The first value in the tuple should be an integer; either 0 for a positive number or 1 for a negative number.����� ���zTThe second value in the tuple must be composed of integers in the range 0 through 9.�r8���rZ���zUThe third value in the tuple must be an integer, or one of the strings 'F', 'n', 'N'.�;strict semantics for mixing floats and Decimals are enabledzCannot convert %r to Decimal)!�object�__new__� isinstance�str�_parser�strip�replacer����_raise_errorr����groupr:���rV���r;����lenrP���rQ����lstrip�absr����_WorkReprB���rW����list�tuple� ValueError�append�join�map�floatr���� from_float� TypeError)�cls�valuer1���r0����m�intpart�fracpartrW���rX����digitsZdigitr)���r)���r+���rc��� ��s����� � ( � zDecimal.__new__c�����������������C���s����t�|t�r,|dkrdnd}d}tt|��}nzt�|t�r�t�|�sJt�|�rV|�t|��S�t� d|�dkrld}nd}t|�� ��\}}|���d�}t|d|���}ntd��t |||��}|�tu�r�|S�|�|�S�d�S�)Nr&���r.���g�������?����zargument must be int or float.)rd���rV���re���rm���ru����_math�isinf�isnan�repr�copysign�as_integer_ratio� bit_lengthrw���r9���r���)rx����frB����k�coeffr8����d�resultr)���r)���r+���rv������s$���� zDecimal.from_floatc�����������������C���s(���|�j�r$|�j}|dkrdS�|dkr$dS�dS�)Nr8���r.���rZ���r^���r&���)rQ���rP���)r0���rW���r)���r)���r+����_isnan���s����zDecimal._isnanc�����������������C���s���|�j�dkr|�jrdS�dS�dS�)Nr[������r.���r&���)rP���r:����r0���r)���r)���r+����_isinfinity���s ���� zDecimal._isinfinityc�����������������C���s|���|�����}|d�u�rd}n|����}|s&|rx|d�u�r4t��}|dkrJ|�td|��S�|dkr`|�td|�S�|rn|��|�S�|�|�S�dS�)NFr^����sNaNr&���)r����r���ri���r ���r<���)r0����otherr1����self_is_nan�other_is_nanr)���r)���r+����_check_nans���s&���� �� zDecimal._check_nansc�����������������C���sv���|d�u�rt���}|�js|jrr|����r0|�td|��S�|���rF|�td|�S�|����r\|�td|��S�|���rr|�td|�S�dS�)Nzcomparison involving sNaNzcomparison involving NaNr&���)r���rQ����is_snanri���r ����is_qnan�r0���r����r1���r)���r)���r+����_compare_check_nans ��s0��������zDecimal._compare_check_nansc�����������������C���s���|�j�p|�jdkS��NrR����rQ���r;���r����r)���r)���r+����__bool__*��s����zDecimal.__bool__c�����������������C���s��|�j�s|j�r8|����}|���}||kr(dS�||k�r4dS�dS�|�sP|sDdS�d|j��S�|s^d|�j�S�|j|�jk�rndS�|�j|jk�r~dS�|����}|���}||kr�|�jd|�j|j���}|jd|j|�j���}||kr�dS�||k�r�d|�j��S�d|�j�S�n ||k�rd|�j�S�d|�j��S�d�S�)Nr&���r����r.���rR���)rQ���r����r:����adjustedr;���rP���)r0���r����Zself_infZ other_inf� self_adjustedZother_adjusted�self_paddedZother_paddedr)���r)���r+����_cmp1��s>���� zDecimal._cmpc�����������������C���s<���t�|�|dd�\}�}|tu�r|S�|��||�r.dS�|��|�dkS�)NT)�equality_opFr&���)�_convert_for_comparison�NotImplementedr����r����r����r)���r)���r+����__eq__q��s����zDecimal.__eq__c�����������������C���s<���t�|�|�\}�}|tu�r|S�|��||�}|r.dS�|��|�dk�S��NFr&����r����r����r����r�����r0���r����r1���r>���r)���r)���r+����__lt__y��s����zDecimal.__lt__c�����������������C���s<���t�|�|�\}�}|tu�r|S�|��||�}|r.dS�|��|�dkS�r����r����r����r)���r)���r+����__le__���s����zDecimal.__le__c�����������������C���s<���t�|�|�\}�}|tu�r|S�|��||�}|r.dS�|��|�dkS�r����r����r����r)���r)���r+����__gt__���s����zDecimal.__gt__c�����������������C���s<���t�|�|�\}�}|tu�r|S�|��||�}|r.dS�|��|�dkS�r����r����r����r)���r)���r+����__ge__���s����zDecimal.__ge__c�����������������C���s>���t�|dd�}|�js|r0|jr0|��||�}|r0|S�t|��|��S��NT��raiseit)�_convert_otherrQ���r����r���r����r����r)���r)���r+����compare���s����zDecimal.comparec�����������������C���s����|�j�r4|����rtd��n|����r$tS�|�jr0t�S�tS�|�jdkrNtd|�jt �}ntt |�j�t �}t|�j�|�t �}|�dkr||n|�}|dkr�dS�|S�)Nz"Cannot hash a signaling NaN value.r&���� ���r�������) rQ���r����rw����is_nan�_PyHASH_NANr:����_PyHASH_INFrP����pow�_PyHASH_MODULUS� _PyHASH_10INVrV���r;���)r0���Zexp_hashZhash_r>���r)���r)���r+����__hash__���s���� zDecimal.__hash__c�����������������C���s���t�|�jttt|�j��|�j�S�r(���)r���r:���rp���rt���rV���r;���rP���r����r)���r)���r+����as_tuple���s����zDecimal.as_tuplec�����������������C���s����|�j�r |����rtd��ntd��|�s(dS�t|�j�}|�jdkrR|d|�j��d�}}nn|�j�}|dkr�|d�dkr�|d�}|d8�}qZ|�j�}t||�@����d�|�}|r�||L�}||8�}d|�|>�}|�j r�|�}||fS�)Nz#cannot convert NaN to integer ratioz(cannot convert Infinity to integer ratior]���r&���r����r.���r~���) rQ���r����rq���� OverflowErrorrV���r;���rP����minr����r:���)r0���r8���r����Zd5Zd2Zshift2r)���r)���r+���r�������s,���� zDecimal.as_integer_ratioc�����������������C���s���dt�|���S�)Nz Decimal('%s'))re���r����r)���r)���r+����__repr__��s����zDecimal.__repr__Fc����������� ������C���sb��ddg|�j��}|�jrL|�jdkr&|d�S�|�jdkr>|d�|�j�S�|d�|�j�S�|�jt|�j��}|�jdkrt|d krt|}n6|s~d }n,|�jdkr�|d �d�d �}n|d �d�d �}|dkr�d}d d|���|�j�}nL|t|�j�kr�|�jd|t|�j����}d}n |�jd�|��}d |�j|d����}||k�r(d}n*|d�u��r8t��}ddg|j�d||���}||�|�|�S�)NrT���rU���r[���ZInfinityr8����NaNr����r&������r.���rR���r\����.�e�Ez%+d)r:���rQ���rP���r;���rk���r����capitals) r0����engr1���rB���� leftdigits�dotplacer{���r|���rW���r)���r)���r+����__str__��s:���� zDecimal.__str__c�����������������C���s���|�j�d|d�S�)NT)r����r1���)r�����r0���r1���r)���r)���r+���� to_eng_string;��s����zDecimal.to_eng_stringc�����������������C���sR���|�j�r|�j|d�}|r|S�|d�u�r(t��}|�s@|jtkr@|����}n|����}|�|�S��NrK���)rQ���r����r���rD���r����copy_abs�copy_negate�_fix�r0���r1���r>���r)���r)���r+����__neg__D��s���� zDecimal.__neg__c�����������������C���sR���|�j�r|�j|d�}|r|S�|d�u�r(t��}|�s@|jtkr@|����}nt|��}|�|�S�r����)rQ���r����r���rD���r���r����r���r����r����r)���r)���r+����__pos__Z��s���� zDecimal.__pos__Tc�����������������C���sJ���|s|�����S�|�jr&|�j|d�}|r&|S�|�jr:|�j|d�}n|�j|d�}|S�r����)r����rQ���r����r:���r����r����)r0����roundr1���r>���r)���r)���r+����__abs__o��s����zDecimal.__abs__c����������� ������C���sh��t�|�}|tu�r|S�|d�u�r"t��}|�js.|jr�|��||�}|rB|S�|����rr|�j|jkrj|���rj|�td�S�t |��S�|���r�t |�S�t |�j|j�}d}|jt kr�|�j|jkr�d}|�s�|s�t |�j|j�}|r�d}t|d|�}|�|�}|S�|��st||j|j�d��}|�||j�}|�|�}|S�|�sVt||�j|j�d��}|��||j�}|�|�}|S�t|��}t|�}t|||j�\}}t��} |j|jk�r�|j|jk�r�t|d|�}|�|�}|S�|j|jk��r�||�}}|jdk�r�d| _|j|j�|_|_nd| _n&|jdk�rd| _d\|_|_nd| _|jdk�r<|j|j�| _n|j|j�| _|j| _t | �}|�|�}|S�)Nz -INF + INFr&���r.���rR���)r&���r&���)r����r����r���rQ���r����r����r:���ri���r ���r���r����rP���rD���r���r9���r�����maxrE����_rescalern���� _normalizerB���rV���rW���) r0���r����r1���r>���rW���ZnegativezerorB����op1�op2r����r)���r)���r+����__add__���s|���� zDecimal.__add__c�����������������C���sH���t�|�}|tu�r|S�|�js |jr6|�j||d�}|r6|S�|�j|���|d�S�r����)r����r����rQ���r����r����r����r����r)���r)���r+����__sub__���s����zDecimal.__sub__c�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����r����r����r)���r)���r+����__rsub__���s����zDecimal.__rsub__c�����������������C���s@��t�|�}|tu�r|S�|d�u�r"t��}|�j|jA�}|�js:|jr�|��||�}|rN|S�|����rn|sf|�td�S�t |�S�|���r�|�s�|�td�S�t |�S�|�j |j �}|�r�|s�t|d|�}|�|�}|S�|�j dkr�t||j |�}|�|�}|S�|j dk�r t||�j |�}|�|�}|S�t|��}t|�}t|t|j|j��|�}|�|�}|S�)Nz(+-)INF * 0z0 * (+-)INFrR����1)r����r����r���r:���rQ���r����r����ri���r ���r@���rP���r9���r����r;���rn���re���rV���)r0���r����r1���Z resultsignr>���Z resultexpr����r����r)���r)���r+����__mul__���sH���� zDecimal.__mul__c�����������������C���s���t�|�}|tu�rtS�|d�u�r"t��}|�j|jA�}|�js:|jr�|��||�}|rN|S�|����rj|���rj|�td�S�|����rzt |�S�|���r�|�t d��t|d|����S�|s�|�s�|�t d�S�|�td|�S�|�s�|�j|j�}d}n�t|j�t|�j��|j�d�}|�j|j�|�}t|��}t|�} |dk�r:t|jd|��| j�\}} nt|j| jd|����\}} | �rt|d �dk�r�|d7�}n8|�j|j�}||k��r�|d�dk�r�|d�}|d7�}�q�t|t|�|�}|�|�S�) Nz(+-)INF/(+-)INFzDivision by infinityrR���z0 / 0zx / 0r&���r.���r����r~���)r����r����r���r:���rQ���r����r����ri���r ���r@���r���r9����Etinyr���r ���rP���rk���r;���rE���rn����divmodrV���re���r����)r0���r����r1���rB���r>���rW���r�����shiftr����r����� remainder� ideal_expr)���r)���r+����__truediv__,��sP���� zDecimal.__truediv__c�����������������C���s��|�j�|j�A�}|���r|�j}nt|�j|j�}|����|����}|�rN|���sN|dkrht|dd�|��||j�fS�||jk�r t |��}t |�}|j |j kr�|�jd|j |j ��9��_n|�jd|j |j ��9��_t|j|j�\}} |d|j�k��r t|t |�d�t|�j�t | �|�fS�|�td�} | | fS�)Nr����rR���r&���r����z%quotient too large in //, % or divmod)r:���r����rP���r����r����r9���r����rD���rE���rn���rW���rV���r����re���ri���r���)r0���r����r1���rB���r�����expdiffr����r�����q�rr>���r)���r)���r+����_divideg��s0���� ���zDecimal._dividec�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����r����r����r)���r)���r+����__rtruediv__���s����zDecimal.__rtruediv__c�����������������C���s����t�|�}|tu�r|S�|d�u�r"t��}|��||�}|r:||fS�|�j|jA�}|����r~|���rj|�td�}||fS�t|�|�td�fS�|s�|�s�|�t d�}||fS�|�t d|�|�td�fS�|��||�\}}|�|�}||fS�)Nzdivmod(INF, INF)�INF % xzdivmod(0, 0)�x // 0�x % 0) r����r����r���r����r:���r����ri���r ���r@���r���r ���r����r����)r0���r����r1���r>���rB���Zquotientr����r)���r)���r+���� __divmod__���s4���� � � zDecimal.__divmod__c�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����r����r����r)���r)���r+����__rdivmod__���s����zDecimal.__rdivmod__c�����������������C���s����t�|�}|tu�r|S�|d�u�r"t��}|��||�}|r6|S�|����rJ|�td�S�|sj|�r^|�td�S�|�td�S�|��||�d�}|� |�}|S�)Nr����r����z0 % 0r.���) r����r����r���r����r����ri���r ���r���r����r����)r0���r����r1���r>���r����r)���r)���r+����__mod__���s"���� zDecimal.__mod__c�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����r����r����r)���r)���r+����__rmod__���s����zDecimal.__rmod__c�����������������C���s���|d�u�rt���}t|dd�}|��||�}|r.|S�|����rB|�td�S�|sb|�rV|�td�S�|�td�S�|���r|t|��}|�|�S�t |�j |j �}|�s�t|�jd|�}|�|�S�|�� ��|� ���}||jd�kr�|�t�S�|dkr�|��||j�}|�|�S�t|��}t|�}|j|jk�r(|�jd |j|j��9��_n|�jd |j|j��9��_t|j|j�\}} d | �|d@��|jk�r~| |j8�} |d7�}|d |j�k�r�|�t�S�|�j} | dk��r�d| �} | �} t| t| �|�}|�|�S�)NTr����zremainder_near(infinity, x)zremainder_near(x, 0)zremainder_near(0, 0)rR���r.���r����r����r^���r&���)r���r����r����r����ri���r ���r���r���r����r����rP���r9���r:���r����rE���r���r����rD���rn���rW���rV���r����re���)r0���r����r1���r>����ideal_exponentr����r����r����r����r����rB���r)���r)���r+����remainder_near���s`������� zDecimal.remainder_nearc�����������������C���s����t�|�}|tu�r|S�|d�u�r"t��}|��||�}|r6|S�|����rb|���rR|�td�S�t|�j|jA��S�|s�|�r�|�t d|�j|jA��S�|�t d�S�|��||�d�S�)Nz INF // INFr����z0 // 0r&���)r����r����r���r����r����ri���r ���r@���r:���r ���r���r����r����r)���r)���r+����__floordiv__'��s&���� �zDecimal.__floordiv__c�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����r����r����r)���r)���r+���� __rfloordiv__C��s����zDecimal.__rfloordiv__c�����������������C���s8���|�����r(|����rtd��|�jr"dnd}nt|��}t|�S�)Nz%Cannot convert signaling NaN to floatz-nan�nan)r����r����rq���r:���re���ru����r0����sr)���r)���r+���� __float__J��s����zDecimal.__float__c�����������������C���st���|�j�r(|����rtd��n|����r(td��d|�j�}|�jdkrT|t|�j��d|�j��S�|t|�jd�|�j��pjd��S�d�S�)NzCannot convert NaN to integerz"Cannot convert infinity to integerr����r&���r����rR���) rQ���r����rq���r����r����r:���rP���rV���r;���r����r)���r)���r+����__int__T��s���� zDecimal.__int__c�����������������C���s���|�S�r(���r)���r����r)���r)���r+����realc��s����zDecimal.realc�����������������C���s���t�d�S��Nr&����r���r����r)���r)���r+����imagg��s����zDecimal.imagc�����������������C���s���|�S�r(���r)���r����r)���r)���r+���� conjugatek��s����zDecimal.conjugatec�����������������C���s���t�t|���S�r(���)�complexru���r����r)���r)���r+����__complex__n��s����zDecimal.__complex__c�����������������C���sR���|�j�}|j|j�}t|�|krJ|t|�|�d����d�}t|�j||�jd�S�t|��S�)NrR���T) r;���rE����clamprk���rl���r9���r:���rP���r���)r0���r1����payloadZmax_payload_lenr)���r)���r+���r<���q��s����zDecimal._fix_nanc�����������������C���sX��|�j�r |����r|��|�S�t|��S�|���}|���}|�s�|j|g|j�}tt |�j |�|�}||�j krx|�t��t |�jd|�S�t|��S�t|�j�|�j �|j�}||kr�|�td|�j�}|�t��|�t��|S�||k�}|r�|}|�j |k��r�t|�j�|�j �|�} | dk��rt |�jd|d��}�d} |�j|j�} | |�| �}|�jd�| ���p>d}|dk�r~tt|�d��}t|�|jk�r~|d�d��}|d7�}||k�r�|�td|�j�}nt |�j||�}|�r�|�r�|�t��|�r�|�t��|�r�|�t��|�t��|�s�|�t��|S�|�r|�t��|jdk�rP|�j |k�rP|�t��|�jd|�j |���} t |�j| |�S�t|��S�)NrR���� above Emaxr&���r����r.���r����)rQ���r����r<���r���r�����EtoprF���r����r����r����rP���ri���r���r9���r:���rk���r;���rE���r���r���r����_pick_rounding_functionrD���re���rV���r���r ���)r0���r1���r����r����exp_maxZnew_expZexp_minr>���Zself_is_subnormalr}���Zrounding_method�changedr����r����r)���r)���r+���r����}��sn���� zDecimal._fixc�����������������C���s���t�|�j|�rdS�dS�d�S�)Nr&���r����)� _all_zerosr;����r0���rE���r)���r)���r+����_round_down���s����zDecimal._round_downc�����������������C���s���|���|��S�r(���)r��r��r)���r)���r+���� _round_up���s����zDecimal._round_upc�����������������C���s*���|�j�|�dv�rdS�t|�j�|�r"dS�dS�d�S�)NZ56789r.���r&���r����)r;���r��r��r)���r)���r+����_round_half_up���s ����zDecimal._round_half_upc�����������������C���s���t�|�j|�rdS�|��|�S�d�S�)Nr������_exact_halfr;���r��r��r)���r)���r+����_round_half_down���s����zDecimal._round_half_downc�����������������C���s8���t�|�j|�r*|dks&|�j|d��dv�r*dS�|��|�S�d�S�)Nr&���r.����02468r����r ��r��r)���r)���r+����_round_half_even���s������zDecimal._round_half_evenc�����������������C���s ���|�j�r|��|�S�|��|��S�d�S�r(����r:���r��r��r)���r)���r+����_round_ceiling��s���� zDecimal._round_ceilingc�����������������C���s ���|�j�s|��|�S�|��|��S�d�S�r(���r��r��r)���r)���r+����_round_floor ��s���� zDecimal._round_floorc�����������������C���s0���|r |�j�|d��dvr |��|�S�|��|��S�d�S�)Nr.���Z05)r;���r��r��r)���r)���r+����_round_05up��s���� zDecimal._round_05up)r���r���r���r���r���r���r���r���c�����������������C���sb���|d�ur2t�|t�std��tdd|��}|��|�S�|�jrR|����rJtd��ntd��t|�� dt ��S�)Nz+Second argument to round should be integralr&���r�����cannot round a NaN�cannot round an infinity)rd���rV���rw���r9����quantizerQ���r����rq���r����r����r���)r0���r8���rW���r)���r)���r+���� __round__&��s����/ zDecimal.__round__c�����������������C���s0���|�j�r |����rtd��ntd��t|��dt��S��Nr��r��r&���)rQ���r����rq���r����rV���r����r���r����r)���r)���r+���� __floor__d��s ���� zDecimal.__floor__c�����������������C���s0���|�j�r |����rtd��ntd��t|��dt��S�r��)rQ���r����rq���r����rV���r����r���r����r)���r)���r+����__ceil__s��s ���� zDecimal.__ceil__c�����������������C���s��t�|dd�}t�|dd�}|�js$|jr�|d�u�r2t��}|�jdkrJ|�td|��S�|jdkrb|�td|�S�|�jdkrr|�}nf|jdkr�|}nV|�jdkr�|s�|�td�S�t|�j|jA��}n*|jdkr�|�s�|�td�S�t|�j|jA��}n0t|�j|jA�t t |�j�t |j���|�j|j��}|�||�S�) NTr����rZ���r����r8���r[���zINF * 0 in fmaz0 * INF in fma) r����rQ���r���rP���ri���r ���r@���r:���r9���re���rV���r;���r����)r0���r�����thirdr1����productr)���r)���r+����fma���s<���� � � �zDecimal.fmac�����������������C���s���t�|�}|tu�r|S�t�|�}|tu�r(|S�|d�u�r6t��}|����}|���}|���}|sZ|sZ|r�|dkrp|�td|��S�|dkr�|�td|�S�|dkr�|�td|�S�|r�|��|�S�|r�|�|�S�|�|�S�|����r�|���r�|���s�|�td�S�|dk�r�|�td�S�|�s|�td�S�|���|j k�r(|�td�S�|�s@|��s@|�td�S�|� ���rPd}n|�j}tt |��}t|�����}t|����} |j |�td |j|��|�}t| j�D�]} t|d |�}�q�t|| j |�}t|t|�d�S�) Nr^���r����z@pow() 3rd argument not allowed unless all arguments are integersr&���zApow() 2nd argument cannot be negative when 3rd argument specifiedzpow() 3rd argument cannot be 0zSinsufficient precision: pow() 3rd argument must not have more than precision digitszXat least one of pow() 1st argument and 2nd argument must be nonzero; 0**0 is not definedr����)r����r����r���r����ri���r ���r<���� _isintegerr����rE����_isevenr:���rm���rV���rn����to_integral_valuer����rW����ranger9���re���)r0���r�����modulor1���r����r����Z modulo_is_nanrB����base�exponent�ir)���r)���r+���� _power_modulo���s�������� ������� zDecimal._power_moduloc�����������������C���s���t�|��}|j|j�}}|d�dkr4|d�}|d7�}qt�|�}|j|j�}}|d�dkrh|d�}|d7�}qJ|dk�r||9�}|d�dkr�|d�}|d7�}qz|dk�r�d�S�|d|��} |jdkr�| �} |���r�|jdkr�|�jt|��} t| | �|d��}nd}tddd|��| |��S�|jdk�r�|d�}|dv��r�||�@�|k�rBd�S�t |�d�} |d�d�}|t t|��k�rpd�S�t| |�|�} t||�|�}| d�u��s�|d�u��r�d�S�| |k�r�d�S�d | �}n�|d k�r�t |�d �d�} t d | �|�\}}|�r�d�S�|d �dk�r|d �}| d8�} �q�|d�d�}|t t|��k�r6d�S�t| |�|�} t||�|�}| d�u��sf|d�u��rjd�S�| |k�rxd�S�d| �}nd�S�|d|�k�r�d�S�| �|�}tdt|�|�S�|dk�r�|d|��d�}}n�|dk�r�t tt||����|�k�r�d�S�t |�}|dk�r,t tt|�|���|�k�r,d�S�|d|���}}|d�|d���k�r\dk�rtn�n|d�}|d�}�q<|d �|d ���k�r�dk�r�n�n|d �}|d �}�qt|dk�rX|dk�r�||k�r�d�S�t ||�\}}|dk�r�d�S�dt |��|��>�}t |||d���\}}||k�r$�q<n||d��|�|�}�q�||k�rP|dk�sTd�S�|}|dk�r|||d �t|��k�r|d�S�||�}||9�}|d|�k�r�d�S�t|�}|����r�|jdk�r�|�jt|��} t|| �|t |���}nd}td|d|��||��S�)Nr����r&���r.���r����rR���)r^����������������]����A���r~�������r\���r^����d���)rn���rV���rW���rB���r��r:���rP���r����r9����_nbitsrk���re����_decimal_lshift_exactr����rm���� _log10_lb)r0���r�����p�x�xc�xe�y�yc�yer"��r����ZzerosZ last_digitr����Zemaxr����rz���r8���Zxc_bits�rem�ar����r����Zstr_xcr)���r)���r+����_power_exact��s�����: &&$$ zDecimal._power_exactc�����������������C���s4��|d�ur|���|||�S�t|�}|tu�r*|S�|d�u�r8t��}|��||�}|rL|S�|sd|�s`|�td�S�tS�d}|�jdkr�|� ��r�|� ��s�d}n|�r�|�td�S�|����}�|�s�|jdkr�t|dd�S�t |�S�|����r�|jdkr�t |�S�t|dd�S�|�tk�r�|� ���rZ|jdk�rd}n||jk�r"|j}nt|�}|�j|�}|d|j�k��rxd|j�}|�t��n|�t��|�t��d|j�}t|dd|���|�S�|����}|����r�|jdk|dk�k�r�t|dd�S�t |�S�d�}d} |����|����} |dk|jdkk�r| tt|j��k�rHt|d|jd��}n,|���}| tt|���k�rHt|d|d��}|d�u��r�|��||jd��}|d�u�r�|dk�r�td|j|j�}d} |d�u��r8|j}t|��} | j| j�}}t|�}|j|j�}}|jdk�r�|�}d }t||||||��\}}|d dtt|��|�d�����r�q(|d 7�}�q�t|t|�|�}| �r&|� ���s&t|j�|jk�r�|jd�t|j��}t|j|jd|��|j|��}|� ��}|�!���t"D�]}d|j#|<��q�|�$|�}|�t��|j%t&��r�|�t'��|j%t(��r�|�t(d|j��t't&ttt)fD�]}|j%|��r|�|���qn |�$|�}|S�) Nz0 ** 0r&���r.���z+x ** y with x negative and y not an integerrR���r����FTr\���r~���r����r����)*r$��r����r����r���r����ri���r ����_Oner:���r��r��r����r9���r@���r����rE���rV���rP���r���r���r�����_log10_exp_boundrk���re���rF���r����r8��r;���rn���rW���rB����_dpowerrL���rM����_signals�trapsr�����flagsr ���r���r���r���)r0���r����r ��r1���r>���Zresult_signZ multiplierrW���Zself_adj�exact�boundr����r/��r0��r1��r2��r3��r4��r5���extrar����r����Z newcontext� exceptionr)���r)���r+����__pow__���s����� � "� zDecimal.__pow__c�����������������C���s"���t�|�}|tu�r|S�|j|�|d�S�r����)r����r����rC��r����r)���r)���r+����__rpow__� ��s����zDecimal.__rpow__c�����������������C���s����|d�u�rt���}|�jr(|�j|d�}|r(|S�|��|�}|���r>|S�|sPt|jdd�S�|j|���g|j �}t |j�}|j}|j|d��dkr�||k�r�|d7�}|d8�}qtt|j|jd�|��|�S�)NrK���rR���r&���r.���) r���rQ���r����r����r����r9���r:���rF���r���r����rk���r;���rP���)r0���r1���r>����dupr���endrW���r)���r)���r+���� normalize� ��s$���� zDecimal.normalizec�����������������C���s���t�|dd�}|d�u�rt��}|d�u�r(|j}|�js4|jr||��||�}|rH|S�|���sX|����r||���rp|����rpt|��S�|�td�S�|� ��|j ��kr�|jks�n�|�td�S�|�s�t|�j d|j �}|�|�S�|����}||jkr�|�td�S�||j �d�|jk�r|�td�S�|��|j |�}|���|jk�r.|�td�S�t|j�|jk�rL|�td�S�|�rl|���|jk��rl|�t��|j |�j k�r�||�k�r�|�t��|�t��|�|�}|S�) NTr����zquantize with one INFz)target exponent out of bounds in quantizerR���z9exponent of quantize result too large for current contextr.���z7quantize result has too many digits for current context)r����r���rD���rQ���r����r����r���ri���r ���r����rP���rF���r9���r:���r����r����rE���r����rk���r;����Eminr ���r���r���)r0���rW���rD���r1���r>���r����r)���r)���r+���r��� ��s`������ ���� zDecimal.quantizec�����������������C���sD���t�|dd�}|�js|jr8|����r(|���p6|����o6|���S�|�j|jkS�r����)r����rQ���r�����is_infiniterP���r����r)���r)���r+����same_quantum% ��s���� �zDecimal.same_quantumc�����������������C���s����|�j�rt|��S�|�s t|�jd|�S�|�j|krHt|�j|�jd|�j|���|�S�t|�j�|�j�|�}|dk�rzt|�jd|d��}�d}|�j|�}||�|�}|�jd�|��p�d}|dkr�tt |�d��}t|�j||�S�)NrR���r&���r����r.���) rQ���r���r9���r:���rP���r;���rk���r��re���rV���)r0���rW���rD���r}���Z this_functionr��r����r)���r)���r+���r����4 ��s$���� � zDecimal._rescalec�����������������C���sf���|dkrt�d��|�js|�s"t|��S�|��|����d�|�|�}|���|����krb|�|���d�|�|�}|S�)Nr&���z'argument should be at least 1 in _roundr.���)rq���rQ���r���r����r����)r0����placesrD���r>���r)���r)���r+����_roundV ��s���� zDecimal._roundc�����������������C���s����|�j�r"|�j|d�}|r|S�t|��S�|�jdkr4t|��S�|�sFt|�jdd�S�|d�u�rTt��}|d�u�rb|j}|��d|�}||�kr�|� t ��|� t��|S�)NrK���r&���rR���)rQ���r����r���rP���r9���r:���r���rD���r����ri���r���r����r0���rD���r1���r>���r)���r)���r+����to_integral_exactm ��s$���� zDecimal.to_integral_exactc�����������������C���s`���|d�u�rt���}|d�u�r|j}|�jr>|�j|d�}|r6|S�t|��S�|�jdkrPt|��S�|��d|�S�d�S�)NrK���r&���)r���rD���rQ���r����r���rP���r����rM��r)���r)���r+���r��� ��s���� zDecimal.to_integral_valuec�����������������C���s���|d�u�rt���}|�jrB|�j|d�}|r(|S�|����rB|�jdkrBt|��S�|�sdt|�jd|�jd��}|�|�S�|�jdkrz|� t d�S�|jd�}t|��}|j d?�}|j d@�r�|jd�}t|�j�d?�d�}n|j}t|�j�d�d?�}||�}|dkr�|d|�9�}d } nt|d|���\}} | �} ||8�}d|�}||�}||k�r:�qJn||�d?�}�q"| �oZ||�|k} | �r�|dk�rz|d|��}n|d|��9�}||7�}n|d �dk�r�|d7�}tdt|�|�}|���}|�t�} |�|�}| |_|S�)NrK���r&���rR���r^���r.���zsqrt(-x), x > 0r����r+��Tr~���)r���rQ���r����r����r:���r���r9���rP���r����ri���r ���rE���rn���rW���rV���rk���r;���r����re���� _shallow_copy� _set_roundingr���rD���)r0���r1���r>���rE����opr�����c�lr����r?��r����r8���r����rD���r)���r)���r+����sqrt� ��s^���� zDecimal.sqrtc�����������������C���s����t�|dd�}|d�u�rt��}|�js&|jr~|����}|���}|s>|r~|dkrX|dkrX|��|�S�|dkrr|dkrr|�|�S�|��||�S�|��|�}|dkr�|��|�}|dkr�|}n|�}|�|�S��NTr����r.���r&���r�����r����r���rQ���r����r����r����r����� compare_total�r0���r����r1���ZsnZonrR��r>���r)���r)���r+���r�������s&���� zDecimal.maxc�����������������C���s����t�|dd�}|d�u�rt��}|�js&|jr~|����}|���}|s>|r~|dkrX|dkrX|��|�S�|dkrr|dkrr|�|�S�|��||�S�|��|�}|dkr�|��|�}|dkr�|�}n|}|�|�S�rU��rV��rX��r)���r)���r+���r����*��s&���� zDecimal.minc�����������������C���s8���|�j�r dS�|�jdkrdS�|�j|�jd���}|dt|��kS�)NFr&���TrR���)rQ���rP���r;���rk���)r0����restr)���r)���r+���r��L��s���� zDecimal._isintegerc�����������������C���s&���|�r|�j�dkrdS�|�jd|�j���dv�S�)Nr&���Tr����r��)rP���r;���r����r)���r)���r+���r��U��s����zDecimal._isevenc�����������������C���s0���z|�j�t|�j��d�W�S��ty*���Y�dS�0�d�S�)Nr.���r&���)rP���rk���r;���rw���r����r)���r)���r+���r����[��s����zDecimal.adjustedc�����������������C���s���|�S�r(���r)���r����r)���r)���r+���� canonicalc��s����zDecimal.canonicalc�����������������C���s.���t�|dd�}|��||�}|r |S�|�j||d�S��NTr����rK���)r����r����r����r����r)���r)���r+����compare_signalk��s ����zDecimal.compare_signalc�����������������C���s`��t�|dd�}|�jr|jstS�|�js,|jr,tS�|�j}|����}|���}|sL|�r||kr�t|�j�|�jf}t|j�|jf}||k�r�|r�tS�tS�||kr�|r�tS�tS�tS�|r�|dkr�tS�|dkr�tS�|dkr�tS�|dkr�tS�n2|dkr�tS�|dkr�tS�|dkr�tS�|dk�rtS�|�|k��rtS�|�|k�r$tS�|�j|jk��r@|�r<tS�tS�|�j|jk�r\|�rXtS�tS�tS�)NTr����r.���r^���) r����r:����_NegativeOner9��r����rk���r;����_ZerorP���)r0���r����r1���rB���Zself_nanZ other_nanZself_keyZ other_keyr)���r)���r+���rW��w��sf���� zDecimal.compare_totalc�����������������C���s&���t�|dd�}|����}|���}|�|�S�r����)r����r����rW��)r0���r����r1���r�����or)���r)���r+����compare_total_mag���s����zDecimal.compare_total_magc�����������������C���s���t�d|�j|�j|�j�S�r����)r9���r;���rP���rQ���r����r)���r)���r+���r�������s����zDecimal.copy_absc�����������������C���s2���|�j�rtd|�j|�j|�j�S�td|�j|�j|�j�S�d�S�)Nr&���r.���)r:���r9���r;���rP���rQ���r����r)���r)���r+���r�������s����zDecimal.copy_negatec�����������������C���s"���t�|dd�}t|j|�j|�j|�j�S�r����)r����r9���r:���r;���rP���rQ���r����r)���r)���r+���� copy_sign���s���� �zDecimal.copy_signc�����������������C���s���|d�u�rt���}|�j|d�}|r"|S�|����dkr2tS�|�s:tS�|����dkrNt|��S�|j}|����}|�jdkr�|t t |jd�d���kr�tdd|jd��}�n0|�jdkr�|t t |� ���d�d���kr�tdd|� ��d��}n�|�jdk�r||�k��rtddd|d���d�|��}n�|�jdk�rD||�d�k��rDtdd|d��|�d��}n�t|��}|j|j�}}|jdk�rl|�}d}t||||��\} } | d d t t | ��|�d�����r��q�|d7�}�qptdt | �| �}|���}|�t�}|�|�}||_|S�)NrK���r����r.���r&���r\���r����rR���rC���r~���r����)r���r����r����r^��r9��r���rE���r����r:���rk���re���rF���r9���r����rn���rV���rW���rB����_dexprO��rP��r���r����rD���)r0���r1���r>���r/���adjrQ��rR��r����rA��r����rW���rD���r)���r)���r+���rW������sH����$( " zDecimal.expc�����������������C���s���dS�)NTr)���r����r)���r)���r+����is_canonical'��s����zDecimal.is_canonicalc�����������������C���s���|�j��S�r(���)rQ���r����r)���r)���r+���� is_finite/��s����zDecimal.is_finitec�����������������C���s ���|�j�dkS�)Nr[����rP���r����r)���r)���r+���rI��7��s����zDecimal.is_infinitec�����������������C���s ���|�j�dv�S�)Nr`���rf��r����r)���r)���r+���r����;��s����zDecimal.is_nanc�����������������C���s*���|�j�s |�sdS�|d�u�rt��}|j|����kS��NF)rQ���r���rH��r����r����r)���r)���r+���� is_normal?��s ���� zDecimal.is_normalc�����������������C���s ���|�j�dkS�)Nr8���rf��r����r)���r)���r+���r����G��s����zDecimal.is_qnanc�����������������C���s ���|�j�dkS��Nr.���)r:���r����r)���r)���r+���� is_signedK��s����zDecimal.is_signedc�����������������C���s ���|�j�dkS�)NrZ���rf��r����r)���r)���r+���r����O��s����zDecimal.is_snanc�����������������C���s*���|�j�s |�sdS�|d�u�rt��}|����|jk�S�rg��)rQ���r���r����rH��r����r)���r)���r+����is_subnormalS��s ���� zDecimal.is_subnormalc�����������������C���s���|�j��o|�jdkS�r����r����r����r)���r)���r+����is_zero[��s����zDecimal.is_zeroc�����������������C���s����|�j�t|�j��d�}|dkr4tt|d�d���d�S�|dkrXttd|�d�d���d�S�t|��}|j|j�}}|dkr�t|d|����}t|�}t|�t|��||k��S�|ttd|��|����d�S�)Nr.�������r����r����r����r&����rP���rk���r;���re���rn���rV���rW����r0���rc��rQ��rR��r�����numZdenr)���r)���r+���� _ln_exp_bound_��s����zDecimal._ln_exp_boundc����������� ������C���s��|d�u�rt���}|�j|d�}|r"|S�|�s*tS�|����dkr:tS�|�tkrFtS�|�jdkr\|�t d�S�t |��}|j|j�}}|j }||�����d�}t|||�}|ddttt|���|�d����r�q�|d7�}q�tt|dk��tt|��|��}|���}|�t�} |�|�}| |_|S�) NrK���r.���zln of a negative valuer^���r~���r����r\���r&���)r���r�����_NegativeInfinityr����� _Infinityr9��r^��r:���ri���r ���rn���rV���rW���rE���rq���_dlogrk���re���rm���r9���rO��rP��r���r����rD���� r0���r1���r>���rQ��rR��r����r/��rK��r����rD���r)���r)���r+����lnx��s:���� �$ z Decimal.lnc�����������������C���s����|�j�t|�j��d�}|dkr,tt|��d�S�|dkrHttd|���d�S�t|��}|j|j�}}|dkr�t|d|����}td|��}t|�t|��||k��d�S�td|��|��}t|�|�|dk��d�S�) Nr.���r����r����r&���r���������r^���Z231rn��ro��r)���r)���r+���r:�����s����zDecimal._log10_exp_boundc����������� ������C���sF��|d�u�rt���}|�j|d�}|r"|S�|�s*tS�|����dkr:tS�|�jdkrP|�td�S�|�jd�dkr�|�jdd���dt |�j�d��kr�t |�jt |�j��d��}n�t|��}|j |j�}}|j}||�����d�}t|||�}|dd t tt|���|�d����r��q|d 7�}q�tt |dk��tt|��|��}|���}|�t�} |�|�}| |_|S�)NrK���r.���zlog10 of a negative valuer&���r����rR���r^���r~���r����r\���)r���r����rr��r����rs��r:���ri���r ���r;���rk���r���rP���rn���rV���rW���rE���r:���_dlog10re���rm���r9���rO��rP��r���r����rD���ru��r)���r)���r+����log10���s:���� �.$ z Decimal.log10c�����������������C���sV���|�j�|d�}|r|S�|d�u�r"t��}|����r.tS�|�s@|�tdd�S�t|�����}|�|�S�)NrK���zlogb(0)r.���) r����r���r����rs��ri���r ���r���r����r����r����r)���r)���r+����logb���s���� zDecimal.logbc�����������������C���s6���|�j�dks|�jdkrdS�|�jD�]}|dvr�dS�qdS�)Nr&���FZ01T)r:���rP���r;���)r0����digr)���r)���r+���� _islogical ��s���� zDecimal._islogicalc�����������������C���s����|j�t|��}|dkr$d|�|�}n|dk�r<||j��d���}|j�t|��}|dkr`d|�|�}n|dk�rx||j��d���}||fS�)Nr&���rR���)rE���rk���)r0���r1����opa�opbZdifr)���r)���r+���� _fill_logical' ��s����zDecimal._fill_logicalc�����������������C���sz���|d�u�rt���}t|dd�}|����r*|���s4|�t�S�|��||�j|j�\}}d�dd��t||�D���}t d|� d�ptdd�S�)NTr����rT���c�����������������S���s$���g�|�]\}}t�t|�t|�@���qS�r)����re���rV�����.0r7���br)���r)���r+���� <listcomp>B ��r-���z'Decimal.logical_and.<locals>.<listcomp>r&���rR����r���r����r|��ri���r ���r��r;���rs����zipr9���rl����r0���r����r1���r}��r~��r����r)���r)���r+����logical_and4 ��s���� zDecimal.logical_andc�����������������C���s(���|d�u�rt���}|��tdd|j�d�|�S�)Nr&���r����)r����logical_xorr9���rE���r����r)���r)���r+����logical_invertE ��s �����zDecimal.logical_invertc�����������������C���sz���|d�u�rt���}t|dd�}|����r*|���s4|�t�S�|��||�j|j�\}}d�dd��t||�D���}t d|� d�ptdd�S�)NTr����rT���c�����������������S���s$���g�|�]\}}t�t|�t|�B���qS�r)���r���r���r)���r)���r+���r���Z ��r-���z&Decimal.logical_or.<locals>.<listcomp>r&���rR���r���r���r)���r)���r+���� logical_orL ��s���� zDecimal.logical_orc�����������������C���sz���|d�u�rt���}t|dd�}|����r*|���s4|�t�S�|��||�j|j�\}}d�dd��t||�D���}t d|� d�ptdd�S�)NTr����rT���c�����������������S���s$���g�|�]\}}t�t|�t|�A���qS�r)���r���r���r)���r)���r+���r���k ��r-���z'Decimal.logical_xor.<locals>.<listcomp>r&���rR���r���r���r)���r)���r+���r���] ��s���� zDecimal.logical_xorc�����������������C���s����t�|dd�}|d�u�rt��}|�js&|jr~|����}|���}|s>|r~|dkrX|dkrX|��|�S�|dkrr|dkrr|�|�S�|��||�S�|�����|����}|dkr�|��|�}|dkr�|}n|�}|�|�S�rU��� r����r���rQ���r����r����r����r����r����rW��rX��r)���r)���r+����max_magn ��s&���� zDecimal.max_magc�����������������C���s����t�|dd�}|d�u�rt��}|�js&|jr~|����}|���}|s>|r~|dkrX|dkrX|��|�S�|dkrr|dkrr|�|�S�|��||�S�|�����|����}|dkr�|��|�}|dkr�|�}n|}|�|�S�rU��r���rX��r)���r)���r+����min_mag� ��s&���� zDecimal.min_magc�����������������C���s����|d�u�rt���}|�j|d�}|r"|S�|����dkr2tS�|����dkrTtdd|j�|����S�|���}|�t ��|� ���|��|�}||�kr�|S�|��tdd|� ��d��|�S�)NrK���r����r.���r&���rC���r����)r���r����r����rr��r9���rE���r���rL���rP��r����_ignore_all_flagsr����r����r�����r0���r1���r>���Znew_selfr)���r)���r+���� next_minus� ��s$���� �zDecimal.next_minusc�����������������C���s����|d�u�rt���}|�j|d�}|r"|S�|����dkr2tS�|����dkrTtdd|j�|����S�|���}|�t ��|� ���|��|�}||�kr�|S�|��tdd|� ��d��|�S�)NrK���r.���r����rC���r&���r����)r���r����r����rs��r9���rE���r���rL���rP��r���r���r����r����r����r���r)���r)���r+���� next_plus� ��s$���� �zDecimal.next_plusc�����������������C���s����t�|dd�}|d�u�rt��}|��||�}|r.|S�|��|�}|dkrJ|��|�S�|dkr^|��|�}n |��|�}|���r�|�t d|j ��|�t��|�t��nD|� ��|jk�r�|�t��|�t��|�t��|�t��|s�|�t��|S�)NTr����r&���r����z Infinite result from next_toward)r����r���r����r����ra��r���r���r����ri���r���r:���r���r���r����rH��r���r ���r���)r0���r����r1���r>���Z comparisonr)���r)���r+����next_toward� ��s6���� � zDecimal.next_towardc�����������������C���s����|�����rdS�|����rdS�|����}|dkr,dS�|dkr8dS�|����rN|�jrJdS�dS�|d�u�r\t��}|�j|d �rv|�jrrd S�dS�|�jr�dS�d S�d�S�)Nr����r����r.���z +Infinityr����z -Infinityz-Zeroz+ZerorK���z -Subnormalz +Subnormalz-Normalz+Normal)r����r����r����rl��r:���r���rk��)r0���r1����infr)���r)���r+����number_class��s,����zDecimal.number_classc�����������������C���s���t�d�S��Nr����r����r����r)���r)���r+����radix0��s����z Decimal.radixc�����������������C���s����|d�u�rt���}t|dd�}|��||�}|r.|S�|jdkrB|�t�S�|j�t|���kr`|jksln�|�t�S�|����r|t |��S�t|�}|�j }|jt|��}|dkr�d|�|�}n|dk�r�||�d���}||d���|d�|���}t|�j |�d�p�d|�j�S��NTr����r&���rR����r���r����r����rP���ri���r ���rE���rV���r����r���r;���rk���r9���r:���rl���)r0���r����r1���r>����torot�rotdig�topadZrotatedr)���r)���r+����rotate4��s.���� �zDecimal.rotatec�����������������C���s����|d�u�rt���}t|dd�}|��||�}|r.|S�|jdkrB|�t�S�d|j|j��}d|j|j��}|t|���krz|ks�n�|�t�S�|�� ��r�t |��S�t|�j|�j |�jt|���}|�|�}|S�)NTr����r&���r����r^���)r���r����r����rP���ri���r ���rF���rE���rV���r����r���r9���r:���r;���r����)r0���r����r1���r>���ZliminfZlimsupr����r)���r)���r+����scalebU��s"���� zDecimal.scalebc�����������������C���s��|d�u�rt���}t|dd�}|��||�}|r.|S�|jdkrB|�t�S�|j�t|���kr`|jksln�|�t�S�|����r|t |��S�t|�}|�j }|jt|��}|dkr�d|�|�}n|dk�r�||�d���}|dk�r�|d�|��}n|d|��}||j�d���}t|�j |�d��p d|�j�S�r���r���)r0���r����r1���r>���r���r���r���Zshiftedr)���r)���r+���r����n��s4���� �z Decimal.shiftc�����������������C���s���|�j�t|��ffS�r(���)� __class__re���r����r)���r)���r+���� __reduce__���s����zDecimal.__reduce__c�����������������C���s���t�|��tu�r|�S�|��t|���S�r(�����typer���r���re���r����r)���r)���r+����__copy__���s����zDecimal.__copy__c�����������������C���s���t�|��tu�r|�S�|��t|���S�r(���r���)r0����memor)���r)���r+����__deepcopy__���s����zDecimal.__deepcopy__c�����������������C���sJ��|d�u�rt���}t||d�}|�jrXt|�j|�}t|�����}|d�dkrL|d7�}t|||�S�|d�d�u�rvddg|j�|d<�|d�dkr�t |�j|�j |�jd��}�|j}|d�}|d�u�r|d�dv�r�|�� |d �|�}�nF|d�d v�r�|��|�|�}�n*|d�dv��rt|�j �|k�r|�� ||�}�|��s@|�jdk�r@|d�d v��r@|��d|�}�|�jt|�j ��} |d�dv��r~|��sx|d�u�rxd |�} nd } nB|d�d v��r�| } n.|d�dv��r�|�jdk�r�| d k�r�| } nd } | dk��r�d}d| ��|�j �}nP| t|�j �k�r|�j d| t|�j ����}d}n"|�j d�| ���p d}|�j | d���}| | �} t|�j||| |�S�)N)�_localeconvr����%�g�Gr^���� precision�eEr.���zfF%ZgGr&���r����rR���rT���)r����_parse_format_specifierrQ����_format_signr:���re���r����� _format_alignr����r9���r;���rP���rD���rL��r����rk����_format_number)r0���Z specifierr1���r����specrB����bodyrD���r���r����r����r{���r|���rW���r)���r)���r+���� __format__���sZ���� zDecimal.__format__)rR���N)NN)N)N)N)N)N)N)FN)N)N)N)TN)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)NN)N)N)NN)N)NN)NN)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)NN)�r4���r5���r6���� __slots__rc����classmethodrv���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r�����__radd__r����r����r�����__rmul__r����r����r����r����r����r����r����r����r����r����r����r����� __trunc__�propertyr����r����r����r����r<���r����r��r��r��r��r ��r��r��r���dictr��r��r��r��r��r$��r8��rC��rD��rG��r��rJ��r����rL��rN��r���to_integralrT��r����r����r��r��r����rZ��r\��rW��r`��r����r����ra��rW���rd��re��rI��r����rh��r����rj��r����rk��rl��rq��rv��r:��ry��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�����s�� � , !@ 2 4 V 7;!$K f �>,U�n�Y="c*" IK23 .*!'r���Fc�����������������C���s&���t��t�}|�|_||_||_||_|S�r(���)rb���rc���r���r:���r;���rP���rQ���)rB���Zcoefficientr"��Zspecialr0���r)���r)���r+���r9������s���� r9���c�������������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)rN���c�����������������C���s���|����|�_d�S�r(���)rL����new_context)r0���r���r)���r)���r+����__init__��s����z_ContextManager.__init__c�����������������C���s���t���|�_t|�j��|�jS�r(���)r���� saved_contextr���r���r����r)���r)���r+���� __enter__��s���� z_ContextManager.__enter__c�����������������C���s���t�|�j��d�S�r(���)r���r���)r0����t�v�tbr)���r)���r+����__exit__��s����z_ContextManager.__exit__N)r4���r5���r6���r���r���r���r)���r)���r)���r+���rN�����s���rN���c���������������� ���@���s���e�Zd�Zd�dd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z e Zd�dd�Zdd��Zdd��Zdd��ZdZd d!��Zd"d#��Zd$d%��Zd�d'd(�Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7d8��Zd9d:��Z d;d<��Z!d=d>��Z"d?d@��Z#dAdB��Z$dCdD��Z%dEdF��Z&dGdH��Z'dIdJ��Z(dKdL��Z)dMdN��Z*dOdP��Z+dQdR��Z,dSdT��Z-dUdV��Z.dWdX��Z/dYdZ��Z0d[d\��Z1d]d^��Z2d_d`��Z3dadb��Z4dcdd��Z5dedf��Z6dgdh��Z7didj��Z8dkdl��Z9dmdn��Z:dodp��Z;dqdr��Z<dsdt��Z=dudv��Z>dwdx��Z?dydz��Z@d{d|��ZAd}d~��ZBdd���ZCd�d���ZDd�d���ZEd�d���ZFd�d�d��ZGd�d���ZHd�d���ZId�d���ZJd�d���ZKd�d���ZLd�d���ZMd�d���ZNd�d���ZOd�d���ZPd�d���ZQd�d���ZRd�d���ZSd�d���ZTd�d���ZUeUZVdS�)�r���Nc ��������������������s<��zt�} W�n�ty���Y�n0�|d�ur(|n| j|�_|d�ur<|n| j|�_|d�urP|n| j|�_|d�urd|n| j|�_|d�urx|n| j|�_|d�ur�|n| j|�_| d�u�r�g�|�_n| |�_�d�u�r�| j � ��|�_ n.t�t�s�t�fdd�t ��D���|�_ n�|�_ ��d�u��rt�t d�|�_n0t��t��s2t��fdd�t ���D���|�_n��|�_d�S�)Nc�����������������3���s���|�]}|t�|��v��fV��qd�S�r(����rV����r���r�����r=��r)���r+���� <genexpr>I��r-���z#Context.__init__.<locals>.<genexpr>r&���c�����������������3���s���|�]}|t�|��v��fV��qd�S�r(���r���r����r>��r)���r+���r���P��r-���)r���� NameErrorrE���rD���rH��rF���r����r�����_ignored_flagsr=��rL���rd���r���r<���fromkeysr>��)r0���rE���rD���rH��rF���r����r����r>��r=��r���Zdcr)���)r>��r=��r+���r���0��s.���� zContext.__init__c�����������������C���s����t�|t�std|���|dkr<||kr�td||||f���nJ|dkrb||k�r�td||||f���n$||k�sr||kr�td||||f���t�|�||�S�)Nz%s must be an integer�-infz%s must be in [%s, %d]. got: %sr���z%s must be in [%d, %s]. got: %sz%s must be in [%d, %d]. got %s)rd���rV���rw���rq���rb����__setattr__)r0����namery���ZvminZvmaxr)���r)���r+����_set_integer_checkT��s���� zContext._set_integer_checkc�����������������C���s`���t�|t�std|���|D�]}|tvrtd|���qtD�]}||vr8td|���q8t�|�||�S�)Nz%s must be a signal dictz%s is not a valid signal dict)rd���r���rw���r<���KeyErrorrb���r���)r0���r���r�����keyr)���r)���r+����_set_signal_dictb��s���� zContext._set_signal_dictc�����������������C���s����|dkr|���||dd�S�|dkr0|���||dd�S�|dkrH|���||dd�S�|dkr`|���||dd�S�|d krx|���||dd�S�|d kr�|tvr�td|���t�|�||�S�|dks�|d kr�|��||�S�|dkr�t�|�||�S�td|���d�S�)NrE���r.���r���rH��r���r&���rF���r����r����rD���z%s: invalid rounding moder>��r=��r���z.'decimal.Context' object has no attribute '%s')r����_rounding_modesrw���rb���r���r����AttributeError)r0���r���ry���r)���r)���r+���r���m��s*�����zContext.__setattr__c�����������������C���s���t�d|���d�S�)Nz%s cannot be deleted)r���)r0���r���r)���r)���r+����__delattr__���s����zContext.__delattr__c�������������� ���C���sN���dd��|�j����D��}dd��|�j���D��}|�j|�j|�j|�j|�j|�j|�j ||ffS�)Nc�����������������S���s���g�|�]\}}|r|�qS�r)���r)����r����sigr���r)���r)���r+���r������r-���z&Context.__reduce__.<locals>.<listcomp>c�����������������S���s���g�|�]\}}|r|�qS�r)���r)���r���r)���r)���r+���r������r-���) r>���itemsr=��r���rE���rD���rH��rF���r����r����)r0���r>��r=��r)���r)���r+���r������s������zContext.__reduce__c�����������������C���s|���g�}|��dt|�����dd��|�j���D��}|��dd�|��d���dd��|�j���D��}|��dd�|��d���d�|�d �S�) NzrContext(prec=%(prec)d, rounding=%(rounding)s, Emin=%(Emin)d, Emax=%(Emax)d, capitals=%(capitals)d, clamp=%(clamp)dc�����������������S���s���g�|�]\}}|r|j��qS�r)����r4���)r���r����r���r)���r)���r+���r������r-���z$Context.__repr__.<locals>.<listcomp>zflags=[z, �]c�����������������S���s���g�|�]\}}|r|j��qS�r)���r���)r���r���r���r)���r)���r+���r������r-���ztraps=[�))rr����varsr>��r���rs���r=��)r0���r�����namesr)���r)���r+���r�������s�����zContext.__repr__c�����������������C���s���|�j�D�]}d|�j�|<�qd�S�r����r����r0����flagr)���r)���r+���rM������s���� zContext.clear_flagsc�����������������C���s���|�j�D�]}d|�j�|<�qd�S�r����r���r���r)���r)���r+����clear_traps���s���� zContext.clear_trapsc�������������� ���C���s.���t�|�j|�j|�j|�j|�j|�j|�j|�j|�j � }|S�r(���) r���rE���rD���rH��rF���r����r����r>��r=��r����r0���Zncr)���r)���r+���rO�����s �����zContext._shallow_copyc�������������� ���C���s6���t�|�j|�j|�j|�j|�j|�j|�j���|�j ���|�j � }|S�r(���)r���rE���rD���rH��rF���r����r����r>��rL���r=��r���r���r)���r)���r+���rL������s�����zContext.copyc�����������������G���s^���t��||�}||�jv�r*|��j|�g|�R���S�d|�j|<�|�j|�sR|��j|�g|�R���S�||��d�S�ri��)�_condition_maprH���r���r2���r>��r=��)r0���Z conditionZexplanationr*����errorr)���r)���r+���ri������s���� zContext._raise_errorc�����������������C���s ���|�j�t��S�r(���)� _ignore_flagsr<��r����r)���r)���r+���r������s����zContext._ignore_all_flagsc�����������������G���s���|�j�t|��|�_�t|�S�r(���)r���ro���)r0���r>��r)���r)���r+���r������s����zContext._ignore_flagsc�����������������G���s8���|rt�|d�ttf�r|d�}|D�]}|�j�|��q"d�S�r����)rd���rp���ro���r����remove)r0���r>��r���r)���r)���r+���� _regard_flags���s����zContext._regard_flagsc�����������������C���s���t�|�j|�j�d��S�ri��)rV���rH��rE���r����r)���r)���r+���r�������s����z Context.Etinyc�����������������C���s���t�|�j|�j�d��S�ri��)rV���rF���rE���r����r)���r)���r+���r������s����zContext.Etopc�����������������C���s���|�j�}||�_�|S�r(���)rD���)r0���r���rD���r)���r)���r+���rP�����s����zContext._set_roundingrR���c�����������������C���sj���t�|t�r*||���ksd|v�r*|��td�S�t||�d�}|���r`t|j�|�j |�j �kr`|��td�S�|�|��S�)NrS���zAtrailing or leading whitespace and underscores are not permitted.rK���zdiagnostic info too long in NaN)rd���re���rg���ri���r���r���r����rk���r;���rE���r����r����)r0���rp��r����r)���r)���r+����create_decimal���s������zContext.create_decimalc�����������������C���s���t��|�}|�|��S�r(���)r���rv���r����)r0���r����r����r)���r)���r+����create_decimal_from_float��s���� z!Context.create_decimal_from_floatc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r�����r0���r7��r)���r)���r+���rm���!��s����zContext.absc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S��NTr����rK����Unable to convert %s to Decimal)r����r����r����rw����r0���r7��r���r����r)���r)���r+����add6��s ����zContext.addc�����������������C���s���t�|�|���S�r(���)re���r����r���r)���r)���r+����_applyK��s����zContext._applyc�����������������C���s���t�|t�std��|���S�)Nz,canonical requires a Decimal as an argument.)rd���r���rw���rZ��r���r)���r)���r+���rZ��N��s���� zContext.canonicalc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r�����r0���r7��r���r)���r)���r+���r����[��s����!zContext.comparec�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r\��r���r)���r)���r+���r\����s���� zContext.compare_signalc�����������������C���s���t�|dd�}|�|�S�r����)r����rW��r���r)���r)���r+���rW�����s����zContext.compare_totalc�����������������C���s���t�|dd�}|�|�S�r����)r����r`��r���r)���r)���r+���r`�����s����zContext.compare_total_magc�����������������C���s���t�|dd�}|���S�r����)r����r����r���r)���r)���r+���r�������s���� zContext.copy_absc�����������������C���s���t�|dd�}t|�S�r����)r����r���r���r)���r)���r+����copy_decimal���s���� zContext.copy_decimalc�����������������C���s���t�|dd�}|���S�r����)r����r����r���r)���r)���r+���r�������s���� zContext.copy_negatec�����������������C���s���t�|dd�}|�|�S�r����)r����ra��r���r)���r)���r+���ra�����s����zContext.copy_signc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+����divide��s ����zContext.dividec�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+���� divide_int+��s ����zContext.divide_intc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+���r����B��s ����zContext.divmodc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rW���r���r)���r)���r+���rW���W��s����zContext.expc�����������������C���s���t�|dd�}|j|||�d�S�r[��)r����r��)r0���r7��r���rR��r)���r)���r+���r��o��s����zContext.fmac�����������������C���s���t�|t�std��|���S�)Nz/is_canonical requires a Decimal as an argument.)rd���r���rw���rd��r���r)���r)���r+���rd�����s���� zContext.is_canonicalc�����������������C���s���t�|dd�}|���S�r����)r����re��r���r)���r)���r+���re�����s����zContext.is_finitec�����������������C���s���t�|dd�}|���S�r����)r����rI��r���r)���r)���r+���rI�����s����zContext.is_infinitec�����������������C���s���t�|dd�}|���S�r����)r����r����r���r)���r)���r+���r�������s���� zContext.is_nanc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rh��r���r)���r)���r+���rh�����s����zContext.is_normalc�����������������C���s���t�|dd�}|���S�r����)r����r����r���r)���r)���r+���r�������s����zContext.is_qnanc�����������������C���s���t�|dd�}|���S�r����)r����rj��r���r)���r)���r+���rj�����s����zContext.is_signedc�����������������C���s���t�|dd�}|���S�r����)r����r����r���r)���r)���r+���r�������s���� zContext.is_snanc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rk��r���r)���r)���r+���rk����s����zContext.is_subnormalc�����������������C���s���t�|dd�}|���S�r����)r����rl��r���r)���r)���r+���rl��%��s����zContext.is_zeroc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rv��r���r)���r)���r+���rv��6��s����z Context.lnc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����ry��r���r)���r)���r+���ry��L��s����z Context.log10c�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rz��r���r)���r)���r+���rz��h��s����zContext.logbc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.logical_andc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.logical_invertc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.logical_orc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.logical_xorc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r����r���r)���r)���r+���r�������s����zContext.maxc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r�����s����zContext.max_magc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r����r���r)���r)���r+���r������s����zContext.minc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r���-��s����zContext.min_magc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r����r���r)���r)���r+����minus>��s����z Context.minusc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+����multiplyO��s ����zContext.multiplyc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r���r���r)���r)���r+���r���o��s����zContext.next_minusc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.next_plusc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r������s���� zContext.next_towardc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rG��r���r)���r)���r+���rG�����s����zContext.normalizec�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r���r���r)���r)���r+���r������s����/zContext.number_classc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r����r���r)���r)���r+����plus��s����zContext.plusc�����������������C���s:���t�|dd�}|j|||�d�}|tu�r2td|���n|S�d�S�r���)r����rC��r����rw���)r0���r7��r���r ��r����r)���r)���r+����power��s ����Iz Context.powerc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r��r���r)���r)���r+���r��e��s����7zContext.quantizec�����������������C���s���t�d�S�r���r����r����r)���r)���r+���r������s����z Context.radixc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+���r�������s ����zContext.remainderc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r����r���r)���r)���r+���r�������s����zContext.remainder_nearc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r������s����zContext.rotatec�����������������C���s���t�|dd�}|�|�S�r����)r����rJ��r���r)���r)���r+���rJ����s����zContext.same_quantumc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r���r���r)���r)���r+���r���$��s����zContext.scalebc�����������������C���s���t�|dd�}|j||�d�S�r[��)r����r����r���r)���r)���r+���r����7��s����z Context.shiftc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rT��r���r)���r)���r+���rT��U��s����zContext.sqrtc�����������������C���s8���t�|dd�}|j||�d�}|tu�r0td|���n|S�d�S�r���)r����r����r����rw���r���r)���r)���r+����subtractu��s ����zContext.subtractc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r����r���r)���r)���r+���r�������s����zContext.to_eng_stringc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r����r���r)���r)���r+���� to_sci_string���s����zContext.to_sci_stringc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����rN��r���r)���r)���r+���rN�����s����zContext.to_integral_exactc�����������������C���s���t�|dd�}|j|�d�S�r[��)r����r��r���r)���r)���r+���r�����s����zContext.to_integral_value) NNNNNNNNN)N)rR���)N)Wr4���r5���r6���r���r���r���r���r���r���r����rM���r���rO��rL���r���ri���r���r���r���r����r����r���rP��r���r���rm���r���r���rZ��r����r\��rW��r`��r����r���r����ra��r���r���r����rW���r��rd��re��rI��r����rh��r����rj��r����rk��rl��rv��ry��rz��r���r���r���r���r����r���r����r���r���r���r���r���r���rG��r���r���r���r��r���r����r����r���rJ��r���r����rT��r���r����r���rN��r��r���r)���r)���r)���r+���r�����s�������� $ $# % #2 P:&" r���c�������������������@���s"���e�Zd�ZdZddd�Zdd��ZdS�)rn����rB���rV���rW���Nc�����������������C���sf���|d�u�rd�|�_�d|�_d�|�_nFt|t�rD|j|�_�t|j�|�_|j|�_n|d�|�_�|d�|�_|d�|�_d�S�)Nr&���r.���r^���)rB���rV���rW���rd���r���r:���r;���rP���)r0���ry���r)���r)���r+���r������s���� z_WorkRep.__init__c�����������������C���s���d|�j�|�j|�jf�S�)Nz(%r, %r, %r)r���r����r)���r)���r+���r������s����z_WorkRep.__repr__)N)r4���r5���r6���r���r���r����r)���r)���r)���r+���rn������s��� rn���c�����������������C���s����|�j�|j�k�r|}|�}n|�}|}tt|j��}tt|j��}|j�td||�d���}||j��d�|k�rpd|_||_�|�jd|j�|j���9��_|j�|_�|�|fS�)Nr����r^���r.���r����)rW���rk���re���rV���r����)r����r����rE����tmpr����Ztmp_lenZ other_lenrW���r)���r)���r+���r������s����r����c�����������������C���sb���|�dkrdS�|dkr |�d|��S�t�t|���}t|�t|�d���}||�k�rPd�S�|�d|���S�d�S�)Nr&���r����rR���)re���rm���rk����rstrip)r8���r����Zstr_nZval_nr)���r)���r+���r-��(��s����r-��c�����������������C���sB���|�dks|dkrt�d��d}||kr>|||��|��d?��}}q|S�)Nr&���z3Both arguments to _sqrt_nearest should be positive.r.���)rq���)r8���r7��r���r)���r)���r+���� _sqrt_nearest=��s����r���c�����������������C���s2���d|>�|�|?��}}|d|�|d�@��|d@��|k�S�)Nr.���r^���r)���)r0��r����r���r����r)���r)���r+����_rshift_nearestL��s����r���c�����������������C���s&���t�|�|�\}}|d|�|d@��|k�S�)Nr^���r.���)r����)r7��r���r����r����r)���r)���r+����_div_nearestT��s����r���r'��c����������� ��� ���C���s����|�|�}d}||kr(t�|�||�>�|ksD||krxt�|�||�?�|krxt||�d>�|t||t||���|���}|d7�}qtdtt|���d|����}t||�}t||�}t|d�dd�D�]}t||�t||�|��}q�t||�|�S�)Nr&���r.������r\���r����)rm���r���r���r���rV���rk���re���r��) r0���M�Lr3���R�TZyshift�wr����r)���r)���r+����_ilog\��s"������� r��c����������� ������C���s����|d7�}t�t|���}||�||�dk�}|dkr�d|�}||�|�}|dkrZ|�d|�9�}�nt|�d|���}�t|�|�}t|�}t||�|�}||�} nd}t|d|���} t| |�d�S��Nr^���r.���r&���r����r+��)rk���re���r���r��� _log10_digits) rR��r����r/��rS��r����r���r�����log_dZlog_10Zlog_tenpowerr)���r)���r+���rx�����s ���� rx��c����������� ������C���s����|d7�}t�t|���}||�||�dk�}|dkrr||�|�}|dkrR|�d|�9�}�nt|�d|���}�t|�d|��}nd}|r�t�tt|���d�}||�dkr�t|t||���d|��}q�d}nd}t||�d�S�r��)rk���re���r���r��rm���r��) rR��r����r/��rS��r����r����r��rA��Z f_log_tenr)���r)���r+���rt�����s"����rt��c�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)� _Log10Memoizec�����������������C���s ���d|�_�d�S�)NZ/23025850929940456840179914546843642076011014886)r}���r����r)���r)���r+���r������s����z_Log10Memoize.__init__c�����������������C���s����|dk�rt�d��|t|�j�kr�d}d||�d��}tttd|�|�d��}||�d���d|�krbql|d7�}q"|�d�d�d��|�_t|�jd�|d ����S�) Nr&���zp should be nonnegativer\���r����r^���r+��rR���r����r.���)rq���rk���r}���re���r���r��r���rV���)r0���r/��rA��r���r}���r)���r)���r+���� getdigits���s���� z_Log10Memoize.getdigitsN)r4���r5���r6���r���r ��r)���r)���r)���r+���r�����s���r��c����������� ������C���s����t�|�|>�|��}tdtt|���d|����}t|�|�}||>�}t|d�dd�D�]}t|�||��||��}qPt|d�dd�D�]"}||d�>�}t|||��|�}q|||�S�)Nr���r\���r.���r&���r����r^���)r,��rV���rk���re���r���r��) r0��r���r���r��r��r3��ZMshiftr#��r����r)���r)���r+����_iexp���s���� r ��c����������� ������C���s����|d7�}t�d|tt|����d��}||�}||�}|dkrH|�d|��}n|�d|���}t|t|��\}}t|d|��}tt|d|��d�||�d�fS�)Nr^���r&���r.���r����i���r\���)r����rk���re���r����r��r���r ��) rR��r����r/��rA��r����r����ZcshiftZquotr6��r)���r)���r+���rb��$��s����rb��c�����������������C���s����t�tt|���|�}t|�|||�d��}||�}|dkrJ||�d|��}nt||�d|���}|dkr�t�t|���|�dk|dkkr�d|d��d�d|��} } q�d|�d�|��} } n,t||d��|d��\} } t| d�} | d7�} | | fS�)Nr.���r&���r����)rk���re���rm���rt��r���rb��)r1��r2��r4��r5��r/��r���Zlxcr����Zpcr����rW���r)���r)���r+���r;��H��s���� r;��r+���F����5����(�������rm������r����r~���) r�����2�3�4�5�6�7�8rC���c�����������������C���s0���|�dkrt�d��t|��}dt|��||d���S�)Nr&���z0The argument to _log10_lb should be nonnegative.r+��)rq���re���rk���)rR��Z correctionZstr_cr)���r)���r+���r.��r��s����r.��c�����������������C���sL���t�|�t�r|�S�t�|�t�r t|��S�|r8t�|�t�r8t�|��S�|rHtd|����tS�)Nr���)rd���r���rV���ru���rv���rw���r����)r����r����Zallow_floatr)���r)���r+���r����}��s���� r����c�����������������C���s����t�|t�r|�|fS�t�|tj�rR|�jsDt|�jtt|�j �|j ��|�j�}�|�t|j�fS�|rrt�|tj �rr|jdkrr|j}t�|t�r�t��}|r�d|jt<�n|�td��|�t�|�fS�ttfS�)Nr&���r.���ra���)rd���r����_numbersZRationalrQ���r9���r:���re���rV���r;����denominatorrP���� numeratorZComplexr����r����ru���r���r>��r���ri���rv���r����)r0���r����r����r1���r)���r)���r+���r�������s(���� � �r����r*��i?B�i���)rE���rD���r=��r>��rF���rH��r����r����r_���)rE���rD���r=��r>��a��� # A numeric string consists of: # \s* (?P<sign>[-+])? # an optional sign, followed by either... ( (?=\d|\.\d) # ...a number (with at least one digit) (?P<int>\d*) # having a (possibly empty) integer part (\.(?P<frac>\d*))? # followed by an optional fractional part (E(?P<exp>[-+]?\d+))? # followed by an optional exponent, or... | Inf(inity)? # ...an infinity, or... | (?P<signal>s)? # ...an (optionally signaling) NaN # NaN (?P<diag>\d*) # with (possibly empty) diagnostic info. ) # \s* \Z z0*$z50*$z�\A (?: (?P<fill>.)? (?P<align>[<>=^]) )? (?P<sign>[-+ ])? (?P<alt>\#)? (?P<zeropad>0)? (?P<minimumwidth>(?!0)\d+)? (?P<thousands_sep>,)? (?:\.(?P<precision>0|(?!0)\d+))? (?P<type>[eEfFgGn%])? \Z c�����������������C���s���t��|��}|d�u�rtd|����|���}|d�}|d�}|d�d�u|d<�|d�rv|d�urbtd|����|d�urvtd|����|p|d|d<�|p�d|d<�|d �d�u�r�d |d <�t|d�p�d�|d<�|d �d�ur�t|d ��|d <�|d �dkr�|d�d�u�s�|d�dv�r�d|d <�|d�dk�rfd|d<�|d�u��r&t���}|d�d�u�r@td|����|d�|d<�|d�|d<�|d�|d<�n*|d�d�u��r|d|d<�ddg|d<�d|d<�|S�)NzInvalid format specifier: �fill�align�zeropadz7Fill character conflicts with '0' in format specifier: z2Alignment conflicts with '0' in format specifier: � �>rB���rU����minimumwidthrR���r���r&���r���ZgGnr.���r8���r���� thousands_sepzJExplicit thousands separator conflicts with 'n' type in format specifier: �grouping� decimal_pointrT���r\���r����)�_parse_format_specifier_regex�matchrq���� groupdictrV����_locale� localeconv)�format_specr���rz���Zformat_dictr��r��r)���r)���r+���r�����sT���� �� �r���c����������� ������C���s����|d�}|d�}||t�|���t�|���}|d�}|dkrF|�|�|�}nj|dkr\||��|�}nT|dkrr|�|�|�}n>|dkr�t�|�d�}|d�|��|��|�||d����}ntd ��|S�) Nr��r��r���<r���=�^r^���zUnrecognised alignment field)rk���rq���) rB���r���r���r��r��Zpaddingr��r����Zhalfr)���r)���r+���r���m��s����"r���c�����������������C���sp���ddl�m}m}�|�sg�S�|�d�dkrJt|��dkrJ||�d�d��||�d���S�|�d�tjkrd|�d�d��S�td��d�S�)Nr&���)�chain�repeatr����r^���r����z unrecognised format for grouping)� itertoolsr,��r-��rk���r&���CHAR_MAXrq���)r!��r,��r-��r)���r)���r+����_group_lengths���s���� r0��c�����������������C���s����|d�}|d�}g�}t�|�D�]�}|dkr0td��ttt|��|d�|�}|�d|t|����|�|�d������|�d�|���}�||8�}|�s�|dkr��q�|t|�8�}qtt|��|d�}|�d|t|����|�|�d������|�t|��S�)Nr ��r!��r&���zgroup length should be positiver.���rR���)r0��rq���r����r����rk���rr���rs����reversed)r}���r���� min_width�sepr!���groupsrS��r)���r)���r+����_insert_thousands_sep���s ����$$r5��c�����������������C���s$���|�rdS�|d�dv�r|d�S�dS�d�S�)NrU���rB���z +rT���r)���)�is_negativer���r)���r)���r+���r������s ����r���c�����������������C���s����t�|�|�}|s|d�r"|d�|�}|dks6|d�dv�r\ddddd�|d��}|d �||�7�}|d�d krp|d 7�}|d�r�|d�t|��t|��}nd}t|||�}t|||�|�S�) NZaltr"��r&���r���r���r����r����)r����r����r���r���z{0}{1:+}r���r��r��)r����formatrk���r5��r���)r6��r{���r|���rW���r���rB���Zecharr2��r)���r)���r+���r������s���� r���ZInfz-Infr����r����r^���)N)F)r&���)r'��)r'��)FF)F)N)r.���)y�__all__r4���Z __xname__�__version__Z__libmpdec_version__�mathr���Znumbersr���sys�collectionsr'���Z_namedtupler����ImportErrorr���r���r���r���r���r���r���r���r$���r%����maxsizer ���r!���r"���r#����ArithmeticErrorr���r���r ���r����ZeroDivisionErrorr ���r���r���r���r���r���r ���r���r���rw���r���r<��r���r���ZcontextvarsZ ContextVarrG���r���r���r���rb���r���r9����Number�registerrN���r���rn���r����rV���r����r,��r-��r���r���r���r��rx��rt��r��r ��r��r ��rb��r;��r.��r����r����r���r���r����re�compile�VERBOSE� IGNORECASEr$��rf���r��r ���DOTALLr#���localer&��r���r���r0��r5��r���r���rs��rr��r=���r^��r9��r]��r@���� hash_info�modulusr����r���r����r����r����r����r����r)���r)���r)���r+����<module>s���s`��# & ��� .�������������������������� �������������^ 0",# %$+ � *��� � � P % )