plpython3
Here's my latest patch. I'm going to submit to the open commitfest. (hrm, it's 189K compressed, should I just let people use git in the future?)
Known issues:
- Documentation has gaps.
- Code formatting/ws is not consistent with PG's.
Any feedback would be appreciated.
Excepting trusted and DB-API, this patch fulfills all of the current PL/Python TODOs for Python 3, and adds *many* new features(See the documentation, and the WIP wiki page).
plpython3 is intentionally incompatible with plpython as Python 3 is intentionally incompatible with Python 2. Be sure to see the recent discussion in the other Python 3 thread[1]http://archives.postgresql.org/pgsql-hackers/2009-11/msg00547.php. =)
New Docs:
http://python.projects.postgresql.org/pldocs/plpython3.html
Overview:
http://wiki.postgresql.org/wiki/WIP:plpython3
git(plpython3 branch):
http://git.postgresql.org/gitweb?p=plpython3.git;a=summary
Past threads on the subject:
http://archives.postgresql.org/pgsql-hackers/2009-05/msg01376.php
http://archives.postgresql.org/pgsql-hackers/2009-07/msg01519.php
http://archives.postgresql.org/pgsql-hackers/2009-08/msg01505.php
[1]: http://archives.postgresql.org/pgsql-hackers/2009-11/msg00547.php
Attachments:
plpython3-1.diff.gzapplication/x-gzip; name=plpython3-1.diff.gzDownload
���K plpython3-1.diff �<kW�H�������f�c �3qv �f�lN��-�mmd���0L6�}��!�^���L��w�v�����U��v&�jM����\��n{�G������������c��/�.���������^��j�����������^6�����>�/����Ynd����&���:�����V�`��UO�9_��|O>�.}�+GZj}�dYn6�<7V���L���o3�7����nOz���=K��c������e#�t��C���n�L�m��~�M��
|N&~@��(p�) g��#���?!�a!������e\����y8
��ob����F���w���n�]]�p�������$�W�P�&���?
QH�i��1�eS�����O6�N7�3�g7 �/�G���`�p��m!�o�.rD}l��?������w����_�m|@zn��2����� g#��NN`�~��z�mB�����M���"�J�s9CPE����e��3_�AH�#?"�C���m���(Dl�6���.n6�f ���m��X?n��W���2Bx�2T 1����ow�7�"A���F��u��=PO~���`���0����ONOH�����<5\����
�3�}������`JOH��C@ `H4dq8 ��"'`�Pm��&��$Y���Tlee?
�Y8z}~3,����,=w<&��9C�G��'6c�~�0���L�{�i�q<R��!�3%�2Z���U����Vvc;<�B���+){�',��\6�\bpP_-��E=2nXj���o����t��e�������`]�����W��D�>|8�}�(tN��K�9L���'�i K�S*�7� L(��#���W�y{A�Y����5&����/��L���
�l��������kln��T!��m��PM�f�|s��y�����k
��^
o^o}�h{n������4�w�v&�g~Au���h:�v4g�����)��[����*7���������pp{w��
�� a.��B pA#1- �)o%�%GY��'���'P&�x�@9�MH*B��6y, �G�w<�<�k�E�4xl����f��qlf4$KF ��a�NT���Z��H�Lg!���fW�u�o#���i��{"�E�xQ�&��{��":�$5
{� �����jA�|`��,��3I��O��cf�@�����H�d\����\@�m��bZ��T��������f����O���8�{O[�k+~�^U7���rdq�[�3�� 1�����Q-�2�o��I�w�������Hgd7��* s����h����"��gcH�?���fII�eZ�O 8��� l�p��crs2�#�E�u��$i��dl����c��y��rhA?b(�_�,9�<Q�Q`��h"�m����72��f��_����Y����k��U8�������w��d(��/�q�"�dai V�K�gV�p��C�NTG.29-��0ccno��?^��8!����P���]���Tv�C��4�:!< ���<��!.�d�9�|��Y��5���w��j*�%��8M6fP��|."!��y��?�{0�
3��sj�9���aJ�����qt���V�r$��0�Y���]"�����b=�a�v{�G���=��<��W}��l��wl�<�6�6���b�
4���_�5����`t~��A�\
�������#�����Y�A�b3�n6Xf�y}�d�)E�������w���|�}��|���|����:��O�x�����kr���)$���*Q��7����Z�X���\�E�\���F���E=9:��j�����=\������_-$��5�>A~�k����n���@B��g�u��>�(<1f ����
�kV5�������9O�Sn�N�C��Rs{%s{�{���u���7{;�������������1���~�����e����Mh��a��c1� -g� ���'$����9Jp��As��d���J%���������D��e
Iay������p���rpyuH��>a}�c��i������mkd#���2��n�xC���;C���6,�z���)>����Y�C�NBB�S�$�=J��z��!:����� =>!q#�����G��*>� ��C@E�4�3/$��F�e6�)gc����}�~&
� ���uD�����=��pg2�����w�u,`���dz���e�&z���2c����.��g �d���!]p��a��7�:�C���uP�wM�h��2),m:U���42��_�t�����8O��dj��6���Zw����� �_����$�~��zU��L�������l�i�*:�������R�U
�������8TR����u��zf5�W����U2_35-�_w�q����c��G�c�J"�����$ I%����^����d��?��4��h���D�����\�S:�y����F%�������j��*-�j�����k���i�J �������c��m):X�
i�.��o���Q��T-P;�� �/Z���E������TK�����Z���� `���
��/�Uo��� �q?A�f��P��4��vM���������#B�":��-9i���S_�]��.{��k�i���{V�.ojB����I���8)�_�=��d�V��������_���]���R��)q���y;zuuu!�i�`�i�(0nmmX�n����U��[���^,!NV�z�de/�
;o��(e��-u���&)�\�@���W7���������5�F���^D��'zR�fl��� ������v!���h�CeO��d�;i���v_��X��VL���@�J�CIqzU#���:�#y�#��4��'u9$��O
���RiP9T���Gy�Jo��{y�^j�/uTf@Oa�6�r�x _C��_��,��O+]����~a_�_��������/��?$��z���������' ���������V����bv@�pA�i��qGN@_C��V��/����c�p�����;�����=qZj�Z���tr1����S���%��]�q���/9����o[!������s�L"�Bl\�Z������x"�J���>��a��\.���`Z?�E����N�����~��
�i��=w<0w�0������*q�fp�W�%&���x�Fd����bId�z�\��T|#�P����Ct��N�n�M�'2��62����bM�2�<��9�0���'�N��OO�t�����b����:q��-�c��A��L��;�)2l�xxct�.�����wa�a�x��9������o+���qG��ZV�j��.�$;����d � LF��mf�qv3���E���]���`�S������-qd�"O�rP|�t5���T��!F0CHc"���;9���d /\1��X��Z��(��sl��&��xq{9�k �_���A8���}T�$�6��g��!#���]�d�x�������P�4���KV9�TS?�Y��G�k����K�}&�����>��C!Q�|�2v�&��%8��I��5�0���/
���) �"�ag�u��
��'Y��i|=�]�V'����MD��y��id����-��%j�����-s���1������W��b��Zo���f,���Zl�_}��W
�st3V]'��@�lI�$�����u'C���Z�f�>n�� ������xx��H@K
��^H��R���������,�bx�~��0�8�������NZ�4
�
TD7��4���Q B:�A]�IX�����Mv�T����j����w5n�f��C�
�Imv�w����Q��S~����cX�Y��>��"M���� 6��o��0[F-|/D��b���'�Z-����h�G&����c�i����<��!�����3#.��o���B�
�\b���k$���Y*�T��9O������4��/s�����+����*��:���I��VKT��@=O"0e��`��r0�#��k�r��K9@?g$
�gy�I�� N(�
���L��d�s���-�VjG���"��EN�'�9� �h>���8tp$�f@o�p��C��u��<�r��L�]���&}`�vR��=R�t�s�
P�|N���T�N��]exb��)�/��F�����EI��
B4� ���)]q����@1�d�[[�w�n�>�������R��b^�$�.�6�
�Xi�PGl��zt�Fzq�w��
?�@W�wm[��&c���^ �R�>UP ��a4Y�g��[Az���c�*�m����0BH7�$��[��L���e�$CH<�� �7�ncR�3u�Y>�p����b���2�W �D�'������5���q���,F�R!B������9��� [�Fe��]�����W��>���B���+J�J%gaI���H�B5_:>���X�(S{������Q�-D��AN%B'iM�� �o +o )
Z��$��������������=�(8|�^������8St����.1`���lb��`�^HY��, =�3�'y� ��<=�
���Wo����z������N&�^�w�u�z�����������
'on�����H���A���~Hy"���$��� ��C��+;'C#0���VE�����>^�}l�����A��5�!��0�NU�����$T� �[k����ng:������������?o)jVl��bsoT�I@�����avH��P��Y��\��P���0b��Kb�_�a��E�A��P]�~$:�L(D��P�"2@�}���1s�9�(����KYZ�XE%��4�T�+O!@>��h3��B�����b�p��]E]&,��Cx�mA�C�Q���(��{�)��c�/;^�\O(����<�#�,/���U��U����L�{{s����������T�_g�3 *�u�����C~�m���R{�L)_[�A+��>KT���\�x�_Em����3�~
��?H���C��X\t4�:IN]�])%z����_
��R�������~��4*"Y/����~�����f B�%�k��W1��d�a$�%�BL�_��'�� 6#<��� �b=�u�K����?��#�R���g��A$�3@�[��^*j�haS��*������L��RD�a+\�C,lG���Z%�,&����h%�3�D�V����%�*� �5.�Lg��$���,��L[a�c���21f_�:P_Q��i*B�-�.(^_^��������8 ��j`�i�W8�$��z8)�!�D�d(��:����Ff�a�$|��F5�4���Nf���Mh���:B�U�Qj���a�����P5��=���X;��lVt�Zx�(�:c&&������hG��[�;�B|�h��
���o!_�ZE��]���]\+��������o� ]����[�
l��uG��0�*���{ \*��YJt���?.��X����n@�����)/�� |o�@�����7sS���b�-|�ZY(��F�.����FK��h�e23Q�JO�|S~ew�Vzr��(=���kEi�������h.)M��F��-����������|�:nrt�a��'��}}F�6S�}����'r�p����%�S�wd�p�����[:�$7����B�{#$���kU���a�y���U}U;jd��jD��k�aBb0�K��R��q9*$��`���$���)�����y��vi����D���t�&��2t�RSf��1����2>��h�c4$W����v[���c��D��$�"�S]�0����rzL���c��S���x���/t�������
{g���N���t��b�������Ap����h�5Bq|��������{��6n�a�g�����%iQ4]V�4�$'z+K�$7�����$W����.u����s���\���ncsw�0�9������[F�m�����(�$�,U��� �]���G��Fv�M��|D���
Bi&��� �\�����Q�~-���I���@9�7
[��r0mX���99=�GP���,<=_���`w�Gqz��8��`�={wz�w�����B�Ip������J�����Q,��#z�-p���-Z��v�W�������8��O�i��KX���VZ��P��G �O��8�Y��J�q���:2�5�|�J�\�.�=�, F1n����[���n�i+����e�{���������<j��5��X*�d���%�W1�9R|J���[����]���
���L�j �??��ub_I�$�������������q��P��#,�1i����$Y�}��$/����`���H�,�`:.��!��[�4��WE '�dmu���(�*�d�f���J�-����y�s��,��,pt�U���J�r
�,�x�
"�o���a�P?�:y\�lWi/i���8g�w�P�{�<��kII?�'v�pr=�d�bS�t�#K�?�&�2 ��]:=9j����A�>�������^?�f���|%q�s����=)�I��J��c�h���c�5���+�@m��i��a1�1}�7�u��*�&�1���h�c5t�*@ ��GUv�R���
S.SN����B��{_�C���3���K���d�F��8�W�z�<�L��I�N3O�NRN��:1,�^��Ev�[/�^��smY)s{��X1� #0���}��E���Z58������J�R����t��9�������IP���|�`&m��r5�6����&yv��g����P�G�g�8m����U?� ��T�7�,���@<V���� ���e!J�����s��Z�8��5�����!��i&��N�����9� a����#}}��f����\n�y����a�9����bY�f�g�5<�#��v����}�'8}����-�q=�~�����@r�� ��1�fc�6�l<m����3������������=�k'&+�~�cG�-��������U�+y~:(+w^��/F�����^�P��%){;�KO�#qS�~�� �-x_��.�3�)��������
G1�w����Yz�I
�-���]�|����J�y3�v{ ��v���K��Fw�����T*H���e�Mj�-U�)�&�]��E��*��0D����"�K�����5���\�\�':��t�r�E|��.����M�����&�@�]o��q��p{F��S�R�
���r����t9a(���$���&;���3�V74:�:jf��m��l~�q-4rd]��)oie��Z/����8��{���cn/;���]���1�;�a� �Z��n�k���0����:�{{�����W����'��**���L����}�>��,[R,������y���=:�J���[J���/jZ7$������pk��f_��E�����i�o�z�|����u��)��7� ������X
B� H�U��i?�}�0)��@^�
b��.��dq�Q �o�>�]��4�����)={D�~,&J<h���m�4M{�n��9�T���~�����P^ �d&T�{��h�|���p�/`/T���A3N�@�xp ��f��������2]���`�y�4��z��l� �R�W�V��gOB����1�Q�tE���8q�s���+���S���C������=_��<���C����� (�������YY!E1]��y�X��AD��]�5[� F���B�>7�����d2,.'��f{/�
������b�!u����` �Iw�>5�SN��*tF�����.ordZ������"���0�@i#�����eu�D�"��`�4�������8�����8kA���0���d��B�d,o@�L��H"s"e��b����04,ze,�n��H:dy�{�VU�� o}����}by�
M�%koe�7�����u��3FL)��&����9��b�('�H8x�g���v��hd�H�84�����$CxZ1��%������vO�U��R����$��X��F"�CA��(d|,��}c�:�
%�Y� ������1g��������&���K�<6X��G�9#�
Y�4 ��&����V��D�BW�����48�(~�bm-���(t����m������}-K���puA�����]�OZ���� =JZ3�V�}���PF��\D'U/���bCBR[p8���$�Q�8L�Cd8*�T~�����?����2�Byw�n�Uo2GI� J(%f]�s.�G�c��-��y���X��i���:w������9j��/��VM������,�j,u1,�z8;2g��e�Z!�G�����Z-Hn�������]?c�d6�����;�!!�A�� �rx������55(,J�$��l�m8��TI���H�R���n��#��0����q�U!'����#RhU!�E����!�f
:�hxQ^��&���mn��IhLY
�e}�j��������x#�R�W���H4S����kU)���|�o("��a��p�3�,��f��|~�r}tGA
���pB�9���%M��N��xA�%
-��� {�����x����*c
�8@'4�"�F�i4������Nfb��~1�Z�����+�k>a!�����_&�6��Wk��1���9��M�r�
�������-(����2�\F��aR0y�k��h��N�Z����T�:��-!�rM�x��^��)%�[�[����N(Q�{�>-}r|�,)R��D�R�#yC�3Re�/o�x�P@=b
��v���F����MB71",�+ry��7r����i���m�6��VX�^�����3[Us� :���� ��1�!(`����q@-��)J�LF��6
�~��s��8����@K����tW�.�91��12T_A��K���g �j�L#�"4��Bi^��g40�~�^���#��~�h�x�Y��2�W�^HKz�HwOhSJ�l��kK$����n8�����oaQ ��O/!x��d:�Fq�3S����� B���u�{�K��x��T�^vd� ��q��5�=�QN���P�9���"eqMj}� e��A���52=�ilxv��8N,��������s��
���v�V��Q�c8<���-]������� ��k�X�{X�%<��5mt������x�Vi�4I�Q�[����S|����zOR1�
�)3�r3��;2_���;��%�(���kQS?�g�[����������.��|t�uL�R��J� �=�P]��L[�"�#!���:���Bb�
F�u �*b�T���"Z�V6U� �(a�D���
�}���%�NW�t���^?��Z���nJZn2��Y��30+Ox�m�
��u��G� j�q����e�&����nN��%t��N�R���H��1Q9�,K=7�Tu9b� )�ik.����@$Hi�)�a|5�p!,1XF�����$C�2��
��wT���]�@o��|U�����"���.�4��an��}��segH�By �8�rB3�(�����KL^��W��t4hH���#�������aM���F��>4���������d� ;
���:9�S��u�_C�|�������jn����� k�@��rM��j���7��#sKO�E1.O��HBB!p
�%�����N��KX��VK���N��|��>�/�@ ��$r�?�e�X@SS�)�J�����W�u��0,9S����L��&������������WI������!��\�)eAV7%D���e#�OtBLGm�?6����C�-tB��I�`..(�5L(���ya{��5��Ne�D�0�dtq���{���cf���w����g�p�'G�C��3���T�;i�� �Xo����&d4b�h�(f"FJ��c|��� �b��������R���2�YXu<��~���%423�b4��XZ��P������4��S��^jbbt#�j :�QK���{�&'c{�-���l�r�"L')�tfB�n'���bm�V�4�w0�^���Q�nO�A}mNF��u:#�C��5?��2�)#��7r7����T�����1�)�w�
���L��O�$F�%>S�v4�`�����#*V� I�z�5�6�pC(K ����RD�;(M�� z��kl������hx\�Po�����W��]^-���@c�T%*SM2����E�br�r6�,�`��_X��:��]��\��_�p�PLF��57P�
6pO����������
M��������=�dH3��D$����f������Sr���.�"X_�+V�[W�M�U����(�l�l��j�T��:!�����v���.��X���H��rOp�gI���)�����5Y>\2��9�����X7�7�9��e�&�)�J]��)�QNhCI�����D�ul[���Sl����=�������T�O?�@�o�����r��N�������e� ����?�����%�QA�6�����DG=������(Q����XR,�O��Gj8�P9��+�?�^I�
m����H,�m��$%J�s��iq�p9��y�T��p����k)��3���KIF�|FK���4?F�
oSF-���l[��T4@$%�F��p�4j�� [��\���m��Ix=G���������������Y�rQ��x�D��j8����^-w��.��K%�X��'3=��Fa��L"�F%_��RC�S�����_�����S�9���,7�j:
����A�#J{�8yx�~8F�u�vr�X�^d�@u��4�LRc%�v�)�����(��Iy]>eI�.���6H��O^A�z]3x&?X��K�d��2�%z7�( �G5\P�F�B�k�������x�)�8q&H��6����v�%"��x/,�j)�F�I�S�1N�$�Z@����YI�vg��s���s���?�Ed�2,�:heS�N�X;~MV������W9~3���U��S�.���)��-&��\�Q������x���NX���L7��S�QKG9��"KJ����=�dJ�j�!�������&x��5� Ze��}%a�]� 7UD
��59�q�3X��M�Y�T��m�@j��\��\��-���!����?��=X���X��,�����Y�����B���]�p�G�vbsV�^����(��d�%�8t������g}X9r���1��^tc�q""�R���@������GM����hf �� c��xAY�IcHRU6wn0�������i��<@�6A�I^����/\�'�(�(:y�/�����V�)Lj�f������5
��FX.�"'�P��������/�$<��>�[������f�\����iu�����������C��7m����me�8uc���+���t.v�R��k��16���>3��
zd��c� ���`:�b����Az�|�#!��%��I�u��n,qm7[P��;��RWiG�����\e��v��E���.(Tv\i%��w���<l�:�@����e5vu���������u�-����m�(�WA' #�A�"������)c�l�j��&���F�?�������-E�,O�?H��7��D���|�6mm=������S�� ��'n�z�f��0�t��8R�0����d������ov��g�}HmBA�������/��=*� D@�7���VA���w2b�]�bk��kQj�6�V�,Pn4�� I�muyB��\;����4�u�"��z��p���@���qp��H��H#��` JfEV`8Y&��F*6��Km$X���$�\U�����8�T�r����)HJ�]�@�<�'K��
4�m)� ��b�l����n
z���0�(�h���a��Z���8+]
���� E��Y�L?L����#��E�ZH
I���KS�It?� n[�Q������{�i^����a�U������Z
I�7�r;a�&I�b���#;�8Eb�
��� 7e���I�B�\�kt��q���3L���IU��s�{ �'R��.�� ���������w�Z&���v�H�)3]v�N���=�������������p�q}�sg����&���Dh�td����E���`��/2\�V~������<� ���?"S��L����gJ�
��>�l
�V!YV�l�DxDwR�|��(3��
G�>�h�2��bc) ��-����4mph�c�-���v<�,+"oa���uf�b���d�D�v8j�)o��l����&6 ��v�py�%���6��*����2�z�'�J�"Tk�R�ZS����{���x�!O �#Q{�U�n���y!��:����v�,���^�'lJ0���\� ��]xZ���HFZ:Ucf�v����d������E�oHV�U�k����,"�c��(E�N�������r�vx�������*�_�Qi�d�Ia����.����u���D����+�y��8<2�&�d����z�L&p��=�d9{���>���Tp �� ��� Y��>~���f�������z���������Fu�Y�����'<RjO��d�e&�I)*��L���S�$.��]M��e���a��s?��6�?�(����_� \�`�#�u���ppn��dl�E�Q��_�^p��D��7T�2�>� ����y��DS�Ah;�`�k���X�.]� ���F9R��P����J��AZ�(plh�RKz��+[Dn�]��`����y������%�n�y����5�4��py�-0��`a!�~�5��
G�e�0J��K���YQ��s��v"�B���?�I�^�f ���;ju�7W*n�?ddty����,�+�w�i����`����0�O����������g���0� �/40<����k4�:���qPF��
��C���NrS�8�gq� �������z/V�I����f�{��)���w�6}}-;��]��w�k��q�9�:B�#�����b��D����������A�b�������`��(^y�nw~O:6-r�?e{��POF�����8z$� 4Xp@��s\Z='� �DQ��X�8c��Tx�`��.:n�?.4����=d���;�9g��S��A{�K���q?�wn�n�
5��et���1�_���5�8_��?.��S�/�#���n�I0�^ a�>�<T�����2��b�V�TyP .e"Ztu�����4��;�`2h�%j[�H
D�{/Fu#i L��:�������%������EDz�~��a5Y�=�"�0
$��_����&�X�+��6 ���:������*J�Z�w��r�&t/!G,}������U0�?�z3�lRe��-G�����`���Wn�8(���R��rSh���bUs��m���Ea7��I&^}L��k�:�
����R�Z��������@��4s�@�(�D�$!�8���-nfM;A�It_������
u���
0�Y��1w��ht�'�g�VNOONW>f��}XQ���������I�yl� �^|a��k���F�t�zr��>��E�(#��w�y�{���Y)T,��KHO���B7I��sJp��8�������"�'<�A��V�0R�)�V��,c�*���-:@.a��$��w�<��F��h+�����% N���9nV�@���j���q���=<�
�E�\���7�t�a &rsF�����M��y���O���a4\�����+y�O�.��r �h����9G��V��e�V�S%tM����I�J�����_����h����m����o|-E�uN�
�gB��eN����,z�;�.�4?V��<�-h��
�L��6&�h��-�`b�R"8���\�%����������,�F����G�8�]�������Q�����������@�n���x�[���\"%Z��'/�p���\������.SMk�{��tL>��B�o�0�x_���,uY����v)�7A��i�j���)8�N���"����H����Z({�5
����
h]�\-J��Y�K��s�3PY;�k���;#�t�v~��e*���L�"����0�-������x��n���1��[W�&FZ$���v��*�=.v�(�a����
����V�<G�0���%*��o������6Y�-dj��������U��������Y�������$��^�S�$s���2��i�3���!&�����#�S�������aG~���h�4N��?����
MUag��KDdS�T�)��0���������=���`�/���H�����t��QB5�7^?��y2������]����*>��/���c����lfO��Z�7@��������Y�m��fo���=T)�Ap���
0���P��8*HV�y������W����I05����-�|�3KH��3��w �
i~����|�G�9��5�G�4��������?R��A �\h��i#
��R]F�QM&�v��c�2 .2C�b�f������bsK#z��Cy��K�PhQ
���qS�B��r�L?Tq��b����C���8�����������
�|��h�����P��.+<���3��\�(�,0)=��maUYV��,k�'�Sxc�z���Hu���2�s)�22���(��rD_g!��\�\A
H?���~X��;%T6c�?uD�Oa�� ���SD�{�������OD-�7�Q��_�t�~o�[&+k������M3sl\>���9��z����a�"�[��,�u(;��y�6����x�4�/l���6U������;'��G�n�r�=��N�R���NCxS����tT����4Z$�qVp�<�?�
#
_���4����rD�%IG���A���x|���{FA�����2�����q����*���I$l~������}���\B��8�Pyw��gU��h}�����D��(�� �*X�Y�����vN���ls������y�N(�
��[��1��Pv.T����� �����e��s�Z��La��39t)�'����.+������`"��L�+u,%��d#G����P������^l�o ��@�P��d�t7$�`YYx=���������V����^�I��]Z����w���MO������}@��j�{.����!�6G�W�+@�����J���W��?|��X���������p��^����XV�HV�����4���H��F���������"/��&��&�q'�����x�6q=��7�b�&^�M s�o��|M�!1�p�\�aND%05o�������c����������fR�k������nw���jN<��o�?��~t\�0��5S��P�2��hZ��Z�m[�Y<_���Z3����+�M����t���Mt���������%�]�����Z� ���SX
yZN=<6v�nY�ul�����F���0��������D��q����G�g$6�?�g��%\�����Sv�r&��<�����S��|�&��>M^$�K8�e�)��Z �24���cx���U�Q$
���mg��QO�:^)���O�9lB�y�(C��E#���0`M��=f�
�^�F�4�d0j$���ic����=V88�.���>�c�4:��/�$;� ��g��8�ryw�<Wmh�� �X���Z����kt��l���Qu�u���5=�0�/:?{^' <�������*��&/�h�a���
,9����B�������D\C�6T���L���Q�C,8� �����'�&b)/��MeX�
�3�A�)G��f+sm���l)�L�D��]L�k�cN�N~���V�v^��R�(%zp���D�l+�EB�ya��*P��*��I]_3 Y6�!�c$U;ebN9�j����}��q��;z��������Lm�sp��nm�xh0�IZ/}��2�����H���6�2UIX:@�8C�����6Y��yd�w�Q�0t����3j[o�2���^8�L�p8
A�1����
���T����w�f%�g���x��Y���' w��$�Iw&77����<�:������ 8�Uxk��� ���A����<�:��,%2�=���������2#%�������O$��[���Y���F��z��#���*�A������&S���8>~Z���� 6��Y���S-�����Hr-��<c��n[U���2�/SR��z �U0o�S�~NV5��fg����s����]BjG�o
��,��$��e� .#OpT���������x=�O`[������3f����L�@ ���r<b�|�1
�_8����Qn�?�^��My���LP��Z��
���!�nPD��S:
��!S*�����Tz�YI`��`�(~��]jU�g�D� ���S�� ]cVj��q�u����q���)������%����RR-��-��r����4�� ~mP'}��+���vD/���[������[lb�Q�l��S;�l;��8�����#[���\;��� ����Lc�:l�@� ��6�V�r'�������-m�z:��4,8 �O���Z%�������a�%���K�"��%��������"�8-����������D,�^yT�f:��TPZ�ym���C�Q�+��K��(�.�t���R��,�����:�Tp���#��H}������\��@��=zp&�_C[_7�P�fS��Q�7��G(�-�v�x������o����� |Y����{�n���@2.6��%\l��&9��������)��/����C��q�#q0�=Qo��N�C��P�ca�z�]q�o�TzW�y,�'�&EN5*#*�����F���3rk0��)B��pa�dLhG�����<�o�b�G����Sn<������42B�l���vY�%�BH��_(rDO������_�N����q��4��l���j��V1B�X��_[x�j09���������������nf��p��0���������Y���n(�x������U�A 1���3��Z0p&�NTbp/z�xUD���V! �-E( �.���8�,4y�k�|�
"o��������-�t��r���Lj� �Toe��Z�h��P�ZRN�XN����p��5'Ll\�
�A�Tz��=���^b���c�����4�|�����z����v�ZW�$�3c��x���Y������b�/\x�k^'��{r�yC��>"�R���Y�*���!;
t,b��hP�����ELL�n6��</lU�X��y�&�H��!�]��a8��x�>��vvu���Vp���x��V�Cf��T�I�P�e���Q�t���H� su3���@�L�R�m��9�&e�d��t�L41��K �S������y�#!B���t@�_��.���[���3�5���K=�B��a.E)\'�]�l�el6���.�*�eT3az�U�'���U8��Y���A��7�O����Lf��l�]�<�hv�$M�����hrL�0��-A�qa�3��y���=?=������s�""�������H]�!��
�[n�Ab���b��5�����5���������E���Jn��������YL<a���e�r���\H2�7�|t�D�&��R_p$E�o��u�t����db��PU�(y��Hf��J<�0����}����q��A�$B�k4Hx���������c���,u���5����@���*GAc����v��������U�N������:�Ia�(��O����$����'��QI4��&����Z��_�G�����i�+�}�"��t)2�~rf���&A�N>�����5>�K +��o
�����Q}��!C�������b
������)I�F~Y�M�*�x�g������l6���x�m-���W��xb%#���~��S5�`�
��H�6������'D��'�~)�� �qh�jG�+�z��]EPL[� �`.��:�e�;�XH4��7M��a�����2f�����{���)0����V�^-X�����'��L�`[u�;�$��Q��%�o ��_Z��Qq��&�y�n��`q8�G��s~��x�x��D�����7�"Du�TCj:lB��s��i�H��e�A@���y�G��-��NO~Z|:��a.����1�|RZd*R�o���K����&6jX|�v���>�Y"��g�~8�d%�!����Z� ��Am�O���y�~U����VF��,�st �h�"������L(����F���T�|�P�|d~�X�Wv��N���d��0�*]�y������t ������,��w�� ��+Q ��E+/���nll� o0Y�r\�����ud� F��T�<>��x��[����F6��:�'g=#����`�(�L����{ ���q�������NW���BxR��op����r6�5��Q���d���<��,�u?����O�m��4KI<7�f�� �>�kV��w�� ���)��?�eC�,j;B���MI����*<I����y1��f���?������
�dQT����@,f �Xf��d6a;�B���Hi��<��&#\��
g6H��������}q�F� ����8�����X[+J�]d~�5���s�v!���?���� =\�����1�l�5�%BA���T�I����2�v���Wy�<i{�2ad�
��v:P!US�d�U+���!������i-��C #M����F���cz�EI0�4L�yD���v��DG��@|:06-t�����O: �
�U�_�{�b�_��FN,�6T/�v`!�����V.�V�v.���v����m�������K�gW���x�0�y ���%u
5��w$�����S��H��N�W�I��*�db�Z|���F�U�o��EH����?4��j�#���U�<��%PXZ�0O��P�Xk�i�o��o%N�i$�D����W"��8���6�aM������Xd1��.�������n�2�:0���yJ��d(SW)���E��]G����2�d� ��*X��C�B�eA���EU"�����DQS��J���Rq��B1#�EV�{�y9��'g�0=*��C['b8���l Q45)�y����V����E?�Rm����������F��dS7�bg8wU8��]��b��Q��\���$�[o�,�����\�N���)0d���v+��n����j��(,"�I)�N�_X�����7(���z�$d5q�u���e������O�?���P^tl2���V��(��z'��1���Ui�hKs|��q����=�K��������^�X+|�'$�<�Y*}D�saBF�x�!�����>�IU���vz:����� �7��9=e�G���_�� n�m2��k��e�h���.7�f�[�4�+���r
V���S����p���(@�{~H�'��{
?�M�@N>������TA���a��=�=R��!V�����0�d ������1������D~��>j t���L/� �'Y��=��Q�.�^x�������`(���t# ���c�;>e� '�o���A��`F�T���������F�n~��o��c��a"�1��s���E�]�T�&o�{0r0����
�K��D"����F�>����e���qT�^b[2/�
(�#[26�X�*y�
lc$�yq�>av��*7��Kb-�A$�.�� �bS[yPd�.+s�Y���.���]G��� ���Ep��[�����8q,f�4iD.��2{�Y�a���HQ�3���3����9#��?%CT���/t���� �\����UxVO������5a��G�p��M���� �-Wvv(���h�?�I�0��Y�������:l��MV���N%j�=~�@���L�T'�C�im���]��r������:�CZh�0������/ ��5��6s�1�jm�5�KFE1����N������T���/�w~�L�{������d��eT���Nq����c��J�DCfm8Qt+20�h���T�~4k�/f +�(YF��������xi���7,0)�a}[�$a�����=��P+�����W�����Z��sij���� ~��������`�\����[$��>��07����=���"$`�7U��[F�5�k^�@�_e���a���x��2RA0Ped� ���D�������f2�tG��"GF�pb�O?r�T
H#��Q$se3����s��tX��n�L@u���`j���2cyfO��B��/g)6�����Iv{��E%��_�N��h��������yNM
Y��%����>2aTI n�wrV)p0j��aI2-C��A����O����C�p� ����0��"�-A��[�_��m89�M �~�6U7�����:q`���=�9d��+�Rc�*�����z�C��d���=[�'4���~�@ ���!*�����cr`EGQ��[�?���l���3R�K�w��#���5��&+p����g��a�$�����b-.�� �������e8)-E2��������f������iI>�
=B��]�sQhd�'&����d����{Vh��Y�0�xtK]P����F�a�Ee�I-,���o/�$�<�5\Pyyn���oI�����K�`�4[�,������*�]O[��"xI� \�lyj��e�'j (����%�
m&��+>��.I��e�t���%���I�!3|��\$�h�>��������C����(�7�c|���GG�3, 5����l�U����x�Z�p���d�T��f2�.e�`8};�`���S��#|Z]�a�%����RW&���K� R�P_�,�55f������*����.�2zS��hyM��c������M�<[��S+�BZ��%�%[.�H��P'SsV��H�d�� ��>>&�&��<y��);,�e�HK�*����F�HU��+R�x�����G�Zc2����%���o�8�^��*ay�Bei3l�e�G�5(�?�z��x��K'#bGwu��
kE~��0��)��L[^c���-I3��-�5��"$N��V\}H��D�QO��J�)Ui1w9{$DH�� a����W�����k���d��j��7��?[���A|�����wO�>[d%kV|%s��qc8���iec����?��E�!JT ] b�X��}$�w�:-�fS�p>�Pz~����=1�9��|�a ��9���i�qH8�s(���i�q ��9�$gZ��.roq^0>������^������o?�@�a�]|m��aP��'i���;Ia�K��r����&�6�igU����3s6P������z*�u�L$
A\9M��#�W���8sS��
�|Y��@�&u�e�Y"Pg���
��w-�.5�o����4����g3S�#���/g�/g�/g�/g�/g�/g����d�A����(�g%(�@��
"��9����3��2�����;
�6$
�s ��u������4��N�2���gy7�x�$�>�[`rN��#�P�RN�����nx_��l��P��\(�*��SH��"#���f���B������p�]����0R1������(��&����OfT��Q>�1+��I���I�+E���������#4I�\�e�S�\�,�*�
w�#qf�-�6�n������1�F=�{]���]FU������2��2��t�2_�N�7�tjL�d��@������NehH�F:i��� �x����HF���L��U��&<k@��b��N$aRB����(���1����#�fu���J���4C'U�q�|���<5g�WR���7����c���B�"`�����wMT5��7��px���������Jm��M���v�F�)x ��d-Uq��u�T{��x����X\�=����C�T���O��\�G��?���UlcM>_������$�8������m�p�����o�E���lU�op��X9nOO~*7�u�>���*@�U��n��g gm�� �U��*W W�+��������������n���12F�]�9Wgf@:T�<�H��A�����P���d��Ql<W��jPmbXf����j�:��Sgtz6��h�����p0�1�4Lmr�m�W��r��A��d���P
e/��6g��zdYl���W�0V�#�����N�w;�N�����
����b�v���Y��0��h�7�Kh���mJ���$A�Y�8�shlt�L�h��h�6>#�6���Gd�6��.5� ��>����=����S`�rWr�hyhv�##@��DL��Si�(�>��nH3Sk��d�����M��*Qv
�A�3["�D}?���Yl[n��'����O3 ���s�_
�����O�{J) �����C�dq'�a?_�����\j4w�u��e[k��F�zi����[cU���^�Zq�(���k��F������������K`���y�@M�0�H� G|�� (C��<� A
�4Iq�# X��"K���=A�}��vi_P�]��e�(��Q���&�0�<]i��w�h�Xq/o _���q|���b��[���i_<K�y ��Y��Ea��E�E�E1�`~�Z����� �_'�0���L�C��C��#�s����X]�
��V��<�"u6�L���|�+�0��_��/r���+~W���qU�,II�v]�$���U���a�'����!9�����ruS��fvILQ����\����������/�7�������������|��Y���fq���_�,S��$�,����Fg4���dy�3��7�A}��\\���� ���v_F#�����R�����L�����������V���������Q�o��?_[[������d��}'������X���w�=���q����o�OL����A,��|���0��������'�"����~����` ��� G���.�_�������f71���<���8��FG���H���.�#�Z|]~��x����8"�Un�����������D��=_��Z��-U��?�o�:��(2����E��x�L��;�V����^m�h��l�2��#w�a��/��� \�"�tX��;S�A�gV)�
�<_��n�n��1��)�����ixf�Wn�(���;��'�R��[��u���[f�����Q��nb���yB�������Q]������R��f=:n�a���=����s���'�{{p���|I����_�<9���z�?Z�����)�a�~�������s��~���e���������%��ZW.���ra_��7.^uk����u?ka�T7�;� ��I�kV���}% L�t��ko��^�������V�������jG�
~_5�!P1��6n�o�E����v��� w����?���>��8`�L~���K��"��cook�$O����290��>�z��d��c|?��a�����/��?v����1����gg��2�������Pg7��7Z�F��`]�.�^_`��x�#��m�����
�#4����������]<C���\�� ��hs�>L������, �(� �#f�l.B� ����*����V�gn#&�h��V�9|����~�[��*�E��F�s��
$f�����R=�W����Ub�Cz:��9R���XD�G��B�9j�~j���^'�b�{�6f ���E h��2��~���]�7�� Ri�3�4�H,v�i��/)T?�A:4C{��9Q�9B1���=CT�2=8;U�c�� ^��1��<_��1���������H���m�K�*u�� v^h���>N���B������3��0�k�:���yN�U���EY��B��W�������;�=n����pO���0�b�������
_]����h�
��# �3�y1�b���������e�F���s;����=#��������(v�3j�+�C���Y�-^�r.���a�p��������;p1��ob��iT*k�H��h��X=����mE<T(��� W`�DZ��Z�2@����)U`�j����d���:������\����k��5����*��<���dI{c�N��0�����0Ld�x <W���V������i�����9�Y�Kt1���z�����9>��x'��)�BD� pv�{~�����l�H3
��H���/��������t��[�������wM���| �oU�[$�J j��a�x�9�����y������
�O���4
����O�x����8z��
*�)��H�Q��&�6���� ���cXL�*9�#tP�&'-7����pM/�M�4r�IU����)��O�N�����P��[�[���G>w����D��RdBzL���,G��x�q:���up� ��0`B�3�L�m�� ?a������T0�M:�``�:�C
1���
�����Q�1y��8��(�i�gP)s��s�TH333g=���f�|s�6���?;�?<~ �:{'�~18J43��e^�"������4j��S����(m����w�&:@��W�10�<�g]��F��_�
���:����'P��4��[,��Ko��Q p�w~��x{s_;]���X�6�U>�E�����EWIO�^<���#rQ8_�}%�R~��}��#�>��z�h��<1�{��!�y�k��P��P������!��`Pp�~c*�gDP�L��j�������7���s(Zf�� �t �� �\�@�e�����D`��y,�J�\^� �Ab�1-4���NS2R�%�kq���D
,���������[A��QQr�#^d�g�^���/��
��+��[t��7�Png�HLv�@��0�xG�W� ����gB���X�z����mQD�m�������h�H�*-vw��2
=����g�~/?.�=� ���H����AbE+���K����G�7/
��}��NWZ1�:���+��
0�
@����>��(�sd{q������L�#�@9�)�74���4�)5�T+w���7"�q8��LC��JU���H����2����~~�?����\�p&x���������o,t��:`$q;���%������T�o���R�w$�L��.%G G��b�����:&��g���9�~$�X�2��,[�%��q@�1��k�$"����0B�p���w!i�#Z�e�/faa���,������[��?�GE�] r)���9�@���������3V��X�z�{�{�����h����+� ��r�����aaR(����\��B�@ ���������G�����p��7qC��>�
�\��NAyN��(�Uw�s�x���[U��J5��SK���<�������%����+����u+�����U���k!EB��@Bq����-���Ev�H=N1��<F�J
���B-���� :d����x�O� ���Y:YEl��@L�����?�IN�[���)���}k��#���9#���,�K������}�Zv?T��_�l��)����!q7P�\'H���1[�(�����vfb�Zx��.�>�W�q����(��.����:�#����@�Pa���� ����GGb�:��RM!6������9y �'�Y�k|>�sqdw+��,N+
m�>�B�"�v�]��`��A8J�~� :<��;*S����asQ�
S�q����?z���(�,;�f�������N���3%�i���U*`
G�����e5{ �s_QC@�H��NF�6���q�^/���E1���8����d��lL����D��6�U��� Z�
o�0��W��
�G��3�T\������*2�J����}��p��d�?��y���m��x\8���)etZ�������������$!��dlCHHH�|@�R�+�A��������$���<!����mV�&k����1�����"9Z�l�����<�@Jd:�}�����N�\��Z�i�<�Gb����Z�~�������}b�w����e�m����8F?���
���p������T(��h����N)8��7F�$�������.t��W�������z]q�:{����\^�Y��+k��� �uP-QA��(���������H�\�:M=�j���]
��q�*^�w��W�������g���B��=Q��Z��D�3} �'eV��W���={����OL������w����r��aIPo�q�����4�����E�����R44$A�7%
(��+/�����ATN��Me#}���l2��������$���h��h%��n,���*�#UQ���$'����_y� uIS�6]l�CC{�����]W�����llm4:�H[~������� ����(D���&��M2sTBP�)�iY �A�a��A�/����'�XC��IH��@�j�k����&8��C��h��Q�b���`���F|�p`-��Bp~+(�=�D�-k*)�T����@pU>��z<$�J ���}tV/|rZ�����/&�6�]���Zsz���w:��@qo���x���x��x��T������T�I�����-w4� p �f`�g���G�����������'�4����. &�%�9 -���~�J���Rr�l���z�Zk��]����d�R�������n�U2������r0 ���X!3��
�c�B=���}��|+��m����l�����<ODi <\=eTo�V%�/p�����������l��{�-��4�.�'.�4���D+�F�����>m���1�Ww���W�B`�(P����������#X]�qE�.��6I��GI�����Ec�Vknu7��O���iZO�,_��8���
��1HU 3��4V����8�`{�%�/ z��'�+p��<4>I��Vt����'�P��h����G� �F����.g�l�2�\�)��"�j�v����z�d"k���z�:�u���H�/j��
)�H�4TPv�T�"���J%��CUx��/�T%��[ �tV�s""s$�����~A)}����D�Qa�V��j���7�l�_p����Ov��O�~ �_e6���h ��2����Ex�����28T�1�\4R��v>5 �d���U�"�b���Xa\)����r������t��V�d����^���d�hY�2���RX�E&�ODX��0���`�8
�2v,Q�r����nR�G�6�]���fQ���z����mx�n#�p*��
�3��� �l�$�G9���l��,$b9��1k��� �V��0��3�r�W���YC�%�� �����,gr}�����@�����7u&
���4Eh�_����i���E�4`�{'��Z�(m����?�G�}�����:G�K�J�R�T���,U�P�ON�ow�i���tVJ��( �0��x��X��^��jK���� ���9�9��i��-������h��I@^����[����?C�%�pw�B��G�g���T��*$'�r,�b(Q�t=8G�]���
2wMXo��-�b�������������$c0?C�Nb$E������e�Q*��z����j�Vs}k���X��!R����FT)�����u���T�=�����~���L���M�����2j�T����-`%T������&��j-al����cjc*t�'y�;���O�����z��J_����(������H�W������#@��kC�;bx�����ToD��j`�������zS��w
��"�r�����j�a��dw@�mt��q�Z�%��0��u�.R��F�&��'i��uL���s7��@��J}8�
���6G
�0���[�5��0]�"
` �z�|E�.���p�"�����v��z
���f�%���jn1Y&�+h��3�B��]���n���H�U��~������{o�������Gg���9���o,^�`�5���uh�'�3���>'W�S������{�U�V��k@
�G��+���������!�Z��o�����I��n}����z1�����}wrz~��� �Z� C�p�;���s�������U���#�&|��#�B��7�^������B'A�`����:�8Wh����2�#HF�:�f��������G���"g�Z� �jL�/[��5,���w���t����<<��:������Z��!^��3* �U������%I�8;;\������E#@+
92��j�[�)B1g��6�� �x0bH���u�h��0�a��+�ZA�����h@K���,�r��|u��GGLpW/qN�v��������.����p^�U�����$�Y��t'���G����=�P�n�Q��u�H���\^������koX�i��w��^G��}�R��TV��!w��$h���J��}�R���������kt�_E
���|����s���Z�?��zPQ5B{���;��d$�M�����}������7��$��>N>+��)ll��J�w<��_�W2]��r��^�x)s<�/����O�DCW�/�F�}9_�����e �>��=�1��u)7G���
�2F��T�T^��/���R`�;���]��VWi��
�W��q'���@���@�4/o�e��`�
����O.`��i_F9�i��^�8T6OU���G���U�_�+b�?I����`@���j���;"�-�h{���9~�UBV�>�/r��GX��q����i�����tx�i����$�`;?�W$q��/�;�L��C�G�*�os1�7�<:��}tx��$�S�2'�����N���'���� �:����s���������~������r�]�����`��vZ���z�Zg�J��
��G>���^x�6���p:�����KU���a`=
���u8����^{�I�~U:*�c�s�>�=�=_�[��������q�.u?t���[���.�x�3�� H�9�t3�\�d�~-��@����(�����4O���r'u�j�vN��3e������|���|'�C3����r�i�.�������K(;x�������N@8V�:p��0)�'�{0 6�^k�^"�����-{�X�����O��z!�PP[ `�2gv������� rNF��-��z��?�F/v��Hyb��4���"�aQ�v7�d�u��;�_ ���;HS�Y�}%H��[�"�����
���7��>����Y
p�����RV��]o�5+o��2N��VD
�/�v����:\q�xb�A����H G�S�o��t'q��������[/ ��-�B��{N����� fh$�K!MG�����4�i:$\[�Q�$=�������Y<��� ��
P���-(���WymBI��x���K6B��~H��k��nQ��g��LDv�!�P �{���Dd#���e���1�"���E��G�&��5%P�_{�O�$�!,L�l��yj��������rVC����t~�_�����TDDPr�$]?�i�*>��Y������d�/�c��.�P�tL �2���N���SZ���x �x ��iY�����5���gu��QUM?�Ay0�[��L��| BtF����^��:1��<�s��UK�6��D>�
�H�4�{�8�����K�FS�*���}9�_zj�|w��c����c�#)�;-���(NDP~w��+��wE�U@!��GJ8
#�>�9���}�R��HN&!��s ��!�=64^UZ�*��o��C@8���A �9#�O��
��(%��G1�)�����h�I���J)b�������h���Y��!�:e���@k :� 9�]��,�@�i�����������&22��l����p�1�H��L��1�!���@��C�����~v���^��u��3A�Yn%f��� ��C-6D���B����!sT9���*!.�>�x��4QU����v������|��}i���bECCt�'��%:�%3�%85���/5����LYq�s�����Q3���%_�V��q�E��W�������Z�Ob[aC�H(��WJ�����!^�;\E�4�����&��
�Y��j���!X����'
��Y�G<���cb+�S��PC��-�"Y���}>W�?�j~D������^k�<*I����c/K�*�V�;��� BC_�<6t�5��O��=��l������pBX����X�x!����)�Pr�+������'�m�>~)WV������HC��-�W)��|�3�!�S�Q:���:y��ze��X����W����� b�D�6��vT��;���!*!�)%_\��q@��W[�jRN����l���� ��8gV�^��IE�Rv[8�����M�`��X'/�?��3�g*�Q���
�,4��������0���������+���l��:������������5���� ���Kt�k��%fK5���������H&��b��\�"`�2�fr�S}C�����8:`p������$���9MO�Y���]���"�`iE1���
���:��f�����w���t���a�5�P�����u�&7�U���u���%8 ,��L�m��T�,��4����\���[m��wb�(p������9�~� s�����CA�I>������sDI�V��AD�����&f�>��������Gj������[��O�o�������%_X\QeW��\���00��T��4���l��-�SJ%+�ff�d ����`�&��bO �ie@]��V�A�����,b9;����I�f7������{}i��5��,�x��f�;��K,Ta�^�&/����AGB������L���R��
�K�V��m|U?��Y��UE�"!U
�
p��(R~ ��g����BI�>��*�Dn�l<