����python3-salt-3006.0-150500.4.47.1���<>,��� X<�g��Dp���9�|�|�a-�`���U������-�>R��m�vK������k )�2���[!0 �5�`p�����[���튷O��� ���M�pH�M�wg��[�)���*��'=\:�g�ץ��;�Q�w�(��"ۙ�|͵B ���犻v8�W*Urs�ٔ>W#'�mVRD������~P��S�{_eM .�s4�:8F\3I��=7�'���^Z����bI��d��Xv!�tJ�<�Y�Uc�̲-�ʽ�{_ �C���0� *���[��Z5%n��0��6�>�������L ,? d���� $� =�`�d�p�t������� ����������o<`o Y>o vo ��o 3�o Bo{�o��o & HoFFL!F�!H�!(I(8I0�9O��:s�=>a>>i@>qF>yG>�oHxLoI�oX�xY��\��o]��o^ k�b "�c #Yd #�e #�f #�l #�u #�ov ]�w _|ox �8oy �� �z �� �� '� 0� 4� {� �� �� �� �� �� �� Cpython3-salt3006.0150500.4.47.1python3 library for salt Python3 specific files for saltg��Ds390zl33��SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Managementhttps://saltproject.io/linuxs390x[ -h /usr/bin/salt-call ] || rm -f /usr/bin/salt-call # python3_reset_alternative: : # reset action only for libalternatives# python3_install_alternative: update-alternatives --quiet --install /usr/bin/salt-call salt-call /usr/bin/salt-call-3.6 36# python3_uninstall_alternative: if [ ! -e "/usr/bin/salt-call-3.6" ]; then update-alternatives --quiet --remove "salt-call" "/usr/bin/salt-call-3.6" fi�-cM�^� b��rM^���S�� [�(�!�6=��6|_$���%�S:0+��`���T?Tq�Z/O l� " ^�B��!w�Y� 3.> 1�I�/� @�t��� �m R � ?m� ��$ �A��� M� �. �< H!� � � �Ek!�!p!�� v� l.� ��YS�.��5 �� ?>A )� � c Y�� Q )//:-_��{"m:��C( LG�?>N�M��tI��x4Z ��8��L*���;bI/4,%Q�HI����I9�2��I��:_#��P`����6��#;��V���-$�v �Az1?0�e�nw fC�.�%+5A6�S� t&��N4�m.k�Z.�E�� G�r{ �5�A�|c_�>�G���_���q?�A����, xZ�=�2NL�J�l�&q1�tD,���/��U��C ���5i �P�=�� ��������drF�S � � [ �&w%hL��)0 � �f�w�< ��� � � 7(�4�Ud�.X� ��M����{: <�z� �| X�� j@��P9��  vt'&�Y_� ! *���ho ��]�D<2<*��5LQc�-Av��u�=B �8�N�(�-TO?�)�n'�{Va�6��`��-����0�JSZ;8V��|�l2@���q�Oz< 0mQbS����  � ; � XJ�yX� ;�� tp WV��2-(�U(a3�"19�'��� �\�Hk/%��� �i]��>�)mi�}.@�!?"�%� �8�#'����-�/B �Mi/g< %�>_�E� X�6�O+��nk&��D��b6��>�& c+Q-�3.�ayQ+�-> GJ�"DmV�-�TYm�n>I����4��$1ƅ7�&`�$xV�(�@W��*I@�Gq4�/{�.5D`�d ��W� � d� � ���)E �����&8d:�R���&,{�u} � � B e � [ ���,���a��#G��}|�\��mn,�ǽA��,�|� ��0= %)3+BP�7]!�t��� � ��4��Q�bp� �;E�^��c�1�J~�S[Ch����_~#�+H|K<�;)� bZ2a3�J���RwA�oA0�nGb8 �w��#�TO>P��|�� �?)��C`O $80�$�"+hc,S�?/�H�1 p $��Wn7�;Skc}eX�f7B�w- @+�y%N�r/}t���� D��3 �#�Y�6u�&�#`8 �|":l�L@g#m8R�wq��U�pYq��c�WY��'�g���5�)�z�X + 6��p�,:!�� Q�#(�L�q�S�P��@3.#0#�(G�"��9����<�F=/�vjAI�&| �d�%��A���WP8� ��|�@9�8@�BK/M8 Q2$f�2��� �GW38+3 � ҿLb�F� � ��9V�os��agKEVI'm0�+d�:��.��!� ����#Z�A)�!�Ci ��g j*|1BA(54/ w=�"�6�� lPI*��.� U"5�9#��0Uj�� ���0In 7�Q(���(�W�Z� `"�*e�e�o!�/qT�J��f���GLY�����<9@� -f �r�"�;%$��wZR4$~  �%�h�{ @ �B��� �pe i�#�~ڎFH�2 U]#� OU�,*]<�Ւ#sE�/Q��� �'$I\%uan+� / �>+x�� ��z��D/�'Q� �?@� �=i>^ 'i�<�6\=I�R9,*� ����;P,���q/�� cDR� 6����EE�*T�YU�@��[A%� ��&�>�6���.�� �tRv���/�( �i�*Y,d� �z�D� �D� ��� �%y3@ A6�6��DA�)��FX � �%;H��E� P:�'C-�|I� -;t .M�1K�L��U�Gk�@N�)D�c'�z�2� `-cC��m4A''�ko �4F5�$�5,���I1�V�w��Y[����M-3�8� LJF`�+�S�l�[ [0�=�5*y�I�2�}�`�H�Mb1�� ]@=ӓ‚X?c*�"?7�1S5?6K��p,�s�oGo�Z԰�H3��m���2�9�+�%�:��;�=82^�?g�+!.~h�N~E,�5���0�1d�����Rk+u��&�)ا7 Q?D��� �.�\;*W%���)@C�33�"-pX(S@,!D�cx��B�/��8$Hs"�{H�. �y��>P+��#� � ���O��#���� *�"<,~�#��T����D'4�2"(�G*gW$�!�� ���M�N2h�\yWA/| T F(�d���[ )�� ?��n*1:�o%~�<\&A��� $7�7R��n'YDP�- -��(?V �7�0,v]q?1'd#�8��� !A�F�5�C��n<�57m��+�Z��$@`K?`=i�����)p����,� ��;&�'��� Au�%� P���Y^a-o �<� �#�)b K0��>Z !z&E�V�( A CL%�Es)T+C4�"6�,� � �Y� �@ �% �+� 2� �Cq �>�t J� f+o _�0�� j2*,��:�B3��� '"OE� 4��6�X0�"�o$ .EaT" ��G- �U�!�� �'��2��k,��F/2���#�V��-!c&NF?� jE�jH�g��� ��3 ���c#aF�V��.�'/$�[ �8 �FXk$�H� . 8C �� � �sO (� � ��� `� f �t� R� � �Q A � ��}��+� �� S WL���2���kz�`����4~����b��]���a& a&�Ow��R'g����Ul1!��U*#�r �Z�%64J��5�%��Z#b�UH�Ai& #]'L77(<�Iv���u� �e��0 �*t(����F�9!�Y�B*��4�c�� �A1;  �@R5G)��8�(�t Ki=H@9}�h<d<�&�� �'u0,J�1=�+D�Jo@$4A r� � � � � � � z�1q8�N�>� �G� �cB� �� n �t � : AzIJS|A���1+�� � �Q# Y <>�R@�hP�� �  5 �� � 8:�T��gj  -8 � q��!_�u�v�mM3E� � ���2�8G�� X  ��#q�� )s�)-�u� � �_�zR)3�ji.K ��- f va U��"� � �� �t� v ��� �,,�C�� U�0`#%g&�4S�`� \�� y � (�2���/��� �� � �)�� �e!�m!Q�(m � g z�� u5�0qw�b�E� � %�Ac �!�B!)�/� �rZj��J ��: �R1-������Tc�_B"�#lT ���� � � ���X&*E X/h8dp�R�����U�)2�KP�.4��1O6�I�uC�C1�j0��l{eUB�0r�,.hM�%Kb��{#����! )\�� F�b9L �9���!��]��'�2�Wa��UA��!��i*Q� ��? Y���EPo,'� ��\Rn[��jm U�0��0oE:��F�<>I'a&�)�M�"��$H�{� g � NlG\��]d2�!�&�n�_� qG#�� lx ;� n WO � ��"Xc �O#���a� �p�5R�X��X�*Xr8` � �y��� ^�J�� ��C � } #1!�4E&$����2 -N@f_���,��M�,�z)} q�D�D��Y����Q��� ���!�-��] ��O�" `�q`|%� `-� !1 EA�,��4�;�!K|~;c�$�k8��>()�:(�7!A �Gy�� n%gm�C���Fb&�&� r� ��$A�$.35� ���g /�E�<�� �gT7 � � �0�����0�� ^ k<puR&8 �A ���X�&*r���� ='�4 �% N��� �h 2D u ���0;�4�: �_�"�p�l6� � x;~�� � �|z�3��6| '�= ��,�< �uS_�������0� V$�m�#G�#h��� � u W�W� n� 0 �d���f-�,`w�3&� y)���DB"�#�� {�i; q < d�0%+�.�G�� �����< �%+ $,� ��9.�B��]� %B�(&�6�4�j�HϺ�.�y 5��c8���I� �OQ�-M!n �-���d ���+H8�*�" 6�s�Z��~ ��� �A��-M���/���H� �eb�%�/M������#x� �o�XV ( � o��Z��� � t �����&� >+� �8 �v�;����j�s�6QE\��'3��4��l!s����bU��� �>� ��,�'@ h 0��}!Gn�Y4� �� �K��6� ��M� �� ]�{*�K��� �#9 �� $N,� ;!�cC�`��;# ��0`� ]�_���V�dlD� �Y��D�}���~6�2�!�GvB�>� N7d{3*"�9��p2�<7�] v6l* �k�L����2 :� �7`� �$66���������A�A큤��������������A큤����������������������������������A큤A큤����������������A큤A큤A큤A큤��������������������������������������������A큤A큤����������������������������������������������������������������������������������������������������������������������������������������A큤A큤��������������������A큤A큤��������A큤A큤������������������������������������������������A큤A큤����������������A큤A큤����������������A큤A큤��������A큤A큤����������������A큤A큤��������������������������������A큤A큤��������A큤A큤����������������������������������������������������������������������������������������������������������������������������������������A큤��A큤A큤A큤A큤����������������������������������A큤A큤����A큤A큤��������A큤A큤������������������������������������������������������������������������������A큤A큤��������������������A큤A큤��������������A큤A큤����������A큤A큤��������������������������������������������������������������������������������������������������A큤A큤������������������������������������������������������������A큤��A큤������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤����������������A큤A큤����������������������������A큤A큤����������������������������������������������������������������������������������������������������������������������A큤A큤��������A큤A큤����A큤A큤����A큤A큤������������������A큤A큤����������������������������������������������������������������A큤A큤����������A큤A큤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤��A큤A큤����������A큤A큤������A큤A큤��������������A큤A큤��������������������������������������������������������������������������A큤A큤������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤����A큤A큤������������������������������������������������������������������������������������������������A큤A큤��������A큤A큤������������������������������������������������������������������������������������A큤A큤����������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤����������������������������������������������A큤A큤��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤��������������������������������������������������������A큤A큤������������������������������������A큤A큤A큤A큤����A큤A큤������A큤A큤����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤A큤������������A���A��A큤������������A큤����A큤��������������A큤A큤����������������������������������������A큤A큤��������A큤A큤������������������������A큤A큤��������������������������������A큤A큤����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A큤A큤����������������������A큤A큤A큤A큤������������������������������������������������������������������������������������������������������������������A큤A큤����������A큤A큤��������������������A큤A큤��������������������������������A큤A큤����A큤A큤��������������������������������������������������������������������A큤A큤������������������������������������������������������������������������������������������A큤A큤������������������������g��g��g��g���g��g��g��g���g��g���g��g��g��@g��g���g���g���g���g���g���g���g���g���g���g��g��g��g��g��g��g��d?�g���d?�g���g���g���g���g���g��@g��@d?�g��@g���g���d?�g���g���g���g��@g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�g���g��@g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�g��@d?�d?�g��@d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�g���d?�g���g���g���g���g���g���g���d?�d?�d?�d?�d?�g���d?�g���g���g���g���g��@g��@g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�g��@g��@g��@d?�d?�g��@d?�d?�g��@d?�g��@g���g��@g���g���g���g���g���g���g��@g��@g��@g��@g��g���g���g���g���g���g���g���g���g���g���g���g���g��@g���g���g���g���d?�d?�g���g��@g���g���g���g���g���g���g��@g��@g��@d?�g���d?�g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�g��@d?�g���d?�g���g���g���g���g���d?�g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�d?�g���g��@g���g���g���d?�g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�g���g���g���g��@g���d?�g���g���g���g���d?�d?�g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�g���g���g���g���g���g���g���d?�d?�d?�d?�d?�g���d?�g���g���g���g���g���g���g���g���d?�g���d?�g���g���g���d?�d?�d?�d?�g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�g��@g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�g���d?�g���g���g���g���d?�d?�d?�d?�d?�g��@g���g��@g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�g��@d?�d?�g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�g��@d?�d?�g��@d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���g��@g���g���g���g���d?�g��@g���g��@g���g���g���g���g���g��@g���g���g��@g��@g���d?�g���g���g���g���g���g���d?�d?�d?�d?�g��@g���d?�g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�g���g���g���g���d?�d?�g��@g���d?�g��g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g���g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g���d?�g���g���g���g���g���g���g���g���g���d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��g��@g��g��g��g��d?�g��g��g��g��g��d?�d?�g��d?�g��g��g��d?�d?�g��d?�g��g��g��g��g��d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��g��@g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�g��@d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��g��@g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��d?�g��g��g��d?�g��d?�g��g��g��d?�g��@g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��d?�d?�d?�d?�d?�d?�d?�g���d?�d?�g���d?�g��d?�d?�d?�d?�d?�d?�d?�g���d?�d?�d?�g���d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��d?�d?�g��d?�g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�g��d?�g��g��g��g��g��g��g��g��g��g��d?�d?�d?�g��@d?�d?�d?�g��@g��d?�g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��g��d?�d?�g��@g��@d?�d?�g��@d?�d?�d?�d?�g��@d?�g��@d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�g��g��@g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��d?�g��g��g��g��g��d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�g��@d?�g��@d?�d?�d?�d?�g��@d?�g��@d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�g��d?�g��g��g��g��g��d?�d?�g��d?�g��g��g��g��d?�d?�d?�d?�d?�g��@d?�d?�g��d?�g��g��g��g��g��d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��d?�g��g��g��d?�g��d?�g��g��g��g��g��d?�d?�d?�d?�g��@d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�g��@g��d?�g��g��g��g��g��d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�d?�g��@g��d?�g��g��g��g��g��g��g��g��d?�d?�d?�d?�d?�d?�4688f5cc4231357f591cbd3920987d24105d64b54794ad32d8c59d8bae9cf34db3e04cf1834692974ba02231bd0749f28bbb380a25910ecd656ca366bb956fb155092f5d8587a16b8f1713fe89f7fba40c619351d71ffbeec9fe855b2f8e028d01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b4ef3f928644e7a75f67ca26e50d0a9b82ad0f94c53880a5d6f9071f7055b011601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b55da85015c8f40d662b6b6ad2d116deb042180b63452a637d2427748d48545bc06a4b397fc7045eac527c2aec3ff46cee5ce30016c760f238c26e79902fe67b6e8cc5b360c990a5c3c835e0404114e6fc7ce643aca23395b47c99a646bf8bd6c0a56cada370437db573e5f5abb91f3d1a2c75b73c1da1c28e724b0ac8bfc6e61926446a3dc47e6035b902ab76eb9c2917cd1d57c0d27f4891507713071c0c049fae96fc4971e881b1972f63157c62e95781f62618ad9de28fa6072fd66161f1ed05620a3a0b3a46d55650ae1d184ffad1d3bfd1d19b5fc8290dd77c60576cc731a7918ca882cea5043c861ea1ab001dfa07774aba287ece77ce96b61cc0a1b5cc5306361bf54c173cef9115af642017592985f93fadc322a33b0611bb94ba30549818926de775d4ab80c7b54f4499e9de639a04a0ae30662f5c6bf04a0eb734520bf5869cffb85417072de0068a04fe3d86900988681dec9dd28a81ff82e3c9f0238b672754e8226368f6fa73fab1a33485cbde10502ae4ddb3e5e7d9dd2a46bbb467740329a09f8a07c2de68c0d1b279d2ad9c75670b7dc775212543fa2526155532d9e9373cc708500d74cbb75098dea7fbeb27191eb16ab75cf3f67def96c4677bdbab91b33ea10b5762d4a64500587793dbd571c840e6479c2c75f5eba328149b6735ccabbdf646b4a0fd84a4443a23f30c6af51bb74bb48760018c65a29c862d258c1a119f192dc1d6b33610d268b58a02c5901730946a1ad48f241d4e60741cf90b826c116e7682ecb12f8f8c31e631b731557b26bf93a77dc60fb0507f61fb1f0d6cb1bf0227c413334c03ed0e5e4dfd2456f65814f6f0b1df81096b469266e1b0c961fa0b42bc88a278ca60f938f82c18cc2fa6a9a48c84db3f152d93b76cf772306c636e1717e16134f23587a3be739a6004c98c3cf94db17df167b683ed17d8c5ee490d1998b55d02d3db22d972a0cf3a12bf88ded4fd5d7d1161400f6574ed1aa464bfd9a582b57103e69b8343d59c7d68275af21a41aa586cf0600c335db4b3691cfc0465472a8a6c80b3a8a127b2f35a7ed28ff7bc969b33aedc9eb40ee086b888770c1718e58c26db1fbb9d2e1e10bd1ae1f14a91e9353efedce0e22235af46add056fa5bf5b6569acde53986d63110efca3de85c395533649e4abe9b674c12083b9a9361ce70db12c930da566933b0d29a2ecc66925e4b27c5a776a5928e5721921c4c8361abbe4c86c43b747e1019602ac2a23d961ca4d4c3f448c71aa1eb3763dee1fc1b5f6a183f5120df13cdd1823b608c7f45c177347ab09039f8e5625b747d3ca209749b039d789f510111dd94d623f65a0afae6d4a1070f332ffa5d1e40e98e7e9ce04ca2bb2c09327931ab5cb7a23d8a91ca6d93357a8c662081007369dd32c5c8fd0e2d00d168776e60db19db120ddd9d6a8b88c2bf93b18a33e989face4b31a5d32c827e632eb7089464218fccd613e45e1de76066ffe4c0ac5f8211801ef53132f5c4dedb9836be812583433a72893232ce16c444bbfbc6a5926850b8f5bf02508566abd01b2b1a5622013c1bad2f17ec7589c75e7ef1a94d3a35444b58d841ba529155f115c08520468c6ac638e3bc02425a0c56b9177b21a74586fd13603d7a0291d12d02633986955b5313acdf53585d80c7b2f4bceffcf76b1ebc7990b841d3c3dcb07733b8df88773e894a32a4e308f951e30564773ffa595fd4abca437fd6ac0267611b70fdc06e8bd6d01693531bb134cc9c325ef15169551541594b82f5c59afecf6cd891e77a4f350b0b3d4a0ab74db1623a9bef2499b99858a033ad2e57b28cbd623a9e7fd009ad4cf9d74c9fb18dfec32a559c250b12797bd08062ca7a01b0148fc42e6ecff7a831522b31b0cd42d417138b0d4b478ce2f2f51bb7db50fb582070c132745764d6e3763ab562abdc930b3cc7e711be1baf8d8355e4bbecdc10a9b0f46db5a2ec901b8899b5137dc3d21607322ca8f2d5c00866ea1d918b78e1b9db3f84b11e9d80902dad7db68eb0c03ece28afd81b178222a7983d794aacfca5067f0d8085ceb4f89205bb63cac3280801e035aa4337611bf9ba63f235f472a8e5960337289f038aa987f6cb5f7c419b1c3ca55b3ff13295587d7f6108db17209bb27fc5a8912d11e66c7e07e7eefe6172a518e8ed4a405accd88de848dbddcbbb2ba04c625cfbcebb341afabee7d67974816ed7c4d8b4e053c8a890f607445ed18eed32f01a64d62b5a9e783c66a4d84c9996ceca717e70c992735701a334352d16f8473a511117944999566a5f742f923193a66c9b5efc3264b9c99c2eed2f1abd2d69021492a5f46eee68c3f7ebcd4c55e518d74c983678eeffe09c5c8765e4d6581dfb99ae771b1ffd071133d254ba5d5aed137e728d37a5fd7f7773a046bc84b2ea8b636770243eff77f4f0179c59faec4dd9463663dd2ca7bd60129af75e7fedc27e3c66e9c9e2ae072fc1779c87d3e330fe765600eb67a7e7820f854dde564e9a1a6d64e44319cfbc128d676d6ced6a5e99bbee9c6e6cef18b07f3a66ce68c5bf2004dc4526cea7987ce20fc0717821d06fe5a5079140c66204e94dd4544533d368aff363912fb1f039a9d4df43b8492547e575c9eb5a9652357b5fc15644dbecd53fda1365b9b256d659b0424c587563e2fc5a0998dfb79d92ae8031ed52f0198134291f12df44312cc84f717bd970bad2f6e07da390dfab1aeab24a119336604ddf471f887c5c0b62e8880bf11ac82400909c45b481549fac314d41f81007991d6caa047689059afc6bbc410b1907776c8e9739fa72c89d14437dde68ebccd044c90a3f898f0efd9f10ee7b1ffdfc9587669757a30f588053ae89c770811ed1dc1c5626c3b9e5c42d5b83792f5a7119608ad5b7036704fec345bbe3b8e3d914e16d246f4de8491e22b940fb9093cf16f8a52284c900b490b4c14bd012df46876df81b25a3a583dce329bc0f9d7f46667308c3728635c28e86040b0d8fc63e81b7aaeeb32fd3abce0a0055c8094f5b154bab9c4b311630fb95c5ed7a275aab17ec7f53a6e161e893a58bb60b81448e5fd641265d2c594c99c6e1c38ef0495a1a0d9a4884551b165d9275610bc2f3b966b3fc5ee434a97775242b90d9d79bb76fdbe52a1901bbe335b7b52ba1aac3fccaa0f9584d30b72943084787ebe088af643e113c17e98f3de758d8e4a00dd69c831417ae90e4eb5448bf67313f872686038dc3d751629b6722069d558ecc66e71b11b94d87083f9fcaf05452bf842fd04e5cffbc2d894558efa9bb079ee73efc49f9d0ee74b504a0d16c817dd71b42682adb6f795a0f0d1efe1405adf24dcfd5f7c50a5baf0f4fba5515230d14b0b7830fb3bc1eb2cf3a2c2e152078bd9f8f98f378dac25cb71a35163f5dbbb69af421c5cac41c0021b3021ad50acf5a7d3b4cb4ebbd10c179300523e434e7af32458a68b7d47b70093ba49ff5971021e77c2c6a174ff150008753e60c3f9bc68925b803c3ea21f7de10aede545d3a52dcf5649eefbc1b221ba3b50c54d4308f5ebc4fb244f62418425b1e9bea198021e3e995cdeb4ca52f2577af52fba626ed4731e1da713fb4dc1bce7772b7445180613e87363b567f839d1fc0ed5a548bc032d0e7d25567017ce4c6750dc507fb736a5f91812c1e86eae62f19498cefacb5ed5a13573f729d19f6fef725b6920a5be1978b06ad286a5042e7d2faaffa9cb89c61ac276b5a1c0c9a62ffefd4a9e4b3f81f4da11e9e601e36b52c6a0584a930eb83c66f7388aed11412fdbf890e51858a7ccac13c6d651e0af56ffc237f232c0c5105101fa540798fa71b34aa17a8af7d50d968cbac7b01bb0dad87e7f69af009fd33dc81f28a4cd2671c0a28f8a348c25cb960ed8dc7f0bba26b6f56d1328fe72e2a0737b2ed515f0872f04f8da0b4ff5490da4ceb90faa365244cc70c4ff18ee5dfad6776a45462abacd480fbb1cacaa28a625ff6b16bf4986a8a06f88dbf881352f390ac6d6a008b135c01d4734824ced75a0c895b4324102f2c85d7d56a7325930dbf629f9fbc751d72f0d0d98784ac6cf183a247a79d2c58f8ed3935014402798219d015fea5fde279630efed16db014dda6506d07a4a6f40bacd0ae2b4690d1ddf6532dda8edc5e8a5a695f2a751e10103e6883aa81d5bd4e0dcaaf7732b999293e18125c38d8bb4b589c45e8eca659a3544cc9798f0838e369f857ea087531ee7e0c374a5f14d5bb63883aeb81263f5aed2318230d0a567e4c4754f2bba525dd89fa3b0278024ac7b2bbea4a1ac2b8fb1fed0dad4d9048f25dd5906789b0ae8984e4114f7572483260d164b8a0ddf06e6e5851244d1ce85a5a3680bb1ea271fdf9d8e3e182380abdc71457074e5bf8ab287e29679384bf4661aa3e28ddf2172fc250bc95455ceb1aa96016eb55aebdf77e793f4fee2f4b8b536de13ea21c30387baf9e2191398745134461533594aca2a9305c2eb0de21261d50ec5691007ac8a9fae90d21cf8afeff5298020933c91cbf63b8247890181774881fb3f8846e14d85e65fdace5e1c9fc2e6c8951a5a5903e08bf984a689e270bdbdc7500d2601f33c68de2850b750c9a9a931eddae1c09c698c2b36ab4b4c149de94c22cd4eb6cfdc57944ff08df44aa6a53a875cf2cc506a7005198cda5529cc9b5b20bfd1f59d4911549048607720222b12d79acd4381f2564982a384ba6632f18a6dcb5f28d9ace93d8a8d4b5d90be5c6278389c792ae1fe3f114ea3810a16f95b0617d532780863babb61090b4cd65d95a24106886a9acf232e81f8e2ccec72dfde66ed03d2a9852dd207664e5ed9c6badbbb6fba5ebb38e7a8eb2ce3ba76cc271f3605e036622a17405b6633733574e0d37b962e76b37bd40de1c1b4424d89372df0c12b80432156c41570f0a401e07b954bd1fe1dc44900c06381839bd06238b38f579040f9307d0c11e85bb6e3f9a4470cba8c5aefda65291d48e8a44a658fb10145975ae1516e59590e40914b124f0e0cc436a6fc5c58412be1ef9ed0d88efa7bf0bf7700152980532ab079f4fed93b5e421fb9935d2930649b37ea6a5784db12aa1b2f31fc745b82ac99accc8aa9645df6a393dbea2bbd1617f78793bb821f895d4bb680083220e43e14f3970ec7a0dedaa88240ac6800a70aa805fa52ff5e73ac7635b943b7288b24a6543fc726ef059580b1e46d1530a26ec99a2583ff62099b4cb6da2847b19e866f6c795a9b7f2832f49e5c31901fa72cf23fbd5e6f89872e5715e78c24f93c33e25e1734a0c9302eb5522c0e6e19989a95e9c8c8eda6d0a3df6748db306c2eca72084150be702e52628e3b55806c2f6c31a07060d4d4d0e8f02eec82e9bedeff60da0960cbd671c0914b84adfffcffe33cb04c48f859659f6316cac659415865f768495f5d33185e135bb2e9e3b5eabe23940f60871f9cc67025682eedc1d472679f64dbffbc10d09cd363f4afaf46d9799fc98f73b679a71cb838941474fa7e245a893a56c0d4e6b4acfd877da4ed1e322d0f44ecf4cff9e92d0df01998fa2cc8646f4bb23834477f35f2cc269bc9952f6e8c11375794e4526b4281ee6d8a5cdc1c3f218958f2db1435b299aaf663ff40b72a1cbe95ae1261930a5cbbff8225366ef897933cfbba423c81f281e0f601a77dce8ef8c38f25889cde5b981c0115a0625da230dbf741a3e28ca85a1ccf03a5f5bfe4faed228a85ef13907b0fce35c7ec227947ac98dc713070922000e381751b7a0bacd9edf3425928452714435fc9a68e04571964cf9799cbc827aa6f411fd55a9305e4c2ec83914d420b447d4503eefce962c5679f2997d8bfce7100b5307b3fae1b8a5e0a8e9957ab14b73e20d18e12aed28c50af61dde13cc3c221328e3f8ff8a10a4d607e712f959487f2f5022ca752608e6239ed9289ac39664ed30cd0eae93b575fbd05f49de31c8ad5333511a36c1792919eab56ead110f06537db944af55fac866be322e1804245f89e1eacdc072315dd0102af85f06d8e5852e65244cca5a242cb46e2862548d4d3d9d3881fa114853996bf58e5530887967812bd57b8e6cd8d85c5d3c70281da1d6b047cef148e1adc7b110ec76b5f56490a43f142c31a5721ce026bc925c73610472c535545fdc85845bfd165363ff7a9a987dacd26f6b699e47683b7823b60d02b3bae8a60ce3f60df1306bfafbb91fcab9cf26756159df9b718fb848cfb54dc058be5b35d02256436c09f8db2976869363f03298819d009bd9171af30171dab8806cf43e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558651003d74591fdf79ffecdda81b37a991966d3f6cf71be57e932fedb5ae4c85d7a38530cf8402ee971f867009da45e489652e0eeebc8f136d807ebb8a4c6689e55ba7323c59a58f2f601a659846014d81a2a89d930392c01c2c77c53f3e676973d866961366a17ad70f3b538d8737a737522689d381e4580deb585188a3a9b77733293ed7feb523b9812db6dc5f061cd53dd585fd1ae8e6ecfb21c4b09303924aae8779a1be0d1c25879e109afa0a555bf9dd55706cc3ab70e835b8e419176235a5831a16eda283422de5ba5de85ab7c9dea6ac3b711bc5bc59f2af7c9c2126484b1c6a579029f918e9abda1f9e9cdf1ee35d428df1d9739549918edc96623ff88c23ad0ef30d1daa0a0a65e5a635a6dfaf6dae6d6417bf96f35189792692001ad90933ffacf2504f0041b84b2ca80fb27d0233dccecc6a2c33f2df829bf40aed7925ccb2310c0ee079198966be75692486d3af9581424af9c151a431ddcdcc10887e8dde29510f64b9d0bef0eca1a1f3b584ad1434d6a734d07ec78380a9e36d6b62d2cf8f1a55da16c1c2508df735e6d905ba9b5074a24d7473818c66f795a574f7c6b261970f1efd5984dd319f2f40dbb50e0fda81c62d81a9e0131ad8a0167b3a91b64d756187e275ac8eb422e80967e3e9e6e027ef8736cbe3963ea1302ef6b679de92b963052e1ccd1125b07130ad8205ad0812640f16efd3ccd1d28a4f9324939abcae0a50da9c9f3baa821aae2fb1649bc135335ac035315ed591bf576ba9dde90a6d072bd569e1a4d001901f4eb21d3c4a2dd4bcbce6f660217e3263c8776179c6e8c9b206d362bc446dd8f484acf5bf60956d944f2b9faa07329ade2a0a0c0827a60c450736157ba180116312619854c890bd1a236da668f8f141270424c876cc344f20339ca7bd61818b5c3604bc4a2886763f7de8d257c7013e92427ab6e5bcb27abb15e7a9fa43c98119aa87355f6b1d592680c5033f6ec69bf26f85b818364e06b29e334449d230ab2e7ef5374b6943b0bbea8d798ef05f3bfc0a0fdb76dfd6f2b06726b87a1eee980cb1e613960776ff6c7d2805352ac3a8187d1229591034ce0e5ff4737e2d5f0536851cd5103b7ad1dba2c7fcaeecd8c1c0bc7672017c3bbcda35e07abda0b6168e883ac2145443f0539da4094579b7711e8931c0359a5b42ff7f6e79ff29a7b897c01cc1f2559f2857c2d291e868c609474b03aa749248fab7a75248ab4f06384251a13f482a6dcfba2edecdfececa85fcc3c8b9877418fd04d405f0e3a8213d7e5ed4ebe8d76a7913a4fcccedb569e29cae3bd881993bbb8493745d4307bf7d157154d97d9df3edb6e2937db0574d96f097e81e9b35c224b73e0f91090da5be66948f18383128b1134ec718a80386addc233f43b5b59c8c0004b7610378074d01247011904812c8b5fdf4ba67dc2a0264374e19b063edded7c5436a9ec04f56ec3f57610eacd1d24e56ebcace626d3210c8630e814bdcabb7f1492742499c145bfe3973c5e90e239ebd344a2021baec0a03f04a4b13c22534789c6ed0275bce8e62ab2d432849678b00883ffcdbf4522872d3dacd988598bcad16dd9e3f2d1d8aa2224646f8dd7730e56aae9587dcec948dfd26515e2485fcd39d568515e6d9d03c7df7a4bb56ba8231f7f0c92e9bb828f9889c1ed15ffa6cbe75e30fa9001a6c3cfcd9b21f137ec014d13d17941eafb5ebd20a80b335bd11f979c969eae15f6b5a8981e99b34de2c58a693119a75a6ac0ed03fe0014cb218c0b15d79e312dccce6e6c263b3c51dfc091cf59ce7d9d3268389565792526c0267640f8de9bfeff848d3d4582406ea4e50ada09861caf5e12799c805b91f7c9ff807952c501ef4d570f1bf43557c9cbcb21762225e00ef2f3c54d6c0cf09074c808ff894fa1819fca5db49556cd650c238578dbdf23f9e5a58639fc1514836907d0ec492bfa699696f581121e4ee31cef94207cd85688dec4be41b5a3e18ea446bdef3dfebdf949a5435837d6924f0d7f0a657b794b52a98a63fd908ee8dacef7baf87ca4e113013894d24683054e19120e1735fe1a18d56598eaa811aeb9113e903cf3fd4e541920f270ef8787a45b73aa9c38a67ffa297b79ac74daf451d6f4798ebca68518435eeb3d9d45ad0566c721c3f435efcded05ae40a850fcfa81bfa152547ada0e7bb54fed9484d7bb012802ea186c6bda3764757f4aeaf87c848d5e90e29468e7c4a6f9f4e5d5dc06c1444faede5a2bb8149d49d78dc7213571d0a55b5e6ec573c57f92e5a638aaca59f3c91815216c21867963cd21d8b69c14ab9e0e83deba00ee95e2073bcb80ad5ceed14f139adada37f6c2b07d818a13f0aca46bf47eba6f478205f25f660aa0370f4de05d46fd1e4782272758ad35cb97a8dc3c243f05413ab144beac510dbe10510dd983ae5afead3af5e91ecdde1c04b00e9a991dcb855a9911a90b446ff62f3b92c683d91990f34f5348892d6e405bd078af712c427e7b33873b1e6cf4e4bdb87286fd7e0021d23ab3009fe0e0c1a4c31f4536fd34c6df88e53020ee7d79f623885412d6b0b1553b0e15e4b53bf474f65a55b4c3ee6f7a9458492cacce60671c7f28fcb795e4ffef70581d4f95fd9eabf7d4bb188a61802e3ae4071e52bd4ab9529c0cb786bb8efc526f80af089e079a6af4b3b65db408b2f606939297ff64fc1b01087aa90df933b3d4e2680685a6dca8ca4f7c0cfa1387b035e2d8ecf4e44093278b5fa3d86c9033fead70bd65482644fbe762de559f5d4d3c9cfb597497d739378d66acf61efbedcdf1e4db8bfd0e302703f689c2cb842f1a08afa5d3b1b426d6be7e691f8c14a1862d3a7ccadb0ecd697f3f59c661cb945d5df437e9c2e5e24dca6abc8b75dc5c8ab617c9153052669e9acf2927c3911812acdefc338f7c4a8155a0c927df08384e73f802e8d3896a460109d1c9c9eb9ce41a133ef72810562b2c62fe2435e7c9b85672ac40c859844ce60b2cab7c4e7ae80129cbf079b9c97c8d50c0b1f63cd95644a432227b6e1057d8ced65a402149dc1f67a244c728201162719632148866f44acb718d85c7c6b28c058bb98545fec4875664b2891022f18c79b90746de3043354c040b6cb73e94ab1a28a9f2ecf0aa5ccc8721cff0622101e8c82f6fde3825113136dc394550da5cacbf98aa639e2b24dc588fab1a4bb710d6fc6f3f2179bbc24930a2455767a6114264419eb1bba25a54a80df29975f72626d9262f8ee9cd81b42bfe8e28b99fdd8c6ded4cd83a97c5906394ab6ad35fbdf940de2d9f39a2545db80f9926bd53899e9aac4b9ad55502bbe14d5f17433c928fbdeefed239a973405b1e21333c1bd104c71ade06ae9b3b5e689cd6ed5d938ac1d346e179bbac660e1fa2d75fafcbf7d6962708e6425fc9f51346c1343e20bd3b4ef2e708bdb10f89752b2eb45e74399b37c69ab7166d3f769e078e9dd3d816cff1da997839ab5cd4e2b6d2964f0d70aa923d699e347d78bcb7ad94edf73d1820dad728a2a6c873e809320052486db7d1ab039f1e747f6e24670399d55a2c3422094e57d5eb4943158f73b959b4c9e3cd85dbafc369c492b6920e9d4adfe36ac6ba6a8e616870b5cb3d323739c87ec66d8af5070bbb54d5ee555f89cefb46f3825bdf17383266549b25bdfb3bce4e7e85492b665cb79858f8eba27a96c746daef0e68d92fe6cadbac027f865b299853554261eacb2e8ce6f978ffe876baf08771227689f2ecbf9e66b939b39855f28b1670349bf9cecce65f937601d4fb60d03aea4e405382681a33c54057b99d63ca69389a4eeae611478eb617fd54821169067550f0cee2bee23acd716848b8898f57f03f68ebb9039ed74dc44f2b923585061ad1681affbfafc8cce009f05c868289969eca26db6146660dede7a184363e9f806ec58baa220f2b93f0e70656e71db56a9e016c301ff5961a56c5dd3ad88237374da196500784b47ebfb2d16a9a110a33596612404f853dd3633e9d07d8896a6b6983fd2510873e68b853abad4b441d179d7571dc358e39533c902e3164dd8dd693341c20c883822597825283f0020c813f7481abc5fb441ba417b71c6caa9cd2b68e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855781f2f209089b53228077d1f3d50557e5fc67a7f1d5f45153b8ef5b1be71bd808611f4c6d7c6f07c08dc6b463a510c7640f065105959ca0518dbaf2dba0c5f64e6ceb61c685d497c46f0d2b249584f8c8b7bc33b4a3f62879337b9951799e0a34a250f88db65cc5180bd4e0a293b38fa6d964ba1e05d0f5d9fa6cb79abe254575c6890c046d82748c7880ea541de6970c294f5816848932e3cef1a1e8c36d8c7a13cf8ca331c190b9b278488a046a93c5c58a6860698bf3bd89fe4c780bc3593ee5e2b80e7cfd71cddb87ab978ff9daf7b741a23fce78c20a9523d30b8d4326a79686db6fb6d9b541a79d36f34978e5c927a4b7f9a9b300a5897ce1ef5e318d55fb7fffc86c41540b65ffa8c60fba661e4b12d3a2f69e6343bb51c8af22f26caf4d55a0c3b0b0871f3297752f2ad8649caad7d5a65235cdb4a9fbd3f73f562292c2ae40c37797eef76e9d6a835ee6b6146a045ccdae70e00bd44d3535227b28cb2be81635503e1c91e46f06210e733805fbf2061b0e01c3c85067d350126ae416027f8602b9be1f86d32da391634b6cfb1b9021d4bc7b6412f9a8005d20c09c1970b327c4ba74f02176f06e876a04d8c955a45dd3e0e024247cad68247423cf18dd7c11477f0f69fe000db13957071878bb3c0be52ac84bd9661244d53572614683d8d97f2779815b2de07572b49adfc639647372e2ec37a1c1b99f0edd88d960040ce47cecb3f3bc7a543a5cf5fb30ad2ed16ba9abdc8c5733ad446b22132c868d587c22a7f06a1efa435eb45f7de18f8d54f917aaf83069aba9486d202f872eaa7d3ed08a72ef5d7206e317e77091357d83dda5a823d7b88f680c37b8470aec146f0fe192418e005f45edc458e9accb36ac5b78f796b43a4047296e59d4de34d10a1a4be3ba495cecfa451cfb1715705c07fce6c05abc691f4e60b70d1a8c88d99d826187c44be1a99402c0621517e8d1fafc7a9050acb88314510799448343ddf280a698fc074179db1478da06ac270e2256d180b693d01737ebde38dec0dd4cfd0378698adb49ef3ed2ef8dda61994d2d9494bdcf7de64d4ebfde1e32d8815f72a23ad0683461073af43dec7f63b4ffb1e6f78e1a2fa1e17c922f596443a50caaa70f2ef4a91b672006d055094a6a438578002df4faf72ad9200c4a5cb8f1234ff4fea06525d8bf51d19f06e4bbce6037575fd12aa3a6a14a2e796825a28872e527434793e67478157a3267a07f79a7fedf85b97ff844a28c4e9d484ab17a5ab230ee5b2cd45bd8038fdebe1e33a633a3275aab4a1a1f24075495d664bf1364723a5293d901357165b3b6ae44cb4e1e3085787b575dba7e106e75ee3d3b429dd2169dc494589be98aa577eebb99d38551c390237ec83a0bb0547fbbe48550fc03addd5010af30a279832124e035ccc4de614cfb7d2a6b601e2ad31e37af1af6e8c398040db1d26e3903b18bbc0b59a78442b6b7b1675115a80ce54c5ec3cd2b6a652d394f204f0d5b6cb5d1a06b8e9abcbad30e65c3e3d188efcc91f4bf757530bc3964d6fabd3c62cc89ca0ce0c3a0724eaf58fa725d84a2c42393e9a68d54833efda95a9ced2a96cbbef5a34954563587fdfe63162fb0f896e33653129991af27980eac7f5421583a6a1bfea44b9318b4b745e212ebbf6687cb6fe2995447921f43f9632ed8c38fc6fc2cff796b5e93820e0bf6b1c82d1665a51d88bc16614c95f750d396c00227aa1a730ced409275e4a6aa79df31c96e4c53ac99b42ab571cd0194fea5614247dac3b1c40485c7278c3fb772bf6ed3346c772a428d20013a6028ec7ec3a7b6ad37ad83efdaf65d50731ffd633c87d0d6e9b567bd9dae5640956b5106b7e043fede43d3a16f2ad7367af681383ab9d4c89d091e663abfb8abd7a2d8d9b3bfb77d59d5f2f4866748ce85ba275a526da7982b7781f02d103ba99126d6445fbdcf7bef420f7451205b963811ac4f12b6668618b6a2d3e8532efbd99a930374a6ea427fb368381b590564f80ea1d4ded5670930f80e9761e2acc1c150dfd54ddf5774d1a8bd1af522677c68a64507e589f6d2d8b7ac0a2361ed850843734387ce9102437bc70c1e5fb682e90e5387b505c6162a11b4a42f2561cb668ea9a89742cc9acbf38218e37173df601be2af7a58e39d74658b3a28d7f42dee9d41e4a1e50b370ae7a18de070bc2249e9370ccc6e030b3d9bb31708c164fd152b40ae1fd221aac6db260e7df61eb9014053cb0234527beb8faeb7c79d523ccf9ae49d348bd4bca643d88bb2817685a879cbafaa5dceb2c2cc9dd382599dea9081411e7e5ced0a5c68af4176565ddb513aee8897e8b58a99a068216fcbbf818f0fff72ac0bb0e334e9cf671ae0c08898b837374792992cab49940c8852ee1e65d0cb37f78cff67ec65fbc001a8cc194deb442e0103ba4c4da22befac0e39c5b36468a0b49b7bb86ac89dd970591a339af05baa57a90b98cf91ac90d2685891f21a21c73a53b6f3ceebba692e79bae90ef953aeaa77e7fa42941f893a05c244809007cc91bc4d0adb2b5fc80f5f08c8a80eb13167c237c0266b600411138113c1337526a22b180a5a7d16277bfbdeefd689ec746716140c3b5dd7abf0148c960685aeca5110737c3dd2e39310dda0ebe3f72b61d2f09377266656d58853ea4a905e101c365b786427fbc4ca24dcf57443bc211879ba30e722aec4d7f541e3165ceeb7ffc49bc6ec5b7001261cf4b70b00c8055cfb59046fe2c755ebecd28c4f2754f239d6b0cdf22db11c4485f91aa2a1f24b55185e8592c0a7162abeef15e7bb98abf6d362dd93dbbef7f052635f6a30ced52b1111a101c82f9deec08c6837ad8aeb3649630ab91302b54fa7ddcff0d0488e1987af6d2807e351522715f30984aaa20c9b332746a43dbab904f07221905cb15100842d332823b760692109032be7e300f90b9d75ee5d74d09b509be07114dab6b2aa414b862100687ec4f0f963432a1557465785f442a54caac7694c9fdec3e19e607303a794354a88af214fee60c94f6534e48d41c85c20a233bb2007242488d4025178883f435b753ffdf4ce68f01f4dc8c74d1c0d297256a8100905984069c11fbe9d6360ee2b2809637948c9df67e56a89ee090ad0987eaf688dd196f1e545dbf10a56869ec0a466548d68241510da48acb719a46dfe5261757a9319e4d78862e577b7d268c084df15eeda2a7857906823c83a328637d700f5e57ec2ec0e229754c1ecc8c40a473dd2066c6fb3203d673c204b9186c1a4cd830edbe5f63f7e6f6918401409fbc32ae0a6bd0fac62829be09a9ed00f3885514b73e7952e326d1198872d0484029da32bd5dda4f0ca9eb8714ded48fb4c5b912cc02becdd276e84eb922a4607acbd44c5396308d969698092d6b2b0d48073e85a1e41b6ae7f63345d0926e71b66766e103a17a9542be607646b26e026ac1dedc863caf0321b618b6b20dd912e444dbee53987ee8aab40d38eab211fc1e47558397d5ac65bcbac15188e313861eef598246be1c37d84fcc3002652b6e164b12a5a991e0bf77962d8a8f5ea33982aaa30f61d131f0f07f1b16f1cefbcae320d20529fd38aca9d4f69c9089e7197b0229e34ecfbefe8203f475fae6b43694347bf07b992238428110e557ef067df0f2553886d28acc23fe7ee2955615fafeeba6a89e1c67511de76dd4db96f06f0897ec694642c788441a3be9b3a19e45b2b1a23257c15894603842e0cd18665f15fe4c1cc6f6d74a9773e1286891f263898235e890864e4a83b1307fa390faaf6455a3ffd69d1a8a723784204c5ffcf77f5988e500544201ff5fb6b19e486d5be403995da880a0631f2d05abd5e0d5865c7cd25c195c3c379f1416d72e851be00c4b113b0147c3c91fff79f45cb090f797f5fffe8a2cc61c530a0b930e9ec46047237349cec2b284626186d63400dda0cb8acde9d2354f05956ff723c51e9b4393c9c2079994054e59add46e917fd33ea4646e285ce1dc4ad7ff2f54e0c4f992efce860aa4efa74f0c34f00e69901991a1f48592105357e0f8acd0c4178c6bcc31a901018651ba7c433ee9fd96c3088b042cf1c22d5c5a9310d80c5ea07684eec1a5b30b8c6cede8c431a3ed320e7154234a954691be7e714a327d8cb2ad34a412541a3791c4d4319892c3b342bd444a150ddfe4159db6afd7f6954382e5fadc5fc25116b38500e1b098c98a09875ba5449e2e021181d1dafa78f2d5b45fca534e06c9bdf11788daf897a10430e3e4e034537dbbe7e3b5f6e1ac52ebb8b39569879bc622855b55bbfdb3e1a5d7d60029eb4d9c33ea7e47ac633d7b7ea1fa8577eb23519a753f807f7e23687b97b3f8875d858461334596b2018a2d1fedb1a17423a73cacfe09f02fa0d1a46d661386d6855c206dc5df2dc558071886f5e063c85dd38026696ef151f52f9b0f0f93db2a65ae93f887629ba2678d9c01b9aa2d752071582cfcf5705733fd3e2d65c9653bb52b20b6f2954cee549899fd413929b3335e9216906f7bd4907bdb508cf44984b3cb32ffb52de11ea0ee8a73cb8e73321b3179a8805bbe8a7654bb08cb77de735548aaf35aa34cd7a8a8a6c750eb4980df277af60ffd34f2c6bc923c3d41fe8d8ee69eccaaa1cd1d376499694232e1afa194f0545126dfb1e86d742454a98fe4ac9566d70cba1fec172e57df7875ab0218482739a056c3b88ffd3403a9e68c851e0a2d2d5416f5805813bfd6208e60cf97c5d7b0237f12e7847f33e9f850c61d8d69ed3eaf1f6ee8dd3fede7e47b571fea8bde80134590a3b16cfc373dec19f5d0aaf4beb67f6a0778cd9b81d521cff5c9d905430273dc44931f225ea9578e1404e044d4cff3008f23638fb7cac0b1f9dc3f34f5614057aca908d3adb120af960b90e676c39f9408d011cd3bef324a95f1fbea499624af756e3fe61d2f13dabb00c160ef78c481f59484bcfa500d34bf3ca34459d9c196959fe5247cb32c7b579d6e19862f9268bdb18e82c9c3da8ef8116e879936dc117c127d925cae8b6c2652a259f9f1dcb2d380177489f03e14304782318f37da21299dc421f616018aaf4d7ba7a0c85bcb6ac167596a7d0d6a99213ade3c26b1760551a4d6fa8469e85401865f17bf063e8c41af2c712165314404f19811a1458924ce142d26295d0a56a18bc4c789296a804cf3489c1c28e80af52f2144626d77c04474b3bbcfd59cfab041bbe3b654b0bcde8c2f0d20ec46e69fb1c15c099d2cbd2e426c75113c2e33a46fc3e4912b8478868e51dc0b8fbeb8afcdf89b9ab8172240c992ede58e56f408434ef4491988861752d431225c284a8fd6e81407fd5cfcabc66278a5c3df7737abc8b1a0b6b3bab1ef2f23fbf923c0e2357dd6e318c7d32da742dc487dd9be5949ebe9494ba2c88dba329a7d5cee45047367187c2eb7a0a86ccfa0297fc8c91a55bd6d6a0489eb5569f20539947446b61b910fcb767502bf35e012a6aadf65bc0eb703e1243d441d9b40d715efbd76efdde3eed732b297349269eba6f0d01a55707df89d729ab1a19f83bc94e24e236aebfc3e4f4a14542b2da6f0fb427a1f304454e2642eb576817a1d48dc83cc44729acb01eab0f1adb2d0c43c3fcdc79587c6a60620451bd71fd92feb7baaa61a21fdcabd03a34356b946cb219f201eccf97235b6f68012dd9d6f7bab41c74a82d6237e38e6ed4efeeb1be805c9bfd38f32d195cd28e8bcf6c35ee056810031bd236d2dd1c954ea95c0b094a530069b68aead66cee1fae32bdbb4b4739bd3a8698c8378b96dc6aa0433e4cbed0e39319e933a08037c6ee6a1aa1aa23493bfc13a0d5d937a0adf5f13b9b3786a98c77eb3c6884f2cff80a48f854125d3a9a26bbaa60cabf240fe8bd819461e3e4a036d078740932063a1f3850d715517c43e2a86d46f889c9efa940260459232cc4174f56e5406e8b96f5e94802a11fe7d4d325a7f6cb37714f3ed83d4a3ddbabb224318f1e66c834f264c392c0fac72f5063f65f2d1647ad68b3958a8ff23567e2c1a8af216ac8026822c23a4bd8d617a34369187fb3e211dedfa0d26771f250cd58e0940f86ac33f82e2af001263a72ef475dbb483fbf49ee875f8448bbeaf89792a59f0f5419bb8af9c611ed2fd56a626a61e48adb809e146f0e99b995790d0af7dcf8f960453124ab1ee1ce44b86f74cd7a2f74489937f5176381d2f3050b15dea8fc7a2b90ad432b59556908c883ca420f4e6875748294418c63372f8b955e2892ab116605e4d3db57f6f60765f3f2b3f90333fcb16df0f8ad5d02f823b91a5b14d59e19f957319f7fde0326b167d1732190696a30fead0ce2ebc2a275a158b0714bc6a9998b932999c4eb523129c01e06592868b40b87c9f19dbc277dca9379d087b86d8941e5b5fd5bb49c87b823acaf65b05edb2b8adba1c25bca45e40b0435b51d3b68a8371e6b702f47fa77df9346e602cf179333a9407f44865191a5695cb4cbd1c841f51deb4a6363480bec8a164ff6c06ac5a263576609fe930593e5c4f9f5d338ff04c191257a9b8736f73e820d5ee2eda9e4cc0ef2717007a550b00914eb76783db650cfebdf68c4b4f48b00ee5db72d0b5a747493dd0fbcde25d28e5d6b2135485db13fd911dd05119d8f99d2fad6db4f70e1bf433452b304f3ade4a2e062b79a65cba6c21a8f3ae6db75920b49c82016c51570de1d59f1c4e41c929eb354d5bb38b3049264fa03d4939960d9416c45b2468ade053742c3e5c38e555a047ad6836cb28bf5559e58594727cf97afb2a28a4b1e9a07fd2773a5f3f4cdea47eb4639d498d042d8e517349bc535e9e08eac7d2ecec130e10e349ead9b1a7794f72a2294dc0287c644ebc96284fe05652c1f6ff407d78df0c32e32c18c2a8f0c756717d372031f9c27e58f63e46a6488235c00d99522018cc6eecfdcd4a8ff1b2c11738b3d4a0b7d3e9d329e54519f1ced655f5d0757a6e38ede75efef9d2446d295fd63a701122ec0c73bdf4991c373648ace7c25304c7c6146fe9a850bc081f0d0efe35cc14f55d4c67de8601afa1abe0bbd20ef796d4422db4b34417ce4622798621643eaec49dbf2fb61fd7902e7ed0380bc10203fd83bc0f3094f1a596f5eda6845dcb6947c3bb9ff239e5c3f1822b3cd7781ccaba42d8a03d640375b27ccd205da908293b79a1ff9ef534b7b1825aceee3ac9a260912a9eceb2f40864a5872c8578058a2c0c78cffd9275582d4bfd01ed1a4d568debd034329ee47b5d655c5f8832330fd23f466ab715b7905f32d9408874964cd5b6e8b030595bd063def5e8fddeebf5f3993338ab2e9c5ef62f7b141002becede84284a684da844f4d4fae2b315c38340d7017da161642a34020fffa4406c294b8829f4935b191a9d8537acae2dca988412a7111867a4403a0d3967ba7d9d01c254c99ddd1586a76082399d05e1bfa5dbf65afea805a6ac6637b03c9ce60f387729af057e38e3569e336c1e8a2f259f84f86bb1d49e5a3a9be37cb72026f041ce0ef490a4a71e3e8fe8044ca388b7b82eceb726788e63f4e793fd06a6f4b9213d1046758843223ddaa40936bdb8e16999c4d5423e34b368d223c3370574ce67bbdba4237e473f99820dd308a28c80ebebfc1fafc002b028ba3265abba722768b91f3688f3750e5d3403c53ac6416113d9e243405493c9fb6760972a702cf33a4ffb236cac6699133ee3051f5c1126ed837f213ba16ea4b4e0bf71c22853628254bbb2e46e4c786ff320ce3db6a3d6a4752929888caee46f45f4f581a6444c19cbf9cd44fc40e204af8ed2c04f7256d7b382b8202eca32dcffa153a0709ceaad49012a3a8c5b1710fbfda30afa737a8ef17421776bb20868c6fb142ceea6b5352c6f4e86bc524bf44fa1fe3f8a771ad69238cf8b845fff3f95c48a021bd53e05704298af29c76ed5b19fe3bf6872452fc1e356f07c691d2e179da6bdc86f90724304660b29ca37d008930f69efd435dfb075d3aceb07212ef239f976568a0faabcea6960ff8b730607103f495589b218e1ec5b9148d81b4e6da1d05082a566caf01ce3b2190dc7bfa626ae9a1de1f63cf13b740a96b871a10e762fcbb5d1299823c4d5c75c46ff6233bf4cabb20b8310d3f096ab5046b31eeb5afd3f776bda6f8a4caec8f4f72e93fcdc730d3233ad5552608ce26d7f37284e6e9f405f269ad0893330cddd1e62898f8784a36f4af22c7ca4ac2278e19d093b19df5f14609b63c36d8ec8a74e25f176f62826001139d1ccdfbc27d2f551947d00cac752baf94b68dae4e713d29c9800d25b5da2fefe083614e336348237aa340354fc8087537e828456e4fc9d9ac54bc31b41e8b47945d2654eff361e45e97d129af66a5f940579ba68f1804e19cd0b111f92b4bbc7d740531a7715ff08641fae755327cef9baf541e3414b8a3f19bbcd18e822197e8a5617cb9c02962a71daa3c69be5dd7c85d283be82ccde0f8b5549d660f5d45b99094ca84a953bd89de986b6330c121b7c07c0f01f013ce36ac567cdaaadbc90aca652066ee76ca3be55a7ced31123f35ae4a6b70e07cbffe31316838116c2b15a77add12c550b4e6c3fdd914c9e20045d552a6c4a3dbfb92a71b274b56a1f0e918c440454c53e6a48ea489afdb47f075c2fa558405d11392e0ff57398763322296cfe156f3eb688e086352b53c862e402581bdc41ed7dd731125c87700c1881d35f369cf3cde7550963149a80ff025b082803db028892de5720b5869c8ab3b97fc2db90fc4967b9fced4e86d8142f3d77045489818fb50e6faa2c839b8f04aad17f39794a33d26b8fd7bab09576932d8d42f25bb83cb4d40f34ee13c567dd5cb566ec8f096b0dad441fa0b421f560b300fc3a7dbdcb2cd3308accf270651d2034fc1853ac882b418aa0633dcb2dd79edc6e85ad1a5e7d4c928acea5928169c94801d8a06df8dbaac7238bad71ea2a384b111293ad8b0dfe3cc99afd9c4b6993e0bcaf364965dc9980de3861be089d1ef5e47442024b332a07d83942d8fff3499527c22b9ffc5f0dc1e9f71f25d42a912d7408ace20dbee72911a2b46bb48f52c0e8f81ce7859bfbe5611c3f279a43948d6d8bec1a193f25d9939e8d4c0ca560dfc52db3111a700b054fb334c7c270d534b84f240bcc7f7459c61ed42c473cd2efcc54a128218ad78c329fdb9992ff8099ca0c04dae2a2d34491ea2e646a172e8e70992fce700e414253b8056de26000061c5427848c075766e2abdb98224427e5c5171848b1069dee0b80db21eb9d300b58a7549cff602136d0f6672447b668d9176177f93cd602d2550a5748aa4764f99bb7e4889f65ef62b62b715de066d2276fdb40b583746ca4eee2b8dd35e4f30bac58734cd320067a94a4ae55b9b810bc04646f81c0f0ea69be6f34bbe3d5cfdd5cda88b9f96fb691501d1e47d757eab521699d40ff82c05a57de2dd0269ed126d427383325083e6b4480965aa7728e723fca4a84f425a64b5fcdfab344ccaddd8c641df16644bbe14cbda9ef8d2ee8455dafdd6e63b338218dce760425d7f83b426cb9da0bcf5e3b8c0f9cd04bcad005c92b7aae0b185d8351f9fd0a3656d3b4cc4f1193f127fe02e352daa177ebb27e92605ab65d437decd01d2d0dd053702372535d386f18c8667b428a5ae2c5bca971c87d58e879571606ad95ef0dae7f1ff69d1b356208b8433febbbebfdb11b9cee80701f668af5334416ae6b810d0cb646722217353e1b9743800bd1abe59f43e5f9cf52be1ff4702f2dd605e1d3dd950bf999b3d4978944c0c38d4ae13284e33dd36f662c015a7c579badf691b581024073c021e17035686b8d7ada750c43ab6f7ec5a4f7f943d9db6a85c9b8aea6e78871e7ba1f0b3dd346dec398adbbf67cd50417265eca82a2b9b79c1129b2370ffd51ecb9b1fc313206a06acd6d3071a164eff9fc49d1f2e2fbd103494f579701242e039b24b153b5ad17a5036728c93f16e735dc8c06af2f7fe98b72b65e59a74347b8686c5ebdd77d840707a7188b3c2ccdda192a3d3129dc30a3d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb33402ffe58bf09b6f21c1006cfc486cce233fd9e14969437f6e0947e34cdffe021cd9c8641e6516a175bc31b7f3f226cc0469a59229c5a7aa9577bd47bc1e32802e1df22091752342eeb8ffc27754c3551a92c2a97bd2f9da5134a8c1e5ba3c68ab2a335bac42ee9acf8efd9a349a3b0af20288c2c02955b53d76dd59b1f1868f97c813b0c5074cd9f520f1f83447d331015b709e82df5aece590d159a5227baf8c1027484f67cc1420d1236cc37bcbbeadf0e37048fb91d755ac05d3f6c72142fd8e20772b6eba649f5d60f75ed7dcaf7b6b57d005aaadd4eb72a882e226136b007d054590fa244e8dd44297d18a9db8d2a5940ca9614a2bec76bfffd60c5344b6e076846bc23745d6d21d0a7e26f0d0ec8e6f5a8bf639fc04b58414bfe6260bf8bcfff4394ca45b23592a65752f270a3e7f1e8f2155f5f3f2aecf1692e0f08b4d066e7cd140465e3478854eba13ec63c9fadecfdc31b0aa6847c238addf3152cb1f4e8783c6023c5164872be84d88a05be30b3c5d3532140fabcef730d45e9db5208346cd7cf50eb8689f08b13f29f7b5d59af46b097fba4fd8f0975ad7a1af62836ede52cbfa18154639f0034e943b83de59439efdfa8d7caf88dad900991aae2d1ec083311c12d9ecf1449dbd4ff09f39575e299568ea3cf79bb211bfa7f0db345b864084dab7b5f373da80b4187594af730185fc552dc628f6689801cb515e8855c47dda6ebb808537da3c6f879012facdfe5c10461f617acc5f6f70b930c58dc2d9d4d2c477b18c36261bdce18354105b70b131de228d3d46d30651ecb872d03df5ff496f2a4da4b287fa5bc2c749d733f2a0561ff9fe47d5229dfb4a484fad283b62b52313ad5574334c0ce51e94a6ecbf34da1a2ead7c90caf858fb1b80c1e0238026fab647071eccd9ccbeae430fa51edca85b3e0db61885df3b8a79158512b82bd47fe2e91a0d86fd833e74c72420bbbca2d30dac585d5886a291585cfd882aa2cfd1fed1a4746a5eda4dc44a43ed1071558c146fa60179f8bd7879e14794873b722f31a4a2345dc7fbf2a8dd4b8619c929bebfab5be7e9a9d87f71c67c70726993e6bdbd95aeccc890410bb3b83e536c69099e4e53667eee7617d792716d8829f8e9a944751c0e053f413f51c63cb56c218efdd596524f8184ceafb311f746b83c1209f135ecfe0d47b21cc31f624298cd389648060bbf0d0138095a3b62ae62ef6c7d7ddfe89a4bf01e3c1dd81ff5103558582a0c66d4a887dd49754ba2ca6d7510290a72cd1124b45dbe9ecde3740104cd2e5c6d8aef91706b9b3560d8b82ce71e7de32f772f91e3ca43a0acfd6ddedb5a77e27031d9cd4289dfc6ad0571d68a3ea899bcaf95507e7cb443e04fe414ef5315949c567e54695dfd47f5d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334029508f8c32bda7116c8bb5d7360b77b55f6dc444978ff00c04c44d2defa0cbcd04a77c5eeebb8b9aa14353ba826a27577fd3707363c2c495c48b2dad7b1a3bf3a2cb6c82ae984c12b74ddd344770da0383164b39a883058e7e23d735bafd1009159673a6bdb4657826cce0f26457cdf4ef2f0e093229ce65fa0045dd8544d81ba2dea7c0107c3cd370af26ad0f6801612ccb7ce7b7c6b83ac7e46b9f0c0d8c3628e8dd58df321a2978d64b2baf0f1f5762c233a85ad15af90d89f91e600dc56c5f5479db58dcffd5f53a6ac9b41fa2d08cf14d12612738261c5070eb1b7177bdb303d68ddaebc3a1b8d873593cbdf94c6c0f19a74b29486d2d5cd577ae3efd41e641383436d64220526a1e75558e5679a4d6240684207559da6086a435cddf80138c8d0f218ff10ccbade03eb175013f6af88f9657196acc022c17021e80f5aca6c3025355c8f6b7cb9f30fe5f1fc6a4e3b90a4f89cf97061b62c5b50bc58e572e7cc7c3c85edf70124095bbd65043fad65fd18a4f948301f5132288bdb15058045f69063c283edbe6f172d8449ce494458aa9d4effb77c1a85065fd407cead09b6a667010cad584e0b68f2385cc67007c51acbda4e227a6a1fc005bce23c8679a03c9f2ac0b18a52d0368fce94c897b7a5e202c1b00c29abcfb84a40c54792a416d4decf31ecdd47adfc6c5a035a87953f51c8455f90a2084878d53a5daa29f20eb6b75e55e90aa1d75b91eb02bf9f2ad535ad5cfb6eafc9f1ecabf76d0160a813682686b3547425cad38bdfb986109a066d6b209d18bf8667bc696748902a201a6f7a9e313f91c54c5bebd02e4052a9eb6ab7b89ccf20912274dcea117950eb166b531082bce1a4ca0bb13e1caf2d7f102f3480a26210736fec451c30e30f1ff2ec2f373a2cbc68c6d8e2f3f215948c055f4c56dcf6bad83c8213225734a398db60b9a09d54b8d59a1850e9d5a6922638147cb7f432b8b9e2cc121181d0e6020e537b56f6509a45677151485902f82da6c2a726d1f70c1d62ae68396d3ca8e74731b9dd5b0c480d6a97b6d1d705e89d6bbe946951f109a2b0c7238560d8596693d79730f3c32713ce87d5cedcf77631d8726ccf642a1bf5166dee08372b6ea452c57db800123f0ce6f70446e73e7f0ca4e5762305869e4649c9c095124097514fa533d4163f876cf7c1ee1961516b5f8dad81078e3bc2876b7765efedd9d26462ce6f783f1df998509d22210319bc8ea4206747156654992807f5e8d0c2a13ab72002406298c3952cebaaf0e30e91113689b67efcd41efc126e5d48b659598f36e1430653e6d534c1f4e0c6fd43692cfe91db67cd78d369e22a02ab6f6ba100cd36a59d224fd5cbaa8d87422ad04c6717899d6f41785f71f0c0717b9b6c79fa856684bc330f820d73bcab18e5fd3b5184798a7e4e93bcd8ae9a115ef469927bf59b634cab884ba1676b0a0a3f9ff0a539929dd62483a4536b84854823cec334a34fe57ef10c6b2f0fc44ac611d65561f7d157b892dc8b03eb7863b07bdb6034f26474dacff454cbd6eb58f0ba4e68d2f5f95346298260afd54452e81c37e0c9b777efadeb548622358d110ad0714627c7bda4479316806b14559c26b958698a15457e1d9e8879f1e4fe4606da941544b775da7b79eb71bc81ad760368e27dff70c41135a559ef9d6af732dd5138f3a008ba1b96d1d90f8c292253ca02856c4546e98d758468b416312da77484eac086c8ebc501b50508cfafc7fa6ee07781c84810767336db24d8f12f19fead633a57adff52d066345af7d7820b8827518bd0c764906b6d734c2e2e1365317f4b2ee061365b65b1b7eb2f06bec0e6621445fb794d0ec0ba5cd5c10a9e7df913eb936427c26dcb17ba56e0bd70270bf650247e0bdf977965ce9806c0825e37dd23eb59c609fb82dcdc291793b9e0165fad96216ede4f6c1ed3625ce55c4591f5534a42fcaee5965ab6049fafc32880f2e7fc4715db0c7f40b2d57b52c0b9ba81e3fecee9594ca8c7f4d762edcbc3bd29505ba667472ef0f0e8db4f565d73f5dc0e949c9262c2f4cfcfc856064d3435d7220b3ddd8039b410cd4f395c386dafbede10fb48bfef43ae907ef5720b154acf9d01eff8481b2b1c0e525593c47f43e017054ca7cf0b0e97340c7f7c4574cebd8f775f455343a9aca6aafbc2e96fdc5c89cbdf601d96e37cdc18a78ac407705e8330332dcf4313edcdc154fafae15f7469656efc4282c5408ddb85cde564251b6ff05fd91fd7f9f66a6f6da1025ce18197cb6ae963d9ad7ba7301399032b4216e9323f0b6087c5c85324c77946a33638f39ccce8a4e4a277ac54a6b46828196ad3c2e50975d21412baa223b07ea1f3cae9e1347977ec68e4029bcc7047341b47b9ab94bd1da0fb9f2b574883f61301558e59f504b1487d5ff094c508ab1a3c853c4338c5bdc308f0d73c33141d073591de48732c5ad47c1d14e84f75df757a6b1e9b75aedd4b7369229a8ae21ca823af368c03eed5a87d910d2286373d52729372da2e7404ffbbac5dcbd0dc2c7fc6f338d65548ca515e2cf1dfb474c45e9b4b5644b314793fabe92b02c63a9267fbf7a33a959b00552a3b49f992bd9f9286ec93b991d5817d7bbdcc39be66b381cfba69914c5a48089252989541c45610caf0248f4cfe855e17a01962165bb74df9efcd0827f6160f8d6bfa7b92d052879d5d97716ab26f2c73ad13047c91753a70ecf9f1062fd0eca231df3d7ba6e1e40e674d9e8d471ecd7bcbcc5a3322eae72bda3bba82b7ac4813f174786ac12abbfe2d25a04194883f4decfe0ce6f586ff291fc26f9d9693ceee3375e3f5f182f137221752f4befba88f1193d87d86ad1c1b7f676a74342dfd1ffeded6bceead67ea343f792edc71e11f727f83a9cb9da2fa74bbc72ebe72980a1778458cdca5feb8bd6b9364fedcc56718cc870e1b65d689998896c77d7b6e29937fb74c15858f663bb1c3355c72e4317d7e50991839523e5744319f34c61af3e68be9a3cbdc0e8c47d47c66d6179a95ee7ed063a4d7b3a2976addfb99706a63126959e8fc1feb70480fd489ceff4b3abb1021a67182cefe6db129de8e2626c3329b19a2fb03cb5671dd6b7737b7b0055ca4a8e43b536c947134bb1408f1c9e1492e15a9ae536e98f3b3a61257d6dcaed4e2ac1e07731835d453098e405b34122fbf13a2b58d55f065f82364f1c85c60cf9c9edb89bd8030bb21f29a8e6a5a4faa527a08d00d275f927bb60ac62de641d64b3a6e502c4f938cfcf0bafb0184dc0773f31e3cb2b362053e6cb43ee60077b259cc3bd0b04b5a4aa181dce6461348c633cc366030e9e5ed74cce26fe207d939fdf4145e4ac0a1959758d90d6c0be2fe30895dae5527bad8aef9f9aad239a742ec600e90a7889c834d0b2849b3bdc44195051bb293a57f9857bbe9ab42c8e1d963fabb7458270e59412ccee26981991fd7e9c3974614fafcf0f364d0a41af08d054d85e7699e7d5864ffea0c5070f85d7788e9dee5aabe7685a1a582b9b00d35c4a3ea0260487a7caa591f29f2f6ae40b843cc35fc00aff34e5013b8b6e4da5cbdb539a229070088b3b91032735eb8fbd7cccbd2ca8d62b4e9208869426ea24ad1ce607a2eacc51c25da99b388d3162e3acf22c95bee49997749a7b0b22da1b83aaf494446e732c26dca5e625b1c08742bd5207d0fec105ed7af441e3e99fd0d43cee3ed1776f01de14c7d1def60481296c98fc60b4c8240f8729d4918030d49b257c30c79a3dd0fb8f9aa8584f046096222611e3f53ea9e2ca6333da62bc7bb53fd74f5948781b3014e28eb1def1f09ce4d83696bf9a6f5cdaa20631309e9cd377bd63dc2c785e78818486b7f90a0d98ea53db62f8a58abc0cef9336aedb87838a2f23ff07039e1abc586c39d38062df8e0477c0037ab4ad8fa7171c5e68987b03176ba9c749f37583caee1efb2b25aa7bf8ca6058828561e7abcb2b4517ab05db1b2830145520c10fba7ac6ccb1b124af7e02949350f3da9545cac30664a13158ac0d9680278705274a036759a75313668f6744658b684fa7affc40879d3bced69acefc9e9eccd7231e6fbfd79fc8a2d40fcd5f5c23c3db7c7abfe778d26c78974f0b011115929201c82e74721696c49b322f9ff8ca8fbb4eeb700c6b5cc68af1c28a5ce604fff6892936b33916d2dfc97546ca5c29b951397a364c277ad62128d2d8ca54cc820cc04c64d5e10b5e10bef68fb564ceb95170f5a05c3f36891928a280e7ac5bc1cf0ef3e9d67095cb8b7ebb272b54702bb1c9b3973c2fe01f338141e3ca6b9618b711a95dd159572b5a28428ae5ea9b6c587197e34c3590100e475842b2556f10922157bf84f2d1192fc9f5fc297703738929b3ad2cd2913a7c2ed06c4c62b9854868a9fc8741f1111586f8324d62cd5fd64376e3a60f451e332699ba4cc4aeeeac825be08a7384d068ebfb9b865c9628c6f75966c38e07ac2639ac033ad7c87fe7cdd43bc2d3dadbc29f48eda5ad5c6b53ff8e81187c573f5bf6a186dc74a1998baafbe0121135bbfe09b6cd430890512451af0897ea25e5289a5b9db539acbc3af98d470666520b3528b70af1772bce79b30276cad5f39b2696b2db8f8deb975f7dfd8fb782493ea83038c48e5b298eda63fbc3eb8a4610193bb159dae666231ac4fc779e95f6ac6d808d589631e42a816cfb9419f43322568b3a978d45d4e2c56d0ceeaca0adf0dbee50b1264ffd954087d31870ca92027262a3db6ba1c708eb22434ac4e44801ac8662df774e9a2cc2c419d30169d0c67e983d8d9ede5fa980ee1a5c27ae9ef992cfc4e9d6e3070bfbf15f7781c1c8343d3ad8ecd022ae46d6d83ac4b702dc6c46f39cb483d681496f367d5d4056f3bde9086407d1bbc9c4d104eb05a1b26dbadbc951ce3e17bcf60ea8e001b7ff46555b83edc91e8262d657a67d925269d480f38a8e65c4bd5b3847e86182827dcd529a698c9ce2b92abfe41cd096a41871b0c972833acf795c1cf48b1ec48fd9958f0dd371e5a1d036a6df4699e28f3687aca8375d5553fb0e591fa411116cc952bd276b7c3e9dfb77f3858e0d617ed66fc2f63253f0db82e100b1a6b4c6735e7ab188f8c759e0ccc376206ef25196d1429ade4824624a18f6197e58728b2e6056b8a91a1c09c217a5443c3785083077ca787464b32f914311175828ba03d07087f993ae8c7c908208bd4f410ff59d4e820954b2937277ee788336f5f86f73006cfe7edd67ec3d2ce6470ac0a1cce7ede075359c187e3504739e50d2448f0fb2a7d19ec51144a1a6c050f72554f8027f83eb184e8f94581dc7b663dd1b7e1c0f8f850c0124467995f4d636623965fc422685c5c4f5f5e2c902107d7cfdda1a8ff0247aea80653de96c45bace6779d6147e6e573589761674f150f6f46589e8d30175842c03d767a65c4dac6e44188ce94baec17e5b038170852accfc0131b95b825bd1b019c32ba11fdb0c311a8b4265eb811c45f3c6c36f19739fe1e6adb9dd3d20e7a7f8464387ea0e6d76861cb56ad7d710028f57c48d77b0c4d45acd06ecc83f8621fc5f4e100aa44a16ed1bb38aff331078170ac4fb836ccb2f844b76ee4824dd854f2e44b47cd7a33119d9971340a1d6ef14709de2e4e95049af0877ee4d8a8982735e0c6a27ef0867250461c70eeaffde4ef39f811f74fddbb9869d64d3b95574406140b6af199f3f7ef351056e080bb0efccb180513d1706f78ebc75df4b062d2f7936708a8c42be669d0d5ab42f014b373536796d5141fe32a0a1ff91d0a63a3b27084052e03f8f45cc7aa27e43450ec27a68884bd481c85dd27094def466d1d92c262cdb79eba41b1318706088ad90052b6660f3781f46e58b4ac9498a75912e5c10d9f425c6dc2822932e4bdbaecf1693913cbda4d7b7289d77426ae53050fff306f4603d2553652a46cb36d028513b651a60ba33be4bff4fa2b428a17920bc65acd0df8396abd24ad906a8fb4c1f65df9fdde58fd57c20108184c52ed427b7b1ee4df84ba6ebdc5c137a39debceb6dcf5d867a544bda70b6d38bf05afd44c616a1e38fa30387709414fb475a25c9770674276b177bdeafea83d7f464732ac60b7ac693a657040e46a89ea4952ac9d55a6cf9609e15734a0dd8f54e3574254562ae6989c868fe152b657b5860cdb563f270ad936f0ebfc6352fb1a46dcd90825678c2685a7fb0afcd4b3b2d7102dc80dd0d7b1217fb34ce7bd79833d94ff83b084b517fcc05b3c39a78522563482a4e43e734f7951db30566d9dc2974589feec9cef392df6c77f44cf40c3882b426dd1ad892f5ee7f9e9db9cb3bc83ec13a1c04775674f76afb9f060684b4a4bd6b9c21fed1748d0455d7be54e19b32c70979d77edee81088948410bd3fa4044875eb3dd463fb4f22cdd7049bd402ebd875c03816a43f093d7f2fb3200735109d573e261da5fe6fa0f0ab84bd1dc0a3f16a7ce65fbc6785d580ae80d615872119ab905075a6006b1f2a9b69a9fb4c9652a6659d414b7c2577123cc400ccc5a083261a31750bc24b2de03dbbdd292e27f77fcdf2fc3e4fc826dac2f8951cbf2355bbd50be9632c3ee14d5931d5714f12f38c0ae6053c93c5e4f1c9cd29d8be3d64998c41029c6a18e940a9ba7f14180a80fcbdef18b29fbc218f63b2557fad8a1faf8c4f9847e71e6f8666ec585155afa753865c72444357b640be61a7c46dc75b80e641fd01a1f61d12bfcc15db6ce67364962eb3e5f0bc1df5968d1e4f18052489dd18667b32a5e80bfaddbf53cd1169808131c76878681472d14c03846916eed0d578f7b2780419a19553658e9c68d29b7a206b389d13dea4fa92fd1d074e478839de483e5d489a89c3dbbc8d6db26e41f1e9c596038fbd6210b5efcfe34bbe84d1497db8fe488426e60b44f7eb2e148610f32188f2e7bd898ab1c132428986ba04e538c46dc067eaabc0b753633fb6cd3f3cc5c08d70fd7b05382a9fc562f1e42aa9313d6e72f9e09ebb9490e4be612a80e76f030d896c8815f8025289e4a92ead7b8372e2de8cf4161917c43ff442b709b4f493c7ce901a5a658ab861e5c20a8190867b6a70b673c485e605bd192f946658ff2b0f94f0369f66f65d1345d6ab6a142d1415c2493743c5ce07d4dcf09558497edc56601f6e43f001bb73234bc5e46c0704e71e060e1eb96f288a8f29a7edeb0b2cf096d2a9853eccb728fabe56c91b394d04d180a1db7a30a6abf1604b4a108e7c53cdb6a41df3623fc6d27418ad54664b6563d394a41c043eb527cbd6de224aea33c9087f51ce6bc45309042b45af351769e80c288f5895cd35338ac81977ac33a5d3681a8a2819227c3d4520b204387cf745c12c4908ad1f3f21fb13aa05da8a481b7b44e6ed06fc9c96ca849b9bba1f2431f7c99b64b8f4c41b9695f89a508dfe61588ea060988ac7e312b873a2fe42244a6a98571ce59ada08d957d0dcef29252952e2acd24057703c379581616d74e76f6ea5f1ce6ea1f1792bcec2f15bea6282624181197e345fe5cb40f6a4e2ea499a627a73ff8c1f2e0ec9f365b55df0fc2962f201cffbf55d48dfe18d9dc0b0e12fcee925439227b12a40ef9ffde90111a954928229d26162b467c5eb7f479f6bc100f3cf89b817da78f70dd51efb98c6bce6f44540ea99c7d3e20892641593bdaed67f5ce762f0caf7d4821c02fdcc4b57e29e226226c0ca46f8b2668abe43299b286a0d7d4c5e4fead9e3de7d3ff2404d01edaf5ff85ed91f1a8b5cb91a5a8a0d00f1175ea536db5e1e37d3b460756524355385113e5b8dc647ea1f75804e5af9e6f3de39c618f0f5d40364575e6f374add9b5a60b28b12c33f8077f910d93ea27d09d0ec5b1c0166407822ac7e95fb1ff8c0e72e136513fb279a4cb8f22e2beb35477cc9dc78ec4acb342e74985c80970357c8cb147248c79cdaae5db0f15d250da2816b86bca38dd955477d721fe852269f845f9334992886e8a98ed047f01d8fc2f78bb4c644978b40aa9460e53eb4338081386e022a37a2b3ad0a7ed4ed2193dbe9afcc35d86ac969fa0aff790a803232627468d3717177123d76c571bb80c79af5cece0f47f8d42ecf52ca22d4bdc07dc046c96ff103bfebc5be7a21e0c62fd48832932e723874498bfd8f90945e3e744588bb2f7d93fde1cf64982df7a8ae884d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855615f2d08c865a14b570484da8d19194b5794fef5edcb5dc13f09e98f36d4899c4163db081a7ca82dbb99110e16c16c565c4a6077f7a5cb71e0f0f196392b3c8c6321ff0c7fbd93028c22ae019a5d245317e76d64d0415cec511362b6358de5cb652ce63fb46673e87c72c6b791781e1af9b6312a7b16cd84493b62e6002a139afc6f1081bfa0409050864ccb8fe7f5aac3d4246c8382db66cb9603ce2c29d69d1faa1939a2813fa3a918d0ec2314bd7f4bf2d293fd025b36ef28680270f63688a8c43972a2629022026241dea9fe691f13b3d388f1951dc57a2e6d0e562d5cffb7067731d08b0aa806443650cbe08e79e47253ee26fcdac7ea79e668114a79b893fdb7215f751cd0e135d32cef5aa3b4f4a986051e5379aa441ff2b08db0dd7133360aaefc0ce8736e8efd522b9770ee67d09d474b8b3cd6b581c5ddeb58c443e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85564604e3db373b082283432b4c27a91cc748afceedbd9898c6009acb24f13a029d0a7e20e0e057d6a8516bf791f6ca06ab2818de46bf68fd7c740ece7a721e56a9b886a2656ea93e048acc87b21101f8ee98811e15faf9026ab9745d6925daa64d2ae63c669266c6a6c845d8e4d678782e92b0c8fc9d4b1da422c57c7782135de314b1da3c4a910ebc34c1d5232c4897e1979c5c2543c0074403c736118718c9e91f7c2e4a1f8387331af1103a7a61617152f3c3e67eaf5275b2da050e5151e9bddf33245abfd38c242c1e6f495d20a8a8cbfbe3da450f8750caa485af77b0c4b022d128e42af6cff35d463040efdecb3a32f4b1b3a2e749b066cf4247a81ae6203b945d5b9f4e4115d1c6e10eb12c507210ab8ee01d35f51110d1f6325a50714d84abdcf2bd91deccee429c7c05fd830b52c79506d00f1c01e764d12f072cca699c20cf1336cb7e4defed4b221245d20cb381d55098bf5431862fb5c613db1e58af1c924a1efd47cb955e1bb1e4215473b9dd15d1d748626b73d3902ea5f4e3cd38550738f412dd2ab3ed367521139f2381ecca70b80fc95507cd82b1e039d5112eb5256b209f87377db7f3942251ac2f1b23f4a9030ada6973437aab1c186cd8e5ccf09ddc41a9075c08a91d74f3364db50e5a699cda8f11f11dd7f1aed95c00484ad3f14bf275dc113e18def14afbc4dcd63df2f01d41b06a5b7b09c3e871aec9e18d678cd6cd2618ae4ad2e918514faa7ae5480781f3b27e60ceb441460892d4d0fe97c4179df47360311f854c155ee7ca66e7d91ae6969c8e9d31ffb112de956a2cc3aaa7208816af1d98a3716d9c527af02921397ecc510590ab1ef3488e6690baf86468441ccb0b0528d936d89f4a4901694e2f66acd8b4189f4373f05b8758d8eca2c3cb2858a239395f33915a519c43b548d7b6f481b29344c669f493202b50ed7cd57356cc29d4581b02291a2a8c08e878d5e05233634f6f5d8cb0ced3c8c1aaead7e8869fe1c9d30d1d1f03def05cb66338e7eff0bfcaf50cc29ac69a5a8847c011f3eb60e99103f4c734ee7898cba79a5ce99c01ed9479f377e9a710ef290d3aabc1bb70c7350d9116b18cf0597153abb87b1ad94e1104285cc6d70b9cca4c85beebde1e5c507a061ae5bb2c19af8c846d25c7a81967cf19c5086243cce525c6cec134f95473c1ff8b4695df1daa9a28b15416223221a25a155935c9a5ebca06705155f954e8ed7a740ad72440b11435b68d5842bafee80a53dc344032f0a4229d7edd5cb885f03df5f0ebe1d33aa56739df98bf2fe22a703ff28a1469eaceeffc84a4aaa4273ea7a2bab8ead4ff6230435162cc3f681d05091fc85015b40ad1e83c4b88608580d7748492f245edc0be3794ed2469b1f1c4ce096f25c5e6b89409b40e0a59a4b7cc850514ffdf3e6c4e25edfd20e2869d585aa717b7b3dcf874a742d3a277fdac1b6cbfab4135d7ec4c980579b24ea0e60ba3799975880da2c5d63893c6a4959aa4f3ec1e16fd1596483073d1d9edd81528746ed36b73dea70b45ac98b8e3ab259972e30e88b088c238a84c5c1eae2fc413c6b36b1acd4df6a318c0876514cccb730e15cbed6911a7a9c4df30576912bb76691cb24b0e23e83384d4fb74e0665f3d799b233edd5ec5aafe153a17c45b413ba196a59a34992b3263aa6f965fd3f7447e8bcc858b681aa87e59b41855dd578d2fae061358f399aa4876c1fb5b895edbb69e6e8c84545758032483abf3a82229f547e157d33987293d5e2cd87bd4c22ae17cb442fff64c7cca91c09c8c22119e8a95597bcc2208311ea3f04c553ce77dcaa98565d1e503cd8cfba2655882c84253a0ff1f80d6d121a8f7e7c672b4b3a0976f3c9e00c659468509ba4f6937895fa485b6faaf4caa98046ea55136282a2bef767a4474baea7a72abe6af7555e96450f3389f061eea01ce2e3285b023cec3cef97ab3411ef40d50834ee9bf5b2f07b23349d47c29bff14fcc41272c61f51c51ba892152644928a2f5341bbdb9ad36b8221fe92c428b094726058535f6805e5f2a27af7eb7b434e478d68590c0c069cd24ecb982c2668da82cd0a36903e89a692f9aaa01ce37c023a32318068df6d8a4341f483b1a56ef2fc22dbe3cc765e44795104c445f4e3409554564403120c658f81de264965d7b9a78763aa828cd41d2ed23b4a827a673bbb1c15cd3c7b7e83f96ee0e2bd8c379bfef7fd6e71c1d532e98ec891750f6f3cbf278ccf2ec8c352cab468006104d4f0d9aab8fc00e0d9995b7f8813424932323f639aee345669837b1479cde7a34ffc7bf1b584d89faa1408349ec26cf799bb4eab8d32b6c168761f6171b81fa8c5dc219e04b662c1ce92d95afc75b2ef26f9b25045d5f79880128fd15dcbc895678adc4d61628955f7259de28b7054a220d2745eeb021e09715bf31853f7286bbf2dd1ba854e099f229e6b8638d07a15d6f45f97a5c8ec5b1d21f358f6b16133ffc95ada51818fb358e1960ac71ab2df2a5294b608c104aa2007989423b9a7b8cec6c576361d65b821c8e9dca4c49f26cf135a96d5fb26128d2045447a51cf11ce8b0f6c7ea32898d825a51b3e854be1dda5ab9b68ef28199cffab9f09b5de86ab69e5829030f9d0c83d6a3d1ba20564991ec49d0e4f150b41b303ece04bc00a4a60721e7a9dd0b13fa6578feda725c579e96aff37e2fa2fbc71073c6bd7a0aa4ad9cceef3b501063926cafd7b08f75b11645dd3be86434f51ae4ddfac3134fbc9fe1a2b96de71c8a768d348317a2db992f44fa6efa68d9d79b76b12e3c0ab6822065bf5413cf9b866f9125963310318e3f7e724cb35ca5b6d67ec95450acb1b906b7689d634c64e0a2c99d53831332f50508a170e261843c415a53058d27b77259413cc10e1ab90789c06524b8dcf3c047b0b59bf093966f5b6fba1554dd1b649a931c0ca244e3f0b5985fcf23b6e1f4e04bc9719c42210fd8fe9db48c6cc7f25a8324228d7090c05065b57e1f1795b46f3cc152faf35ce766d991b26363d39e5f59fd778198e2c6bb587830f371fc5d5c656c9bce11b595f90748fcc5af83dbb56dcb0d7860096364ba6f600f0de5138472995a562c39cc84e405d0f8c5dea9bc5da202cd1478656bcd50387afa9926377349972b484179f1bd4a5fbfc846b22d7042611be6f3e0163345c57ee22d4ed77319bef5898f87eaabe8956840b9c5195d8dc413e13be3357986be2a687400f5cf153899fbebb24a2d87dbf84c92cc15a4936f4ca926425ec2478f89984c42ba6b5829498a6695ac7aa586abf4aa27261716c70f94babab7298e96adbbcbe3a90a8d2c874f7691310281252c70c0ae6038653c0cee19f3ea676116d3eab05917fc8ee2b6bd4a3b33aafc95d4965b513d44f6da3ea37d9552351c33baece352ad3f906d2c7cd7226ffe6aacfd0726c990b8a9eaa46f45a67caa34538f3fa343d57966f1e66a081fdba9a2e5c9850c4c6c784b60b1efcbbeed402f2e8f4b5555c80e00e6bba2c7bb442f196c980248a4473ce4117b5ca5b86b47df966b89fb786460f500556288059e9e18cd8c4bb14de9fa6398f3d3756f178d3b73e464777638aa20dbd10cfaba93c437154163d3afc199a22804846fdbda9c3948d565f169dcf784126e7d3866711ce46159b9fbe1b247a356651d7b8f912045bc1db6133bc51b2f92d9088af7fcd7c9a642a546ed7d02db043124ef48678e615904ed97b4482098e4069b3db4fe157a550ea928e92ddbb34f531b019d45dd094f4fb5b1043543940d0a9b8242fb3d528b2bdaabea105447059704164ddc67a90388d912580a027f2a9afcc2614348c898dc8e397c29d015f438988a7f24685146a874e1316a62fd6d51e8608e4d8be7a49f3cb63693c3120817958dd7c2b951c77e99a1bfa248a6f72e21ddea2da911b080a826fe42347c1fd942fe209ab53d08cc27093b8303a644f18bae6eca8886ba91ab9d0948a6e8521845d7542cd819f4d2fe86eefe5280dccc88569e5af186edc201e0cacddc12a5a9e767b42a48a68e0cfe14d8b079ac0c1ec7fb67325c41542022c852b5ba5f5a6d3fdc0e94d62598a825e8be5c566dd34d4cecaae1a008a3c15baab6ad750ddbe40d2ef8ab9878a91afdd33678140c5fb837eb22add852c2fc1639d6399deb5d39ed795d15361a22cc27891448a0ce59bbfb125fe407af235f3f905da27882dafe5f41067e9974cec49cd45a7dc09e0cad07bd3f5acb3d177f75e33baf28b1567720e9797faeb2e4e4a2cff75244b02b4314f112db8f6fd73a7a27fbf7e82d282cd406ec5a9a7d4bab4a95c0bd8facfcaa5344e3fe045aa67832b4d618b31d91115a6f00c15ab6ddcfd7b5a9f84117cc7dcb08f4c1299cfe775ce9566292eedbec8e36133c96bf4af60b440f283d1341369480ca65ca6ae9cfc8fb5298ce319ef9bcd1ca62aa2086e33b8bda34f096734218b6e88d0a9f9c723b570456734e6a042fad41d90924cf536549f60c6bf12c58b8d7aa20afbc94a4170299443bea22ee499854191793f5530cde572c9cc7db2400154849cd919d06bf7ebb2bf0ab276962a985fb6526a81741b70ba0a6066ef4b509996c9ba05b230c5938f8b74629365a8d414bdee8bb2fee30084b4f92ad66ae8f3ef8a3fceff3282779741507aa4e68fb4f4ea12873a77881a9294ccb6c80e66db06c8adbb3a6b421bf4f1003a389ad71b0d950ac6adc4887081200f1b43c856ef83aeaab48e70bf809c65d4c70a6dce0261608879555d07f0b571d1ae997ea54392a0cfb916837220fadd8b7b7ed65a8298ab9077385eb2971295e66e39ddc624a7556840b7311c7a6eee6bc2b2c2e3210bfb12020c8096ada7f5933426108b537b20f3208741958c272067ac46255846aeb54ecd49e06578243546527b1fb8f85bc57ccd26ec60967b834e01479747a854d865467879548602169ddd39919d992aed308e5f3f9b97cd74db024ea2c6c5e421375ae41a1a626800f4e7bac5d581643c8100c6eb0e61ccf04dc0df674fd545b82e49fcbe8d47e6e140755ea55905b70493ae1ae8734472fb10b26f0d680cefaa2acd81719015d4d7effdd20f5d6a6fa0379331ddf7f0edc36c306ff779f2614b713a4550fc6c5f756659afd7219e40492cd01a609dfb4e0a6743f02b472156c014dfc39bb8266f25418c383bf98d547abd784d89f255f8f87c0a336fa10860f695f7bb8b819831a6a452f04e937d1458b3feb8d1ecab8faf3e8bda81949e5d74d63ecace419c0f29e442da94b070115f044c9d309bd0ff4527c999c601641ec4dd3d5da84ae7211faa205bbd0f910200d2790200a168fb4b60eb148651628bfadc4e7e9a396772b32224d24d2d1a047964a67c8484148fdd20a853773fda02103af1121c3ccd9682197f99e2a61dba30bc98c11c30ae493282a9ff1e110d6007d8fffc333a35b67902f613997c74bd9b961c7f0578e8dd7fda0309044034dd3a4995b12a468f09f55f53001be877846eeed2f4c421c0a0f238188e7f758c039f82a0cd4dabc6584c5667137e83d55ba9e5ebd7b21a59dcaaaf7621afbb38e9c473de49c94ef6048457adffb29ed4ad725692a902592d2f0a9ebd29801a7723d99f41d3e9c87fa7b1e4369813592806a509d259ba7d18d46930831acc3ef0856377ec757bb24ac544f654a76903f2aad9d046192b0d1ffca0e8ce0213ad9782b71345de7d10f3edcbb335dd5327b1733d83236d367588fcfd75399d7da170f060c69913ae84d0171f5e0ac33766358bd6f7327f4617e0a84d43c2242dc833828c42caf626f6b14aea9d4c5692de9415cb595e841225cfc0324dcfa07e1fbbf39abb6839953c3167ac7a51ed267fee2f2ccf5734a06380786d9560444aba36959a62e02e43af396ea79723878f4a72b4f32d8e3c47b4427ff5cdd934479099f4a670a7bad4b2bc8704b19eed79716abcb73ef30c7f2350cd00b3c88604402b12626a9b90a06e74aa23936ebfb4d1c58a69f2c55a7ac562281636f62f007b87facc24a38df5c818dd86552c312a63bc71b5993e10a209dc7e7326ff262c9c0ebdffe5645920dcd021deb2421dd8a44b5c7625883cd7357ffb1aad2cec71e9db0ac57339d6cadbb85fa3f2a885b7e04c97ec1af308678959dd71c4f0ff07fa85d4e9614531ff771d409c761974d9dec35b4f94f58b86826013640c9e4db850d6a81a34c8f218cdab03febaa96c6659995d16293e99254950e1a219e57c29a9cc461344a3d7a1bba447a19bd75ccf3851e57a318fbdad38e724069f7bc11a1a4a53ceab1fe0fe1bf5d5f37034f7812bb68d62e478c7001e27b5a55e3ab0c0f0e04bf4222dc00ccea87138731e04b9b1aaa2548612734483788926fc95610f6b31fd72988a28cd5f705267561cbf6050b155dc50a3b1657874bb0403439701848d4681d6f8765d6afef702a5e9b0b47f4b5d5f9da2212c9fd66ab919cc4e2b41906bebe980b49f30fc35a9888840f8ee3f9d9b8cadfad84165b14fe300b76c5229d76734f7899a305354230aa97aa8d4cc12eb3088e3d0009305120652d3a09ccce74b8a553aa89ae9cbb1ce64f15583f8a63c48f4bd2a333cbdbf1ebc5bf2bef9fb881d69ffd5c39855d30239ef8b2f1d90e4c4efaeb222761451e58985dcc01645fcc3a1ddd45dc9828cdd5041a744b9913a0939510ca47d5442a49158623763d25b86df74956b52ea389159909863f48c4ed3d82225b9ca07412ece0a1a10553fe7620c63f13946eafe2ce549b38fe313cb04c61e2ddcbadbf615124d915d075ea1f4f540daff52abf69ef0048490f3e1faf04aa6540be10628a86a2e1efb0f8375cdbe52bd55a98410fae9e67575d686931c065a05680bce1db6cd63e29f9f3d03e80e769445d476412e90568c5930657f58d90a9d62caf6ed04ece3f6033173dd62d6bd7fcd12c80cdf185018053ac5b6f4358564db80d495b1a9fd66db17ee2983003b6c6a4b517b2131d5b3aa72e92c929906cba802c54917fc807cd7320f203ddf6c125c93bdbf5133a729b2a5cdbee06b7da981acaf19f587a16f6e762e91212b99b647422c6eb7ad058826815f32680f6e35af897fe547a67b2c1d1aff99ce6afa86fabb8ea2908afe4b272041c4a821ea0c6146f44fa4d1b6105de80d25ba2cb1fda9ad49e0904026bb901e82e104f6f738dadcd3782ea10b8440bc1e8e9146dcd3b2b9333a0787051f84ace5ad429166e2d9645fe2f2730070ea71de5f7a2623b7ad39361099398d79f9529d9ef85145c380c5ce68f4f9d6aaf10157da0ba989c3e78f52c6cc8a2239f028aad9f742a14cc2b7d2f6bab06ede81c032e14d7a73dbac637143ae89a8e475a119f1d424b1e8d4e2bb32311f96a07fcbe2b8dd945eed55c62be54aced186bfe2c17a87db7c617e474cc25ad189d21df42c4d23a4a76678e47af3ec79c2952497b16a80f4599d24b7d8dc7d209f3a147b45f30aa5a3cf03135576a50163dbbdab6027f696ede9e0369e329d4336f78c1a8f2cbfc5887d2f4161454ddbf927ebd12808615e7e7502340f4b0ba1a43186c0a2920b23c17d9ed7603379a786524bdbfb3203334b7ec22a41d9f56d893a74a17e426b74df03129fe5cefb1c4b9e91da94f3879276471e1e26e61a8cc5d566600c6f0d1a86b09970da4a03d5441d2df1080375b0f717d57d4fc1e28afa78f9c25b01014e76df3a0c3f57a4dcb3e06a621e35457b0eccc48a8592ef5859efd8f96de33935feb0b3ea83cc31b5070b524d34894575be4a2fa2934f7b5fe3f15b5709ca8c04ac2be4cbb2a436da8a5975b2c9c0a686763261ee881497c0b5156e5accf87e54d28a0baaab7fffbd41853f6eecf3183148f21e136ac343f9fbbd00b0fb467d328920ee94f2f032f6dd0e781ab4db11aefbec3803c204e738ff48799414e4394fd15d3b517c5e4f94162d0e406687f0b40bf0d608bbcf8c8ced7883e3a6f56f56269d951b15818262d4f5fcbf4e970dc274eb22251294e364b3391582948eb3c5fa5a2f02e58d9af87c12de94e6c266a2efba40d0c113f8ff9b5c68d14118566c9758f32f2efa6f236e287c22ffefd1f67cb0b6ea764c94e07dae35c51f572b4fac404a2f245e02c176e167624c71b745abdb932c83d77b539405bc7cb312028e8ee8ffcbcf98d89308015c9043f6703468ecf327b31893a7e472dfa5e31ab060d49fc5ca71d5974cb5231fe49da8ea7264db32d867f6dfbcd7568f9c6b6f8b2e5c940a8337adc566f9c2d980cfc0167b97f6457078fdae33c9777cdca3d1cd567bf6f69cca5edacd6fde21dc8fae63a6c1c89db4d3e631f39a57c6ec3132cc17b82234922d8fa2bf0c4cd9a939613cece1d448f8069fd04d5a8c936d8b7b48c189d5498ecee7dd132ee8c837d31e35f2ba33a524fa37e160ca75fd0f685135764e464095bdbcb16165c73b15aff5863c4dbbfe140e6d3e9fd5491e5be4e250ac86be0ab9c734450b6d4bbf934269a0151e5357ebced6b84f35e5983eac67d8beb1a0a9676000622f5c0525ebb748e6a7e73ad4bf6d4daafa59734bda733c9c7c4cdbd99350ecf14dc01f4dce9227b81ba837d60e81803fd71b31919ce85911207e86259371b6f59f84f77aea7d589452e90c09beef8ed7440f93485ad10e7e96bacf4b26b2e53a74347fdbecc1ae35fc60fc382aa63c8326a8bf948072291e0b99efd051296659dd4a68bbb260d6b7227535dbbc602e0e64f8621741f3363928475327ed0b0980bb67699df3704a3b7e4a3d7d39c08615212f2c663b944c30c2bb3c371b941b4640b3b09e1b6b12345aae1d64778fd9c765e7fa0dfd74ee6541a669906a3bcf1e50f3a1163c9f16a19cc438fd5ac57d5599cd2508a71e189585837ed9dc175083560b3f931013881c364d39268ff30cd6f72004e63dc7649b652204a2ce47cfe36abf3c81bd05459ee8f849d1c92457b15132addcf38d60b6157560f1a90b04ffeb24be0e6369a96b209a09f56807e05dc561b834b656bd94253f4fbaffcda795f43f287755e863912068e293aeeed3c5214e6d9bbe3afabc3328823a20f051b2187fd40423f9b434c7a9650e9724ff2bec2380fc74ebfe31b4d12860d8b6723bd322b90d26d00daf69e889e1fbf17509fcfb97418969a1500371bc9b67a15751823c2f195ad52819cbb4edc99d09f832d7e8966226d2e3c625635ac9e39646f105a16d48de968090e1d76e1bc3c748cca632d684cf6b60004228ade827f9df1bc0e9c4397be175fccaba5c23a63d60f8cd86dee53f9c18e3b48ceab7814941f8f63e04e85dd4be58e5f64290cf8e8e4e13680a10d08ff5aa5584c00b9a4a68649e51029a76e4e55e2833e10a4902451e617d034b5c3cdce8c94e4cf76de43cbe35c67a58f1588eb772a1bce7f402d164072f2ca059fdda4b4604a7beaa07af6b447b7b9a6dd5269434093e698507022d13f18a4beb57d5fce64feaac0635898f9cff5cb6b2fc31618d71b643a292b198acc398ed3fff96d412466771c58aaa9785a47305f15e53c2aaac085fa39721eba0e1ed58abd396dd06a0708ea8c4d0084673bcf0cd34393a7a951d8515947d4508085ef2ee9657efcaeead03890fd435587917b043d5a02831333071453dcb44dcb16d5a0d53bfb574ff02035de983b538019367c16c24eb61ff7365e075b71a2941461dd91a575419e13261fa9d85f9c251d01a3f6837b29d7973ffe504a95123f59878b68071be9852413aaef454fb30c5fa1166cbb4043f0757fa020fab9d243c050f4ceeff0fed9d1781f7c752f76454f36cee89bba3063bb936fe898bb73b3f47ce3455ecb9df3da3705205fb3741dcf2bb534599a73fc2de2acfa71f9ee1a5304674622b7f2d427d30d755efdb74a1f53a6abf4e6f1bd1740f5992a032aa65cbdb539eba6b413ced3e3fdfd4fc782f85a8919e4d6040d28680d4c7b2406811c0e374e0a8784ad5491cd3c5fe30b1df590dd2adc2dae972456ca3ea8cd3fca29e18c9a444c74eb8544175f294d4095beef0348ef8398e8790f8e4b661865263a54bf6241a4bea016f93aa71b43631b0bacdf7eaf8b6aac9f0ac76f11d4f7f5410792e84f65270287067aa2d221d71241c0f9d6962fa5dbcc93a0247a1a0a645444acdc724986c3fc9fd2b8126d2c0b256ed695420725f1440d558e25d7291ebb1997b5200b7bb5d92abfbf6dcb9791f820683d8f8df5add717f1d2b95a8f0746bfa51443cf8774ebb80f8348f4d4f9e18f3970b21f8f1a27d607daf5db83c7b4b290f0812c04305e0e84ffcc265cdd9828e1e660eda0f5c509d9901fd45bd7b61569646535c9570c53a778d2e623c74e50c81c14a73aedee2eaa64060e2de2b1220d9956cecc0ad1e82e640d2a3346afbcd60acadfc427a234801e1131ec333d6f44cbfadded8980e3fc169496070f5c065805f3ce29583222c62c75dd00bb24234825fef7d7446a9ceffddf62025242819b0846a66387aa963fd0a9eadb75d0f002b10b0fc2c701a1d3dd6434d4e9418ce062885273db1b1206afbe92dca98e49d40bd4cb6b2094c787078618e92fd812515709287f8beddb61992e1fece251d699f8e9df2632548890f19cb52b2def984462c18e9214f061a0b66c3e8b3fd270a38697533ddb7b4c1e00ec68021105a172b4bee66820688ce5545e20e4dc7561ec19efecef5af1706017c45a85e9c7c507522bb31d6d9fde9176c74cd43f63655516d62dfc29067a1609fe8e5a382eb7e772f06d7683daffbc96d122125d9f07f362ba03faa565886dc151178e471f9cc606ec7cc813fb4970504993cb4afdb1ee3817ca1e4f8634df96f25aebd3508927e15efe6c4d9ca0f0fa4945472ebe48d4a0e3201af0d595ce2f73e24bc0fc2e86af875fdac54741e7fea0bab0e1e89ab0805e1463ca8b6507cc654a0fde5ca53df96ad11f814f0551f4a46b762edd198aa2fba63109065b177f4da88e6205fe960d6b1aee420a957a972d7c0fd4c7c813384ca19be47caf11a8c42aaaebab9e8e1921cf72e62b682523930f2fd3a8992f4146a7ddbe244054c8fc1622deaace3bae1e3d686057df4bf4ad2841db30408345fdaad362837d9bc0dd4aabfa450150e24ff7777e315361dfc34303f993a9d558c8d374a24d526c8b35d1d595579589dd5907e1316ffbd50d1c481fd0a23b425bc6e34eff3ba618a65eb64cc61feac3eebbb203b9a9b6364bccac95a649f94e804fdbe716b10076cbb0f3fabe9e6c6a81e224a818a97926414055ad933530eb3afe7b31d0cc7831c602941285a8109770edad7ffbba39c9bfe79d7669e46bac2307fb1b65626961357b822c86b86013e46185956a2467854e4440e9b7dffd7e646e30946f9103f766d54fbfca9fc51a18a7cb85eafcbc9c0466395a4d9aa172e95cf46fec00d279ff66870b7bae29d8f6bd6e0340bcceb12836088cd1641e939f78c06a2d4775b51bf9bc80890e14f55a8b98081cd275c8325d8b854540df473de57a3c04286ec98001063d9f34c8b1404c7dc2b40c869ca6843503c997c8e4ffe25253b0aa31a643f8dadf2b417aa943e436812c3d4b37bbc8567588557b7106dabf18d20db59bc6b80cefdafe2fbd6d7540dd3c317e96ab56ea60cb606aef6e87e388b8293fb3648a5d61af94dfe8014bdbce712a7f8dd834aee74bd7f9892b9e956b1e1adcdd53e27735da6573a278fb5ed4da35b88a21b7281289560b6c27b805fb0e64ff846ce01de927a50a858ea61ab87d4c224754fa321e4c6027aad5b85550932d96d03a97f383b970c999f3b1ae56f000709036e1d415c7c9d0d2d2aa809e40164182df714c82d7629c5a384c6d57b61bcf29eda12d5a6573e3457a44aa509fd7f3f622a24f291b2ec74b61db75a22035f860137ab52ac9998cecbedd2d60086894a3201c5f6e51708152980399bf1a8db51b74b797372d5e6c5ace3c25d49fd5e398f3130a279e8bc460bbad23e22babd4aea831d2aa56d1c392c95ef5ccc978fa3dfcdccfa4a542760adc64bf4778836ba06f953f1f91df156d9cb7d528beca480da3d788a15317a82a26dbbcc6f7397fb9abb165a493beb710bf83890aa1adf9187a44ae45a9e1c9f5a572249633b5c1dee9dfc943f80db730fbd2803d1f99dd5f4c1be0e50b5add1777b19ae28080c0545afc184d2e02f2f4f395de8effa5c2d80036d3d04bc435b339f7ccc4f613c71a1c2d685390a72134bf98f1f8b09ad20aff4debd9e0aed4efe031e40ba08fe9fe4dde4fcda456c316288a1820a2ffd9ba845bb9a84a87cdb9d8756e10ecdcca1942253d95edac24e9e7ee64b5c94c18030122021f5440a4f08c0deb93b4e9fccdc91e3be2e4b4ea3f589cbcef3dcec6caf54e5f6de21482d110accf14803a3bedee9eaf1eb15adcf1fe131e01ae18b560bafa99cb9f7c6a4b99e58014b4bb67cf344c8c4e88697dceea444e190c1316417d253f45fddd0efc9d6df0754252ce52512402ef451ee71a38418759d7989c353425ab6870249001a5dea83474d024d47acbf9739ede42c34fcf7f474e588522609d7d14763b37a9d18ca60e5ae36310e542bca166c666f1702040609103e35e8181acdadadd9a87b33712429a5735572ecc0b237f74c9421bfaec3fd6b665a53888ddf147ec97353481db704e701f6d58b024d49661e10a00fa6f06aa60a04b2a8ddd2f57bce118e4214c8546c2a69d8d5e6ba291e60fd7ff09b9e8663959bba730bf61f8bf5efc8904b736437c4bf735c195f72f5c3a848ce67e69abfc2fe76150b4ce14434bde5feb1f342be3638c968efcd362cdf5dc405c0ca09a0933c5979152178b84a09e9472a56d93b568b675e4a1db992f0e4b2e1dabfbbd6d055771826479f47d44542a7665b901a1cb6cf500daef242284354b96fa9a3fdfab47f197ae1bbde243c66e9a950e5e5ee6eb083a3ed955c6b128eb2e6d010274951fd49d4d7d237b538fa6a80cbdba00ade9064c823535aa4a405ba487f1b416534cd4f9d0e37a5b41e47e122c19cd93e4aecd93e9b79f7477dd21d6e4ee2137dd226440c7beb7a6e323a90a6230a53ba297ceff0f70dd8642bbc083d7fe18c7ff143942dae4468d92329f6d3f171681d129d09ba03209c46f70e742eb3c67bbf352266a1999a17791337c81f504e9c159d857eba2a3523d61b3165fa9656f93da36ecf0d714f5cad82e45564d58ff5f4b593bf2544f2b93632ac552874b01cd8aac46c00708420eade9f41a9ae15b45a97843d7c8a0dc31e9a2ad1b1ef5169ed776acc1b902c5465ca8fab044ed4739420767e5e48abfd4db0f3855b217ac49d8497ec46d1ec0e554b3655ae96d80eaa1fa7f17adba5e3fa11100208c7c9bacab255e234fbcfb81b9d8825de38669dff4003fe44d18caa513ab364853b8f190d2775307b955a07abde4ae82c57a452b07e521de40a154914f424d39db11f4feca248ebb8bf74e89a9781303e379f0fa84c822ca97d5fde12f10272f17a640652f994cae6b3b1b046d477f7ab580285f996778e443bec3045f14b4210465be08d0813195ea04fdf34b27ba78218ed08017e831a037cda3ba4ff4695c1d5199d90b8f2e30c87b2d2ffa6dff48a53d1d2d9836e109e6a55ff4848a213770622fd24d2dca58a189de27ab98aa996460f62a8f216f748fe448990f02e878f9c6f47f9dab55a8f5ae9b9596890a65a1082e9d85ed539695787352a5250ef7c395df7c818b4d6689865ea431c8ec65448a4db6a169412d858e01ee69382786dd458b91e15beb9d311d5bf5d645ec3db13b4758c82f33d596b2aaa434b0ec914676418204d5ed31a39329e6d8f05ab9aed0237757c3b7d10a2c471099645514d797eaaf97f55d894dde219833a25e8b8e4071773730528875753cf175102f4bc96c44ea2efabcadd9aef1da95568fdc232a8123ed80c1e5c536f36bcb1356eaac0df8f99bb65da2c1fdb46aea2d1e3564ccf5a3e1d52c22fd91f56acbd0ca9fcb3d45dab109dbbf4186b267be87fb9221df89500e0e7f219153f9088c8bee95ff936e2fe3ffa42d992e67e16079a7789c7ca0321c82947c9b6873a093b0dd132bd5ff3a9722dc21d6229ecf36a6f3cdaf2e00cf43908b65cae595611d7e76978ff499b5090828b1696293d09ed6448170fd9cb99953f9177535fe375dce132df2be5dca0ef339242e348d6e79cde65a43864cb5ce11d8b709e6db52204b7863ffd61a59f9f0907bf47fae88405d5d950a2c7904799cff8f40c08b379ea0a8ec7fb3e872d27e8e317ae6c0b2396911a0ef272d9b14b45e1801368cebf08ce217bcabc220510868dbb7e87d4aa9f9ff15491578a91da60b880a37f14803ed0aa5debf7f75f7d087b4f9ee365f5298c8f97c7c3e8975bdad17c072623c8fedc076c36b6c44ed003b3d8aacb421c55d3dcb80016f9661e8e9beb298998f39014c515b0a116aadc9bf09908e774433d3ca37a4b27bf998546ab44c84cbf88fe8c655cabdbe2297da5b2517ccfc0274ab4c4c066f6942f63d39ac6ad372aefba352837cd7c5a1b019d630b81b01f72f5944ee40e41011d368c134b798021256303dc880ae30ef475bc19e822f95fc0107116445765b4a1283305e4a8c1260dd4d7564f23b2ac83ee4e0648bbdac6ccab044951fa53dcb0f019a2f6e1cabb127198d85a1be684f0a07f3a9de5d67cdec39ac7b124247abe17c0f8a6b87b3f49ec39a0e790aab4cada6319a823948c28af6b3b0cd0d70cc5eb231a7d744ca9e598915502098dfb600807eade52f50237c5219696388586438a8b6578509e33496a5ba60b85162b97ff0dc24b3a2336288d86c1edf435a5bae5caeb64f6d77c5c3dd8d5f66603430d76092c5a3f9a9455ab63507a170d32b451cb05f4dc7f5d1ca8a3a372e116e98066434de46387877d10854ac1eb13740835103222762fe7e01345bbbe2db2b0811d9e70e3edcede75ed998a75a156d3bec316d462aeddd7c8af5d289b062756eb555a57201b36b596e4769ef269df5ebd88b0df4a43b8927c322b613f5a13cb12c17f9b2406631afa975bbd5adb6787fe271226e26bc2d250f20713dba666fe1ee0e40822c874edfcac8d2db983120c4fa6a3f89eb12579f3aa411ad09ad56cae35335b1aa203d613620bc5cf0222880525a24fcf4ab55595dbefe363470ba00efccd9f19c07b68495dde4213943664310e69964ceb1ad1b05f474e40e7b1f07d50f8083a5c3882f93307cc6e6fb3b1d0c3b74b1b6141a3aaf6829ef81a711346b79431c899ccdc79df372d69cf8d55d8c198103b9c375af3083e61825cccbc3813ededc950f964ec746571e1fbbc41a7555e3fd3486856146700e2f67db7611820e92a1dbf572970b4b7add2e87ea2da97aa0d6dc199532d1328459987920035365aeacf41e4427c51438e9af53400ed2bd246a13b5511406448a475dbc3160c9f937f4d4bf4b8239cdd93e6da441881fc29297fd5aad73ce5144940bbf92575e3e9906c22cfee8691a4e09983bbda84040a8d594dbfaa5da8c9670e984dc2cfb5de22e80efda42f4ae2497ab8cab243cd1d118df1d1692cc272c6c3170bf4629b981a2226e4421cacaa90108aed30d6924f1827adfc004ae780e5d9c9755609862528e4a6460ee1a72c48618ecaa826b3b60825d0cb3330214a2fe75269964f4e017f424409865e407db947b894d6342399251987290655b12132b3579be718076ac2bd2902f13786652a2b7051f96d93383e094ec9ef07c2db4306ed6e168a0269ff9415d8e9b6e3027bedda7b4738d59d46e75ae7310667f3977374a22593484ec0a13965a93feec13138ebd01c21073b2822fc8431f618a95482b7691bfbb1508cca13de62e7250a63dee508299d6ff48201b686248b8213cb9cab85942061aca1c9964eaa4b3cc8526c812ec0213746e6a9d88800b765ec789792806368013d94df443cd3c26a091b96812e4777e31d413a4620954084420fd3bf402285583806d2d3b9123c334888fec1ff07ccf6e47bb030e1329ae033e4e42b80bfb424d8aa8a571e9ef8fdfa60d43cf0de3f372f27a86639dce2313f49996dfbb6e1427ddaffa1b442c3ab8e9968a7596b206ea59dbfed87a949a0a0f484023668c6bd7ca7823fe700686c09a2f05e49d16b91f10483aa612286468d4c9a9d9c76f546da12f6bc26e907d4faf90a1e6b5854f9dccadfbd1e54a7a1997873b6842f296fbefbd4f15322a565c9cafe987172b75a44ef7f471a290a1f3b9c437eaa0095a58a653f7e0cbdb5de3879e63d5afa1416f3aad64e22e7ae92c86be96c22b5b8a618a069140da4fe55ed1901897c6428360355965e8501dee38da9806f5b91f7dcd1ca46375c896f6d9787bfd10f3247bf501c0e78000c0e9e4269dedf29c5f6453a1e98d481d90bb7c156a3b5ac824e4c1c9ced9490224b1fbd35e8141c940b55026a8d47799d38cff8335968a66f33877e6bf46add987b5503f5c1a6cd3ebdf7a309b7b486fd30825d47e1d72febb2bf1f2a3fb4af97668545bc18863ccda5cf77fefa53851c6c843df63a89fc9d61a6cf7c29ffc69861fbb5d9abd7fe73f50d3761b70032fbbf5599f8fa79c35a1db900ebef4160075643416e14cee3407fc452145a1baa1d4733b04b4e9b5a115713403aa587a0e9a7cd9b5058ec3a79eb124f3ed8cc6ed142eb009529e105110cd919cdc45340bbe5330de99abf50e45cca3fe6f21d3d3b762e9a2c6c263bcd94cf56c478a4389633a9e18d7eec57b6c5180818fe064003aced9dc51d380fafd456ded4816737be0413436e5f3308575a1b063351c9a0ec36e76a916aa8b40bf3af3b295992eb52471689a61417025626ddca6be3f8f3a60e286111136c5e62b860d622e269d2e3952276fade2c0dee78c0e1209b890ce52c3f30ef3919871a2ac03b83585c05083ca35df86d8bf970160bd50f50f67d19fa8703e4d96411319c6766caabf5e0c68d7da5486061e3255208cf6033cad8f21b6104dafd38b93e0da4c1850818b3338a26b72da82626064523126ba6491421ff66e96fb65381452f247eeb2816e4af9d1bc0c2f58e71dc26a8409d64b90664d5642e794e4a024cc6e522deb245edc2f944715a6e4e8fedd8f39493a059f6ea8a2f8f63ae69a4220b6e3864650e79a8d8b7d22606d4ae7a0dc34789a6a8b82b0705cdd3ff3ba0cb8bde37071be43c892930bf7e033e4f7cd329b48cd80e673a7001fe6da6421d96fb4f64fa7dce0bee65a8acacd6d5c678edb4b63df77d5a267d998697ceb2e0ba283912cb874666e2f35091160548339937c3ece07b7a15a183011b407d7e6f962eba10b18fab969b68c42a39cf9817ed8be1b794089920abf9878559af85bb02429597108c6309a5b1b1ea4ce84286b4d37695cd0b49103caecdf82c921f9f0404f0917a1defa9b747917209daa888344189044009f727a2fc3e2b8a42b9401b1944397bd8a897490f5323761e792762629e6b656658f8756300a450b822c968fa1d5f3fa646966114b734a2a24184187dffe006f2774afa85b8da780d014d5b5729fb68a950f49d4ce5b5ccd967e45268841280eabf8c9aabd6e75885b73278e5ce363cf93c8f44671a55204269e0fb429f1657fb383dc00350aaa6ab2373bdbb7e8799f6ec9d83d0f4069d713a30a3dcc344b6ce8856b057a077bef0b8f5103f2b7d30fd4944fe8d553b74ad6b4c1ed5b4b30a1476147a8744f02d8a6f822b7949c464548a0c9f846958bc917db3ab8214a1fea19513813725a3c094848ec1f9e8015a60af0d795dae1276964471cecadc27da5468a7281b057c5afc88301f5fcaad406713c770c48cc811bd454114475711fab5a3e89a4377df4775a89931e45877eb306f6a090ad159d6c877a9c22deaacf8fd5d44ff86db78c89c321ebda2af2090fa23cc9a75e814749cb8f949796240b8bc81e7e08fbd8646409def2ee06b780f36238475d3cad5dffc44f638002ece44e376285ed1ae19d1680e04965bd487dd7961549652900e10c046469dcc044b45ccc9301b0a6d03bf22b4f6ae310868b02298e1cf6ee49d16191e7bfc51df980862f74c3e189b3d980b34d2c5fb15f1bb3f537406672a66717184f7305230a62399d4cf0831f8481b70519f3ff549bc163270f6de76b3f4cc8c3f7f4792e4189fab330f8fa89a0930808cf5c10bd5e8d416035d14b949ba43c68880341cd3dfc14be7a93af278f6f4f2312e57237ee8003d7c85638a58d2e87788b9d1dfcf648febcac04709d20765dc373a2fcba204443aac09ef0525190e27ec6868adf9e9665bc97564d486be07b5e64d4780bc562386ad7148706117fa80876d7333ca801e22e244dc69371b1ad18cca5caa5cce456885098dd7933c5f25ad19878609bdadb928692856f3fa188cd5101200655388fd720563f431ececb31bcba778c05d37517458e4f2c8551496063397d6d73a74bb0870191cece22dff12a8898fdd31854084facec58842876d33c950026fb9921f2dea5ae462f6aa4a43bb6ed38b0d8fed5e8f56015328d204c2786342838b82bf26950deeffcd1eebee634edee39496372b370be89c2aba323b219508eb4981c322987ca07096f58ec7a81910995f05d032df4b4c68a027d49deadaf7094eb7c5709d677df3c36814afb5ca728514c09b8b5b6e28a58f5bca7f4ca0f70fd0aaede73b6207e0921387dd33b241ddf2d70e9682f904eb56a4bca296828519775826b5030efade9a686debf5b8e48b6c0218ef4ec200444d36efb0ce39e71021c5075108cf5772ac604d7202af1742e3d6ec93ab04a76cf49682e74ff4d5f7f3e8dc63d3e31dae08f9392fa3cbc129a219f51de9cb6759cfae338f97d114fbbc7f3f2738f487b55e08706cd02f495771e7d26ba07be3ac77ac1d33fc385f5683e560844adb7a12a15084b86906a6f1118b2ba658e1b83c05c6ac5afe9534ec8700531320d2dd3d628f88118ac0467970462bc95b0f2e91c761d63b7f2d955923f18b3bfac7512cfc281ddf17d5971b59aef28b4ac18020eb7a98cf274ed2e715f857624a614a83b4647b1e0d3fd50a1163a3852886ba5da403afd2722cfd269256549574fb681eca374d3b717fc90ca68a216416f5906d93b8491207ef3e9aeb51507233952604e6378f780234fad94cc0c86da27f7410f2cf8529b1cda15a7f8af03aadb6e0a6b536e161665bf58998e09fd30d5319309b5961bb7f5976b7b04f3894328fb61f85ab5eeb41d4620af2bf872e2ccb3994147f0d66782771e138030dcb1ff0567a599f096fa32c4c640dfb74f5c16312fe16c2fa0ae5d2360f8878858fdeb0e977a841b39fc5c6ff6183f4e688a434777bb82ae23f751d6685cfdf80436065be4ad1d4769bba24e77d55f53b3ad9d293d65eac84f8ded6948e02f8d78cd9790ca3f07e9c2b6a9f6114679b9e763e8903a9beab9bb756437dc2e61aee247a7506a138e4ee3f6e61596f1c208570d2fe56b8483bcbd90d20c466a7e40df1e2b6a1da6d341fae4a3583821ade71724802180990f69e10b1e6ee9bf6f049c983d7d14ed98c0a2fc92c4d2c74083606185d5813312e53a28a561e1c5e2fc8f70b6d7a202b0e91e69fd21dd70fe5a4c4db992a35f480774f672540e9ff1f8b054bf92b74e83e8e8e3419e06226ea453ed075a4b20a7a29ae3079a7ec8fef888feb865a7459691b492072d4e6a2faffd66423310ef9e6499f92671814bb5e6e0b3f9f349b679ddb9bb7df4430447645b61d83b88f359d489218dbc807185ca1087f716755ac3719c1d611ba50f76f8dcf0ea27bd0425b100a1ef806d14312c11e05a4a7031f2209f7c7924ef5fce6ef1f62ff3da446ca39fedc46d34dc873416a4b82048a6dad3b97a95727c18ec50c4276d5bbce094becd4551a4c1970dcda328c24c229f8bc1d7bc62c3be7130b51a21de83cffde90a6c7ae6a9ed1c705c2d5ab4889635f81e004ad12022c80b06e25f2b6fc88ea233b2730620a676831c7029a78366fd8f0b03f0c2d3d7567574f82882f0155baa860659ed9634e84667e355eb8973f881e5660cc0300427e8a490381efc3b8346944115950da5e5a204cd679e204818e8ca3d2ba3ae5234a34a96374cb6a012d5dac671523d34248533651cc8e2caf8139947d8b8ceabe40d20b6a2d9a3f88aacc45e5366fc13d71ad9f89e25db38e96528cce549916c076784cd77bce9d412751961201de3721421b0df04989db9ca3a598105d3082f273dcb5081d5a20fd48364de8bd2d8275e7785192fa919fadb3f6dca40b32c2a4434cc0425ea0962b86aeba6dcc51b8bba1365518c4feb8c012f19be02792651a1b5be301be8ca8f0e5a6bf9c703eeb8c8343ccfc5af6e3b53da4f30881cd5b413a54ef9df813e777980b25c81ac5b47828345ddfea7d1415baff91836e0b93abbf94c28150f45b56e17d81ea42fa699ddecc92d8518fc6f82a4cc5bfc31ff9536bfd676e1b6a309a4f925e7f49311f05103308c508d0eaee23b75e37d8b61bb257248155cc34525e023986d2e8c62c966b6808902dc201149e489481a632b3e9367f4c9c5d63bcd5043e25a93ee2cb79d1ad75880ffa65b04094a617ec5346741729a7c086b35043a4d4efb120a1e985122a46169d1b06bea52f2f6b6a59d2b3f028e7246692d71e3c8b53f971222d720d585a9396cdbb4550705e34e1c34d20aa944b83af0cba8357d0ca63535c6a31ea05dc650a9e793a4853c576940b26ce326fb31211670430dd5ccbc08d5ddeda9fcae06392377e3b0df85e4f377db8545f2018d479bf249c3c3d21f7cdd3cbe28992ad99dccc191bd1809ef51663f20510a26aecc3dbdfb6ae1c9d826cf73e06af9f80b06e0305f4243e2ddc9ba2c69726b8cb9c10b948a58e8725ad3f8810c36004978122fbdd52d6cb84f49bf8e522b140cdb19ff4f78efb2c26b5049a17398982835eeb8457ba301ef637ac1898cfbc309b051745779e0dc9c10d9068b18cce55176feada175036df1c52e1c28045ccf9165a53e4748b8770b7db791921207aad2f06d700024fd2745cbabaa58f1cb38ba43187e4dc10463c1c127cc6548bdcf1ef4ec76d9b16c8e54831e122b45e43b2b9bfb7437958650d7504518e663d56bf9429e34526750cb4db59524343f19fa2c5050a18ffef61a527173a674e9a0cb4c9c7c23495dfa6457831748ce9226e89cfcac377408ce3d394de349021b0c324ed380b3ad1a13ea45360c28ffc68a84c32780a5ddd1efa4c376d110d34df5092ac7f4054a35471ccc5b273f09fa4106cc0847a2860f6ce882bf1f4e6c55844d7fb59d71358e2dbb5aa1c5040dc6593cf0869e66c8a432f5861a0aa41267d2fab7c960b12d95c0d00dd365fd6422566e51ebd87e3a57f2fec0b56a1126564343c255e69fabe02a7374a4d81d571163485d7cc8ea83738ac31ca66f3a5155f64feccbf6ce5953eb53cdb1d0fc657a61110be1696400d93b3d523fa6902067408fe13cda8247b757828b58da025c35e365a6c6667abdc12e36a1235a15dfb5fca5f0e68a99599853b35c1401b65c7f2f6aa9ec90ad85f11438b9673609922ade746bddcd0066620508b46e18cad683843347fb4386fee3a547be6742a2d00be3ab54507d299d034064e8cc5db06c1afacd697f47f6036d8f6a1555a1f7f9f2dd5bb9b5e889634661469a4ebf73cbce951e022b10c828b698fb8bfcf77f7af1599e1ff391e179f0b0e7bd16740dda894e3c786cad454be9dde16a372b14a999223c08a6df35df10c7d3a3bfe78996f6130b577650faee2eee02644258fec24a497ee317a3242a98936c6849dd3cd324c72ce59eddf3eb103070988eb2116932f71e268593443da07686f82baa8631106aa127fcba634a9e627df4fc979cbf71fc49ce5bc2c65d29522997d004f0e8b572de41ba23fe8e1230fb1e4124313c13c7bfa40ed71caa918ba0523a72bba0bcd2cc4f5ae206f62380f26f36039a93c59925ac6804906618ea1f2998436a637d0dacd13154232c46ab98932742975eda110a898d8266c844d8a2e98f17b92163485b62d6eea7844e47c44e39364dac6767c13137566cdfd73073d72a7e727b79d01f1a821cf5bb450e708e086246525a2883fc9f735599524fb377c8b8ce2bd3ce8460474e66c44d61979583490e52e5fa35017d3c3f669b905ef7cd8862730b989e474ad905c327069f79a9b54ecceb0ec02789a3d1814dcb658801508cde7d2b80ecb4c25c9f0842cbafbad52f9e6b6ce7c7801d6eae4d6e61e1d28814fb6227159b875217b5d020a395f006bf84569986b2657dc43984efc93d3e4f7de209c94e88f854bf7272aaee7f078c00a778d382e4b1bc95b9358b08a95cfdda872f8d661966b82508fbba2ab1481e8b95642d53968587af5f8303d0c113e2b884d458d9ad5ad448ecb33a4fd9ed7bc5902ac270a85c85019a3a127790e28fb3e1a7f1ffd77b843e8055f8e546a0b926bcea14698e4f8defbb7c78d5145aa6e1e3f05982a47e3f9303aa047c4fef84456b5621b02df02e0b3e0bce27e5b61deae4983a30334e8f15acbf880f05965ca863480dc4e518a3b29faf9dad403b41c0af2197431894e67d8be8d84d375fc1040a502528835a67efda9fb81dd54bca2589a5c8cfc7cdf1dd56c87ba8b9132f25c3537e3d10ae4084015d1bdc55687375c94959a123ff9845ddb5946177f13282798cbaad61c90a6ea70acd8b18eedc67396d1deb090933fdb47870c5e216db4a56ebafb2c5157bcb0f973c7d308dcc402cc7c70aa2c064ded70bef148109426e8e0a598df5591ab0bc83abfc3ab36a19d65f30987558fd2539653c58cd071759d058b008d5959ed95533d37c712df74a547d98eb1d8e6f9dd4a808974dce22b0083038cc09b5b1c49b7491febb38e0d645691cedc8213e7c8c0e6aeb06b87f038a5647cb4212b4783fd274d78b18d0512364dffc40c25bba86051e88065b60e796d5ce00cfd93824d653ba28ea06a374c6775016adec0ed10f3afb32729e808320abb7ef4d1dcf703282e91f08d7b21abdbbf61a891a605312d61f4a4b7e18bf88ab0b275fa7fffa512f8106c4ae124dc8a4424207988f6d93908d4ce5530eef3dba28ae31afad159aaeabb27e07b7e6de620958221b74c490cf157f98a241fd589b8661da41fd7c63e0d4d8d39d0c7618c46f8e13436ae47807eba9ed171c99529a8fd71d8d5a3e1b66389ade12b7b67b3dd021308874d19b6116578603a357108e07c52f2511dff34876969fbd0cea6d7d2261f4a4695df881a237005fda00078175b6570515bc6206939f6e62da0f938452c4dd61382ef79d8bbc5244785eb57a0664f09ae1b49f231a76a8cd15a435cf4e74804a843e054d0df5bfe27757d92ce39593618ba29cce1d550567bed5fd63360a7151df9b01708cd708ca81cc61a4493f2965caaf5459f46fc2b7f56c3b039fb2647d72c72345a7d0db54445a149272b01fadf5b915ba6546c7f55543a26ce09fa9793e4bec1689e974ba9b69c414fcbe926e49324957b01635fdf0987599d0518cc1679602abb12795d239a84eac8bbfef9b1828343161b24fb5767bf4f09a6bb996fbf66d546d948b5745f1ee251828548e7e010e3eeea9524bf5891bfca7d3d692ab17781e68de0fe5c79871e3a7c2b5c417a97dde88e9b2313b4374efea7fda0223ee728ed76bdb10a66594d0c841414a32650af216c93f4c17939f826e4fd30d2c61de89eb47a62d7668b93361632c67c9f314e859b017d1f46449ca175c24b2449f78ca3e9d9c5fbbc63c15b18206dcd20fa404b9111d1cb17b39fddf682739323ba0407f8838ccbe3a321f2b5f5c9ad055d48082596d3f8be17fc1576f3492a987108512a2736272481c79ec824f52cf6b7d49da3c04c0f562b977e26da393c4ab5d8eb71a786f033b82bef070adc078c954499fdf8ed7d2b0e35ad8709644a0b633ad53d92c43f083c59b4bef423fc03929f2522dec5674c30f3703b540b6371d3638bc4c9c9ad24acf3f798f8363763e88f80f529cbc37828ac627aaa25f13f33d80811e2d910bcba5addacebbbe7b0a1e0fbe651e15247a2be9e6be5c7f959ad10e444e4437a33cdbd2ac6216dcfca2b2c7857717cd3254695b3a63793a337c6bb47a6419186109ca549f9a3e721759fcf1a53d60dd584a52c8331b404cd55a64f7d30e73da13c82e4b70793e6920a1b2b0e3a80efbc051e4ee33495a2c0670c5b9c7c2d5b2f799554f8f0605b1348f7ac4ee7bfd9276a9aa7371a14087d5321d6f7506c88c7063f0af2a41d0ceff4bb63342f1fab62855caed75f3a3b059c0049622d869d1ea0597a261caa7eb0903be696017349cca8b565d366337503b145f183c9a0755bcdc31afe54fc46171fbf2d9a3cb7c0f21a5b8e76afd4e3249b3857ca3b559675ef2ab1e474f76b902601e673bf0176b7b291fc3e4ff6132090e8d2134eb2ba65bf45dd2bb2eec046644cfd027ad84d96bea8e75073d0fffb6393bd061b155d9f2433917ce3ed3157630653bf3d7107ead94a4b42c351ef62f6b508b2c2bc13e3370ea8a3b759b424d59d1eab7d928ca0ce468dbcdffd4351f34b5201aa267a29ef306a26d43ce7e47d895c8895c342d4f63bb6849d8c048dfaa33fd911ea62cb37529407967957f3f4ef611afc2cf2958cdb80b7a2cb05c7ff9079b985beeb4d4a5fe136a37736dede702cec8c77e0eadc3324ef5b3110ac15de9735edda6b5fe7c5200b79248a19bdf6f61564a6d00107455158d3a7c2c657fac55a560de18123e8eda3b46803416a265c92b6e04e92b2ee31a2cc0669b9650a13cc9be7da91d494aba3784af409077559ff1448703c7ccaaca34e80d8a455419378043d0377b645b7bf66e26a9e11ea1981c427b194f866c2eefe0cd9f6008b58a85ef34f4b0bf8bc8767c6681ac74adbf1b2b9b7acec8bc2673c027ca6d8c68d1772b9f5335ad3ae6c2e92b7b063be335e64674edafdfdffeabeed73938256d4487f06c829335901de5bdbba922a6ad06568d6257b0c96d24d2ebd76057ae63819689c31cf99db7709440bcf5e668fbc66439da4ee6990604ed38aaf71ff00e2900f1fe5e0c83238c399fff7e667e8fb652d76bc6aa575f85761f0ae2bd2345f12a255e930a612f82092c7de5b75dd75c6c287eb53899a5db1e5eadf9bd5972affcc734f429597197c6128221cb0bbfc943035878cf615870358718c2c3f8b59bcc439881c398be1e4ef724023be982383e5be2239d5a7801f99d665fd02ac3c326868d78301b82677ce7ec419fcdf9e9dee0bc8a2ad23ce02d9a766c0453e4175681227abca34a523d3ffaeacf25e926abbf2e4bd673c90fdbe76aa1f39946d69869e523b8fe6693e04b021b0beb802ae832d1f293d6a38e7e359ade30764c26db61c12214bc9c838571af2266acbe25dbd41c116e04cd7c285dbead7d633e3ae58d8428470111c107e3afdfd47c82971c2e9ad8149986d61971f64b1673d624660f996932733dc5191dab0ea3adb1e9915c5f8914c050cca02e0a1e1000a870a36e745ba86e1fb3245b9c12fe416106668195504a27e7986c2862ac716c5f9c956c62a4628e571e8565d5dce4e7090bc2c0f2394f63bb0a82555f368695a2cb53a783859bd24bee4e0068f5d8e6ce6379b571f5562b41de80a56636440934afe65f5da2966d6699e4e8a87affc34cd0be6c8642fac70612a7b837b2a6d6e1c886c7c1bd598c110803c19df08138b9c193846718ec825e8cde0a1ef97d540388d0c9ab37bba9e0b8144e2d11855c3ec6bc91c5eff003a55701fe362fb179e3f4dd3a3792b1d070ee132ccf825fab23b87fbf113f89cc2cbb01bc8ba41415a8b6b0ab4e922dc1a0ff72af173c8904330d989b9e6613ea400bcb7976aeb2c334285040ca5d8723164e0ae334ccddf73578aaabf8503d2b7d63c878bfba96cb4c68835a63acec0ee2dea5da8cd3b607c7a4d91b1aec660324acf9ac9fa650dd6db64beeb80bde660d4c99d5d9c2553307a15d35a31db68a1cb3e7f0ea8f4ad30b6784903ae5f475a22230006d3e0e352dc45941fb74e25159dcfd567b66d932812ced7bd67adcb64f8b55e97c660aae52329becd3468f1c52f0ed3cfba8f1d203f715dfbb7bea0dd02395efeea67f6465f8b5d688dc3c05b07896f270997a061b0740fac9e25454f8516799054fc51b90a584b464934ceb0d37507be6394f606d1ba0e16b10826573eec1946b713336f8194a9d712fa765029fdffce176cdf5a368b112b30cc08965c0e83fd1341a0594b66278827a335b1d37baabae233536dd720e559ae256247d892551fcbb43856fa0832125295d0267b32e0427ebfa1035a46f2b762100a993859b2776fbcb300e0d545fa3b24c851374d0253187af0f6c4d0c6a743526316d465a3c0ad8f7f942f89674a6deefb38533a11bb65b1bb825383e71f954b41b7bbe65df5b921dd709947b7ae8f65df47f1bed71757b9872c8a8b4819ba6cc88be0d1326c21024b678995306f361cd63362d17883e0be5dde4c91f21da72fe57aafb8b299e517f727c1ea157e8c314da69b655520563d353c6942bde4dd9af7a7620073741cccb8c37506d828ce434805bb3c7c96c4b01a64adf5be30fad7e3fcb2f9480939c96be74039a9b609bbfa063bb9033ad7e9b3bc9a20b98fdc69dfbb291c8be916ad8bc5fbeca82a21f6538998a239b2e0386a0e2dab8fad8b7c4d7f876828df4213c510e5901e6fd3bac27c2c48b88261698d30e607ee2373a6113fed941ae82ed876568679605fdf09515e809a6a8555a33973cc761e250d89c7b8c74a29318f7694ca5a993b354f649ec23df9b01581ddecffa4999fde575428837416d69695998c05c523d429526adfd29748617347e73822965d2dbe23c376fa7941cbcb33f354d1c3f82622ef0f66af5b354ca847e907502fa82628e5742ddd45f59754ad2775c344f707d4efca359d40e5472e072ade9ad88a1635cb59dcc8023ead2d3f2f930a0e380efa8af99a2a63ca323b11cf2752c3d2263a46d7bedab91c962450ff2544f7393137ab2f2c7742aae34485176c5b902e983140ae8ef97e5611bb911547f0fd57416aa48457b6a34dae4142fc59540dc507a2193f3d57c1c0b48680142e530c404de58377e1e3ef2496463219162abebb4c1b80c231920c5cebb332e38f22887d7d9b7aa761ac62edbd32cbf854fd390aacca33782e7db23ada4d2b7756a2a2d32b06d491ef79eb9718cd9647918afcb7f5b2f3c1269d147e38220ec89e8feb24a8fb002a14e2c012f99620990127fe17b7e9f74d997394336aff87462a60a6ade0b865ddef23d7a0023bc8d1a31f3ce5cd0f084fae28def65cb0eaf79a0ffaf35a50c36d2c4ca441c9cea9fa80eb6f202ed4a0cf21f2910e9391ac4dbb9213a474904b8be6eb53209339e2ed54e45d817595c935cc5e99dccbcacbd720e2b888a600b1aad52579382ade515c39e4992741901f8a88f1b8c2bfec0167fb5b610f7926bbeca45a5516fc3fbb15988bff3c04a2c2907d3a10ad05e9f0fc2ce1bf149b2b19d3180a3828fd27c82fe613b21eae2c86a09e2639120c8503959c9585445f76c7fc7a1e389e729e477db81efde9cf65c01bf8130e2a5d3f715b82981a4909e30c4250614909f669db5e1d04d224696dee047a205dc37e0334811d995837bbffe222de07f22d7ed137b96b3678642652cd36f94e9d73271d420ddf5a5f8146f6dcc7974ea9c049a6e2c1a61b4ce50af8d85d1fea228fb37878cc99d225049c7ad8122c5ee38bd9a4bc957c869d875f3cb2692ba28fb221a282ed44666081ec492e93c4f2916e41d2b01cefcbce53f8d6e51db8e7c90a5d6b6f4914a9786ace83aa6a8e17ccb3d131fa4e0ca99cf6a254c04994f6acea1d33d77b23c00d54ede909d09be91507242a57af82fd607db09d618a8f748e97e56c19d68e452dbc8e6b675d31bfcac882764d8d2488573bd7862cd7f2805a1232c2df6d9835fe4eedc5ab6bf1453d205d52bc16c6a66975beeb0e36ad31c14e2529748227f7d713e16b8250357aa2bc260734bcb5d43c77b7d8baff412b78633e50166443a68aa355dde5a99d3b867b21c52577a5e3beb168b24fc0829f3878563eb4f4cb99f27f2390f65895a464f140d520cafdc7dd265b4dcff74ea70d02bf5e54c0c7e199e03813b8fe2d4cd62cbfcc78cf397b53fc7b4a369ad5ad7db7f9f6acae6a37d6a8482c4f08cce4867ba39999a3e2a16932ab7cc51817ae00653f3e437c8e4a38086d9ccab82a93a2d1101acdad92b49fac1fd0a9c932f4598f0862a2ffbf2a95fe19b29c734614b09731138eaadae70bee11870217dcafffae13bc0d7ca29f79230c9c06b7da8c1ff0cd962467a274dd99e368696903a54c31df703cfe4763d2be1c7138b7b6914cacc989fb73c26759956d8f268ea3c7b8ea33b14a9b633662348124e334a21fca66a66cd3864e431728ae7e6eb80dda8024be737ad67a6056bc9c3e339f33a1a72b1dc152ce6489197507457d035726b74b9f6dc0f7cf1cbba28cf57f2ca9317bb76d847b3bcb3596ddab6c97ba82f945b3cb61608340b350ac9d477631302657f719d4add81187c761a4479a84a0af85b90104e64c42e4a145ae82152b21e9ebdbfe8d93b163abd8514d17e2c0e270a7082198eeb706ba10145ba5dbd3728647b811e391390ea9cb172741ab81449a2fba450d80852fd4810bde2f539e7eda3f2dad5d91420aab0bee81906c9baa50d4a5fc53635e22fa554520ac4080a02bf20c4f412d88ef66c58b3f4b97792f29a17481623f8869353a93948b2ae6ad73f8d222f10a5a74c0d85475dc82fa28c336009fb6c7616f9e03c2418208a72fa5e1cc6613be0587ca8c427304bd96511cd082079f1e1e4ed1aa1c15a7a07125520fac2e08f0b9cbe0a898fcc19530046904b55131bd0aa1c35af344ecffdd5a1ca3321c532fb541bdf54172537d3f46eabb70bc4727c0a473d25542079469b615fe67e577e14f4cad0db6b339f49c24f9308e0c0bf1cb382c814dfac7aec7b071de22db94bcd3a800137f5052454808801083a84a977d58ec3d55af72d7dec407437f38a88c6a06e66d715e6166f89682b7cacb9933b4f2c82f4c7d8c3e7efd19013fce422ed033d289484f0fa03adae4e5bcf6e550ed3a6a7c94c12c09a4f8978b8a31c2638eed3987c9a9074124be7bcd4e280af6fd7a3a6368f72a80ed71bf44e5e2b32460f9f7a91af756b2d7a6026582e8d20169b71f3087fc5b0988a69e394ad35e4dd60cae247cf80419fe1b318a55bf5038ab1496c959771ddc2e8aa2a448055965fc03e3e6f5b2ddffa2ffeaada06b5bbe5dda7df2f8fed3c21dfe6aa1bac73843276d51f8b358f724a191165e14f550fb6a1ce166110d58181a4bb374de5dc03c7baba5e4aa5fbbdd022c57337fd8aebd299a2f251efa54ca061e7c5d82d46fbb22a164924530974fd3701b555b0813bfd5ba80e0c16152d1548696f3b255a688128cb53955b60be915ac36feb0f1a1b08d6b6fb363b18029d71cb05216408e0073c93852b659b49dc7bf6ccfa7fea6b865f78e3d5c2e93b46aad6bbc1e8d7d526426ec3648b09a620d38d64634477a08822ae322f70fd27d6d2ba03b3ac3df789ef5ce6465bc5f4ca87a9687f7bf9478d08e5db94713aecab62bc6b27f821c992a5c445395280da9ef2c7d8756a21973b3fbd79560a412a9a350e0e740da92780858a3f29f8e1b9743e6d8b436f835417cd31c4b0e5c6289334012feb4bc8ae90925b158ce02abadffad789115dcdd1dcd6855cc7bd1c66905041e4b348046ae6699c7d19800c68b810314279be36d17a77c8d7e8feb549cac61df7d916088a59de79cb846132b01e80bbabf0c0b101c4eb840c78139a94b23692aeb484014a42e8f7a54004ecd5501f4bf5f3d1fe4823dfb5eb410115de3188db528f02cc536de9affca61ca0916029518f1779120f6db5b15f5ce3c5f16fdf74e35759738e2de2c602b0a5f863ac3b0a20107d4ba986e4927d145b418e28626b6a66d2fce90dbb522fc10c7f09795b90b73548f3224e0394d99cdf892ba15df0d9e511a6f82f6f86d505f5915528c28b7c9b570c35cf6aee7bd99393728d9caa64cde5ac6791b500e735a09b9e4b5cd683878a8178ca58027e57c762aaaed129a6ce46beb590fc4d377da4b2a4039eafa0425bb7923fe66b578d702a8e73943c9154bc6cfa774fee734a4181dd519dd9755e1cb08e7442f11367135b524342054c9b285d5a0639e338e42750a36fdb2a419bd93fdb69c849603eb01be1a39d9dc87a0bdbbd9427410d5b25699a38b00329f34f5b46815ee7b08d70c6fd0cd41c20a5582b4366735b6154f7a70b1e34458e206dd560e52994dc2f2c34e654ebabee6069692419cad03668af6f09d3d32e9d9a4d0faea0262f999402a666bfb0742078e1d1be8e44a98537df89ab6d7f63b972e577f4a8ae143abc6cc3bdee3161a6c62345ec30b9afb9a6c983d4d7bf9a3988bc62e6c9bf4fa559f8c9c2ed8298287b6bf4c8716ff02f89e4723d6c2075ef0cc38d8e3d054464e8097c35267c3c54b020f81b9fdc25e4f5c0552255a210e835696b1488fe72fc202e8410f2f7ea9e37040b8cc18dbbdfd856427b9c5c758959571818509402160c56b8b11b821b728450e51d24eb7135d76e06332622f389475d3610e6a715ed3c1d3b278855cfb2ff613da9fc9090b2115d702b89bf9a7deeb63899f3f6b2f84ead1b48fffef15e0dca6e029f7cc79798d7da1c6cac8a10b4bfa07f17390af2eb7c5d3b6bb8fca49b8dc01861d624bfb083616ff2343c240066646d5c8109c1da67af45f3385d7de0f0700b987dddf1f01af9348329144af56354d990446dc15e779d66f2a59a51710404594f02eb277bd6ce5d6fdfe760423d108aeb44b0e28d8597eb101b659d2f7842b8a400cdc103c8164005869c8a60e5650b061adf67c3ac4459913d11dea18910083d75d7d9de20bf8b22810a00bcf4a94f244159a319bcb0163ab1655b3fcbff5b213077e80ce210c69a28b3e2091689e5c4da1866738109fdbd8a5d320988e746fe3bf125c1e49a5671245b27df5ffe01da787f047b096acb5d130303b0fde29eb8bb0265846ac33804fd2c299caeef3efb804307d3206121fc258846beb2e3673ae081aaaaf95a8dcc36e8c27e6e6d03cbb3b77dd5ee5b4d80d74ce9d758a72c685927000ea372f92e48b78985cf7d350dac097bb432d28631dda20444df297cfbd87605e4d9cb13f46aee1f974406dc027cc2fe3c165e15a1a3b6471c79d46325b6cc8f18f2500006431fbf3942d688d65fcc4c1cb25a164fa3320c8af7f1cb11ef35edb858a75976cdc4e82c7405f81dda3781ff484c52020e1fc89706bd3dcf9deffa33f8aa7ae676fd98b879a8b755aaaf70d17ce0d61827f22dfc74df8e3c9d64f1755104b247fca22a184797ec08ac44360d184daa36584cf5445b384d00ef2fad49335152f765a3bc426bc5e4d2e712ba90456abfaae9b7e3de2f9b56e11bda42f66bad5d5ed874e5340438ff3c191113685d8646845146405853130dc3836781d6f71696ba3054bde735e86ac5e8ef16f3f9b95b8f55f00566b4432c33090f3a014287ec4851293c0c6099a54e24f98cdd37575a6e87736db799ac19e7cee813ff58be2cf9b5d55b7432802c594c74d5063e34a74a757084f874eb4be7695d3218d366bccb3259d37154cbe61afec923520b5790415b566763ea5c8a4527b64d6f8ff5a52c7bca607dd1078ddc303d84a98c3ab3df6ae0d8acffd01aa275511bae745a7eed722eaffc80225d7cd98765b23ffca4a6125d2f61c72c1bdd7e27aea91c2fb6569a2a1da7202e10778ee2c7f7eb9a4ef7b11cf862e92965bd1612aba4d221a0e8fa55e9b1a443952b821536bf54a8442d8120956dbdec1b4b31e7ba28f6616186f013c844ce39c78029b0f38a831c6d33dba634c1334c945ba715de8d6a9f07afec3278bb6f0f218a7edaeb69c3ecd3defaeb052ffa0159881a8435477cc4eeae07d5173b1e64679342d256f0be89e15371a792c98a2e0da0d31f476bb9fbbd46a468ccf26c1147b3071d9d7ff820e5b686296ec04662038b5b9465b473ff1a08d34fd1862af4211454ca36e88e8605c80aedb9a4ab2db642b2416db2bb5105394ad6aebb754c09019b47634b090fcaaa6f022766ca45a4765074d758c9989824a29b2e011b5393e763c06df68a5f3503499650cf70ceacaa3a914445130a1198c9966169bb8eb38ba30297c3cc7eecf95d100c81d1b00ebe41b1d6e2079048a0a3dd5f77eb56f26075d8f20247d2413eb6af7a02b13b4e46908312f65632d0ec5525a12c56344b22c84d0d1fa525abea85020fbfd666c81c55e5f5e340c60f53bcd8e903ef5010baab76efe2b55db625498badc67aa79619c388862c01a5f226e26e00f3206fe00aaeb852a5e190417381ab06b760143bc4912e7bae0698b6f174f3bd249760dd1a368164611b20dc260de6a0eca0aa05ba04db8f101b15691d9cd67a1ef107289e1666e85eb7132abaffb9b3d1eeca308073d69d0a41565c3cca57bc2d47df4ab98a92d21732f11cd5b4f36d73de821ba17a8ddc4ec1da866c79eefffb001e9f8f9b50b9812cd412e3d12530db8f56ff155bd2fbe3bc6f5f4b0791216463054ea094858587ba47f0873a11fa8d5be1beb2c6d7becad29067cd7b82f20b7fc95735adcf21747544b41f512c1b5182c55567834a0fa711357950ec1305a5a5868b9dcd22909da9898bbb96d08dcf0cf128deaa9aff9ce8f88207f2c94ad5db9053f348a8f9a91b3ea5daddb76b49caaa63322b1b33479cd8bb7967df5c9fde9f59599bcbacb27a065fa091d307cc0428af8661cfa9e96f38e56edcd0e2819652a25458e9998021dc402e2dec3fed77c0325e43e4f96a38f4d679867e74cd8824a96212b4e2d32dfeaa3bd350585af486360ec3a3bbaa2dbbc3957e069b5b50c3f0c8124e2013ed4561a551f7a2ef9b1981d46d4b41f75086e6c462add9515ab39156e52b34319ca48dc0c5ccbf925cf642e38cb634bc737861165d44465c111093a05241338588cfcaf7dc700f7f3a20d4dc62937c0f6cfb737375560082f3588a52dfd8a9fe6397fcc7071aea1783489288ffd37b29c0cae9816f9168c53a4926cd6b8ee03dcea8c3a185fbeb4c3f657168fbc22a7cf000a3935a6c191e6f891f475df1e1883761ac7b178f2f80db624f41af9d3543bbe34e4f83fe640c7560f3198122d268f87ad0cf978ab0545172a91f5320a0260923c7946cf842930687bf2fbdc67de914bdbf9ee263a446b1ddfb3546740c0a8bc11db51bd02cf11dad8dca6c3903b396e229f8cca96adfe0e5f5e3807c162a3de645b222b7f3f1818219c2c0e8ecd84bb87a702b45c0de870a98a1a1e06001edab18dbb32bbf2c7f0a41f7fabf713fd7c7f76a94ccf815004344836f599b7a43bd10a350d1d4a5aabe4dcb9085ab04ce4954ed534f4f10384bbabd57c60d626710a96209560d98565bf869347ff2925a85fab2887851225f65207d946032595187c3a64b427011afabf6573393e080b6381e27ae4e64f5726f425c54d23247d3bb0cdc9efe1a39f11e1cd96e3eaa056f47d1d502fe84647ccdf35ce241ea6553f9c08f0ecebbcc89e3e78dd4a41d0953aa075d9bc825e2df9dd2dc2ca35a28adc1d9228b794ecc075ba44661c1e21d5da8d7919ecb40a4440e683d1512dbd720024a1e277b6a29a31e8202cb673b5b191011e2967be1303849eebfb089defc6ecea2bb1d0a3df4693cb046f2939824380a17ca2b5e3896505c2ad298a0ab2c1cb1aa971e3be9317382b7a89a6bbd7565e9952515a44d95f71ee40fa4bb41b8f21d0e28510bcfa79d66494de03be2d7070a653f52f33ba35d3657038128955494f9d02f3907cbc6d22a192fff379463ae10091802f8e2cc0aa2d63e4b85498c69bafc2c4fccf992e3d7e224c89e9a850712761f80c5bb097f03650c3f4528eb9cad69d43819e546a0f1202b28dd12653136a2e90a1914d208364991fed12c9ee1050eac19dfe0e5436efe5560b12cf096d294f2a89723b96d4115f7b0a6492379781bcbc572b224020b229b46a2d2712d4c67145ba2029646079bc46cd8364a71f552903b4517324748bbb20871b32044a3d7d2024b216937b38d66cada94ff3900c79baec48ec96356e9a46df6ab087b467c076b0eaac963d83ec102ee54ef1d04961eccfea6d44a7d73f0bfedac0b065e4f46561474154ce52cc68e432e9f5c0086cb448217e1a5a43dd2bfff4641c331b8105db773cf6c5a80156bf6515f60765370121f0a82a6e23878523488f0856c9dd670553dfccbd41c318ddfe36b2865036cd7716769f5b2c850b1fed78554cf8f2d07baf34fa708cf437b927d6ff4554355567960b4db9e699dddd5eb6379ecab574031edb044df3d5caf10d23d555f606f4966d7b4223a482611bd09374cec62942422469109c61e6f20f3dce038f511c171ab969c5b6b82c31790af16af715e1d74ec66f7ff4b3262258f3b6050573a9f38d642315c4882e7e61419c7fcfeebcf86707d2da09545f985b3b6c1d534cc76a42ad245406034e2a95d6e1c0ae58616b32f4a71de67da2988e5c539a1fadbd1523e73ac3baa765e50a78a050cfd790e664bbab28b3e64eefc1be5ffc142c2b4085038e171ef263e7a2d1b40bc0e080571f286889f96e68a70a7d09d349bb7bcaeae145b2af53708d8333fd66ea7e224731d94c7acbf63b0374275304d65c2b92309fefdf497da140900ddddfb833d2590677eda781318ed28cc865ffc7afc99c729398d7fee2a55b027dbaab26ce43728a2ae07fcb02aa38dfc83805b4e8c4922f5842a0b41da77e6c74ea722d7162b4e2146b68b1385a7969c53489d3701e2c55b91b96ff72d83138477579661006ff4cffcdb175bac970c04a9720c0c404c36318963f92588e8a0a35b3e507276b27a88a9631fcceedcae6481beaa8104738b0ea8282114563138c1f3184dc0f1b6106777114ca0d87bae1e48b4e71cdfc9e8d5e61a93b13b76baa174dba2791534da2156a6a4a80323cf455db1b7f374009610fecb9e2d7f05d803c52f44ea39ece17045c539d6421c0a728cf320767cbe8210eaa8749cac90af17a207506a928ee8f09a924def03f63bc25da39a5ca49d95c70c7d1c6a8237a6f0eada9ac15ee02f8d3e0ecb5c169f6acd92df143aeb802f52647910d8649c628a363d36548b3ae3958d0a5fe6fbe8398f04ade14bd0289627ebfa175b6e2baa65a8660b3d9f89c2cbfa98f3b63d9aed5a793af2f91723ea90ea80515d7ffb9afb020ac40550aff25f892fdfc7ff297b6ab6702e3f9771510892e276ffe5a62cbf80be51bd93822de3f979c830bcb9161cc247d33e10653e0964260cc090b852384af6b6d9279ac3f39d7dd568711e55686d7ac5f869a09435de4a3d6563d7e2d9fb01adcd67b47325caca02674e3017e498d88719f4734b259aed04945ba04d8eb34089a7368a38630936b563053020833e6768cb372989b2565f77c7200c43fc0ee99ef8b71ef868e95752d87c9293dae4a90caf24edd1ab1b8d5d4b53d6c8820aa8d80b2e48edeb3815ba1069bc34ca3337c89cdf53bb8ce6293cfdf1c91dff089479f163cf707b50fc883b2531053ea418a26ddc1bf64dd6baa241a52549b6e65cd270e6a314b3f1c7b8eed57d74ead2026332a2747039de1fda4802745db294609c01aeb5abadcae05895ef96c5313f615bb6f8eaa50d8d3f6083d67aad038590dd6bdb8cf3b49628fb206996bb821de2dd8fb19a9485952b65cea67ae89ac7d3b0a147dcb9b21263a4c7cde704dc9b161fa107b45c54e8f06cb7a31eb6163302f96d92e489797507642d64864d8bb6060791c3ffe0b75b4c5e0d984963165220aa7022608da15797e27cfeec64c47f1acc45376ffb9e5a60341f1e0d21355ab4fba7d0fc83ef238ed9775a187a155f74fff416544ee64cf60e80ddbb7789c99a2ef669da115b6fb84cf8618c7b45f1f5f7932793318f2632f1111706f901926e4c6a43fdc492b2b1ed68b1e608d4feec014280f6e8cc847d09d8921d6dc9c4b3c9b6d668b74a55a06c3444d5934bb7f032d227009f213da249d4ac8b1f4cc45857b874c0231b3511d1d3c69482db31e2df2f3d52d066642b06a0c2e47ab4852a72fb4b8b46b66a3c672ee4f905a0e55a85e24307068555c05482ea0e10aea8756153d00652114393fd062d0d26ad7ac6c8b1202fbfbd0a9bb22be899ec8d117b49e61ba7812df2f34d04c61818bc6cb1e61449ed4f1f13e3b7165b82b0c66adbf2550999ca70121d95074ab6af5a5641129d7518dcf2528e961c04673bd0c5d4ba82f2976ef5c292692115152e5a1913e0918521d96242d67c77435bd13f7e80134e055a6ccd14ce7af6de02b9151c02dfeaaa3a3e9fac20eeab063b60584bac594bef5202d5bd5b1fc459ada979cb59354a55bc6e6caa76a7946b8dfc748c858477e49ae1b55e5663c90e162b69daf1b2330b0d746f65b2f7c9d0dafccfa124678f78b1e8a103852d622d359510bc3000ecdd09f8c48a5cdebe123cf0d85ab2adb08c35a51c20f31de250c3b69ab6eb0729172cd93c74df1039b07f0883d64c53080b504e5bae44c03eabce43a5e5eeb1f0f0b377c766dd0910b0e6b6b97128138017bcb6521b42ba8cec1afb5df3e3ab14cd986f18cc4f6a24a0b6815900e4f2e40a595cad770f83d0e600fdffa96b066107902d70adbb58fc75289d799c5edcac51ce697995e4e8784da554bcdb45f3bd92a3700f3fb84aeab177546041ad88d907a7df4579ba0457cfccb841bdfb747028a851d5951ba3e2a7f546947a773e3b2d16d7dc42afdb52daa3a730eb07ae26fe5e8bc5b0742c2d4c1c375a65842ebe54e5baf04febddd30615b47620a657963399a7a5c9cb55da35ed498ac7156a750c9003fe5361b03de049c3a251ee436a4c10504d7cad45386b8d2964268cc3fe3474e2c9407b2e09d2e1120c2a0a3f7a13b9fe9fdd612bd111e95371b77b5a613b91cda38d453ba02ccbf5678ecf059d44ada2767759c76bace45138ea1ddb7cb4dcf4d4b6397de6a98ef79f6542b9b5ee10a4a2e6f1cdb577cb8368426da846e541f52be5c2efe89b3a0764c0f4dfa4f7329852e8b204e4d306965fe582bd93674db248fbc65e1fb654a5a1c8c9ee32e1e58eb261742e6b4d44be1cd6d2f6503e7e97576c21adebc04cf86a5f1104e54fcd26ff0521694be5c5c0ef63311876ca34b29673c9f9cf4a47b6eff28a0caa5ca8ab0d00957a241f441ae8c5ce5f577f07433d65325d4452506bee46306898142ddd9624c7648591d087752e9fdcad53accb31948dc1ef72297bebfa6eed50f90cc624c8dff94a22a1f356aa593218ff71034130f0236b2cad7041fd7cfaf750c5d0886f598185397bd22fceec01f3075ed08ab64be1f80c91c7d7d6d299c9fd0bec9f5007d5b9c150cbb2d586c91b31cbc3d942ae7bf09889a03264884fd8eeb62a0c40466c6cd1031a1bfefba3a405c0ef0bb29af78f08dd792876aad07420e130512bae4c929ed7f66a5234aa0d73719e362da9375608938694126b5a3aecaf9d48539a90021bf0563c4309782ec6633f0363af0fd36425030bf18827d1d7d4e20697ebb7a59de58e2f605d79184251df3c6b7d0be66c92f26eb9b6f10d2ca6590dd19be7b0b564c6bd6a8d17049678dea4c704503867dfec5cb2bf571f158728f89fb24dea892f1b03510bde45382323eddf0b1de0f99562ace13107d21d6ba93e9e1783a4ebbef3f922471a6a264316674b84a609d57a6b4d607f9e55c815421aa56445df61b438f7995414843c0c74c53cd1cc5c7e57793f9d445655f7658ef28b73ad4a106bd40f6c5396552d9055ef0ef44c32d8821ee5b9c9ed458bc64a4e83b915f4f777319cb4512da23904d0d37c1c1a0f58a12044169ccced7904913bee8c133293fe8b67645a6aa5d8ea912f4733cd7601178b4542448cf4f1b2006b63ed278a105d0988f61046f10ee4b556a9c46b4bf6e3a3801c1ba07124cecd650dc0e77a837d63a1a9fc1ab2fd9f8498f7e3cf7be426a4b4a71424960af0273859c4da9b3520824759f615e52321ef0c15dbe41edc3e6fd829ee6f7e87707ce3ca2dde8ad17259e05a8172a41db2e54e7593d231b46ea2942242e3196eb2a9570242f6f4199869813c93e84924af75b5a8120d817aa646a884b4587c66c86bc9b9b16c442f85a375e3b282dc33094913af72d0ec4ef7ad748ae2f54cd94109d3c4a9259999b895a69c7b5b8ad4a01b5dc85f860eb7f2264d650f3ce941a4f35385b7cbef1456f7260913861356275b292bce94e5d427e4876e983f7bc2f6a309f13e7597518e88ca8afb28c9740d76d6b8e2f378ad229a681a59d706814a8ddecc49e8deddca1ef57dc01258b7636e975294794132774d07a3e265bf9588c12be03da3af4cacb954756d97c05571c409d1558bcbd3f4da975636fc3c863f1a79ff1925e54b5111908c337527ae3165a858c3a394ca3c9a21604b31a65909cbe888dca6e8b09ef7f13ece8382b463270c4998988e0098326be8bd9c35f59023a86bc602597f2037344410fb14aa5aef027dde35d7febc5e3dd6d73aff3368e35632d6a85daa35887574cbd5df594c8e24da531367f3a5c221285236b8031dfd34e61cf6f014c0c0c22e6e11c296a4ce4733c6356477b3afb3d59802af6efa06bb65c7f03f6837608fdb9be8dbf91990ee80140f14b6b7a1efa382017f8da27cf5e3a78a77e93a54aea34c5267d00bc6a4e421e4fb131963e4506b1561d6fdf6eef46b1162abf983a46587117a710c5ae689572b4edace5d0dba9ad67483d8a8dcfe2cf5833c8f4ed98688d0b8c579c39a7b97040befcf4d5d7be2462b945f9db5c08a37cff18990b5c87671a505c719a1efdbc0f16e176771b1a8048d3607c214a272451d6900efd3809e196f2e881fe234f9421db7e30b2345ae4f2f401c5240e14618f0309c1b078699fa0e720193f37bfe0dd6c371e11e0812c4f57b437c416300d6cc938c790d765bbd4202340e3d356c96df895e03f868d5a937930209d615c04737768bc06f9df2c2d16e21f708dcfdc57192f9b2a4136d830d66eaa996aa2a89f60efe3179d1641fa2503b33c29a18f2e646a4b5a6ef33371e9d594df9b11a012f97bb95348ed74ce1affe50353fd2a4feec27f7750fe43c66f2e319ac6e09b165adfd785130e3d33ea3c1263b0358205797b8aeaf4b7398e6b9608c0e52b6775b49f823334fb6d435ab7b5df7dff0fcc67b7296c54d4b00e5ae95e76f1361196e03a568943d9b28dae4f020880b826366bd43e1d8ab61bc2984bb96f4c502fa23add421b7f2ec2d410a54284df2278bf806b4f3a8a6c7c735de9bd71bc772aa27b547ec6d2bfa43ccbd34b5ee6a3e562f0f7de453da5f917c4ec5cbf0a9ff4bacbbe13e1789070ce05539724ee2f55ee737ef85172710a4adfef0c1040fa02172447ab139330f7fc2d61497843673bdc4bddd69c2b94723155e0cae48ef0c06f6610f162a6cf7a3945332fe0816f75035e85e466816917c7c45f7cf18ef7fd5deb634859b40142288dbd9da4835a801333f2ca626d97cafb1844738bd9d034c2b3b1b49bf484ee5efef88a5515b5948942dc75c82e806e1d404f6974854270593def68fae86219756a53738e9926f3b9a131484fe7dd8b3810b7bef543212b56df14465a9c10f6a1b62a672493c884985c817ae7801d5429e8dd4ec25a93f1f33986403bba33d688eb8131c6491692eca19a5c3b6d4706160a855299b7c4dac50c0cc2f5675e41537f57911fccfe4707d28e5d68099d8e3e3d0ec167d6ea7d13b854b296a743f3579bbb192997956a33de21107dfcb9cf1e302e9724bdb3710b51afc08d1d97fd93dba373eb1c7e9b4bbe886be5015772b5b9d4c7c320453523b10bfbd7bcb0e9b8465a3143b665398db4894bba09a936ae3a275e76d6fcc5e20e6bf0ca030a4d9f9c6e32f55bfa74de4567f5c596704046a9da89ac0208e8edd1da29ed789557bdc909bdcf45e4f390ee0bef97b95c5d5824a4cb21cb847d53cf4091ddd44ffb7cfa55f4b23d8597319646aabe56034d881e67a878cb5203030476f1e62d818cc486cc5fa820bfbe79064ef1e15af9692049c0788683a41db8f6c8b050b8b73b57db1843ce18c9bb82dba187d6f7f22b39104718f23ca105592fdaee23b12893b0f2de79559c4a1ff805c298d8334da9341339d388f12dd2468e7820a5ffc902b9c32079ebba405cbea3401dcfa3ed26c0196a65736460557259668db267de9285f2d65e87e4dbdba8db7ed50b4cb6db57c5253df00987ce80782a847d06342428cc1f4f8bef1f89a9a8574f788bdf8852dd0474dd55220314cb953e912edaf4c14e74e505a22e67f4fab032984f141c4a62ee0f4605cc632fbf9dc0a8bc9407bd8be3d8126ba8a3daa6b82ac02d4295d33c2159a11198f4eb68b36b52390dd8b3a2d5f6c65d8a090cf65b88b9fe3892ca26c9eaa98e1238d87229c6029e145cdf9704b05422b509a55620380346d502b68d46b83ec4ad0a2b6ab61e9ca25c26aa0df787c1e5a09b309f975c98767f74062c760ddab483f68cc61bb736991145940bded6c35da32a97e05026456a3ef1e1378acbe928c324cde12ef1218d3016e265032328ee3ce06c5df6b5e92f7b623c0cf221aa820cc891780bdec89ac6e01572167d179b29ebcab4b21f49060b648f58a56a8fd81c142831ff68d983657c4d689c086f119332c586e3fc9002e183f2d7429d3aee9dbfae4b9497d8d4003583b8064f106b8c2b68af0dcfe71ee1c90d873381f1e8f368c44a0b4cf38f45d6a0e3d118da398dc87c1878d5d113ae7908e9d993c109260572f6d15972717080fdee617944b330605faea25672a1cf93059f295e350492f5039799d470e7a0ad707a43d0b4db458475544ff2e438adf814e2182ec7355d84ef3d01719a82ea034c33264fffdd4a0b281fcc52563200bb3b50796e5038c796a61ce6d039db34031cfb013f54949f555d8d2763aa609f0d39972cbbc13c5f77d74ba315599a02a55e2e9803f0f367bfe51115fe5d33c60deb0e29b49e3013336974f225a1617482eb6cfea23caf29b962b990e61c3c387e9ef388d5b2f5e3e7cb70d7b0fb814b4a36550997f96e8be7edd67f5ba67ca06ba3f3a959f181619e73ca95a712118d2c3e8957efd9c56581d71c7784d42bb4096587d4991dd0a1dec62aca31f0592f41ad32136fa86d761004835b6714c9ce88e7183b3e0cc26b0d664b7ce70bbd2fa5ec353a9e0315a55f6b0a99905380684c88c6c88d10c7f5bad483ee34dad1c198c4a28e66347d142208e2983bc99dcb34d644001173fd352caf49b3acb3c75fa53141ec725041a813c78e5d3a0289490252aa06a47f12a9a77912222ee69481f15992baa22664815f30f5be4252e29538f5f3ba6467618cd5c7115e845366b5379f77c6806af1e8af1a7f790215c18901ce41866964f8930eb5cc56ff343f1fa04b0e1b0e78ff008ced8fc2be1acf37747044529a79498a6ed0a259df826df106d3a3b4d213d51927f6c3c65a97624878859eb0556daded443b970b3702175baa539d9aaf632249886f6c07218f035aab19814ad2f101daf14e28c28c4babcde89a5e8ad96553d8b3792214405a27a71db848918b773d71b75676d31f72b8a6ce31341af35aadabaa4bc13bf5709ee183d3a4d1743dff20feaabfc017ad4f2f539b5072f93b2f9d61226fe0c085082f8e4ccd81303bea785f07a7b6a1afec65a05eb462d004ca7ed765a008817c4a6f981258b1593b395d78c854f5aff6171d2dd8eeda0ec885fd1b9073d77f006bc5165a0a3d0caea44dbce252f1a43371d57c61526620cc5a8c4a609e4af79852119506851c451351db5000423088e773837fb856ec92d6ebf0d03a0bc3b2bd1be5133aee793047d3a91b7eaad9aaa7b8b1460073d45eca5f9e8a94c67175ee5632bf3007574b4b755f938f468f13adf420923386033a722fe1eb7d9b542ed4e93d4c7e2de0fa1ccf83598609444fa352279f3c4b375beadd6e00082f1c2342ca0f789ae06d31b1e6a982c497940079de884000eeb22a3f9668aa42c3c3a15c161ee36cbbf067295eb3f64751dd05812d8ab5fcccf1355dd40a2fa6d4c68a14838ce1a130f62fe8d85e4fdf5ec0f38e229003c07449812427a989083b24b61a0d8e8735941232f45bb372d285c59eda1898e68419724d2bec85273d0985f5996c281b68908e15ab85ceab9d34b12349fa9de3ae5ad9f683c12fcf9c4b38c36793b10318bf6c6d9509f6f9978df5265120c5578721e848a8a74f561b1caeb49a220a014b7772e7499ce82c4c25ce968cdadf6eae760233dd72e1520866c489a6e545db99494f10c1999bdb11a4ce5ac8bb5c411f94ac14b9ce02e0e696b8c7eb87a45cb246c1fe9434ecc9edbd655f1853b144968e78f59ae81cca1069ae65d654747b3c7492c3eda3dbb8b2b6c6f3b2965b55a59053c1c16bff2ceda63e6997e539e1fb791579cf9b4646cd611df695c80eb858b592b388b36231807a3de62303e24435cb5047c97596c7125aedb65d30f0f67edcb5baf676e2a582a8ad683c0457e28d0660c4d74a43858db8c15de7f59013370b68eebbe34bf2a1d88cbbf1723277d5c4bc8fbd6d069690ed671efe4e9691b57d6502b74cd90990d1084a81ab65169df4bea92249c4a8c4f118bc3ba5019880ecad55166d5037ffe8c9225193ea30157a9ffdd412274101d72503ce0dc46b69375b56434e694f7b5690d0be06e21b9334f493ececd2b2802fcda0ca8f6b215fa31609f635a8bac6a2bb050481a22b112d33497de87890ef4fe5b12038a14e605e4f809ba71215d6a0bb6ec89daaf3862926734279f453e72da98697cad627e2273e208845f9466d5728c02c9b7d0b397879183763c9a494b0ab3d1df379710e90ad35d968d05e90d5bac9c6c6bfe8eecd6ac2fcbebe8787eca2baa9eaa0e63314d0a1ed5f3d9ff9bd566531d74b45eb6145f8980d1e505a8661b7873503b523895acf92b569ff15653a770d7bb42268dc24c964ee1aca1b2cae146f00a4c36603ae4b151c42208253353e5ff1cf97f7b38d3b9bacae7e5bfca02a5847fd8a3f46f30d523ecd170556748ffeabcb35c8f76e77d0553705e4e3becae788e9a6fff6308408f088e580722e7e94531b9d39c77d3de44533d26bad21405e7b09c7efeb79cccc084a3d2499cf693d66c0907bb157358eb0bf114a8e3639436cd01200776fe3b9d54d69c922c87e5c3cd115336d169a35b11f27b1bbcb28fdbf45ce6a322f133ccbf3d7259b36cc052bbc4a7a4118e6f3037ce7076cbbc38dee1c4319c8da81e05b1cdbc674cde3063484a4a73875e0b11dd7df1a7bbe8169ae383a7866f10d8533cf251b44e0b3c2a885f05ed8cd82fa5995e78f4ab4663dc46b68daa7b07d04b061b3d3b720643151cb7cec5d790fb1bdd970c3574e86a4897beba001269b14121ad79544ae77c33fe821cc7e590006eb4ba6cf1b28d3e2f748f738d272af7734c204a30358a4836c848aabf42f09a59a317ed4b4b2c7f9c7c28cba5a81de30d1e915825a017a8eded66ee0e2d864f03669a40931b5b453390eac384313a3f11e3073b15411fcacfbace29fb31943e5438a15e59d21d10c7e74b890ece7a6e20bac4aea6b4eab97b66e7f4d1d18648779d2c90c3c177d61cc7fc2c2507aab3f6d96f42656996fe3cb741e1724a8fd757e5f3f121390519a89029cfe5596414e5657710c09be54bf35e2c419ac2a9909623588aea0614099749e069a5ac40a39e92ede5b612739cd6faf345e0304475a59e9783bba8a0c76404e5b308595edc8bf7a0dfa77ba315d1601b71f4b99be2d167e74a928bc0a3c79364b10817320e0811179064259c1da06004ba6ef253e170a0e7a7126d828e9d172dbf5b6148e2d1fdaa262074de331371b594a9ab9e7a4cd557932eb31bc2edd389a6f591e75cefbf13ae456b662954ce2ad1557d67203a60891e3b10bf9ff4ea3f65a301ba4d4994f271d62477009565032560e89b4e10ec64ee02eaf6936121457b25f11a78aab90b1a6365c7af7535308216ee4cb088a9f221ed18a038c47fabaae41a3881a9cec5449bc25452ef862f4ef5fcffb54358724c778481d61fdf19f0f44bf54a6a0f9b9ea4394cd77c563d8ffa937622fdccd0e830fb958da7628037d0a9fbdd134679ee1635d59dc7c8ced3c56c49183de35479d29edbfd02758923534720b66cf7fad1bc5d8952979778a2445644a23ee698dc85a0fbfd5f6ce2b2617bfacd53ee0f4483205fd99dca2df68a564e757bc7f43a3dfe4b02a15f24a7bad52f9fe4a08956de87c981462b1d25363ac5f97cc8bd1833f618b30e56c5ee5d2c3f4728a525205458f4bbb3dd19c852051498e2c419c106e9b91a337a795ca4781383b5b2dbbc60e49efbed67392dcfff343651a20d4b12837ad51ad8a7c9291e69f6f4fde545ea04120b42fcb0c91f084d388193d20acac1a2857bd9b252665e33c8e1158491633635423f272575eaf0b606b0727d1a10528546fade278704fe527db4be0b9faac8ca5e83471284c653de8d9fc458a6d9ac55a01f5d410b4bf680af90e3bd87f066db0edc6dc41a9081cd51bb31ad77934ffb9fc999b4ea6cb60f11e91143c30c21305c8dd072b02cd73e4c9f606eaacfcfff68cc61d451deae79b78a5822e5fe7d3c1b8b05d761e679ac0410f4f286746aaafe7666fa8120e174a32a3154a2badf6b60bcb7a32cb1c1be066f88a3e91a9267b34d5f283815ca493fd1005e9716ca4b5710cab248fc29a96e3e50987e62e5dd1a55acc9101162c43f711178c44f402d57c74d3dadb4df75a3ba75e79c9c6549abaa5e71d067a0c957c09acc4db2a10ed8e9e7e7ad5a765d2950dd74b053ab3be33611709c16160d593c746458dbc5fccf3efdf5915a3587772b015c8032db63b6af9615605548ae604eb7088890759d981601845458360703eb8737b1e74af6c6eb22025662a1eb7529aec2e7c5b81216365c70a9798465a80124f796772ecef43e8e07aba11a8d9f29a348b994afb1ee383c6420fafc6c7eef04c157c00e48368b2793055e83d6f288b65c4a24d773df54d7a998f036187e2c84048775a24d624eed1f7444c6ba0ec92ebb000514a25aa02e63e2c0de0cce3f0f78b745f8de244e13015e3cc60be91db4eb85639bbe4897553fce3977763170c18f60b8cf528d3193c143582b0f93fd53cf266cba379ac83b1a981e8cfa7942c7fd20b2d8663c548c972779778af5fe002e70208452e904946f607825190d42ae0147fcbbd139b3066375d566074c90f89b22b6baf272116b07c34d61cba4c14ff13a8e31f8b84aa826a6df5dd7e2c6a59b46bbf71e055900dbfb9d1e44c6feb7b6b07b2f5fcf07afc913726fd435180efc9130125d228e0b0ba2fa8abca4e1affd25186806d38ea237f50ff75afa20d277e59fc91617860fc96479b23eaed7b655e3547b42cac43d796b0102814cb44becc0e2b69762b9bcd385e839ead2b98fa38c1c195916e38209da4ae89665b05664d81be8eaf52f8642fc1d24bf3884fc80022ed1689832c44e74e7381427975c4510420a4d373b547d7713b0258cf6219ff295b610c401565c0a2737dbea307de7c9273d40cd32e9f45f9986c81c814c56eef0484f5b25f856d66f66b02a56ec14a7f0057300d9fbb904571e83cf5f6d3eecfbcc7d7b9cd76ae13aede8322c6c4826025195959bc63d84e6e3709a862ce06ed195f39df556cca40567c69c81a5f4524751e20817cb0743643af1dfe8de55598b4e8c08f543b9e020d59569b6d1cef6d2b9d43084d7bee983ff45b856cbc21ecc9bde973923a9643dc2a894a108f8f1210e4b6e0941c14cf59875127c3e8b4c9ab32c2b0214d8fcbb28f4a47e434488f49b07256335d19f6d3a270422b35ab44d8bb88cbb2ae759c1111fe44b29ff7294b6edc3fc8db149dff99946621204161ae84b510c8c6bf334c9a9d0f3284943db91460d5d8e8be02e76354a84ebbc5bbc899cd7fa6ad6b6cc120cd9ebd03b3ed99032f104cb85e713348da94a7e9fdb873563b706a2b9fa3edf54b2bfc29f69dd288c800f544dd6b14c91c8d4fac444b7336c9d8cdf3c6bf529519dd8f8d7d09f5a55f915f8044dea371f830f6f2afd65951249206b02fa9f69aacbdb9716b18f4a5d983e4f5f67877f13c6ec065cd1fec6b22166319c13c6201c0f96ab8a13da52aaf6de652de936b94ac2a2434d91e2503bc0b85f4c191a9356ec9653069ad8f6495a25d027b543990d0323f2eb94ff93ae440733da3e6879585531c844784c4f3d20a25efd7dcc8e9711506db45210db3b37b22facdb8a57879707077d35d6538c3c0f754a2b70701ceba838e901dbaf78943f2a70c3fc98ffdd70f4cff096eadb7626fa1513b23b523eee2a86b099dd1154074c8c3aa4cbb8fcaab2998154ba87392725b058179aba4fed6993e667728994e0ccae229e0ebb35103f0d347e7525cf00850d53904db116f7c8cf563b6b0ab7626acb710da13f3dc05b08eacb7dd6f64c57706eb6bacc5de758a97efbd0a0afd502b9f35d10681d7adbab87f0c5ab8a197222e56b9dd1298b59ef564254b6edde8c750110a0738a1e0558fec6dd82c427d49045626744c7fab7ca6fd8c91481a2261514abcdf66f3bbfef3445907d90c973a5985a4b4ebfec4a4456153ecdef3d51f36b71f1e74c9261744474f8eab4419bb73095d1a021c3556df41f3ed8fe05252816a5de2123af7a06b155973167879e73011e52892a9ddb15dfbb9db076506a9199d3d30a4f307edebd5845499699c6157de2b39b55a8cbb27e4cdb2764063cca48fafa2af3cfff2f1035b36b3728498dc8a3439fb5b34c5927e780e97282a0a1e44fb639966f045240f8bd48f0bbbf8035cbeed0e11c96b1735a0653c181b5f2011d1d51db85c05c2a24bbb89becd5d8c86e555d754eecda44335f5643590155e90aa5064526239fea4ca493225cef0a54b192363c26db46f7fce5a975290c3878f1634f58a4d0cf36900f84c009041c8952dd2502e40f373e34f4a4449f61e221874d2664f0651128139948a6f30fc27acfe8c6e7be0e572874dd7d8f4c62ae41490b5ad961efd9da4ef358854c447d7cba31aeffae2753020dc575711c51d14118f9c8259c7cdbec8cd7a531819a4fbd0d02e4140a9e696755e8766f056dcd494486e4a03538347b52fff22fd03f2dff2edd75e3b4da332e81eb84e68f5f85bd37a4b53d62474bfd121c02c35872c641a72c490454988b2317fb57dbb4fac73415be17a294ccb2079e4c6f009812d8622ff88e409deb88b5ba1afd4aa42be04fef254e9435be8b12a434b863abb1606fdecb4ae720a01eeb5b43553ddd36c2bd96fe6690f5e83246122c6e95790524661144d0a4a9cc2c3d65f5cdb3db94cbad2a0def2acac9820fd9e9dca13b5219ad8d9ad500fc20b95f9356ea81d20b3ee281e2007b230345b2fb6f62332e0d0991ec8c0459e554a811a875ef354299083d7df678cee6f9f6805fa65935cab6c2497671dca18de680a561989d0bb0451fc2a3b667d779f110858e4b49c9f03951d494d73c8f6efba852ebae89a9f106daffe1fe4aed4163b5c6acad8df2fea2b6f6d07a9b5e06edd287253ac3ffcc372f33222f15c89b8c9dbfcae2037393678359958d07d719ffe5cd75b080d9cf6474214ec5c6b697718428b5f1cd0f418fa37d18110c52e5af13c64f03146d0f38fd331465098f7a7bf2f1c5f967b469bd8164c428ac8ff5e0ab15ae42ed6f0c672bd0cd64dbc8f1655a2e3ad1ab74b294d0ba02145fc278e2534646f39ffd7201c652f9308342ccab93298602aab019d5307cded8bc7f7f430d153f8536c9fca61da25cab151af01ef6a9cf0f022bc857ac12f56ff15494005d8654f8cc35f420b6ee84169ad9faa7d00a1696d3ea293c77f7440e0d36f6904898397d7e4d8c20baff4cf82718443c0f9d1a5201d2e6e15e44619a17fbc206cc7c84a6b9dd5581d1824625a4d5d758ff4bd01545922f508f05b17bc0d32cd3c6468a27b07d6d10558a8c832f9c9746a5105541c8e7b9d2bb45b6d109079601ea6b00bc15edc85dd93e7f8aa4640279c7c0f6448200d2f322cb94a0342db4f04997ca8c2246d56cdf7d698a7696049c2c4cedb42314e606eff4a8822fe9c609acdc6f9a9839a4c2a30a2cc6dd8d29ec36842f9bf45a35dd0b7df72610eb75a81df27dc59bbdc5b705e1f3b23d3bd35be3e6591ca576d32a0a7e9750788dd48862a3e68e87a0f06a74c2926c492f0a52573a97479d784ede6acb0fe70e388c3e2505d1359e6f2147c67fda2c6cd3398acc785944188a4fc974b56c3d7dde8e3463eb3e8d27c4e3c82c87a488a8c1da6f301f1c1c1ba9fe4a6f0aa836150a8b40355eb0b3971dd8483b86751c7d96b3733101c623d2a45113be2f19a8aa516d6e33b1b277394196347cf29b4534b74fa7ef3f7a64259b205685c763ca243a3ecb6086135ae1fc5da3e7271dade8df62f7e09b635b5873f8f61f69cdcee0ce119e4a7f0f371dd1b9a56bbe3c41f2d2ef73abaecee297458c23e6de641d2dababc7fe82b610b4b20466c90d29eb03aafc1e1e7caaead3681ee09b859bcdd7128b61285dd8ad81f7647a751fd8b198444244a63d00e0e58c8e799a642064bfa01cdb25e89a4c4580bf159da0ccab5cf5b63492352f4843454d531c8dd72291f860371692f5f42a56f09d03399b013b7b6d02670fcd8524b9edd0243614be3f95ac58afdc26ad1a219b9abebf65a8b84cb24418f4c28eb8d37dc32236304331c68f7c24c34b08e9ea02bfdcc6d53f167072a52bf9b0c6d8a07dec08b81516e6a367edc5f472ea909deff39eb388f9a3a2065a82d9b3b62b23dfd694eea32858d9f8ad0b33e66759b5b164facb8c9f533228b6401bbcfc489289f8804621cd7686b4569f84c09f832bece6cbbe918383ce3f08ae3ca4de2ab297bc0d99456c9274f3acea50c98e4ac094a17d9ac7d0363a8e055f3fbc38afe9a15ffe7cf72e2b06d2a90564c41c70ec8846161b389ba8d35e702c4009688695f0ef6f0b74956df49c6f16aeeba529da6600620dd1cb5a8520c7ae5ff0c1b2865b76a621746de1012f57047a14a6df86bd1a89310267699d20b06e40b178fd171937ef905a6aef72f27466a971c9573c959fc0b3f7bccb6db8f9c82a0995ec6e5158b7bddf1927b3157c8080e91db3cf5ee487fa3b3d3b090732fb191d650f0ce5cc3e8d27f7c6963f99934da9038984d987dd07a0e822a03ea7fa48a14424e70fb3f08dc74c256d94d92f235ea50be42f1d1fc2242f20c0cd925b06b57decde2d461c43c7a118caad1f7a1579cccd392830a999d891faf0d7f5e11165f03fea78a74d0814d591c286627804711e8fbcf27ba253ae493b2de0caf39309e32eaca7ef0c53992d3ac98af42341a1121964dccc7fbd25d39bb04838c134a6301ffdda0abce3be5867d3bf9bc6393cbc5bf2970a9bac3d3769ffbe1a4654d03e299df7dcff84162bbd61b1c55a183298835525fe9f15d5f44a41eddafb225a1d0be3cb998db86a792fa504cd8163ade957201da695ee2e33f1205cb5f48c70291cd30682e436d44f97f3eef9bfd7f562cf2e94488d3d1a010f169d1a6b520ff401759365e8926e15849fcf6849848c294feccb3c63dcef066bf865fa731e8d0dbe14e1190cb80bff9f229c09cf8eb68d0b06135d9fdf1ecd6fce3c919222d97d544eb2fda168e396e57b3fd8fe437188f80dbff0178a9a5433e4275ca0dfb970d001dba62c7b2eceb2cfc2746b57354e71142ba90285711ab520ecd525c2849c9d29e6d1546a8e91e7b2daaf89031d5204329e9bbee92c72c3681bc6eee2d5c84b9436d7726321e7439d85005f7595ed7b3b8494bae6f9f033fba701792d537537511f9321bab375e20e6482d97bbf4131ea7ea21d33452266af92622f38aff711883b058209657ce5d6953e2eedc1b9f6140fe67e864bcce404af7ddc23a31edf931331af9ee5185ed05c4de1012d6f5307d312771b2a6f3add2472daaa6b632df9803a2393b3c0f7c89c45865e70682d1d54637966fb3248961d95adaad5db5ed6713262d948a02882b6c05af010d0708eb838138feb7751852ad68afca856cc3c2e0393e79542c12b3b10e0b0a791d6a47e7a6c3ccb1f5a77a2ec520c3f48cd0e19dd64d40262a7c860f6e595e19b05615490ab88b9ed2de3d79bb0ed3ec7db7c5348187ff2566246146d80a21a495f43ae836e2af338b2ea3ce0ec0dccceb643d43e91ee449e07177b49fae97d42f0c669f56ae28854b218772c6d66684f2fe5bca9e971e7d0ccfdbd6dfe0865474e7419c53b9e3ccbcdf4c3ac1e47bd116c962b5d033c322a8c4d3a74e3ab1e5549a1c35eaabbdf3ff40dcbb66c5873b78701968069bee8c2fcc7a44a5f57ebf20d0dfc10b7c696f9be1bbd78a854aa0ac7814a01b8bfdec4216b1b715b2ea61879258c822347c32d85fda42c4f66f3e97d07176e058732a7a010902998e8cfb9d661d99380282f289f7bd9207b8beb065d7f41fbf5d79df9e120b8461ca43c3f12e298ff5e9a737bf7e5ae5940812515d1751df3c0deae9163cb36e6ce67383353430dc805bdc0ccffa31b90c797cb2bf77257463ea6489ce9e914c725adac9c0dc8cb42cd064bb485f4914560a288dd5455d5ed2e003dced710b2ee4bc057e5c5644f7196169450e201f05087fad8d3ace6a7bfac8451bbb581326cf984e0456dd64cd12cdb99b6a58fbf7d28488422b431602bc923e41c15881a23163ce87cf536f86b92381039224a975ad5209122a410cf1502254ae7bf7bbabe68a1fe253e72aae6956bc7680ee708d5b065a5bfea7438e9384ce027145375f88212ac22fba56a93bcd9d70ac897982d7ddec654d5c085fbbb5c3c6f6a375347a0a23d84b02daab5a0a1796fd195c763de723f6d6fbd51320d78ef6c9b54d4bc44a14f57ef02fdc3144125e08c8230f177cdda1eabbdd1fdc1dc99f018f4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ccd9984996b407121ed8cdc81d0e01dd12890b3b6a7c89d1d520b94267c436a3416ee42a0f983e01789385ea3d645c42cf89c7b73f6073e68a19c1027c73e90e882f8ad52b22877d2ea866a6b2d6d852b086041982694e624ab06e9d3c116fee83ef38707f8ae88e96d3fb56a6a92cb78a63a9f4d0f0dbc6b675ed092d4159ad32c490a2f6d71847d23d106a2edc409a8662824a62c7d04f3c4b58207a44b81335474bce8d95183621fd80d784ea35e239917318d2ff00c5c263fc2ad7d708e75bf3f00497c1504d36d33738f7a81612a692b73a4a24234cc7e3cca2c201b54b1c1b66a145850c33681f7fd9874c0cd9bc9034df8d35ce52138621752e84cc2aaf991e3584b09505f63cfaff458098626906503ac13247fa02e99386f42800d3d3770aa81fd7ef06c4c96757847e8f3175cc4deb3ad573400c1f23b0b2045a8e908afdc59fcead7f8c9e5a144ad3ea2d4d96736130c763f108e79f80feedad9847eaff6be6720ce2ef6a8c3080f0b411d0ae634ca06b82a7f5fcb1132903e5a51c1d3542080e335b9b6f8c0281583fa952d09354aab8a375d55f93745d87308db3bbac071991b64889ccec0541537fbf919aa4becdabf08c43db19814abec373f79b12cb1e7391672c8cb5df11218a37529d3dfa6b356a6f9bedb21b428721b01dfedb26e5381bc6dc6d105baefe5c712ba582e265409f2ae0311e238796207ab33707be8efd63d622724529e4089529efab3542100fcb4fe4e9c4308b920a89019f10918107ea2d1616fbe3664a50c4917d617b3d077282e36f1a192743a6d93b7ced3e18c902ed6ea19f23f3d88d215ec7cc8732311773a5de6c52a640a7d2c5cf68491b7c27a23f787637ada86ab040b3e58a7dc6b2d7a6950e3bc1f21e603dc73ca9af049e050d347b7fb891e9518ce7a83b75d2acd551f6ba51bd33346a70d123aaba2107625ef91b13b06838e0f9d776129a459e2a619748a947a8fa3358689f908bf40067f0a59ba34dfbc06d673d45c962dcff063b55fac645f417d54f2936f1597ec9dec5cd87e081442935e0bfaefcac64c4c775748f7086222acca7c1740a68afb3df0dab36b31e0b9c704cca025b20bcc225bc73b77bcbfdde66d4887f0456b69233376764efd17e9e7022a1e4c94996500d129739ddd074b18e5ed7273af2b0cea2e50ca0712d18e9da8ca465b3c413a9f2931bbb581474eb8a5cf1fa43a30bb6067b5357db28da54a0f5fa010dfd9636c0f7f5cc0301ecfa75df0de44d77ea6327db4613fa94eed9f7231e53163bd8621812bb774f7e7d40ce20d2def717cd5aef3984b51cc1d129496b804abf63b401eacffd6cd0b17c59cc5dd2610813f3c34be1f16e6cefc62f913ad5161d64f03f868ecd82b88318598099ff0ea55fcff3a6290b9336b9f578227e381eec4519dde267220b3da0e418a05fb742c65edeabb3262a0db8cc255236dbaccb17f2f65800556c8c4a339c153e8a3aa59490ba725043e75ec0f62b6c51d5da6fdf6675355c9fdaf6de473301224b042e049f83b326c57499897eb3506bbfb90602a62a8dcf2f79ceddbeacd0fb9d8a83bb4d1290e45427e7614712ddbfc0f4b45f2f4c50eacf4f2f1fc1e3b551ed3eed1aa083438df1ace38a683e11b98520a055bbd73b7c119b688c043c1345e155c94fcad1d17a3eaffe36408e296ecd6ff98012a266367e5e58ca8d6d7f40c669bf51847d751cf550fecfa133674a55dc3577b32ec95e0347ea6ccace684548ee69a985c53c934602f6756549baf8c20a1f14f20c3a9c9a86cd0f0c6e0aecbb22593831c1ff14c3f4483f759e1e60d377eb106bf5163c8a726314539c2a21c86d2b305caea182a061c01fe637b2f3d2a65ef640737942cfbb24107597b27bfcc47624984dd72aefa9ffe345bfcfc0d004e404bd668e533db78f6636a99d65fc11d9a76e91767820bc613a51921376eb50f191d20a093656c1295b25baeabc5beca69c78048323ae89a11e275fb6fa750d1b1c61a5094477714d6b89928b2541c2a5e0b1971a023aca7ce9a95f7c14ac125a9afdade0e712489e4f92390f0e2fca7410230e711c93b14cc7269147bbd1afbc16d23efbe5bc97720fac46b5e7ef55c0e3b346a51f3642f55b6c284f70e46e1a345ef31cefcde1b3f9f1b9c9e805780fe5162aae574baca9e04a136ef85b1bd2df380392fcd0a011c543da3c827e454895deb43b8588b593decd499466df5b02cf2b13bc09c20abb9f530a62e7d8b478d12bbf40b0c5a71d4c345c29a6c53bc05865ca5b7696eda3a2627aabe15f6ec5b3db4472347b7a2f2204fd32163fba6bf20fb29031f811f869f362caea4da0ee5ba279beb8607d73093a520ed92b3c03fa517ec63b6b21e3e26301ffbb6b7e532cd84ece801aaf5d1c04d3143e59fc7b7d361be1c3c2da449fb11f7f13dd42b5f3fc8e4934af2c9fc195e81a23848a2c68b9acb50a7fd1fcde2bafaab2e5da70c71861f29f010689df83d4ad4cf9268a2940507cd4da416f8892669c8bafdf4fa0a521772bc501facc879b488dcf68768d46148327aa9aa648f39d22531875e2f27c3b87ec251b986aa50865a73521a0e5fb937628bfe742cc790a33015f76eb653e95347322ec860e8fca2d492fbce381ea3a29bcfbe1b5c1fa4a709c0cbf356fd3e21c8e0242f50ad84aa59f0dd31ac8bde9ac8bd49b776320d69f9d36469a81a0630cd91a1883b32f9399180e249c9dc21ccafd70ff22f30e4a79892260198c2aa41f7699ad31f1e652f7d4b42b9a30cf951a32602c5ba42f559f7ed34a9ea99ecfa1da35d5370e00cd321bbf3045f7e05d65389406d3126b53da3d65c9cf871f2be908aebdef42921ce515e8ff7b9acb09e50120f313e5492d57991726c253df1543b88b1cd25332f434d65fb0860be29232688314ab509a1169cdd1c833db6197fdef02dc9640d8b05edcb50724c36d2d64b480aeeb45bc307aee226e4e898a6c3a482cd23a3c219807e057d64b37eea079f18bc0f5e83c4516ff847ddebf7fc171b53122ab7ec1c2acb9816100a57d3fc4bbcb9511caa27abb4781753aa58501352b6dde7837d1913db3fbef70e056b60107c73ddca25b70ecd9e2558c20ed5d8ef4d24dc94e9bb38ed0212eb6d0fb1619b2de0ab8c0ed7daaf44d79a67e64cfffaad4670fd104a578d570c324c3df642a938498a835d299e6aa2fe57551cd9e2a6201af1211a46074631f00a107f29b903ef7d6f40b58f481bcf570075ffca24fa587b18a545b5ff71d4cb487274d10a9b0a6609f19acfbb0216b9c1460d07865a1bbe4304782b943a5c4a6288fe3efeb5c7036f6a1017909c7f4c9ee216bb45f39159fd7acf5e53ca5b86ba05572a8a6075fbd5b47ba7802c2b0482714e63726178acb3855a27cee41001309ddfda0c9117b5b7b67908c6780908080c73f237644f564608655790cff0fb17a439e1534768a44f917a16c68d130b119dfa2498db3d9634f68ebea9c78dafd5f2d2ae24c48d62f8321c2b3fab8262b7016f8a85cdc56b2737fd11d5802665bd57d4f658805cbb51615d7799ae7e30c1761b5c899d62730df8728527e9f6e954ad27316efa0437675c817c3af3757bc4a45ded9d0716046991dc1b3a8ec4bc33f849399d50e018b15bd953683cc3788775f71055d34e346f6baf4b93c9a81e39a895e8b067f6b523f56022eabdaf07bd5eba4df144546ce5bd3614e7145369310a82acd8c1b71b2490676f8b2ebfdec799194c64a88168ee9e3791691fbfe310610474e46a13d4c19e7b78cc2a9c430bad15b664986e78607b98ede316064ffaceb99a87e9523b82de0e7125559079890a96bf5840b0fd2f52a7f5f8dabb1152fead951a04bc2db6e7f4afbf4c8ee7be8dbbbde10ad0dde174da6b0debc8bf0535e2791180729fe8206cd218f752ad4e8f11d8a4cf6a333d82bbb0eec82221912fc9c861662de070e2ab09bcc28d4aef78c622cf8057ec8c91e0c26f7c866fa70e333db54b2cb0bc4f3e826dd15466f5532d36887f78a5b31049db2542e1437a26894cf67a31751063db992791b1e889b96c74c29267e51664adebbd5fc9f65f0a50e74b0f8515702a47d26e11826e69801250ce3f675a01d81cb16aea9a01fead8656ab0de558bd50e7d4e3d0b3077b7f631f5f93034b3403e8233075a091149f7713b0faabdc3e258fb0b078a13a45b8bdf4691dcd9403db6618009347d82615d741d073d52850009a395fe2bec66bec8d8bfcf34f076dbb0b936f858af341a262bfb7c2ff28a163f37e5007d8dd5bb75a4c59c0e2dc9a28582436930ca35e6ff56cd74927cd4190696ae947b04ee761e4d74f108fc6c08d6dd96b47894c133576a0ad06cbfcb719f72676aff5bca32f6d0d9550031ce39089fd733b0365e308f176aef7f7a55f09391d175bc42de14cbd892031cdf65fcc24389f57e560c38b35f8942e292332cba96d31a491f7d8fa46edcddddf58c1cc725bd5f0a0c731774add82d32bc142c974c748e1c1f579c14ab6aea8c0626f82a012b9bd4bfa8705c218de019b312626736f54e6c453591f2c7c767d611e0791d6b2ffa7ce705a7cc5241279b63c3ce2301f426d8d3bb2790953a2e2d4477fa4d35c5796f6a679db60f2a37fe9a7c1df7928332192cda3bba69804840890e2de2fd9564345ee920c76f34299468275ae292826c35de3727f919bbedc94f6fd3317ec12acd8f828dcd1e00b7b74ae68c6ad2a3948f62fe05573175150251f2ff071aa7ec4f392b2ef0a4b00265508b5e9db1341494e498fbb1a6b1e08d547bd200593306f57d211e64b54a5f19ec5fe5ef0025717ddeb1037e340203cc21b0dc1247ebcde92aad8a1c7d36aad11b40de45487c191a5640fa694f9d87a4b314eecdf40a321db0aebfc44684bafc9a3ed29ae0a313a76cd96a2513853fbc90c03718b578b2497997a6fed47a3df98b06d42c60dccb4c3b67bd304cd3e927507933f3a5b640b0519aeb5893262f4acf0c415b4cde28ddbf145e5edf64e1917d3c375b002036e3158d0faec4fe0eb64ab3a71a79f19ef0a5d33efe356e8d09c44abdf66c4a4700677211af0739eecc00e9013721a5e9cb779c964a55ce1c2ef100e34da62578a6004a4c8eba9049da0c6900fc1582e68ee00991bc92f53ebab231f36b39232fbafa84bc743da2d62f129229d962ab80f05c33cd93953ced1ccc5b36bca906f6dc7e49526f1e20ad2831f5b14e24e17c756a329c433af7561e5683621e464cce95e92c5d5c566d2c45f0ccb7d73b29d8a4e5e39552efc8f240b09f451af7e9c51ebae81c6d402f4d7304f83552a9201203f60caa1715a64088af30ea04ba307099345aa6fb775ecd1792dff41857d26a08459a9afe9cbde96e071b0d7be505e966113f6890948fa305eafaeab00858cb4e12b2fd50239ea356c832f109a74a42fc888fe75382fe9777279acda31678541133adc98598517997f29ce2a2dd3246f24f9b2720d66e9b3c02b0476451ffedd34f473d99230d93e2720c610c149ad5af4d1bd4b901e200d8ed135bcd460346b862333de9fd786c4b324883ba5eef9f44481144c28c33c8f824e77aeb465fd91db864145a3225e624d910302fdc5dfec5953afed7be95a16f190afbeb9846f711fcb843cc1f7caa93b079a8192e74cc82aa0f9e0e47eb3859d5f41ae1129963809e63d1fb63c38d9bfa3a24ded64b8aa81c87e64d62ececf6a565b708be72f17c0be41cd461973b4e784afa6fb15cedc19ba2c41e9bd136424509cdd4b30769f510f5f69f7e76a57ea1da374e435c04c8e4ccaffd26460cca888bb42e69176f130c02631602b3212169ee11724db972430637c87b45ac70ea53639f8e4b4dbbae34f743ffbb38f79afd9bb6a2be6c07b10bcf132a0d9a57032f1edfe5c904819d964981a9b3a68f1076c29bcb6be8742884ff410fe1ab1f9855b8d079ed177479164aea5251a127796902918705ed12cfe0f8e611951a252cb7633d8d76894b3e8970e10cb84b2aebf33d7114141d497b9f59e61378bf2ac34c9a50b8c85cd2b1bd7b9ea674372674a164ede644e265d9bbb75b6fa7d62e93c6f013f40476c37f7e3521ab8b5ed2a449728814fee5d8645540124f34df5662ac7fcb19f9c029a7e584ff35b81f7264802fd983105cd0cb1871863217d50159a61ae56da9f3a783841af54206055dfa5fc21c7610f4693fd255c2e31b71babf657ec6ebe4663f0207aa2d6182fcd4d174d32b63dfd3eb6fec6f95cf115a05e8b4c5917d30722f41e5dc4b27fbeed35a86d667691dc25e9fd8b0736e8b606627423570f3b878cdeeca2baf81ca83c57b5a6d521ddf55ae8c4dbd764a55ee549ca7d50953ecb045142b2c4f661bbb154d6834aefd6891e3d6b6578799b7302f5aad4566e350fda2effe18a9ffd5201ab9ca66e242818a8b1735c8606b51e36b7fea11d4b50f89d42c47104f62a1edf03097dfef8fa00dde988ee0ffe03a0417d752b5781c436f1816d82738dae1af1fadfb53a588b02e7a1ba6be0ae2d0a2d3ffbcf120a2c54f70ca0e46c1870687f1a9237d9a4ae853cb7faeb8f33f9376bc151bc22c8ac215e2ee44b44109ca2681e7680fd7da1cc46862b9c2d293082afe1e006b27ed034dbd5ac95d2c01aaca9b7a85484dec3bfae3e6c6687bfafccf7a8ed14334986ee958458da42bb87319e3eaee842b42b844ede5e3440776fdcfa00583961f42e8b1fa905684f7cb83c6e4445fc5eae0670a37ae3e020ba2f8540f94a1c301f8bf96f517e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fe9dc0af8a61b22c1f9ee6a5f3622bfdcb84b2eeb470db9012f581930687c8fb2672f7b57ac9dd10294632cc607802c6b39bda17d15c95c48d7c4ff198db8d26732c08b53d215942c06a92166f5d7e853c1192277730850ccd9bc345ff13a9a2b369d2e0c3de5507d36fae62b5032ed286f562afd7cfb145279c739e2900c60482e45122bba59b6a269b782afc98be19172660fe5f1e629aef5f2208625334fca3275213ad98a8d9b0156e0910657ee1b5247717a4fff856739de7b75da66ec459ce2e52f3e7928fe03e6d9d5d6a588cea8f75650bdbf0cf9832654979ba8eccf7f833d0fb4434d2e39880518f92f210b77870f582a94bc661890d4a3760c6d5c607c469a6c97fba8acd5c6ae065a30f41a80d59cf0dabf5bc540efd2de29e35df710833bae5fa4b0db7686e27cb8aea54e2db0bbdcbe91c7d967e2781229f5690149fc3acbe9862c906430f3e328a5d1d959a122c0365075d19f213923cbbffe045d87286935bcf022dcbe2cf3401f2203abbb492b544ec7d2fccbff6d31abbd2d786d533b058ef1f9b549d4b2af98d784b36c612a40565f9d286a2541b7f6af471fb5ecaf78d4f81211aa83ac1b25a2e3b7116fbe41c8063cfed798263fb186a7b38b2c060bead0abef74cb35ffd2a3bfbddf73ba0e1d2934a3fedfd8bdb4619f7bf815667eae5547da38dec73e4559a9305897e68fc14cc246743a66d2809195c0475376b92f93ded6847820a662f48484cf501fb0fcf817568887e9b743603a8e6546f28b123864e5cbf7943c91bde83bbc45d07cfa93bf0cb81b3f407228d2d1a17a920f97ee0bc9ecbb00105e526b71572b2ce61cefefa5cf7dc9cf4f91f9b2ec9efcb362b383fc2fd2d89fe3554436074113c7dd885012b259163cabcf1bbb7c4a411f853d813f655bc3445125dabc34c99a4ff8c061ad0bb82e086790290f383e6d7772b044fd77f68324c61874b6b0259e99e340b43176b4a0e7ac3065d90863eedf12cf8ef8853a27034792f17429362c9b721d8d6e3046cc2d9b93c4b0a57049ffcc6a45d2a182382a20297acfc6a831765ebf9d83962736c7c0abb5f2040b01d50b7f0e9587c702dd45644ac4e6950224fc7c29255a887e95d5e6bca7ec2197707add4a4a717d13cc8af75571954b836fc3f7620449c2d0f6f75798a3eb9090be88250320f02ce7716b83178c7b3791d572e046a8ae5940372e3a018932e9daa03f1a25e0426b24d8ff617963c1cdc5f7316c947ce7c5dff16b560c03d6928886d6e19bbac9b2423895feebbcc72eb9cd64d58c997dcbff37ea1ad4ac8dc8e4793267ba3c5d8e71eedea9b9ee8e3f3ea212e803bf63513f71f319d148abdef72a8a60daed6397152828d4902176f5d3c725d4434315f41c9a4619becf222fce5c68d2387f19e991c03ba6ee31e0264c0a24cfc05eb271693442189f57946ac03a503093cf6236a332d85b2080d716d9281da273d1e2f73537e25f923f53d363084e7f900c41db1f6550fd9aa3f150cb44f28af5e9655f4b5797a7b34119a6770a19bfcb76732860cbee7210a0ea4c4b32b860ac4554b7b9b0b7ba68771715c6028d866138c21e589b7d529320dd802fbdfba095fe1c78b65aba050301f089ad3cc53f92726227e9167a47429976bcb9b1b437130555d424957ff59abd137b0951403f5dbdb975f01d70c6e47dce7b2b39118035d521df9bbc5850ec7690fb534ae6e78d17445f654396d323ced4093c3143693f6f43500e1ce06b81517fa000b92e1646c01c8ca10393339fa6f26be1b73fd0753fcf067eae24b4dc9070b456164de3d9261db647616db037f6ae3c376d5a46a16fa9bdc5e25733e5106e2e9a05410d8b869871e23952bacd3b360903bec7fbe4802deac4e25e2b090a7bc0c82937907ace29934aa74653f8483be0f968b0064e9d0cb3f4073fdf4350796520d1dd6095688d7229eafeaab254d2362ed5451dbb8719640b8e208fe56d8280e01b0aecbf33b7cc82f05dc0f0ec8acbeb66e2e498e87265e6021ab323385a99eba37e921d3b52e982e377f349827877643b909301d1b1eb1d518c179be22dff2f08ed713dd01627cde593975d1eff3259c8b367f8254accd38f47ca109c66228406f43e3e9627cc2eb0108e6c6c19db6509a990d0e917ea902a76aaa8e8a3bfaadb8f61eca106bb69c3e93dcece05995b7d4f9c15218f84799a887a5f6569a086b47b09d249aac73d404f33df0eca3806feebf254e149955dc7f0d9667c4aed793a064ad8ca495228a45b9b3c6c27383923bcab8d736cd23310d53e0af9cb9fea31930284074a2af2f7f3646020a10aaddd33595f8b3f44d3169d1f78d8e9b1494f8b301c0cef778690bd195c277dcd5e57f3605b7e3b21602d4726750b812feaf9fce08d1c6a67e5676c30e879b4cc51b2a8aa3b8e070fb09954d70cc8b877d3f558ba58938e6ae2df0532144dc073d7214abb179e68a7d4626f536411788522e70f089d2d5f45b326960995c4d7fd0ea2557fd1937d2fa2a0c437f8e2f8bf9242b001fd1d37b828dccdf0afe33c7a63149cd04b742965d50539e922551d32734ecd472d1c743383161cc7b5e437541c364e29be28858ec8bc5d6c05505988b55497e5b6ac3cf4daace263549fd6903ac78da4d5cd9417ca134b6f732b47ffc33dfe5c7770919ae57949984fb2dd9409d831c9cd6c9df2b34bb96dbd31f3f61a6726a64c2a496c83665e2a4842bc81bbf6a7a0a7ac73c83fb9c88e6a2c0ccb58fe1c9e6824fb4d4097035451ed1aee1b763560a3c450b0f14e86c4a15370bf95301e849289f28211c6fec639189cfe801a26d6ea25c26c0e24b42da249848c158ea8f9984dcb14977cf9c4610487ca5d0526f1800ef47aa6d8b43211ddd75310ee5235ddc6f1722e6227bce819b53c277a39620231dfed13da99f9172e34f65559fb9122c92353b787655f68ad6f972730f3a6e59dfc42918eb54264dc1052340901525b3443792e98a7d9b43e1c4b9a22d90948b6da840b5af8cdc6a38dc1b757f8380ab0cb4128bf727eb90f49359e37ddea9cfe770c1c9c0e106e77333726fed3156c3ddc46d93970b75d3eab55d778e20bd098108883509e4284e1bc52c5bbfea1764f2e8ec5f02bce71853327a5a59330756862d61875a71d4a361df30b9af2806cd8c5aac2da07c0a5e55fe4981d1a7a6aa1ccfaccdd89ee2b7b234dc78fe8d14772a0fd8b0719a66dcf2806f1c08bc1ef1979b5172436f4d66b1ea8689e045c24044a753aebdca137b1b64b3ade82db0638e9f4c0211b857fb85027571f43af80a3d39424ad89a2af8f6147c3cadc097e3d88e2ba03080c4fac6f1f808fc2a933e6e4be7a28dc903945ee00f0606d90c73bbe4fde3230a6fa07aaab2d71ac6cf51464a5a1466cefde97fc1425cee76c2c91cceb1c2a8519458a759173a3490e17678ede2c35f372082e7eff1a2bf3f737298514d9580a8b6d1dc85c687b46c7f81700c586e3eb28fc492e81fb11ec319e8993c156bef9511f01eab48a29786d822d55acb9c698bf144f420cd0cb22705d7779c17efa219757c35587d3a490019e279e3211ae778e4ec3fdae13d4e1dc9a677e615542730aa66473b52002366f1605083b5d2455dc7836bbb6dedc7049dfe794bb915b5235550cd1bd2718dec0f7f3e609ef63c2819e5b24d2559b5aea68ee8a7457a472180ae5a94f326c5a81b19125940545c2f5e01f6e99d9c701809280e045ebde3264fa7e3a52f11cd77a24b0b1b590d9a7cb81e43f24b5c8da61c059632bde464f4a95d338c85046ccaae443f21aa8a68b0e4884e3d32c5affd18b604c30174877d4c1309c9676e9ae8df2124ef1dc961fbc2ac783d005c62eca6254cbad9182fefd8e7a8e47dba9a59f79861498df2c179e897f1c78ddd37bb32ae6379b3f89a74d78f5078599db975027c0c0f0d1a6a83c386184f2a696a9bebacd466c90c91f9e4662415f4b425f92c10ffa20afb70d1ddf3fbdf6446815d84c063f0b163248c3fbe72b63fbcc344692853ac3937597f3eb310aa8b11ad7a044f2094930896e6112b8c3249da6660c1513b645cfbc815594901fd48bd3f73556c1197d45f2ffb7d4d8d935e4a697020de34e5af9d52562ed31d9093bad7a9503d688c132215997538809f8bdd6e51615cf33b02bb55449308e5fc4fbffb4babbe291df8912d4b1e3e964035f027522d357f12613124e41f28bf2fe7040f5a0aacfd3f482eca4d2a6858689da4992632af6c7c4658bff03b5d19f599189d0b1bc4aca1d08801466d0c11ff27f23ead4d778799933fb84adc3a5131d6419df62278c4e057a7c4890d4c98e17eacc7354d34cefa84df7b384f64f9ee7ef0b242ed0e4f1d1f88fddc380f6dfbe523316b95615fdad408299e9038fad3e9d651134e588f3790c722b8743099bdca570bc2b09b2d773cc1ab7beb2da3acd48610b6ddc36bc643f33a24df956cdcb50e52ea476e3c63eb8f2798e3841f5d4fd0362d06417d094823a7f4f376cf877b920a3ad3670e2171d03739105e0a5eb3a047064584c22749a629b0d594e54103a73b2e06e010b295b59b3fcce6e888ff0157773b4c2a9c2fde8026326a7d96595f5e3ee0c9574c0f37ab88d5cbc1740297ac16b057c5616ffb8130c3d524d0d936580066cf6ecb147625c5cd162d183da5eb4fa23047501341d9c06cf82c1d685e9cd693f156ba0ee5c8782851ee4cde7799f3bc9afe737b7a5fec4b0bd526d8dc5d0eea5faf9b68949e88c5de80b4ded7c46a9e137a03fa0c89c364cac9ce752a19eb6f75336e35a080ee9ca54938d262eb879b2505c7e43b04bbae13d6515eb46394c3f9e60984e1b551d118c9408cb0712b01a79a8c37d3627af18b5b19d427a49c34e85cd1345bf946d730a9bdc3b3a38685f954f61c261168faa21e892ff9b8ca65e013f37671fb1ad3872ecd8cedf452612588a1195723da83fc8cd9b18a31bb6f2a5a486d5ccdab8ed1a62ecc150db40a36684c1c8475994eb40c9b55336876924d798b96f42d6cc0eed18dc86c4b55af9c44cee4eaa673ca8c499057442fc1a5edf2b2a622fbbda9437e74fb4cf19bcb942cbe8335ab2a6c66709b3e8da9fff618d78ce6432c6a15ff1514d2b3ebcc970fcc1cca5f2fb0db9a2938b07c1c6bf756db5a2a07831bae46f0cc8daeae436f0105f1048d533ea800b1760f9904e10df64194fcbf68a5179ac298fb9545a58531448af5f65199d3473267d30f8e452ccc05458a7c83df862a512eb21e71c5cd0a361e91da3b33e0d264c2df7ebf1e4a5ffddc7b256423f86a864dcdc234e8806a0c49fdde85f958010c1230fd02d9f34590aaedb398e90760fdb44508e8e36b6f1557a32ef3046a4eb8637f432632996483520ef52d8b0a3119c53fd525ced0a508021cde39735e756c035c94ca3a600fd614f5a4271272959b41e7fd86ef1294215ad3a0475cf26b19966366b15e15a727a226e33a90916f0261626026fbfe100ed7a6262f4213d09d1b7ca9944bad6f8bf21d3c7f03ff6c93d469159aba788964f60f75c11a16a9f55a401eb23e448746dd214135565851c556afc803aa80c4a338338d38dc3baec303297b40688321d2be68cff9f28fe017dd5f6b315a3e30d7ee297257cbb164907b7026d0bc2111b2994114f66378b9a9ee6a664d6f539730929c8e400d6dfb58cd583892034e06eb0251a8407ba5c56920bdf5283ac2cdb1c109b67d7e18edbec5eb26bdae695bf8bb86c0d958bb1279589ff4b3ae619e2604b4dfd038d19b226c4c8ca7f8c37b392997de1a273a72ba45719e4f4e435ff09e7765faf6e37c879a082bfa06dce425ecc60c5411c940fcc1d9d9b29e2b3b4eec73797769740bcdb3043b87fa3f77f4fac165245107e2ec33c2c46e6746cb27aa1b049866ea1e7dac247e425a18066d927f0bd5278eacaa56c5f08a5feff86b0b25d863a122b0f2f757caf8b47c5206235bfc1969ce33080e64a1ea77f74792f2b719751a7b10ed5dfe59806b8764592579dd2f914329d69bf64c8b720514b2bc29a47c107e82a61c85445009f6026dd02830b6a2abce4bb931c7ba9c15595191a0fd25cc741efeb3ccf88bb8081ecb463ce75800353a249b792884232b6694cb299550f9f2c6c4ec8533131683dd3ba09ea7d4322fa1d990f882a1e60abb85d523db10d30a148aa3961c151f507fda4a3363d11e6d8a12e34148b9895c11d3b8df976ec0e6fca2d4caeb3e2a2c9bf324b7c0184d0dc87a2800fb68b967ab41cb9c7b00ebeed438759d4d9e180d1ae0ce9c0ffbbeabcd9ff6ca6fc3f4d2162f1a6ab45c868a21b0c47cc2fe7d57940586aaa8d972e62e27389dc0b919f1dd2e054321200b83cc3abc61fea72a3ec72ce063acc2506d7811e78199a3e9d9e45fb806efe923af971319c137a32e0a89ca2fc8e5e792a1a6bbefd70b0b0f29ac7b70f7d7d550fc3fc49762c7ac50bf8190d871ea86177725f87441d94a07cd208a715677a140108a0b373c471d493f18f6625120e11f99a1b4cacb4588f73aac87fbfd1f35ce4a8b54fc81f364db8e2293cbc0174c5e3c3f3184ae9322b447c41ce6fdc4036660584b5f63406cdc14a3e91def9a640afc9d0bf96919738df3bd7463eae6fd1a21ffd0ea7a4045bbff70caeb33e4154b7c7c3acdd73849f8a7693088afc0ac08befcf72da944f85cc0867f893092f2c22e603be4e29363cc7cdb337510c284a7046755e1dc1822e7998ad4963d662c6cd9f02b6dd17c7c2e7603299a572fdfc01a1e9e895083087caa7568fb922a1c271d976f9af8c1583b6113ad1f56e4b4b7206f05cf1929c55601755779ad4d7d4d8f3984cd90ba387abd4c9b5c4f2ee4b0723c894e12578ddae807a8f7bbdd53a8d8350c4ae64cf07536e95d9712f77d0fcd04ca232a435e81d75874de659ebd2ab792cceee39937823fd270b3a11dd5db10e88e41ffc2de8fa5b25e14a5e2f833a5dc01ec3feff92b5aa4b2f410d4f312ddb7ceee2c0c25048aee5aa2bd91d780bc3e5fdbe248937418ef0e8da358c038098f2ed41f1335c59d1781d94777dcf62375f0f0af5c47e38f00eefb6f5392a1edd44d9c917db3377b64a049eb9e87ba7ffb3c38b720c10a16b06bbf04ace1ce190ffb9f33f66e60144b8afcd1dc88af34990058bdaf9454c01bccc08ac468e1892eb72c8ed5f6496dc9164b93cacea9cab92d4abe206b9a2d487248f8895a484d9824f8c6c7c6b0094219cf7062eaf622d17b760a83278e574a98966732d90a3f596c4991972aec3e2973faf811c9393eed6362a169fceafcc16e97ffed77af44f7c129697c643db199e0ae73dc40433ab32cf707442d51636091ee35c1d4f808dffacc50ff3da2b96f1ab5ac66462c71a0fae5634abd907f852007eb1fcb57c8df728eea3efcff91c0baccc11e9ebe8e5a0063179ab98a550a760a40f48befbe9b573c90d5aeabec9a70c49e3b141c268d675970e9d2513f9d8553ac4f6d5e810a2a0313d20f326b1d922886e63591be56ddfbbc8b429a6bca30ef28e806e0e35bdb157fc342e3ee213dd501229415c941b6ed505cf190f9ce48297ae36db92ee64bfea3e2c313d6ebd25260054a1b595943fd45e50f079d049722fbd8ae6fc8000b8887f80b4f9ef0eee9a124fbba86655acb6db05a1f966a89ad6c247dcf8a6c528efe75efaae2857797e8bd4f982a763ead53097ddee73e772921f4b464362ead71aeb1a61fca7ea4ad5e462f694069337640e268b6ce39897f9ebe47441859b83b434b5f3a963eaee9ff871a3e678c1214ca69618a3d5646f1bdab4b81ad8db96559869b1f94e57aa36229e9f337510eaa7a42a485adebd8ca9b6c5233aa17ea172f71458e43e219b182195919969732b44bc10c16452ed63262e5f00aaa6db99445c2fa8ded2536444c1e9ab35ca9aee8bdde710966235b02d7d080154e2efb5aacef14575946b5cd6392b9bbdd49d7d883b9ab2566cb075f5fe88b36fca39ca7f8f4a4fbaac57589b4e8e9e76443b59661d1b47e5b4a8d16c897633cfef60f234d1a31d3787500464b43544efe20b8489d20e0fbdaa91e1d03fc2961426d702d6c780cbcfbac888847c5f14dafec0af5d58c42075c400f864f4cf4c857c2c9a76a89db40fc263394b59c86263b9d4b7bdaaa8dc42b401f60c5d9490cf7554e43f003e76bf5f32ceecb3bafedb6fbe880a3d4433fe1cc83de5cd00fd3c629349f098d8009f6aeed4e0163770fd1515fa3d0f699c44af5f84cd61b0946db38f03d46ddeea2de40ca6dc651841778a2f662e6f593e7aed1760af60c1ac54bf4bf4aff9b241d5780c8c32d99505d9cd6907c05f9761db0319a7d2907d3a7432450ae4286d80256d64735806a808704a3fa5557ffe86ddfb3661a866521d3d4649fa6cdd24ac19c09686f503059f7717e8df5da8a5e13227d30c7c4021aca3fbb622a576a5a0ab3ab3650632e1749fc0b056324688aef08f6737900aa64c46388e4149a2d4653a78a5d83aecae9a50e01cd82a472ccf36b3500fc872b9d7c81f4b314424fd363003e30887ff89327f934bd355d21ea0495ef4d0efacdd3e232a2d5ef5efd4a4117f02927165ced25ca6c2d0e75b98ddab786d5e0834ebbc1fa1f37d619c23f59c48b037df82933a31f254fce7f2cd2e0e9752dd4686756e3363a263d58e7a3fa47df9c6672e578b63d73b85c91dcdeb9335863a03dc5d005df86dff2d8f11eeff018364e64371e62bafd8cc781f6fadfdc72162bf32c66ce08fc44188b074ba2b9d974df71aeb18df5a4f0c085a01d51cd2b39bbd964afed3e8f5cf7446d6f3459f2bb73d4416469f26642838180d10a2033d374f6815aa7e933dd14773e12b902ea70c5eb80dd21f66441de9091fec666d5d516f074d112adc0e4db7ddf7b654ed40025ab127e7f8641de550f49313b6b769c51f3fffdda8c5d1bbac17ea20bdf58f22333cbdfa04c03c19410f0bdfd54ab361c86cf2c3734065bee41e686f3980de804af33fa4335f4e0bc9c6ad96ccf82b63b28d1c89d03895f3d026f20358624a15508bbef9ec028b49135160c39a846e47ce95368c36c97be64422edec04599244ba94e9678f6ab7c46caded949e12f137066816c54b4d7f2b5080e24b2ca00c9fcc8557f48a4904c00f0b599e2b764f11739bc3ac9cc3d3698699f5f368f4d05682b81959cc06e307c4bda1dbbb9d106fc8c026c5d36e788035bbd8111cbae11d23b95d76ecb50376c21a0c6aa4549718b92ca04cbd410ce892f0733634cb934d4ea2d157894c60f69e684acc330d260c1b104f4bae3a54f8cecf2b31536b129259fc6f96321fafa7f69cdcc17b2f0ff51a9f78cfd4b46ce99a4318e1ba927c1fbc951df75022a5f7993615de400888a848df99c2fb2cdacf5f5c9de08b8360218d5ab01c8169318272914e22b6d1f079758bf37de1823202189c3e3bee120660b4267445b43a43beb1536e6382f6793173097be7c991d8c87d684f7812b0d25ef8ae0aab9c916a0392e0a11dddd93374501d803f54c031768b41d45ce0dd7e1e4ef498761b6975fbea47daddd190e4af49baadbfa32ba0f9dc9bdbf7e9274d976b060c679e4729c68f86296b064730df0a4e1cf88c4783c2136f3e0675053419e2e0486bf6656f9f222da3c92674af25f4f7c598c15ec42cb8ad8815f770b09e78268a19107239c12fec8463142c9741801353908406e320e9e665c31a566a2147ff32e10ef2ffd57e250238a8dce96a75349406d2464e249cf2279be560be81f44af0c7f207794cb708cd841d77db7e25d731582ca56edad663eca67ae1b1996ce0e03e83c15c283b08665a00450cabb1126bcac82fd63fe76a54176aab1c772bfd487f9ae8be276c201c5b42512c1ab19702618073d15f61a441b98b5a85581f885c467b0bccb39489fb40c966b400ec303e78ee4317cd08c55fd3fcb0912229a5ee18b578e43e36740f97e0d7f113760493488d857d10a30a8d08a2bea867d5fe09d7e3ea0965a7ee0b819c368a32cf542ef8f08debcb9f4e1d5e4232726c717209a2222cf9375769d26cb02d4b36f0240582c0f0f86bdcb4b01cf4c543c3fc10ee0e1114ff3f2fc301374d2f6599b6a095596163b90259b5bc8dcbf065c9508fcc9dc1f7c18df61ddaf1ce5fef3d7ed7b31bfc6e8fac20ad91fee92da2665bb8dd542ffc32518f4b63d445471781ab428758b87acae2f5d00b6f1dc6cb1acc987fcd22623cce69239490fce1bdf80f4a4da8b7b42ea10e7c5ea775500106ea17d46cf4877d06dfe984f348f7ad5da6b138e21f7adbfe6aca47e3a1e3e4b520db4ae7f7ee344dd79810f2a245ae2a1ff23a8d639313942a169cae20c4f9a154e825da8cc549bec0db6a7ebcdae82cd3849f09e0f4471f552cef6f05f9c764e6f251782c632c1fdc0d2fd2e0fa13a922aa325ced0d5ceda5cadba1c392cecc76e6e3c5c01c570b2fca78e167a330f2b6ba901dfadda77aad6992164981efb264cff59311da963cab1edafcba41b02dc3e6cb22c028f762eb2ca21d717b3c904f06387712cb7863baba676a6ea82e2d827304410b0893b167febc3878e64d79c53c422e30ca40121a9c800912a3023efa8e99bc53958bd263830701d371b26d8d770552806ce0642493185746d560be53619dc7e0311462aba24e739e08556d5459feb512ac23bfa1b32dc399dbb4f5e27413e9b5588fabef21db3470c4eea61ae4825e7c87a712366b2c1971f05cfa5170b47c6149d437d8a08abadf1c107548d0a1483ac151853dc6f26808a6bd2ac4e7f679453a52cc92271c6b52179165d0a64af39534b67cf58fe4acf08fcc7e5c4cb9f7c23fb4e2a9e7713f8a70f8d2a5e36fc1dd2c757208635244732f5ab5ac1d76f04103e4f7a5d5b1f33b2ce6d8749c2d06d6766ca28ee101aaeae3f93163aa9b4353b3650dc7bd35030aa0ec06afce08503e92946846157e4abdb5993b256e27330e15494cd90204f622a6b5f3ba1e79e52127a61ce73c0a39b70f454a7fd21471f900ca166e2fc97bce99d0b9f1400fb185c61f1ca53c6d4ea8beda17483539bfe8b353d0a9c3c6e0a73999e48015984a158095a8f8a7f9cc7dd53872eb5ca85269854eafa28b227518245cedf9778cda31bdb84c29226457e316268ee62cde4e10047ff6506da2b4421b80a80545213a1edb54675c2b07e0f954e88ae14bec368843c985c55ea785abf3181f950db6c9885996b30b79abf3a1a767551a505f280cd7e5820b640d7a6152aec04faf46e1eff1fb82880740b14ced3ff196e10cf5c73729d36eb3e13e92835fa944c2ee0a715d1ead439c03f34701b11283391796847245f0290b4da908abdfd6e40ef46d9775a0e229050aba53006b263b30bb2f3afbc776c7513c1fbec1b13de6342c83c900c6276177f81853478dc97a46a83ffbcf610782dfc4162a150f002133151a31975419310eddc6bb0831712e38266621f449de9626fa4a1bc9da9a5e345d1c35e683ddaac1aa6b55fde649904f6a70ce09ca5681eab14e3b515a38c61d77ecb77b62d3645a09f1da1d951ca6f891eb9dda774ce4db560c1f266d00e7543ee1471f01bb8643884ebdc6bb1c84cc6d68b6f292d38cbeccf8253f30a2635a067e8ebac3fd5e784c8dc9cb6d417cea0195f16f045b1c6954760165348d392a3fb4c6bee9e8aa4251f38f7df246904ff722c6970128b389e7895c8b74a5725b27eeb798518845bfeef62647125c460b981dc8961c91ad0ac6adbbf94052940607c24cb9111d244547d51dae227f72560341c08f091ba9ce4deb309e313a2906dbc516b6e7e6075b5e0d6c9d98a3e20d8452e0d5fb3571b8ff0b83ce7cec6fe9450eb1d170b8046ec752cc6f22b1105ea2383fd64e49be2eca39b502e2ba604cecdace7e59edbb04e0e49b646e9adc32018a10409e57bb6f62252bc0b11e9bfae23bb0199326bca1fed776a5179ca0a75c760a3a856846bb4bedc13c1c92b7d7124c287c3f07fbcaeb6a6597f49b188046bd5fbd6f0e0ce83612ab694cf10d72df46478f131ccb4d84d3240f15c6b5c243a510d4255b9a3aac8b282a9a2ae1173bb69ebf20541cca1d68d7a26889044bbee423c7d16b5c2ccd73e6410d0cbd918929132ada8613f2b72ae23bf4177dbf4c608ac5ed5017b5adc43644320f708f3b0c30a93980aa87aa8f6aeeae1cb53a03edf6ab0974515a609eae774b39bd248319a56e88d8be93d044737f9b9d65fb4d4b003b28fe4f83d85f11351563f034cc122243a955d0c2ae66924ceb79f764845ce77d3af9471ea7248a12f4d3b3511fc47fa1815a097ba33c7c6b8c4371017b7a60be89e2b18572554a065941e656f9eabb4d268d5ea00b5ed1551fa3e91dfff1c92ef29cb9de34441fca72514a3186e0fbf3006c62c50389dbcf0cde58859f776ade839620265d9e23d2385916d1c63d9a4693335017f50d5d61ac6a133f3401db1ab94e5d91eb0381dc496f7faebef18862eba7f0d815601219c7eacc2e870f77337d8ba747fa754e278e45619bf34e1bbd4b6da406ec7bf3b29d176803f6007c72140af5a061a28adb284842dea8746277e4dd765f28e9dcea06cdbd195ad9e931068f83f957576d3bf8bc0864a4891349c36d979c8a8b324d77a15919b009fd17262737b53c40d0e7b87a9885a150c9779237df255548231dbb220f572f542ef20b71e4dfb65a0be3ab64489c52384136325fdccfdee237550202e1208c8faa8f93cb037ac6fb7eff559bbbdc9af2beabc4ec43f9b679655a83305abf0b496c81cc5b1b2f4d716b83605aa4febcbec6267149e1de2bd3dea5d1f38aac00d3824d7ae5ffdf9e6874457748a1659dc2e47bc937ecc8ef872765ef8d800e89812ea740913b23a3f97dca371201e40adbeabc6984c2de020472a85e46f95ddd6ce2070db88170323e5c7191dc7d7df7e443c297eb4554f0540524afa38298354b1e0c818810272c17ef6cdd45fc4ff4787f7614d0f6aa3294ce4ed361116fc8f42065f0b3121e6ef0e997b158e2316446ed430f394f8f0ed58172872b3dd056a9ab15bb762d354d2c405b17fa96cb603702753be5fd8e5e2b018f8d3f59b4e12db6c8a5e3a7570e1d1c992eb396a18b59f6e66e2c7f87f09fe049af3cab0a79b620c8372f930a5490ed54c02f1f34d30837af0b79fee775047089e5ca524d3d6f524fc1762335486325f40faf9957424c741ae23b30d5077b4c725281016fefdf3618bec2c5158dd12809ec0ecf08b38672d19f2b9b6c9f1dc6ba80b4847826db4b49b0d605aace5af38475e1007154e9def73274a5e794506b00f1ef73c52c0f7191a08e7e9373fc74e79ac0e6fb793e59e6db7457dc7303792c2cfa202096a2f28fb70f55e95de87c772a2824b473fe3420bdce9c09b2b0584af0bf30e5968f62320414f21eac44c6f75dc371226c6cb337c82fc37e5dc13d7dddf7c6d2e3e28a9c4235d3bbe74d46274cec46b3a6657e3b9b378381f74bc01e4443b4c3ea4610a062baa8a9fbd5723ed9c69553e2b191cad537343bb923c3d008794551bc6c7a6a41b63161906fc4e91a40444f99abd21e2623dc189d4e62d7527506bd4ab798ae9fd103d28ffac464ca255f1bdcff7dcbbc46a1bc2fc7ba017378443fc31f69488fbdb0077d12d45731dbcd9ad74aacc8b86955cd31f87be9188ac9a90280d3b493dd15db967318985b83da5d4cc878a83593876f25476dc18311f9ba62ac9aad02ba2880df3269ddcb472bca4407c3b97c21ff1938e273695df72baefd45c1948175e9a38e77c35175b9bea6f65538492882be0693c1adbdc5005dc5394ca3c7ef31a39db1087172f5cc3ff0e69398782677af2ac77aef9bf59ed241a9a481c611f84db3d35a8e4fe09fc11362060dc2a8ba2e0e153597433e294b2a7a3871a5c2ea47bd68ed13fbc934d45b0a931a68737e117f7656723f8d3f8e266b7e10ab47303fb7f40b837ebe6b37116c047ca1821b5d01570dec58a5041b486dd009b983e2444bc1a8790d5cd16537f39421fb8321a5ff61f581a931a219c6b0b5442eefaf29e2b3ffda6bf584c5f8689ed32c3dab249421fc2226e6e336d7eae19719d504610c430be48058352459332911559370b3ff7099c94c8d48324573b5afa65906f83dfb6747eb79ebe364e050096476f85b18cfbb2d8d1dd981be2e3cedc8517a39e10958e512cbd6c89a13ce4fb3ff225f1a51a4191239124adb8d53f125a709660357d5da46e74c3898358e0f9374c1213efafa7b36956f993b7f9a38e7ee7266ff7d0ccdc37e3fcaec1d22cbb1177e2c8cac226ed19c1a3fdbaa119c7332b7c20e52801d5ac25321d37d0f9a769635f96850a5c2a414c371baf3bcace87b3b0c7cb755d67959463c52a247d8a9651e1a6d55014975df4f9464bae2f61868b1674f626952f835cb5556bc8c64134a0ac05be9d6e0c645fe37cd8663c76708869d827a581ca90f1fb0eea73b2c8738e8b3b8a453407a83d85b83627cb1c4fc9bab119cd6c771db3bfe38dc2bc725d9080d3dd6cf2a38e5a979887efaa2ab9a3f4ca7f0142f9c6a8aef8c1281d7ea22f10e839b41d3cf7333b838ad25e785a6a7f886c29cc9285d2ca32af85e757b33c9970faf778fd0fa1cce2749cd564c97bf4c09e47ebc65f01fc40344a98964a6a42fcfc47d83014e6d95c2c4e2c87e892baa922c0930858bd00b98f108cccd9a0f8455b8df308121a04acf8ee7a876f885e5b075570ad14e6cfd97aa0657aaab56f9daf84b6dd3c0b54cb6645718e26d09c2fd2708c3b7240df493a20fceae0bbeac1940a5bb090ac548bb6fed10fdf224738d652cecb8fa8344492ec33a2a8828eb17b509f0a3f8e3a8be5360a8404cfe363c0bf1f90610db3fe4e1acdc4920600ee4ab945b8981d86216635238af02b0859d91bc60c429229121ee96c41b55d0a0209586d17dcf89e6b74a17e1c878cdab7ab76f89556297c9f847288b0f726836ccb7ecef0221cce18a105e8651611dfbee6c396784da81f5eed5cad48f5ab8e661bf4caa69bae3661d73d317e005a58271173613454fc4072f1e22285ff0513ede33b28ba2d3d89ae7d5cec104e179ef1a55d440837666b9cac575afc00193528ebba69339e88a3d38cff3bc1e18147ef8ae0b7a1294b0de3e2fbb1f08c4cf648f61df89b2a65ddb96abbb6bac7f2f8fb70c8de26e88df1575272317e286c1fa35f9a873dde7990b85cf9bf79f58defc91f335b44a823216847c6bec55de0234a09faa9abb367bbcc0ab9c9ec03ac536f657765097eed920c570bced438279e80a4289c10b9dab2b5438ed89cc4427c915c8a20cad7dc234de8199d38e8d380f1e516c2007a337d6e81f06fab6f3dd78f6f7f7115aa4a434d2683563c2d6b5f3623e5eeb2bbf41134fcd02f4ffebf3a6afe4eea01372a5f101df99f59b4d91a226728292d00a70a0c512e0cc8e380469a017e8fea15d11a3a72cc5ab9ee59a01e65c91965ed0cea677f95e58b936e094b7e6eb2d7be5e8ba138d78df3ba542f8559f1fc60e2b9ed32b994881c52c255fb4e8a586b855c10dc43c38d250c428fa0838a170c7cb6411604e07be4ce6f32ac6aea7fef072d72a110d8d79e77b55661c8802ba5045990d116b6b3294fd9a866245c909e25a462d10dac30494da261cec11859e470bf54c793ceb7b220ee76f68b20516b51121125deb1e8aa0a89fbc43fc572993a66b3376bb0e0d10b4397e11b45c0b6bd52c66c1731ee19b95041c3a3467f50775f3b6201063d2e7fe0c0a60bd1b650beafb3b8e6c34a2413919471c2fa1ee178c377fff527d426cf88d03dbd2eea68be30f1c04544eea19da37158ca6a2eb180942a7fa4e1e21212094ce9a7d03be311afee91681803226e9772ee3c17c015ca5941aa59c89f48295e98443c06fc018fcb3aa51b6ab4ba21ae911aa2a7d7eea807e4014b023f5414282ea52e9198bf8751be22b002d85b09ebe586c9f40bfb3b8a57c2e36dc1c4a7267e8af65e627b3103ea3c19f639ce73bdfd4058801f42a5e82d6107e7e9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855155cc9dc2b54b92cd2c82f3fdd213c35993939233a209233b41251bb7ef4b1e47180112c67465950ce6b00151381e882f017fe49a21b5c73ab1acade71b0156b8ec55924a7a681fa60cf58503fd66d0e3e66094fed48712f0a49631c3f4e4546e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555d72bbfbec4eea8501ab8187bb42b4d5d5ba9d213fa9eb1db9d9b84a8c41bd81c5009c24a80ff7a379c3edb036b2e08f606f4fcf91fef70ea90c29cdeedc3829536efc5f1e8ed9ab9c87898c5a79794f51c0e316f4c0be36a2d2dff0c2c48405ed3207044286c094095e7930c9db6b7ceda5aec8680cca37ea31af614f5d9f2e0851fdf6e10fefa5937b66b1dda5677c6ac2d7b6e6c5191e4bd1aaa23bef1d1e32b71cb354cab7b995f0e05efc525720d4d620d8b66d1191c744579730d007ba732187217221554aa91a8574306f4473b3383ce8e5b6aa7690b8459fda63ebbb78dc36639fb08f8da11dcd379f1f073984700d478fbf6c99cb83a8fd5efb66f2a0445d98c380233ee6d273e05bab3a4f7b914bb2c2cd3f32cba2b2c456b0bb470aebce40baad519d56e78bae0eaeaa0d9acc929eb5d46253ad91256955963db6442887086d077ad138d96787ff77c50fde4d7e787c2f69d619fad84909cd7d1d4769f82e66c1bd27160854e3681271dca1abfc4d667ccb435fec0029d8af32e1567671f06c07a2e9436d8147b86298098ab632c0f45d35bdba16ffb9ec7df20cbf87fa7c0207cdad4fc712e6147c88f5d7f00237ba5ca8d8e90b5f861ed74fbb2814c80b888a871fcb85f8d491a44903eff8e3b818327f7230a6d7026d1b2b61bfbbca386c5565516c954ed7da7a4075b16ab2a6f97a684f1c7d37ea3765658a15ff8d4360a1e22782c359ccfedf16242ba9739461217e154086c7c2d55f38314c98ea2d198f97f8746938cf21727046b39cc322e96cb37d0298c435187cd4b78ec8069585de0ec87a52734fc5161cc6fe2b7ca7f1cf37bc62d80d4b642f13c4c02c0cc89342ebadf26f5c6733db4ba999d712f44d2e25c9af1ea8ba26a9e9845f6afea11ccbe0e4c877b0215a18c598fffa421b638a559cee1783600fb38f2470654842056fe9e437610a52486fffe8908240bddcb159052316cce0f7c73f29656ae25043d2767038a0d37db78ea7601af4fb62eac211d7526d8d88d8790f7224ef88e29313a73f74573140be4a5156f4de9a5443b4297123db1d7e075b6b651c62e5895450067523c92cfa6ba81cf39b6c98cd0f558e2a2bb765a0fb7e1ef96517c3ddcf82ba92f1b5e8c99824ed9e1d6b1a21194bf8e55eae29d6d90a4737be05eea449c63c2d402daa49c0e7bc34e07473ba5df960ed9699a70cce2089b01837dcbaffa87d078f79ad43a656eb3fe5f39f28970126648fb38b254433567e2cb97e88e40eb5aa2ff0e3d39553dca45865f83a7ea62e070cf676b8b04e67ab4c487881bd3e84811b68b6ce85c0987980829601eeb88abad61aff78928e358b746d890d7cbf3280db9c302db022c64b61b559f4889ab826788f8be89b11d74e7110b0a1c0f4bad85d0c55eb4b81827bff49d56334eeebbb4e7d3d7e282a7742c412d22e4816fae5dd893f054ef2f53417bb22a7c57a124a841dcc41097b633e07332372f31f3466364f5fab88944c67eb5ca17160194eaa9ee70a02d4a9d472e38eddf2266a9cfc28b67e731b3fe0eb20f0dee364f8f01a49be6e4772007702d4c1980399b45c0624a2978d9abf6d48db70f199e46707bc749f5d14159872672155430b1d0453066903c78efdac7c4aa2277b7519a69dabe9f30d09674b4369f784e130ca349300a52a03a958321092b7577688c7e3f79366e4bccf5215aa3584b5050a4635261dc55411db890805a7f0130d97c8022d8c5abca7cf48917912c7aee0bc1512f241efc76e976f82d41913e09f108b106b1cec14fc9a442d980b6d6a466fa0a5f8c59183676bdb55b4f0ecf98344c8b0801878aa25139b9b7bea8288826d53608dfb219323fe2abc75c1a081ceba6e3a06325b1a070d8cb1454daf68dea8e17e0419ca182b066419dbcbc828880400ab4a6c1647b860ab2eeee70fa1df901764f48b7caa9163529ceaa0680b651342bdcc883066f03c1459a0934ec5645782122c24dbde8f1ca32057b8c2a5dc905bd6d43146f1ea69f89e56a5095014d3f320f58319e09b5460051eee1806bfccd57d49252ff62d8c89f7a5d3d880796871efd2a503bd5da9739ec292fff2aec268b16e3a0dcdeba6a2b5e881fd2382c5d1d7de050687e856770c052fba00bcb5c7795941f8d55fef928f07b8cbc298e6900073380992a5658e1c1aa9ff5992ca376f2bb370c95cd5df33683c4999d6ad953e8769a25565398145bf163579c85db9a038824447b1dee57dbb0c733ecac13474aa800eb91ec6eb96591529af2ae190f6d2261105c1aa684d72da80f9ac88f9735903d020f83fb4ef079a6270500b1d463d1f6883434343d3f4dfdd6ceffe374d8906b5fd03f5c01edbae291bfa4ce93b19ae47d8a2fd5753afbdd4cd01280ef8ec86330c1f412cb12b70781788f26b11e06c3061536c73e982e2916e451f8355beab207436f9d525d203930269b633f98b442536527664e9b1d2f66407d26942a2cc149190f12795f0db55f061200b89d2f96c7eb2169189f40da7a5e9b88412ff84081d86fe0db148aae70816350f39ac9fe6f577d4dd042be9fb7e863f3ccce06eb187330113d18a6ee10e386387a07c24cdbbaf7dd71a343ef649b721049cc4feee8ea39e327190ce1c634198e35227ee9c394c739779716f98db2bb8452dcf0ae71d80d991803d18f8b769378f8d4d53bdbb88f0fcbc351db1eae35fb394a9564f0c44055e2c3739130bbae8c643b7606bf92f5ef3feb8f40d788cd36d38cb30250997dd04769d1fba27022a0d489f0eec834753a3144a31766a9f9cc42609594ebbfe03890d5e21d79bdebcb85f794fb5df2cc68c764bfe0a543a04b19cd952f2be7041773da6c86de1fdc1aa91a75f503459170d6cda924fe7d236a59dbc38ddd7b98f295c42ffda38041ac5b316eacc12f86721b1aeef663a531e3bbf29736a34fdbc03344ec16ec31a285e490bce5618cc5a6431f8c7c73fe5c8d48523970e3f7186788eea3ed8032e55438c1f14e65851ac366c838fa59c700989f6da09ffcb750d890511ea6fef33166785204b4e83428b57b5c591acdd4762db19fb5d58fa1a20070189f6c65bb4a59c4532562c890c67c3c1f2387b426573d452b4ac49ed75ae91d077462d45ba3bde6ba0a0f7185b05e0e3df09dda405f76256179f0a20c0d0898996e48715689d71f32f4cbba40b6fd69c294b4c9a94d373bc96ee58a198c03168ede5b902528b14f47239339cc4e204f83f9360c52613da60e19dbc647c691d466812bec042f280dad64ae2e479946251529b943d1524bb92dddb0d6701d38f87b15b1d9f110a03bca9ac3111be2231bcb1f39c0d8594ee9c9d4763b806779702ea2b70912c41788f32be02ce051451006b27715ccc3d1d910390e040c6152894becaf04d8619f814e48e525ac5e36da9c0e3084e67d28c3e9f15ba9f29b8b64162c9d5af9034419b21bc849d700f8ac0c7629bc40b25ec5e98a64b5480da49fb611b273d61fa11231b93303c8cc70c0b327317c8a277a93254069eb53ffb137cbeb772448b77d744bac79e935a38ec56d32077f19de6ff43cdff80ee1ab290bb1c4dcd21620116a8c4b6f8c3e54f47f149aadce777bdcef8f56f6e088e157734c183af70380d31215ac97a4af324d9ce802488887879f3bc2935913da12e20b328eb00cc6e0b10aa2fabba4ea15a90cbf701bf3ff2a4c71a8a8f2886163db62be5492c9342689ae71fd0e6c82781c0188c972d8f2341d432ff42f722fd02c9d3e6c4fbadbfcc6823951b4fe5fa9ec24239a614d8871f51bcf540dba9663d21ae74a5252ecea0c527cdb42d4ff0b131d7c086ed098b5b3bbbc3f7bb9d10372876e300210786d134098b4b79f2fa52c8604902e843d5100e5d58b54fa1ec34fe3f020187a0237bc2ce7dc8b747d04ed25f4158401250ddd85092bf78e9c632c1f54c9426807b6aeacbc6d75cc7e50a4a2dea251a0eb85a6b9b1cee5c6e4f3f1275def2363e686dbe8810cdc77daeb7abca23769762f68dee9bcbff97d9f08bb9a35d1a911c932f95c87739289429cb5f855b1434c2e0088e38d93fd80da224f27712defba07fce13a0c163110ac99e43ebd99d63f263dfe1dbde72b2c1ca0d0d7aea400c423f83a1741b4dc9136d76c8dd1665fac4b186d97bd5ee625ce5e1b2099a1dc67e2529dbb4105964a2326b4e17ad4c03f0ae9d59c8af5445ade3286135edad15406550f1bc88fb1b68789804de34150f9e01481ca40acae9189acaa5e513be3a59b8355a11c11c01362c4d5ffcb3df84ec1e6e16c7e0c5471e6e5c857cc00ae5441269a8a9d4a7fad90c1179a27eb3b1f10d4ffabb872f0a3aa58cf4a45a76542a211c6d73cbde325a493ec5f2c21d097d724f23a331395946b9e57c47a8b41b30f135fad638284334049091aa30639447321197dff9d1f8fee4c61f551c2adbe64c692b4b07f7196a444e51c8c41fd30208e74f995b9d9d28f2cf8dfd49824235293cf73cb61c90357938ef3a91230cef1f0d3f2b18e010768f8e1b4f8b85ad0c54a1871836cef1077505b3a2b086d1ce4044c6bc5cc150034f65c998ba72a8e870da7339021f9c7e97f0a87157cd75f7e7de829f3f62f9a659f2ad850fe50fee41e75b94c72fd41cf53de9a0a26da484b4e9d2aaab9603e41690944923822b1c0e5701ba07406fb7c0311be5952f54e2f6732a46aa15a0c4e3367483f4cd7ad4a740817502500eaf3b354400c54f51bbd00ea096cf1918597f5ef9fdb565899428e90b60b58e2d2e4e9263e1fa13a962dfd61b8045a4ce8abc15dd9c3f5ade529e9f953fc08f6406d118d297a18772ef98e3e83d4833549819364009802239449d6528967351d66e692b9cbe729bf1fdbf0046348d340826ea1ed997ceba98e591143f9476c857a8cc754ee6ccdeaa7df5b07a5165a458a7fb33a77773f84f7703366b49d44c84e4c531d834fbb2c6a73b79c4690eb0538c18118f035225d5432aa214a568b13df77eb8bd47531f42096329216d9639f863e12be5f5a311fdd49908601bd03070aa888284f1db86a1b9535f0173fa98d43d64cf2f16c0e1ea25cc30618693a4f574fe2ba0039922eac31cac76f0724c6ef83ec68bbe0d13720621be897cdbbd8b6a4877f8364600548e51e58bef08478d5b2ac0ceee91dfd65084e6f7b3552a1ace3815237d126634310c38181db5bcc9e93207df22e59dad8c7fd4c8deb5ae2b30b8b04f861b98fc89f9f98fb4aca935ff08ecc70bc5137e3e90d98fa2642f103bd73416366840c40bd6d8ae3bc4cbd1b4aec16f8dfe9133028054d0023e131ba3bef93d828e36e7e13091704a741f79927631a6b659003c2e8dc923982627a4f3849f25a75a16d6adee22500644a02bbe6dc31bc29380f5a223ea904c614f14ef8c99f1e04839e384b0a097b8639a772a5ced7c02a13a8d0de74f32a54faa310402725add3657366e7dd948c705e6e964461c9f35cf810020ca121e68ea6637fb059871d29ba752dcefb6bfc44e6224c28705d88c19c5e31894ac600fda773980d5f6de102bf041cf616e722630e48553306fbf20f762a2cbc1a5b915cf2f89123264af5dd79dda87f670a095a750ea158e83e59c5f3e41af9f16122867e1b3693d6ed34c50a9ef4d83ac0500f4fb5d5eec5056b19ce62cc3352c6cc4994f55e67cca3520318abbd3807f6e0bf3c20f7f76022dc5b9a415c827935de0313049adc7b38ff7aaa834ceb1c9d10ac40671df8b7f891a44ce7803b65fcf9f45be1571bf973c9f0a7bdf6098ed3274c879d2ad361299e7187a04090a369f8a9af113a0a4ce93781e6a47ab7268e4836344a367687b38bc90c621d9318793f665ee0c2e94b5ef0181afad00eb642e76f7e6f3c2c5b30be07ece8a709a7cd3bd447734ae099467d617358a6201f673c70917cd1f02539cb4d8bb590f2148d5817481134148c4ad2f704254f7caebab6c02ec4ae2a81b53a44c631b2fc2d3f4fb75fdbd6a22056dfedb4375f224b8e26eab06b067617d62949820c6feca9a2920a37430513403fd9a570fff54f796385411f25cd8a2d99a0f8a41bd6f0d8a617419c8a812b0d3df908f4af818ecfc960c3de67280a04809caca13f253fbff1599280aa88583c4383e82b9f3dcdaae9547d520c48186e80d26a189be73e25ff4909d32f04506dae8a8a3c3c036f41cfbf788ec6db0059df06203d04cfb14303b74b15dc9063203a48743526bfe03c4bfbca0973d613e9afa63a12eec6c97db665b870ba4b0bb3fda8885681c15943eece32651bde43e5b03da37b24a66efca5e3825c6b9c350d367dc951584a7cdbe28f0037b6d6f7abd6854f1e87876cff34c8e04bcc1c946ac6321d9a2f1f4d050d0f477abd6fe3d8fead7aa61089408767a022a5121977035455db92c997b9b4c6caf30f371c1bcd1146bad3e65b2dca3f60510ab4821dc9e9fed07864c095a9ecdc500104f51981bd2a1ae676e4a1360dd586e75390c2dd591f105ee2f36cc1eef7d46178cf62b590a7dcb6dd783798d8319ceb476a8b48962cf23959125cbd98518d0916fe683000bc580fb19994b557dcae950536984809fb28d4da90d89334c246857076991419bddfa3d0c4b4e8bb163b4be109a1d0e99455249e950c6c3897fa8539ed98fdba3d1d6e25ae58cab69430f98052d7d71bc59459c8df3508b76bb539896ad1b5506732fca223d10f7222c7898b034adfcc2ebd697e9d7b054b8fdb507f388989b22849f835c504789a0e48c832ccdf3864d8ab7740b3f4251b0389cc5225539c0d653d98f9ffa2f608c7cba7b8f8467bc3a6d70109380ecd5a70f7cdf88caae94253fcfa7a470591ff7d82356e326ed91072f19e7dd55e811ecaf7bc1b78ebc0aaa5c488ead9c3a5123765186173129998812e0da58d7b55017424dec3be223e2f5ac41cacde4e46153927bcabd44b2bcc6cbf571713d0250b9c598909d0ce1072158015564cb69b6ac452d55c87627c394698e9d74a0c037770df536d5d02bcee7e16c7937e3c669338f6ae50ed49c30cfa4dbe82c9c85e9f729fb64dcff8ce644769be9fec2cb13e75c00242d7552e1c39a5e993c9e8144ae6c21b8ac5be2e6c49b0c93c77a2ffb47daee1ab5d6f528c1e3c5fcb93a87387ecf234ff4f61bbcde5fa8cf350dc75e766524758896a5ebecd6d3036e14c7308ce16a3d2cef2d6cbc5a4152f785b0ddb1c55d7f1421d2e51597d41daed33bb8a909e81c9a3d3ec61e0862abcb4e08aaa40f4ca87199783783eee530cf776056642f03ea4b2e95a4f7e0c5e11fa78b62dbac0c4082f7afd10ecc8fbfd1edc3d378b45efc07ff19ea85d2d2ba37fc86fdd5d8bd555e2faeb8bef2dac7bb3415b5dc07c167038e89d0fd74ffccb31cd6019192f06696c1ae8c249a67a8cb5812069d3af83ac6c77d1b8596f8d297e093d257fa860b74f9dd513d599449d836c9db28c1f6314f9d2b9792e3af854c3678dbc896f3765af2ceaa176bacd721e17e66dd8bc9a2fe4775b1b8a041fcabe66b2debcd5b4086dda38f09e6f3ded3cfc87eb42387df51d97a2304414d809a5ee08eaad798c7664af1ddafcc20d8d54f62ba5db91b41e9f9265eb273fa5e3a6667cca42566f6dceed048bdfc72ee62c3eb08b6907a0754d0e10cab1e14a989fb17da3cc3916dc277922f5e420817975e1a83a3849298c803e1ddbef684a0612739a58e152884d843c146e56bf48174abac805ec3ea18eaf32cf06c2ce22c759cb83cedc35fd4f40fefdb988b12171492fe5a55a014dd2aea3216dad001826277a170ef385fe43d581f8206a6de093e006c1467614f325eee8f5664533de38ec110af5a9813f5d27ab2d7eaaa4285242247c0eb89d886a099b25190f2a86cb9deee33fb792423b0f6a838e3aa86ab1eec9eba6a78fe94e14aa723e10ab90cc76e26f0396713c0b059666dfdf8d3885bc0812386020df32b04bbafc85ac5583fb5a5d0a8f27eb3f0f79164da0a7d9dbfb105525160b7c01dedf00671396e171f50b12c4a12badf8d1176a715a1f37bda2c334b1e23b18c8341e07d2a556e552fa3b1eb5f22f120408daeb11d3ecde9f94a81278f6f3848a4c2c81f87074877f36ef6dc3a5ca155fb0487b417bb4bf9fba48eb0e2638297ff6c3cf3b0c509086f63545be11fde0ad26219474578e0401b5dc763ab3af568e882c8cae9150b7bbf5c35d44700a45ffc330adf8fd5600e5eeac309afc95f0610410d4b64e29f2a09eb55474bebc873d48aa76eb2c435686a66b2c1fe57366ab1c7902a24422c2efab6b1b31f7e419e81e730a3f87fbb63a5c49fab133ee2ee4d4cdc87a265c9124e45484b52a004364b47948630480f619394aec35d4d6b2d820f58602f6d2dd6e86960d73c44099682d58ca41bfc238d2c6c4f54d2226e6fa00b64d8e27db573083663e84c65c8630e077d55e0a696d6094891bea1c91ff96814d9e766d8d53c87765ae448dd441a82a944d5e5d83c24fe2310891f2a4c3113cf71b3542cfb71d3b0ccb0127542dda24507866a290bfb929b49b9f177ce1dda703b26b79c4b4bf5f8399f3305530a874387554e04b6ca28a7713b746d7632cce5abe90ec527a79004c35123dd361c103b308528dbebc7d32b608bbf516fd81e1d4b26599176e0b2db0ab207aeecc9a43b76139137fcbc224798d9137b8170b461ac228d6af6a6d692ba4babb2aae5f63f2c6e18e084326a136bf4a091f6caf83d2c3896145180bcc556957b8e1d1709e5d16afa1b9d03a7dbd7d1e4b03112a63e14799810fb338e9da129921f57838030ec58ea65631958c72678a4958b848bd158ad56186b6db0626f147c9be149298f0296e5263c34bc510ef673425da37db5100de44e86d190a607673cc2e8f4ba49cb2627c4f6c4265f6dc3b5c9c02f01b15e9792d2a1663fb5c632f364a87d12a4e3ace2954e68127dda1720d050f3f81b770f099a858f0f3fbd8fca4b0f547fe34219283e0fa8a5603964dc58b1f5f24a36721a6a3d69ff8f8dfea1a91f6808584f8cb9422acf32a05ddbb1caf32060bbd04226a670f91c25866257bae6525f8fc653b997f34a2f3e24c58b84d12ae3fd4375efec003525e96187b727f45972ac8d22e62861bead539a9ec51a216f25cf1046cad4b2ee899209d360199abeca57c5a0823447ca1847cc717216f165868830a6d149b3f95c764170d84e43cf3062108d13f86c55ef218fb440da7d64bb4874454511b72aaa91d63932564ae27eaf86a6bc4cdb296ac30e4b868f965f8837223670c4a68573306979dfd00083d8a36cff02ce1149424543a7d355eecea06327fde6049359e77a13920b454ada3d0070321cb2b05427b3ec907ebd0538327edf1aeeb58bfb671ac8761d9a630eef240ca3f0eab89b950254dd843b9b9ce821ef66670ecba21306eaceec38a6adbe6591970e046879b84b3a5c0431c74915e408d5daba9728e62bae9aeb0db8440c8b29875df555adf635c7387a856a0464a2129c42ae471c2ea0f0fb132c9ae209015e52cac7a53cdd4fc40bd16c6c4d986995d48739f4613f7bec0414a90ed1a6bbe461b9667a9c14eb95b7b77e6f3d4e1c7f39cd3d4b971ae1c9e5c1a740a628b6924168b0d3f944a8c9d5c49efb5c9abfea41bfb7c88cee717c3237aadf7982aa1569f1e5b8494f04888c0e4def07b47b98e43d188b24021264d56d2c6536ddba39c95e36da62bc144a1d65f33177df6e03112ae979d59fe0cd52dd14765b59704314adb6c9fc12ee1fcce5442bc4075fe873f90c172567ad2320865559125071f9154cd46dd0dd904061f907806bef065bf0d8de12f9e92595679f8dde9dbc97b082e272e65e3d912a4dffeddf2847502b09b978b297ff2105e430de0ed66a049c6f2add6d736d1debd08091abf3db4e842e497feea34d165e923cfde2fcbe8cc24a061c7a4ba2f07bb0a2ff571e54ae560d0cd2e9e1503eddb3ea473917e446a67f6b9ded218375159bde50e6048dc21d02a901f705c5d43ff0166b047607e86ee27282e76784065e90fbb2b2ca0461f15eaa63e61d95dd18f660dc24da744843639a758c62e29df5d34f21cfb527cdddbda6c5ba2e62b2d3f32c0664e6362d504dd911988b3c2293e04457c4de4500dc46726c55387cd9de58265bdc61754ac48b0562cceb125c1a5d3670fa5a47fcc4776f4c6d55bd54e6b396206e3f716e022a16d5c51b454346a6f94b78d09dbe8b59262821b866dd1e0da9d6fd26ff6a3c6b6058242d9d4e89400024bc30de66e39c537f7fecdebed2b48c867d43074879e782f98ed67c5c30859d000d9b95a0cec9c1850ca74a9a9197cb6c68a025f5d172f142742ee97b3c83ea80cc89a53cdf3c09c8c341cb57ab37031f10ec4795f469749a3d124e57d465aff77ad5a2c4aed0839c73822006264daec877d674d97626c65ca83ec9610546d1a9a4cd7e5fcc82c2d8bfd7769a003824b4626574d5aae9f9c5321f6bef62585b886c0c256544ad8b71fc9babbb72150cbe83b7ccb1f100c3cdef92e262912453bef6c7d3a3b16460b133d82d9665326546751f4e3387b90c59b33e8e1f24b6ecc72d1c378230ecb34a529d04a9894b4e9edc348b2056616a0995f5f1ebcba9be3a7f581fc2ceea511af3e83718028513a5fa76d8bb2b861b37fe69953ade6113a7dd793025e8db08b61bfc2a99b34cf9187a06453cabfcb30db6fdab155224e006b9cc4598db482970d2374dbdc700fb787e55d714f4d358ce877cb18dd3471112f3ff45e81fbecf5c80a2a2bfae0ac5db3f5d9def46a3c73755d33b0a0ef5f72c4d41dab42bd1d21519f7db9332a911d1944b8f3b7424770f751eb88b24c6a52c1cd0f9b09e13127c8a7b215bd100bd7f3206ca718a1ff9b5109a7afc546f8979c5c61b0f60a0ab03bf3762f71911ad107d3fa6988212370f523eaa7decf0132cfc4a61b3d3929895832aa5fae6dbf2a6c0aea7a48962b66f3a304e49a0dd545eda85131dbe74863c72c0481cab2b75462d92f19ff34e3a4f639dceb3d73f1b33286564df95c251b9ce5170bb5d6f4afdd16316dffd427875908d6f5bf24f95a22f8501e95d7222eb28a937af5622274fe055087a47d99591e4482ea48cb4b5c3104f9b1871c890ffbe179ae66ae5e7c80c38ac0fb8f100ebadb9e6c2bff082f86b31e8a21829e40856dd7d89e4f96ba7526a954a987a42a98e8c71fcc46aa7aa3943c368b55bd1b3907851990d490b263892d745e02894f80ea46bc12b10ab932f44abd18d9af0390766e749499543b6eba69a60c6b561fbc21c94190a4578aacb1d13617006dd9c76a66c8636841125ed394572eb8f1852d61e347a3c64c70e2969cb9440b7813bb1e44aeab28e96e3acce7582b3859cc583ba7fa4569ba5c9c3f55bd28217f9fff41f85037476e3b26c910221ecf4871e499efb4c3bd6b4a67e9c1cbe6c6550e4bde6177172e1222fc8e9a4f6027ffc0aef994d9395e8048409136593fb284409a092daba9eea84d5bd62192d2a3dd122a84e4ec5204680d9eadd212a3c85279b67c793cd95aaeda418ae918b90de95c74e837e52dfb13b61a3f8f01e45be721bd1c8d465c410a3b53eaeb382e2de87db4476681862554686badc431aba96d6ef501ed9e7d70de8c3e314597d8c96402b86604fffcbac0f1d01f657e55489c64c048d24cd53ce7604a3c595801c57ae3c415abc18f8cdebe1ae26562250b74790cf1fe65f76d74c3e5cea25ed4f19c7c72e62e8224568bd4356bf36d7f8bc72a73d975d1521bf3c5c03d983ea172f634e7afbdcd5e92c88c36f2e585927802336a25fe7b537b0b4d7a04d1d478a46da1f207e199a51d25307c4854c91f913917cd1837fa522610f249482fbf4d35694e494672480f59d0a2951c159874c0fa3fc47e9f2368897d1c175750cb4d93b81a2c3773e0362355e3935a18cf839c933a09bd742b74f850a38ead416a0c6bbaed2e2de7256913fae0fd522d986140fe8ae0bd32da7a4c6a3b0d9808cebd04a3abdbdc68e0dadc7a1d064691db5c63d4b342e1db56590275e81ffccef24aea34ccced931020eb72c9cf20bdb0f181d73288d69fc03b05839beb4bad089153e649f2d6d40cd4f4885cdeb2c298c21586142d28bfd636612205b2bd70e1e08ba38493c0204e0acf7803ef673b4a02412cf15425c7bd9bc6f07c680b766d6450c5de637cf2f5f91fb1e4e93156bfbb28cb105b1177ebed7178b920de7afc2a4411c4f33cc189533aa7acc3ae7d4dd093b549193f6fd77b91d03d68c7f4405ba4d114b782d1095d83639b9f8a5f99d8ca14c001ec1737c1ca590684f3829365a9541ebb9382fada35192c0d6cb581d0d3bb5c018cc3b52412e6e3b5454c5f7e145e1c631feac294e865609624dca5f3968d84759e92f4bb540671360415e2d8cf04419af9f565444854000122181928ad22927321858d5b3858b5e317236d61c714778b4f43bcf894f56d70bc16351026972051c8a417fc49b45baece162d170ce4f4583b29e47f8155d76d7d861be79ede493ddec0f40bc9ef1dce535386eb3e2b51deea4d7e8fe3dcf0dc31e82663a87defe3ef48b1f6e0d8fc43d2a599d27284cf40bd6dd1af1fbe292e1735412517f1d9d2395760397d6cd6e2334bdced3f6e50ae45e9a628452cc64c03eaa36a787d9cfe43afbf6c3112a4b45c47c4f07fd23e5051bc666cb913212c337439ec65249c6952a385f4cc1c9d77b5ba38f7ffba769a3d9f75c67ca0ae50efe36f7369a6e249d84bc72e0c4f6a39315a3b67aab376b235cb7b86727bf6e71a57513cd9f1bf858735fe1f32b52ac26644921fc404bac54188e8d1230dad3ab239ef64be532cef53a1748e6e5397bab919590d3bdd115d4a216ffabe8374e35746fb6ef811e881d0f9c789e76385c07efbd539502b1453cdca510a336424b42fec3e57d2d96704a1b58d483c94fc52152e1c3bba24ff8444bc06d47f3b62fa8d579e83f4ed0827c2da7eb79dc1b0e3872152af05c472866f0bf6d55e1db9a8c2cf69dce48d4ecc58f6809f03f249345f16f68c98cfead4376b697757b7d6c4516f9a80bc7a9849267f4e78b200cbd7d007e1a14b11077db80ff99a2a13dbfa6145a7f549f85631bc9f31898137694c33b43bd9bafb0726353fe97c455a882419841ee511056f3279539b7e72ce6e908aff52db157293868b0af1990931640acfaabaa87b2f9deae7f5a1c9361f293e7604baf92d87f55af8f7429d471de947744eb01790929fd30eca2123e90ca48de1284b9285b47ac65107c91a36395b4f36dc6693d2f86e4ba38a85102a613184d4c85701c6f8cd9b87f04bfe341c3da49376bc0e72a928da0c183c0fc015405cb16319ea134f21ae122724f97a861e50794822b2ad0995fa28f3cd16f0024c6dc588a9adb6d7c052e0ecdac6bbf068da88159fab5358c54a4b8d02dcc3cca4a41c3e62d082d756aa1f17bd5fba1d790a286518a0d613c612d56b609183c32c4408e9ae20237543d0e0f52148833a20afcf8e8f30de63ad32e5d16a4c9fd008d52bf3886ee0aff122c01322f4062a6d041910bdedf8c2bb70030baa582587726244093aa5e9e1f689f52026051b108d35dd8d5c0adbc33d53544dee66d4b5231a38c5b7af99ea01a63e3fec4375c44abfe32df8c83485614b97553951018b87a25b7aac854291220712a972833d985cc157a67042a0e0379cb7f33d8ad70dd7842968505f0ce52fe326c6bfc6690ff5412c7bae045b8f6266abb0070d3a88b30f898331ea31ae12c08aea0b63ae553155119afe007705ad1f52ee34a8b679b5736d651de5c31677a33f8fca3fc790eb5aa744d6290f5e0c9be50b02c58b9da07b819eade13a29fd75aa0d024382613ecd84842201114e6b7f6586dcbd354caf8b34673e508bb62c284e9e915ba91f2a16bf8551369997307c4081b40a5c7f065299ed2cb5c2729f7688070942c44be1e94e4a5a9b57c520eeda95c6a270599321cb8a21895e580fa60a339f81b8ec0d633fe9d98d88dce1f146f7e5ac28bdb33c3ded0c38901d24063efde426ab248553146e4f8cb9edc5b50860cd0715b2e53f2e385d4902927dce3031a47013855ffa3dcaf6733e884237c8f8832d4971969680a4ab7b18b31c84d7615d5508c3fdd1a7af3a7238dfa3bbe93b85e302364d87593e4f585f9d6963c6329c744a4058dd834d5c169bdfb6bdf9b37d90a1e28a24335809f7c52204cc39d0d8785aef1657350ae6e185f8aeb3d1cb821c328d494309f7e6fdccb073aa0a9171e9e0df85bb1158c544e67402c3b96dcbc22d5ca64bd751b986eb3b6b34f0f7aaed012780e6fc349c72f34eb838a0387427278ac62ebef125f6323cebf274f548ec862dc59ef56ed382aab035a42daa8f02425e7447643740f90a465d116bbd51edeea31095b6cf2bfda42386a8d11e176bdc02d1e6929bbd3dad05a412cbd6a7c273d90623ffece96a21133121190d1cb60f64a040b3efa0bba0d6ebcde63cc8729d6de848bb5f62c464d6f00d12f338bc9ba40afff324288b0ddbca4377e5a5614172eff43967bd8f2d9ae856e9f9be499cc02ffd0b3ff15e8a3099a1c0f3f3b68b4e866b7b61572bcc907021253258070682d4c241583bf894cd704ad59e16d8a33562894b8d8489894c914910c88e4d1fbe5de082ed666366b79cd78a42e13a0526392d545be9367643b205b6b89d558a6071816bb39b60738ca2a43b44420135a2ecfba6ec1cafce832ed0f6a90697701a9a56ad30ccfcac79c15232a9995e0b65490fee090063867405a2d858642f1981b6be71909ff65f5109d795c5c75f6fe3aedbe8050bcfe1da97e6f0cbcae0547983b899636d16bff565062887787796998e0fc2ca254b82e9e482ed73538cbaa946a25017b42bdd406bfcbcb0821d1451b4445572b874182e3f490f0d15795a2eeae8818ad26ca171aa11af27d5b8441411b4f7ce0dd99d4149f63d0d755bf5cb13e046e8957cb12421d02514884eb94cf22d22a04358406837425c87514123f93a724126eb233601dc2e2fea156ac6b2767aa35e781c54b454383258c5ceff9004db1ee2b88a3ea597d36f5819dfaa7feaf7f3eb56f6308d9687e5a7ef8523868c1cd46fb0ea60a53ff0d04e03d46096b5624feb77550e9fda9e3138ca00124e1111c643dc96d3ddc35d4ac35db1fcdc261936e7148e95cec7473e9ab8fe463350e2d9dfe71d51f62162a13ca88fad930ce58424f8fe4aa333aa5a7bf925648e21d4004db2ad341cd1196a53d0716dea7a4d70f5428455981c40c25fa72e54436782587a3cef93e686ad7ad4a5a24eee44e67f53ffd678240dcd3ffd538a3cae3fd02cf9c546babc0d184e1571d0dfa0450be1fc41820862096b986ce526f9ffee6c30b20f6f54cb59f3e1dc1b38d14760868272451efde2dd53769294114d585aabf83b470619cbc4270eda66bfb9832b449291e58ee1091f416becf92c7aecb2aafa0db33c1e1c055abdd1eb8c04ac214b92533796439568b179a0560728c1b3b93624f5329b218c27446ca2332e173bbe61884852c466531fa80471f5fb3896fb4863a5c66c3d4258e2d8b333ee5eb6b9d278465915dba711efffde79b199232bd4560fd64e34698045f3d3caf833f54074878b75318c5411f9d818f634cc19d13319d74df93f34b7740b7607887e855842868dcb111ee51efe943e781118d3468cbadbce9f27632d0eef0f4a7bfcd86e5bd95847e7236925b585ace6a526040188df1a7a4924f4ebaa42dc416637b6fb22d173290ab59733f48ff907b26c453191115a1e73dde2d58b06c8cf6d06e8098e1971de3c98524a235099ed54f00114fb8e78da82a87c172afca4e2b52bb6d34eb42a440512f82c33074cd2614741d8befa78546e00436dbee9e0f7ddd63a859dc78e6801b1923b43a578c59908c6016dc23a7aa21933607ade2302229573fc91d9afd8bb5f2abedc0aef223a8b046aad9e553c0888c5d493005462cad831bce6058706a48e31621a55b5991a6233cdef5fe221c31c5c68867a71dece150543f835eeef0a22f16a778d947fef8c9a754e0ec837e6d20493f471aa1f9acb716d835debdf118479ae7c68824d100880381e511ec7527d18df2a77bf83cbd64cd9cab26e72d5f5c7f9367026b64bb1e34f70868adc748bd12a7a0f56381225f41c85ad469c234fe1dd3b9ec4a50c94f29da856273e6207287bd5abcc4bac7282653b3b6682d33a5239e64a1ffc53ee7f2beb9d087f0a24871f0a94f0633ce76f4909103fd84ab12e03b2c24e7a4b2e09b7d6173fe0bf04137b40f0e78aa1c62f48b40626ed7853a208e5243654bd69061d4a379b9861f3e73839ad55bdf660bb569f0b81f46cc2c6dfcc9de6dfb43fc21e4193e90f82be54bb4daa6cfb188755bca7c35835f939d8f5f538b952922c91f5c9496f4adda8929c731d6314b0dfa3a5114f8f897b458c5cb557156dcd2de4a95b5ee87c2a1708702588b8b6cc7f3a972b018772d9cba325d24f6bc5ee0cc94beadbea8b6c4ec1db6fef523eec2b579bd3c1b3fb5927a199dbc8540666f7ddd5d18c924b71b8bc8980e3938e638a52b69601414247c81002179f479ca65a4e7958ecf7115d1b0ef65c4b60c32e87356fd0a52c5f4fe6ee1370bfbcbd24e743f4feb67bd777f8aa8a7bc4096492f349030ef3219f34a8de72557457b7aaf808ad27694a5741ba33f1855b976fa2158419f677ef0c6e356bca2b33f65ca3b11e7a96440d00c6fdea407d6c3b1d86ceb09f03e8cc3f65c18345f431ed2ecddebe8a3ddde6605810482e70ef69e136fd95acec25c4c8bf0000014b36213bac0d104db030393fc4c10df0c0bd160f68dc987272d5242dac74b0eb9dda1f32b2f810b6bc4e5be651c2a9c41142be092e71ce178315ed02afd76a4b9a088cfdfc473715925270bea37d242ee0604740afaa9c309aeea0b0ed96e1c75ff7ab6ef7919555a6437571d4e3a1aefdbc681248d652bc5944512cc8b77fcf02310d199a4979b88c98bea17ca0a6500936e3a4b57c32ec18ad6f44e2249ed6faa8d2b9cdd49cef12df3f3aff845b4d89c8e48e02f485ea627e46bee54e6f8c991c5c2f10570ef8cf7aeef04a69757878e8ff14144209e323c41690e662265954fc2db318e3b932431bc806a1d8e89379deb2b8d92442c43ec4df341a70ddab8c4f653a119ccc1e5e0ff04a0dceaaf2bb761754e2554417a1c656124e4ce6ea1055c961b90941bee41105ec6b17b4e85471cd81ec0933d834701033ee03cbcacd607e70e7e031edb77ad8e96c165bbc250502dd32f8170e9b5dfbc3b666c9d47590e5921d7f0b64ad2e39e6bbb33ceb8da79781297e66c96e5ffb2f1e03a76bf7ffb5c95b4b02b6be5ac193eee6254e983abe936b7679779a8b8d404edb85b869a9633fcc0a391b16de97e84f6741d0f6a75601b5c6e60b8f401cf72de19dd8196785c072003711f5e65f2b51bedf62ad0781f7e466966ca7c54c411a8c3bf1f396d9f49a48749758de05375c1f7342407090a975b1ec309107246c7bcb6b9a44109892306a8fa3a8e3c18df3fd3a72e870a09749ff4715d88acd427d9e12d68266eb8d71505dce674d86ca5131a7f57271c1e0e536fa961123d3b5a2ecbb50d28eae5e919dc937d976c2a20b0fc0dbb9f94ee76626dcbb5726fce5ff647c1c9acd17a3ce37d1d1966644935668d960752bbbf35e1936b0a87c876b401638a6299fef5755e3703f30820295a5c8fdd50a42e5b12d89a5ec01b97ab33b8975b23917fed0d711860983242d4f8b71be8310756ca062060d4e6ce5c367469da123daf4a4f057fb6c831faeeb0d09c64d2f715a2ea7517f9cfc2059ab709ee8c4d9b13b0b3025aa7baa0e23d5037b7cf69d7ea578329f8a38576b2245236987bed05a2347d0423cfe26f48bc73f59c3712b366c6a374d22b2e98426d5da91c4b7b2340a6b3449d6bffb289890e001f82f50390a2a78d77111182da32fd5973a92bcc417f3fa66112dfefb84f34b504c7a9b6df14d3035d15fb0431134af001c155df2e97a07b2ddc3ed43b9676a5833ce7c1f7f18fbecc64066215a8b902ba8740edb63a950c073963532fcebdd9dbfe8f3e9dea2b27e030b1903690200ff619b80dc542c07cfb3adebf63297a7b78a685a2e044cb35e2146065f0892c1111bdfc9bd2e109c2d6dbbda6ce333c4e68aaef38654a3c590d623a287f62e37f10ade0191d0d5b8abb1fa1098158cd3f9c2bbd85b493dc07563512c25539bdd14282e2befb978368db6192e55ec74f6059486ee2863cb10e6a227b883b56add308ee9ce1b36ac1e46228528b3b9c455d9f6906920c0ed5071d5bc560550ca3872f3679ae6d025accb126a68d0b7aa1bbf018524a48bacb38c141774423e18360ebebf3002b9523af054bd4fe3c6a33757bfa8528d5b4dbc754994bbae5439d8448a6b7146894393d14df0e920513d3859f1f052830b0a8decbfc0cef1a3ac1f7837f18268477ef66e42aaf467a00c0a09d9f2734b2f7000585ddc552f3c9613e4b150395557309dcc2605d8c83756e8e533dd374115606a431980f88bbb62beffe58783756c9077ca7ecd40bd01e5a8fc2b0538e4257f0c1ec7b30be6f44c90ee19fad402a7ee7d40fc474026e6c4fb79fec10cfc1624fc7922f93f0e2e2ce435f62b0b3ec8c0745b109f59db304f644f385d2e2e7371410631c94b4ba2188ba3f7c23fbfd786609e40b1c530e11f41f32d67553e059b9853cd8d070fcba5ee8281ba2747e57fa2a1e86202286def8c302f425720acda0c9d7d093fb1e22e1c4350b58912c54c957c59203a23142c4c8fcbd68f098bac214cc47f76348375c57f73c97ee080c5c9de493f5aa29c06c39c2243f42302469accab3253262b12def30791c3d04c842eee629aad44e77dc89d3c4de69471a74599642fa07ecf622f702a54af7ae1fc6f3719442c17105f2f195175bfc6cfdf99c36547c47a5545f58b1f332e076be2d77b9fa4426a62c4e6a962fe8e393519bcfcc3e9c106689e08104799c17df02666c9620c04a62ac6d07ea2ea78e2313344d910dd3f54befe893450450d95f9056617e5862782e48ad282a8572ebbe966e0d0375a4a318a8ace0d92be3fd6170cdb0fe0d810f37be5201d153cd0305936bce4e4301535f267810293ef41a7807a0369441de320a3c8e418bed96f7695e27bf50ee35d00dbe148dc7cb141449c80116e392254e09a003cbabbc4bc192c870570ed6de50dd7a5e45b5d5f914d3ac802228d2bcd54dc127f9ccc733544dfe977f50d39dc0f25b721d9ce64c1599c710e3ca572aa12238e78eb73f0f8f3a642ab2ea886e3233889290d11a67c819fddc7ad478cab6b637e5e16b5465aa8d0f0c23a6747b29425b8b13c1d0fed0d3cfe31c14bb7f2bfc0affbcc5b4d84e061c6f716867f5507e7e9e5d845f0531a94757bb08dfea11d6736f32090f5416861118f8e59287726dde7029e4fa57468e04282be0ee4f24e0606df8b2be87816bdae20b019e9613bccc4eab439b54b004c7a51ad0bb79d3ea5465ddcd5cec7cbd9f498a0108febaaabcdadeb1022522e5754874f1f47ba2210330c21f867c3bd43e35488b3e40bda21235dbd10c25fa532db5e524050a8007d1efaaf1f329fcec243d1542fcc10c16b4ffae2a427f129fedf227fc71b311fa2149e7eb39405d522bba96fa83ed08f6b9a06b9a2d20b7b7e35290b1f6c61ec17e564d39f1e526ec19efeec196624b0d568244b64aacd05353cdcfaa2b37bc7b2e9a6040944d433e69f7e93903fc0674eaf13b82758e0f0632123690deb5a9a7acaddda248bf723c7ccd5a333320130d9edcec9f016a43b17088bc5277be9cf36e1000460fa9c4fda64c002d8d17cac2513d004201eecca175688a06e1522d3eda5960e9ad76b6f690ad233e88967965104c9ad79882953b58e1932f1a17909ecf666f2e135101a34713af8ed406cfef3efe53c3fb7c5ab2db218705d9adee92cd59ed49ed113bf2232f8e3eedccab7368d3e594208b1e795407064ab33295626868e5faecbee1dfa0e3c5e718aaba83b8bc11987f1c0471a3e24d762a7db44842781df7f162d9d4c24b3d8defa824d6748d023179de6b30945ffecff09c331d9ad62fe55afb1326334d96715ec130ee507cf5270ac47551333b0903f263d8818cc693db56d827508049b90a370d8e476fa15c0cb0acf22e2a4f3e72d3a5bc83a3a00edccecbd9e071e6b5817339f2733777069e656080fca0f3246d525a1abdabd537818433610286fb8e3c977d0f87287310dde0f0cdb9b9a5e0d29b997e2aaa04d7fd6ee95ec9de028c83848ee5af55199338411fe771c111ff6ed103a22d84a7d70849c4a33c0670e82e6525efd54417a82bdd79f18bf1d5e4e3f3c2b1692c627a912cfb78162524824131c23ffa846ad34627983d5dbdb3de732b9a55f8f1174d65739d67316162d1fa78d14eb25289e389f24f1df49a704b576492b32923b19df0765dc94f383b1c4fba53c11e268c74592bf8bc3c041b97153f0d671db2cf39758b9ef6b3b4ccbba877d2fcc1404973f114c934f6e5639a361cb9631fb02760a6b09b6c9a025a418cfa8d76f79bd4b0fed9c716300fef86e4615b907f04fbe8e177b5f6e60c07a301e2566ef92cabfff90ae8073f089d8964ea56492405c37b2da57c49e4eac73acea7675f299e300a757f9a117ffdb331a2e91febb9380a34aa5404a33552daa9451dbb7b08f25f10b3ba91882af3daa79c1ee5e48ec363bfea360698658c66ba09e24a0f423d8f8d46d220fc8e707495e0c35402295dbb12c62d146f6454b26c8b6b98f96b5117f7d8bf68eb3db54e1f2e16f5128a4fc6e7821b36b4729558deb2f415781a62f4bcc27ca6fb5f04fe065229ea9d9f7d79f6cded81d81793757d9164a6cd38fb9d12bed19a53402ffcd5a6bb114e7f59cdc1523d5ca6c92bec126f75d9df87bfd2f6a90025786518e1424e643703729ecfbb504fe948db2183ddecd5c37a1b44ec74babe2d6898d459784e88b8957ba7857ae6319dfed6635db09c4ef383733e3692d78e49a43e42122d30739fcbbfd1e52dbde68e0cc8c96fc0666a222cbfc5f716de7827253cb29b5890e5d7571eba8853ee4c83d6669cf4f253363538ba588f3bb427a1d2389b0168c424ab6e367ff7e9d938c1e3ddd400ca21028f88045feaf422bb0c83ec93d26520bc9853d5581e7ab0d42b4ff2e65da58859be5e60a77648ce4d0d21a2f367e2f1d6310ae34bd5936223eb8ed580e91a646ff234981ed1182abb30bb7cbfd0ef2e0390abcd6170067ad13ce5771e1d0bdf7bd06ca80840cbddd7fba47e96387da7996bd3d044cdd76eb38772b50629be5d9915a6159c82a37175918fc6b1519ac0b1e1b40362f30d115e1c8e815c3d0f6258a043cbfd4057762a8eedede7d40bbd12d7140877c0c5c0f5027683d4c40bc9697d6ef7ea0f8846eff6f0da550d4d279803940a76ad10281a515f7a4498f9d897b6351ad77e7361dc0145658277c2325f0fd230937f508950d79bbb7438fddd732857109286e4e05db3938d0fc09771cc96c331c2208b4c2d6f79f64695939cfc82039b615810aae8e0d5d24f0af0ff5c93c7b4b4e7ff3f6f5af6197822701c534476b5248af7897b35046666b75702705a015dd62b95f02629e7544746442b1e0e320b8bdff25ae5a516baeb86542657a73fc1d27f7492ac94d6a951859493bf4d1bc669748f5fb78e3afa5d677499bb7b9592ad853565b4d924b80a3db1d2867b046d6a09efb0f3203f2e8fc30b994f1e807f68e823a93c8695357421bafcbdb4b560430105d4cb74494bfbc8fcdd9e1282fddde6baa995b254abae2bed766681fe7cda1f159bbe64e00348f165d3c3298b7feaab929310ef0472cd180c44541d31f9f540d577ce7f4dfd85088fbc3964248a216e3523e5609136be29fb5586e300b1df4cb90494ca8502b359f60e23d6e82883e751962e8b442639f7c15c0cc3b6bee1290cda85b1eda2beb4dd02e2a7055d7b87f0c1b8bf60d84e105a6b049f14ba061ab40c73a8ff7806707febf49e9a38d8718392a2678b6a405684b47acbe230ecd50cd86949ec2e66defde3d0c013449d811cf3fd8432eb58a9226f77a997d3b55eca2d23359e874f3a139d13759cc1df35949effe8afa2b93159a2703b07234a06d8e66afef7037bc755d95f0c099c17817f26173e08405ded4e9dfdfa992262e19070b460fc4447dcdc03da1a14b3b318821086d7516a7ade0f58cc5c46b183d8dc7cbbc9cc6c18532f55461943f021233903c64ce4387657d874c804968e54f2b2723127d6bf081785edf51e001e3ebcead42b92903220b38f145518bdb505c4535b0b91b56abb4cea129554b5f00312e2661189b2ba7f2cb7222d7fe623562bd727a3606750d1b625c75d2c2fc4aea99a1c64757203fc631d06327baf1ff89584b2e56cc82720a4303a15e656143c7b284a71d2a8ed76f40a45e8bae89bc814266d115143d5dcd9c8931d11245adcf8710c109dede8fc3cbdfcae2f1606c50a361d44037c38c0e9bab13ed216b8a2c0f1d4757a468756f8c1c4e85250bcc2264212eaff096e13df3fd765950668275f102bcc3d510643ceb77e562c2b7fd828e78438e9bbd9767d02fc491c73d4b46e1a03642e8d4dfbd71290a3c7291dcc010c41590c1857795d6ac2c9c9a21c3ccbe33299818753de89eb47e600bf1c074d73e2d22bfbbe8950a61397a5c954ae83f1a5ce4c071c3c56289be2c57b688eee4e6ebc3e6e982ee11712a85aeee42efceaad1783c05e80fb09c0ea7494ce165ba659999bfe8a04e2c7947b4dbd9f3f09030f2128f2571da82f6a3e4ca0fab3a8131431e83f7300eef14d13ebc3843aac7581fc6ce69841e001f658d760fad8b242164d3c5e0741b83b4de0e12078ec4084ea568392f8bd02c5076c64489e460f5ad3398ba18d5135944c90cbb0930e4142a4b6f869d0901e37c1850948d365e750d56cc85c95a5c16e0c7c49dca74088fffedbde3c24da4f4ca0aa29ebe76d4bd5d163fcde4536f7e6d8d06008d8e7cac4a676dd8222fdd9bd1f2371314fe086388d63137877a5fbd6702a0530d3d03febe57bf4b6580ab796b9688dae103e5f35f1b24c437cc5d3e5cde286d9e9a103af8a393fe7319f4d4d4e7cd1166099b6bef04eaa5fe65abdc4343fad642c084052b0e470d85de939d33aeae19579a9639ff24e531e8637ec4fbc7fa9edad957bd9c45a4e7df98b791303b2a34aba95b4faa7ed5cad79d6b70f22ca4159b6995dea37b6ba77b97413524468cc40c16271d6b5c839c4ab957ea29b59686f2b41e2e412443bc3a733f1d06aafe7bb14ab891ad5eac796ce7b693036014bc5afd3ef553b80d6ec5be68030ab542d98e9d91b5624186a365a7cfdec6984e137331e2b4c7d9a891b0dd69f78435fd4ae36ffb5b1207da8c2ac9ccf7a7ffe2f1c4c4d5d193491e73ee0df00c94711676cdbc9bb507fe2394060cb39416cef8d1054dc1d15ce4cdd23fad6f5b29dadb2bd8c708afda403b3a2b9731da2da2cf2bcbfddcfa8f0bcaf2f07dacfe2a7d72223c013327a48bf7712c55e0d0beeaae4e6c2557175090baf33e8c0f582e8fd1578d249596d855f0e8f9a5752882685f992b709239c3e76f96ddca4b6d19aa464d1d3cee95965748d1caf640456b7744f439483a888ff1eb5381141fc36120f56d3fb05348196d040206997298f2521d304823e28aac493fa03fbfe8889b1fbc1d738a2fd0489d8590e685f877a2742686365533f35e397859057e64203bc4a63b6d1643c6aa0aea342736a77a1d0a7441f3c13b90a42c5f23a16089d02419dddc19e37346e1b6ab50156794bc5cbd10c703934d1a6bcb6677175522b45020a91245df1a65a1b5c780e2ef904995867748f5d9c20aa68c5cb6699959a9efb047d88ec4b685496f2ffdf881d78669fef97b6e15baba00dacbbe0e1b94ee84e6e93e9b663dd68211c898f030296acb27d2d641a5606c3e2507ebd658ee01afb21cf90770107aebefa457a477740366f7eca8a80a357cd22ead2b791f4a1e4695e9fc47ef99fd3411863524701313dbe1d31473a1be1e35eaeb3fa370f4ea18e271859bdebbe0066110d6cfd56150650c464441fff6394de08b3d09fcf02cd188d8516119e8b63825de9d592c557f34c71219f643b95f98e965e5b27d68039e7959ab6d9d3913e0ea650a9a6b08b20bb7450322a62245dc80897368a3cc4241fd3febb981a2536f60b461064cb9c64d0da510a978ff9d4fee12f42d35a945e50c78fad39954ea3070dbf408a2970f02b24704a9406bf244aea81cbaeab72285c260e278c00ea77542756dc070eb9c135ca5086be7371a113ba29631b6b8a4d86d9390b99e6427a1b612bb3be4f6d3c497dab70a765e68de73e30339c5f7fc12affc13d41d2977fb1720300d0b2f7417f939709805267c3a534819f95f31e12c3f4f31022c3c5fffaca05aee4969dea00d2b4cd153576dcb83e50c77cb17a1331aab46b9385ca7521a4dd0944542698e8626abe97f7d11cb6ea950c1049102e6fd53a12ab36595c9effda6b7991009bd857a2fcd291a8cd9212520c1247fe29044d249eaf96ff9f575b55e55ce041bcb7c26f120c878f28134b6b7de1e658f0ad7ca294993acdb1edb9f0c98ffb90d6a3f2e10904027df498d96519e9aee85eba4ce0962f9d2247f2e1e369edaa5e35479feb9e4ca65303e2cf3984fdb0dce872b493e1c3a1338eb13dad3db9467ea575100298ffa8857cef620cf2e203dc9e3a835e4873f9fd82af5fa0b8ecb6fbb56e2ac34b08cd8768c32b4d03ec06ae1e0221f4c9d7efe784762b8c397048fb459b5168f1c4a0006fc35b084ed23fff55f0ff057f222ad74a21e9f11ae0975103212d90e7356a1a4b18b6c275111343af9279f738999d7936f802807845c43bce4a05cb305fc25364018564787b1ccce953450376d1671439c32f250446a1490021d4197844485f0ebcd6f54672d8f29aa83e76ac8ea8df60b6955296d791b35f8f7e21aa1bcc2c654652dd7488a40a5e04b3a388a3fcd7f2e5d49248aa04dc36f14cc64d736d52e768cbd2bae06a9baa5fa87531d85d7812bc8e31a351edc697a60eea7e259fe0ba47e83472520d1f0cb0312f067cd7d73a2b99784f10af95b3692e2c701ad9b2d25344f37e78729717d1924c375005b0542aa74351af71f0f0d32cf0f37517b03d929dddf59dd8b8cf5c00e032e5f75ad87802fd91e80a6fee802e279b97faca13c4374df987a80981115e097edc857086fc2d84e076110e00cf2c93c066b38a07bcebb4af619eae9c10c6dac54878a13cfc09f0815cd118476d05b521dde6d2f6bcde2d6cc6c6b89313762839b25dcd3220fa53c846380ed0678e71babd5b4660fcb8ecbedcdd171f8a2369d836140bf34608a3e77f824e0b84f71446b5b9c67982a252e51e4c8fafc60364141fcc0ee8c83cd90c88d56a2f1906ff8b1b3d6086b7bd01746d7822ece257db8abf35b1106fac802ed82eab3b4fc1482888ea4a0681294cc02478ed659bd19d88abaf52d2f42a4efa28d5e72f3ec14e0039e5d12dcae472f4e68c4338c72e503b98ec67cc4e16f2c6f4e59e8f5d7a51217cbcb7fe9c9237fcf81fb419b2a1cf55ea917636f31709931c7dff018d169ce4b6b1e00fd352a3d13bf5806f143fddd8bc907ed232f0a9e27b1502896d8b240ce1d776049eb4fe7a1ae8318bcbfcd340d1bf8738528047099551ebf55f10892e4a3c2289b3ab4351bdc008230723077466db70f1b497d2be527b1160ad65b8aa1befe829310079c2372158cd7eb054c7979dbfc716432d4b1260f91731bc3a4769bb2d8a33727e168a4ee355af95e6c9f8ff549e259628c47cf0357ed6b39eb0ffce839c84da4bef2a6aefdd058eb34c379e1bb543b4d2298d546a9f552e3cc2c90ae5e47379ec438795b839768d1704e06cb53318e9f58d06e4946a5f750edca93d3eae754ebe61d9c6c44143b1bdeddc14efd713fc33cdee15606b126eaa93530fec85cc34dd307aaac86fca6e4479932d76078fd75bf7f930773f59a2a6fc92e3a924ff53da47091fc34912af990049cbfbd07043d9aad62c6a3e0fe51c63be45387cbf2b83335ab761c4da112a723ae66ec7778b2e31dcc7b2b76f7ab59aeab432317f7707e65d450f5e47915ebe3cc780f0c6a675001e078bdfaa7c392e7607b15d42f4f58eba19908730a5a1e3fa995d0cfa6bf53a22063874d7f8df68a40492b919c649cf1defb3af92359d8bb1210cc34c4b03a15b71650720ed68ef7fc6efd017ad7278acd4e61572627b78d1f92e7e771c45bff259afa52a06e9d744869bbf9453471784fa6c4f833aed26087c4521e2030c6c0597f18265241e0ccfe7dc9c43a04eb002ab85fab39ef4f7ae6398d74ca878210927219dda474a13a2329a9dfb1abd67898a99342329dad062f85dd665bad9d68c96b6f5764e2a724d239f63939a0bb983269af47ab59943135a9513a7e76563bfe603c45904621244ad1561e743f9e3558d4182212bd6e985439f137174bb77bdafe3b50e4190d3839dbd2b7d26f64ef18ff5cc8522f55d9891d0b6e4a5e87b517161580dda4fafd117b60a2a763a65fcb4a7614faa050cb913366362c04f8bfe92d7761df518c45cf6ec16f4750a7ea63a653a39800312cf1faae5f697e8160c68274fe57b8428c6d39907f289e2cb6a53e7c74b266fdb1fd35a3d913fcde37080fea82a33a6948325890aee381b9deda7bbff67fa2a8a520a517a20c84be5fb3264cdd78069e4fcccd24bee06c4b9021e98c62a138422683982d0eb97363e989e40ab853c83f8ef10506cd049a578e31c4fd7db2fe8a7607bc38dd66c48ef3b1c2f2736bb8bc0a86ba9e61085e492b8eaccb22e190ffb1d3796d7a2ab554d86ab1bb95e402096bf8b1d81431ccb1da3c2519a5a5ea3cbd8526c6154734bbc782fe376e528edc9dab6a3f133c0f6fa4b20160cacdeac1ee573b9fb7072b6a686aea0d883528ad52b4c0ea03db271c75a21a59e14831f7aad17596165538ce9cc447dc5275ae2f12a17da49cacf6d5bfa6143f23aeb3e49795eda3c67cea1986bc31ed0fce7cc8fc7c94040c781e19d4c83ba5a28813bfde38627236a818136d3a35c89c09521edde70b1b140b9b07f54f9d49f894ab97cb1d848665251ab820731c54c8e63c0e4f613ba93faf37e332f178237b72ae3b3b0e4c98984c9422639415b5173380784f0941b91908e00b5bd39d2711df30cf7669167005d7ca39cb65e3db9150f9e220c082698e5e319d4813357ee9044a6eb62204ec340e57d72c678d1aa0ee7769aa7bbf5048dd74eefc14eb360f8af1e57c3d32436be39784be0429ff707e5568f18fd3a09a347f8a5cd8ace076f2b6904e0b07caddcfd30fb1054787e5c094ff628d7709f3cbb0d4ad8325cb78c3b2d069f0efe0cd8fdd30a5ed12df2550064622dbda0e4d24df8f659092f3310f95f0bedc118c04af1d00bf1ca3efb547ac1738fad9c3d1828b14a424e7e63b3c99c7cd3866b3f2abe61e7db7dcd1a66774e39f03b250db0340c4c07752bc726f162c7bd350e48ab57583dc4d1124e0867ad8ea51457dd43203ec069bce8562d587ae241234c2d560fe5c3a329a153bbac9097f6fa46965da5e0ab902ec733f7cebd380cf8c0b4d50abd24c2fa4e6739d5de098c215b206515d739c31e09a77d38b3a3c5fbfbe037f067dba6209fa5f7c177d370e354a0f0005bac8c9a9ed1d2f3c47bae0dd0ba70887b6bd543f7435d8ff23d06c192b6a49d3d9cc5f60f1b22668fec34ceddfeced6f11e3c3014f59464805a35e216e0b81c093dca466e04996bbc42d67538598e80d81912aaa95ee955b251fbbf8b5137aac98452cb453ceee7e0e5833f5a4e1d23fad32f3891dde28fcaa9d50c3ff4d6f80a60f5289779558690f3d1977c2ac17cdcd54e83f66e536dd46e66ee6dbc1a4460e03e44b56a85eaa87aaae593ee06999dd647018e22dadf007cd8d6f0d4563c3093534d57fd3849d0fd9a9b6bdf15ba062b4369185f1b31dd67ab6e1727646df9c73e813e07878594f1b234b1b0dfd02eedc393a79405b214a0f1f6d4bfebdd14b622750b72789a7426e4242cd5df57a87d76a7babfbf1402c9b5d24a677ce92eeef01bcaaf5a494982743f7899f11efa4c519cdf1bfb22891e7922ffcfebbe8397058ace205b1ffe96247c7a390149a0805b994200b0a684c52fd5e96f8a453fe3f66d86c292982836330ae652ded8118e6298fb30df09eba27eb67badcbb0bbea3b3aab9c455888a16a214a5f52c5b0ad7fae276702abb9549d963ba1fc92de1bf8a067ee81209e0883b1ea2b81fa9f4641017148cb18321078a3381761062f16675426086d63f4ee288358edad0f644ab13bd43d7119f7a12a8e26efd4e905e2a4a11a34f0f8745b6c70d831161f90f1cdab5ff1a156d046e5cf787e4a920850009abbfe394245ca999e914819344c64964cf469863b5458b9da4bf4180a2ef540a431b175ea29bea1716ebe3c0454c545f50f9119821c60e38bd845638423a9771ed8c2c669a53846ad22a6dbe7af1e07c4bd7ddc1bc44ee816887201c0133a1d85b341906ebb8c6ccf9dec5795d04013d8d7209691f56a28e0cad463bd2e5b21baa14f27c484ebeb9e041e6ecce1ab78e0b925b19bd3427a73cb3901c3dc2d9134d8b39784c3345509e21b18dcaf154e4c26b544496f61a155e295bc8d35fad0e95a4afa0099e580ae5eb4cecfc4a9105411df1919fd8de5af605d07d7a0ef2c3d5f9c5f40f98ce86bc0ac57c293e97f65d40e6b05550e2b7b687e84bbee22c1ea46f598cc004f1a4c82ede8639c37e07c5366ecf0897ecd577bd30741db104cd024275d5446a7544702183ee56d187c74e68bb23b3798241a81f177fe245ca969b641d15e0dad4e46eefab15813906cc5e2f31a329762adb3f268243cfc4829a8f5b2b3809f6485c654580cac3b3c9da631adaf46c0d8e100d746cb8cc972f50e7f5b49bf465caf94d98914556a85bef782096272156effa3ab2451facf10c9ff722c3fa61010e6bfc99a246565ed9eda908bbea34f682a5fc92dc8b30a405c31d7f2d7ac3baa1ad85420e969c495a329dc8cc5045208ec7913c963aa6073f2981853ef6e0231f02b978036a09454e0a80927b91f9ce20db8736b2ace541f43849d7b69f490e1afa85fac14a1768e7aac0147eee6c5a6bfc6b6b3bc62456561db4de496d32beb4eb1c78713138959165258e7052fbdd8458a902e8ea2ec2637d73ed7d22edb081897c9dadf5d6d0f98184049c8287836d24bbd82a34c443ffdeed74b67273f4a1bb05b1c0023e36cd7b14f4908bafad0dc1e42002a75aaf697536f284eec47158df406162fe220f08e2e5b189d00a09f128e8be113bda82035956f59ba682dc309bdb0160e26ebe6999d6175778be0d77170aab3409fa5c357323e51128e3a309b1090573b319fa396c6ff8446d4c9c50bb23302c6bfdd5aca28a1c5dfe913a887ab12f3ceba0c71e540b3f2eb974d89c2dc386a7ef3f68c75730b60da9c2e92b797e034481f55a9125e8e36736a5b93acdbfdff3240af4918aaf82101099ddd59cdd6a3f33e162c46b13287a208e187989d63e971743b2921a2aa5d4d1c80a03ab91bffcec803bc0bf7666fa37025edf35ecec38fa7400fd550d26337f990c832cb2c982afcc317dbe47a83c2dc0394e082be72010d7c7f7ee6108714e0d2b41d1f88d3072213b2e4c4b5f426d71b7d76217ae8d0e32019ca5160a9b14a84d55e347837351bdcae08be17cf3106079a84d1a022a61e0d6b074da7d46f8a66e55c7fc80f0527a3f6dd43a274abc68540a7215dd7eea9a44bde2d5dfcea99437ef32669c79c7e65e0f62958de3fcc8bcb341580f21fc17164e3ea5bb6f77ce38e2b0c52a4645754996541cbf80bf3fe8d847688aaeb08f48e9e0079ea965d7db8f15dce976e6796ad28010f976dcaea4adb2d02a7fac36136cc021e6c59a4cf80f1ed73734f5dffd6b5ee181a2e05a4faf9ddc42afcd049f9ba8899be8ccecfa692a0fcf3d46b35dfc17930167ccfe5ff10622d357f1d2cbd7d97a15406ed4dfb60a8e8f3a2b7eb243ebd01bbc93ebfa8f02f5dd9d0ba11792625abe61d7d2e865ed6dbd9d9f0f983f371deac4831421b79b0c7dc5b5b0244e84835092bb523a1ff1bb2e2afaaf501649604076ad2ec00c832cdfeba9e5378df4b414f55b8d91cf9e07e7efb8034bd992813e064741f0cdf7ff73bab5adee92ba7e870ae00d7b164365eb4d5eda98a19814f49d7da3cc354c1066ad35afe24819d8ff8d38c6d563f75e8a4e5ea907aa11e5c4899accda0c4243a85917afead07857e311d6f939180c674724865b2ab6012b106fa479991966af6622d39e3591c6f6ea3c62d302140b70d5186bfed42fd34bffcd566259caf398167a322f51a9cdd2bfe74d751682d5a90ae7128b63c88fa30191b4cbd1d18904ac2559e29175d26eafd5b8f5fbc9666aee53b3ac6673220140e24c9dcacc2639d871be006d883b2f8f9970a062568b51d9d2b334876f5f54930a7c0d5c262298a6fc18fae06f9df73b8011c07d4c4ff6ec64a6af74a1bbd735769fde41e43c8878670948ce4dfdf241dc94b9dd1e2d6f2b989ed8c581d3db7fa0108339003ced5384146fb1748812f31850a4cc353855d057c0c8196f5d7d736ea8b52353b168ed3b752d291a8df71d7e5a3b33dc3448dffc839c1c6a50e5315281b89473efdd71efe609b16fc73741de603d6b40a49da78c890cee339510faef8ae7dcf2883fa27a91f61c8fb60452af0e923b9ce51d2ade0a767eadfcec0e7af6894fffe18e8632a89d253e4627c8c5738434e41389dacc5cddeae7727b71a59e26e09cbfe8df79f23abdb6d38d4f7dcf21d4d805e82d997f00f92edcfe2867c54dab641cd05a6fb76d0f079463dcfd6882bb4068f29fd75aae5e760c4d09a6f615dc2f3cf39ca91e63ff1d69545a2326327a8e2033cff058d622c084a583c5179892fe5ad503bef7bc2400eeeffb3aa0261002fae9ee3f8b8f820d5997f40b921c72c0e1af84cdb0d5b8493d3d787187ffd1ca6523fa0274d0d981f28afda26f2fe1bdcb4b07275bf015c74a47138d76121834acfe4aed4cab7cb0add824415b0caae289fc8808a7b1869873764b011aa8b1694a4ef924372d4462cdb403c876b451b370261dd8072628515596a5ac3221ca0e9a73589f53b018a7abd7ab9e732a1e7d816241ff8d2ac3bf516e5647030aa5f086385419ccaeb93a02000ab741077987f69f6a56d039e1fde658ba652e7abbf68867604f6a56c91f658369e2a962899f692eebe5ad8364a0bf527bb5f301a72c99944a13536ab0de7da734adbe8fa06b234c510df462d0b7be14120c7dc3e97e3d3917b26194dff12f0d625ef8e2b1b380fc93539e14bf43a6183c690c24f273d58ef3628ad9a874cf840bb790df552296f3cef40e8b3d5b5e4746b5f86d3b3e1c590b399054bc7321656d0f85f15b0cc98b64817143a2cc72bb62c4bc833f8a8e501c94508916ecf1fc9d26d5456383af46b2258b8f8cc744be972ee43e22d67e6ae9b7bf37db23d8609cce5587a2e29222a9a22419c8f119da557780bdddbe9a82fc2253ebf89c0952a622b72744d26e7cef5e91021b95fd5fe58f1f4f2b58fe1b5c1ed992a70f455708a6f5a85ddda21e2636a8f4d73a4fa7fab624e3c5f9ddd4bd1f2b3c847b3d61f3ba87cc1d36ff006a882bd35aba7ef4034a8857d031d4c2153d9149455b6ece3605204f4666b2b1dda079f6ac26a611227c1ebd3e25520cc417346cefeb3939f3902ce7ab69533773e23ec7c1aad5017ae23d55e8b5bac888b937131f7505d9bace1265303b26dd5287cf0bb38631b01787cc6892f473dd7bfaf77b93e49c5fe08d837f2dd9f27ae8b63ca8cf0276472a69c63a4084ec8b6fbca2be247257a22bd3303b79f88e1ac1e7163297bd7678c12a7c9410a12ddc6b0582cd819668b9fa9a0f7a2931067c1943572fc4dc0c4d4535c054577f553f12ff7bb9120f6b0547b4195d3cb89797a3eb63e04d77256a5e3082e1eb91bcbbf533c4c56bc6c28ec458dd701dedad56f793b100fd52d27013a259e9911ccc5f430f3db54a616b72fdfce282422c632e0b1841a3f2a622093869ea840e7be65ef066dbda240d3dea8eebfacd75fced2fdc69b3fa52341c629fbae0cead2fd74838710e1ed0203366ce1130d66cfb8d5549fa7b1744fa00efbf2744c0db889737231a9a56712b8b57e809ad3468cae94aeeef43d298b98cdefff4eb9b4d90c28d4c2f2c58a599ae1fc7676b238d3c891e8beba33079bb94eb11ac183f186327255303a0590a7c0d31b83097c1309c5f679cee8e62ff8192b685cc0c96d82552202fdb1b5f1eaaff38d3c281c42e1fb93f74801bd76659776152a3f7c3851923050dd1552b8a6be79060a737a9951e2ed6bcf407e5d5d7753c0ea7ed5b321ce82b42d72244503f544b3adb08bb7e92cce96d612422c6db4e5296303b1c857aef624164c54d172fb9266de2bb79f39b2c12f413d0c35e81e07e6c4cf9993d84a60b1af71fc0b3cab02acb5f55e3eedd8dde7e9e46713551abb39f2cd0014188bb1c8be89d405f7e80aa26fee93ecedc3ff106f27ed6529ac95a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a013724d55e702a9dd0b8f933cb5409fe76535187e0665862ddf771161a33eacf8af598ae6492b6890b89e0133cf08e4c73f353afe2703f10f1bdca494ddc8dfc9f5d3b180007644b73f9a93f4d8ffb1b125a2e939fc50d2cfa165b69f3de66548ae2403e8996a788490e6f70c6b71cec13b1fbe394b9051e298346f3fd46004b05b8f5936a2638e82e10b20020ca0fefb8420e18a677daefebb9f3a56b06575bbd50a888011c96b6ecad4aecebb75f9d7084ec82618170ed6a8da54c69ba38e12aa6c7b36ba2ef7b22442e6503e0cdd1e64ac50c5c9b7333e78d92640bc89701881e061e06f6f3afa7820d2e3838c7fed6fffe7e5191bd0f41f4bc0d6795efe1b64c86a16a9dc33ed3301df6edcd0cc5037ffa08bc8448359dc363b727936b0361f845a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a01372197a9aafe9520cbdca95b9ba44ece87f31739a546d5868b089c028734f8ad95cbfb8ebc3cf47c1a50939f753589bbe2980160b765e4a32ea13bf55646d273b700bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc88a5cec24bc6e993fb9cafe217cec66f1f474bb843b983c25cda21fb5cfd98a16b78937b1be469e3deb3d72879d919d46e7969df873a1091ab3fbec5eeb184ecf4bd2b7f138122ae10ff3c813a084f7523f4a228121f34c77e04a4b51fd19a9e001fa5a97d616400d32b7dbc9e1391281911f510c6063dcbed60244d516acbb798fe56b96abd58c4a7b417d85ae3174db995a4943ccaf3a0b555458e759556333732adec6aa71c0897a99ad0e2a824466b93c333ea4e8bb23e6b3243adac2ec93353b955e340fd899fa73a059b1f3682913167554d468f2cae0e62b7c6c90f320c58a9630099495456c076c4349c9357a1b37f129f52f92ef748df3d236c4915ad980a46ac57df7369b9ec13617f2cb1c5c30c4e56cac5d3c963b282e06c717f6f07ed3e07b7a12f8028cdbce9bbacbf08b61b00a1c330794cf898f8cf0f4726a4c9585493759020eea1456db39453e8c9830778c5ba6176cac7850449656345e3b1a16068b10c35d7fbe10747d48f1f95891a4ae6321affbd3c474a78d808d8a214cb938ed89e596ae92bbafdd8f0a3469684318d0ed5574326f024147682cd2439543f9c153574f92567d2e9d7bc9836e52f81d5bfd2638c6843ece93260ee1906c2604f613e9fa52f8d2d6b395fbcf2276c283dec3640eb38ca5af58e506a6b431b97cdfb6118e18e7686645f0031ab777f15950a31d9d061273a0988d6952439a43a7212dcec7428a2e8fe4583b7711c0953f0a1dcb9131aec9b9f8fa7cb935aaa3b1ce8b5315358cf763dc19e196cf047ed2b9e36f1779eb6f89a78ea8ba6af36df50da86384657a536f5f9bb3b334f57ba41584bda25fd9520f29778ad30187c523b0a1788c89e2402efcdd951e9a0c573a2767b72a5bab56f411f029188a5c52eea4335c631b813255a4c4b20cc2568dfe4b04b0a3933f6ddca5ace89a8894a7128b97d2fd00e9c4333841510fe3ef7182c63421368f8aca9b3002ad2b9cff1ae81310b0633c8c3ed6813253ecdd808afac4d102384b6950454a63a87e17f7da8ef3aeb2d7ff9a6bd8526363b52611f9853a81dffe2965c7df0193cd6ff73f466e62d5904be85e334e25c818926e9a079cfcbb19a21e67fa2d48fda7c605f542d23e521d93f9f8b7f62007094e6a94b3d4ff000f92feaaeb9ba75b35fd6073b2e223f0dbbea76bbfa3b4aa7a2757210aa8616a621264d08e477b068cd534483a91a5efda0f56aaf09a1a22897df026e8175ad866077bcf4e27d0824e4d62e96a3716617df0233ef66f94b8b9742fe5adcc3fdac76107ea3136246d3689ae28e3c56f41b6d2c492ee1359cea25463a4d56ca22e365bee211a2aa42b65c0af1a085e05a54aa1bbd4291ad86523e7f760413acaef8f1f797509d398541a0fe28905b9e238fcb14608f75e97e605644073c3d6a56c8635848084b76e1245b450bc9190d7bed6e01626bbcd0f7401e8983dc488dc9b0536cf7246277064e57eff88967d8044aaf0ea8ad2b8ab1dacf74e5c02d0a2ee8efde5d56cea05d3ec2240cb1f65c24cdc65d95c72d64941303880dad5cffb061312bf8e13369908f30cb5ae70356474105b282eb3434594678a336985565b9ebd0eb5e53abac23394cc56e6eac44846b80b19211af8ed9e5f8e7ffa914af1ed4b4b17570d8d3727a7312cbba3c14c95d36d3debca9cd4f8417f6bdb9dfc38c858280ea4a3e0c5860f162ac0aacff51d1d4537300754ee52720540eb3ed8d6d06842d09f4cbb50f2c9460f5add466961c07b9bdbf599641b9ad739c006ea121c88078f644c7b0c7ba68529899ebb20ac33961bc477417c93ee12cacf0e2e00e41289645de859805262863c4a3db93b93655f59b35eb7664b2b7d01f0d5d7dcaa721e667132cba8fecb6b9533ece3f27dda5d623cca30a586d459f24dbb2b6ea93e1e00c6042c0496e711e59af2158180b5aaca1ddd9ce1e6630b133255c9c5ae90a2492d755a6636b86fbe9ffdf76a4b3ebbf4080f8eba7a83f8d509bc34f63e9761de58f19fc99086dec9a5da43017fe5c11f057388bab1afee029a08bd65a92444745e9e66c84f83de3758d0e3157fdf6a14456513112708ee396b6255f4962f7f2ea4c1b036c65469124a3bef5911b2ac8bfba2499e205f7baec03660ceaccbe7fe97c5a5c49febe6360369279f88107f01dcdeeaf3fbbf7fbc6149f954037de64cbcd2305d4dd2a9e36d046dd164aafd3889df41d7b4f614b4df033db26d07689da23f71c4f2ba76b5d59b5535c05460b7971df8f2af1a716b34ef117e723c806588cc2362c6e0fcb2339da702c9106c56c147ec38d8fcf7f6da397e5937d4e5f9c8e9b32afe868850e22cc07ba496a62c78e97c7d407e3c920a730acff5f22a7ea51ac2d2b1f3c54d2c15d9a1d84043bb04ff42faea4cc76370168c5aae7a19050f0c9cb2cb832e9ed995c7046d405b21f1c1a40524d417da69069061ea84c467504fd0df04b5472e34ef2cd96e3a9297bea1f2a4c54eb2361b0c179126ed7f8b915a754becf511c46b8c4756e18ba616015bb6797ace61bcc5e1016d228a7628f5edce7165e56a4c807005661650aa69cfd95d1b0dfd09fb8d40ac85e2b41abbf07aa4162915119aa05dec54e796a94d9d43fcdd4a4641987473f32a9c194650cbbcc47bfcd74b0279825b7df3b5a3414b5d53bb3094cb7d5950c4b7197387889b4f1c9801a0a3c00342fd25955966d5f4cbd86a5593491adaca7e0921d549f99f6a94b3b8c8b4c0916d3161ea08acef6fe092522a9adee4941f04895931aec52369563ffcc82d725c4d44052e07d93a50fcbabcb642848187529f9be63af3547887fd354af5eb18ab93759ad1cefda580d8886c3679f6f7140bca21ab6516bc07157afc8348d38abe056c46baab3c5cc700b83313da80543dc07d422ccf921de2649672a37caf4ffb34b1079dbc4030d04b3b6412c0232f9b7d0f284e710009d8dc0278a7061b74219baf53cfca88848eaedf3a29a97fbde3b2e3f98544c335949c6a65751ed558ddd4243f1d0d5cf32ebc31bfd358e44818a81f092dcc473896fd026a4c157315403e680460d217fe78aae54b959d4a64b3682d63fd279738b2fcb15e16ac05b27470455bce7ee8e30b4e8aced6690d3467f0c7d8646cae65616fd0faf7e3d2f94710d1bda9f3fa8bc053582849012373a16d4cec6f0ff7d2e0f15f489fd202b0b42810edd3ee58295087226b9b141e45a4436272690819226588198957864d5706b112641d0d37c17ddc9beb190cc2bad822b73701d94ece4717ae0defd56b724690c3d70e5375e077a0111debaf47afd309342e2f0c377bc6753fe8555744eab9249a1a7eb6d52a1542352e72c75d227f0ec2acca10250733886dec99549bb6579db2f5990f17ee9920eea123dc80576475cac63599c342d766f12f16a31ca58561a8f219fd08754ca73257674dd94d9f664d0b2c35ea4043afbea43b3378bd7a93fe46181f8c4a97a4945fbf67324328abacf2f7378455016619aa8f4dbcc10ab2a5fb317ea0986466100df17f9b9f803b7f8da494371a8af3dcc5283d2dafb45ec32e5baee0be58523811e181e23a2283682f516fc105416ec14ec7fc923ee09a32a7f08fc8857ce41c9c17298f6e66d8674ee08d77306196d458f26973c2ac753ce52cf2d5de988bcf3fce1e6c3862a9af9496aba0d2950e9984b39a27517125e94805117f4d1f570785e9772e4bb174e21ffd07219a95a81bae47fec1aa194978170e9624068502e3dd0f6a7072293178e86572727dcfb559eee31765ef16abcbf9760c06d74b5676f90d35e0b31e91ab6f202686a1bb11a05bb4c2edb004849bc71ecfb301cbb8220c6fd9229bd52006e1199c1ef88be42cdb264fe1cbdbea8c907f21dfc065cc3487e0bbdda3771262f6d51656f95b68b8ffbd78a00ff4d8c16dce64fef4d210d4280524e8396be79e1cb7530262928e0aa7697e3d891e24313c951937b0efefbce61d4f707cee20353e268b9e514cc7b070e2fd3c90239b2db678853e678a0ed6ff909be7df194284cde9cea0f7cd3954ef1f943eba16d0360c2465042862fb6335dbf3fe4f8e17417f52053389617eb64de150c100591231557dbdbca4a451da2a4f28519876f2c1b8b665b085e46da94bb7951d6484add3571b785b813acde60e4704d723e223bb3df9392b1ec809485a37012e41e231a7c1189421a84b2d8006b57c95cd3ef4cd6d6d2e041998d76e7592bfa276c9af0dd735eaa5b49a717bcaef7011c3a41cee2cdf53e5ae145310b966a56e049a521b3d626aa78b443d5f3926101ab6aa14e612dcb7f25122c3fce2f0e90cc3f24832aa40b1ff03e8c76b00e87421b0d0d7b0de7163e0c445efd3815f41ac80fdd235b543cd25019fbea62cdd02a9bb74aec37b1ef24f827ca6bb861ed010163678ca725a1f72e34e7a42011876150f1df454fb22ce3f07f84e51159da1bc4d086a682459404fd9c899efa8f05b12f4b6c80cfe5a366a0d7f6404bfaab30fb23d2fb9e6e42469034fccba3826aca8bd44793a625cee97491e0f2e66057fdb1b943c606fbc9f0652165dc6917c0abc93d7e751076a9973fc756792855057313c026dd96fb0e297d069197217818971c411e5da786314d2b716b01eea223fb804abd26fe6901c0e9eba5cb9a8767de1fb646aaf5e1bbec60f74aaba56c6be2bf39a349cbc9fde3dba0fced6b1a818f239efbfcb152e8461ffb20daafbb5698363913a98ed20c9fa3ec16fecaf8cc4a174ae818b683c9fd14e98fe6d10d7b9e58bf5ced0d4ae2fd2a2707863b7feaeb3f75952883e820f39bd2fe5fc7b9998fcfc7994666c2a6c7fce8d837f2d631d37d1ba3f9d9129006b80a61073220510e42cb4c7ff5d5520a0d3e5c5529f65521d6dcaf3ab8742e2a215798332d7611bbff8fc4dcc609c12f96702d2602a8740014cd368e72b5e14a03d10917b3523641ad0d145fc034116ddfd85c1a1511de02a8f40c071d2f1adc7e6f6e745ee4c54a6a43406d7d2ea301b78d025a9359140aa0c894050f90dd1a6557fb4ecbb1bb65a4484b04e736c11c7ae89764a9fddab14fdd1d1bb06e6a998f89fec0521a2e7ba5eb36342aad2478c25bb6bd8edd8d7fdd6ac04c93f044d89ccfc4b3b0b439c5ce82d6ce9f067e9d1ff95ef99580127e413d10e7f8fa62e7c03263cbbbd82b7cbb35b64ad24ff7c024975926b769fe0f5be1b00d9c99a82574f5f318ca0233e9d43023a028fb4ac0e50348b4397c09ea2af386ce0528b0e78f0a497c21737c8e043ef7412c1fb3c7fd4f6a78a11ba82b8dbd83324e1d3d11351b51c69aa5c3aa5b70a51ac901c328c7acfd8ade06e4043290931601c84dd8aca1c4d3e064ea242dd5f5aa7825324056eaa5492185dbc223f2e3ff41b73d03a8ea11390a4838d8ae2e6c447ca84cb9481a01994555e5ed596c6086fa627e32b43109c6dc15406521312f0c64a89331b71ec6ac3ca7832325514b4415e1bccefefc9bd85996540ae461c002c97c4730526019b939c325f0b9489cf3bd9821a02eaf6dca2ef9bf96e2d0393574b8af5ae52ee7343f0c88cdfb878ae1774ab2545f80946c8737fd0888b84f57e41d21361e5cca4055a8fd74fc05fc8486da0a2e169419a053c625ce51f545a12c7ed73aefa14a65168437a8d0bb257cac5b49439cc1cfe450e0c07aa3c6665c1d1203ced1144ece675adec86ec84f12018ae5a0b754c2cc9ed60c433af1a79fa1a1bae0e68e874470d9907feefc18724a75dd59e88e3eec31ca73b510ef7dbe6c3566f9001fec46384486ac079ad7f5bb0bdf695463142dcd81195010e2ca7aa5ca44f1b8ef4cc5158a6195ce0f399b1e42bcd0397a5202d09c4490e62355c6a8d118accda00f9b3c1a47ccac970a9ecc7654f79b29e43af859d89e00683880a1d93e5d9a9b965cb0e737a4b0d3eb2a936b019d7189143878eda383d8d3a39805e0d88a423b13168b27f2f14cfe09db1a3c076aa9538187ca8f6607ab627e205a8a27db1d83896d2e3e8e5680ec5ed2fb1c0a85af9603ddbf435ed7f3561951791171bdea7fd54390a89b0b59a6f306d13346dd286bfba909afc44041e91b71ea70b13b1ee37a5432698215fb8b09bac7a2a5bb4ff3f963de9945865d9b9dc9c5a5ad331e01ab8b94fede6ae447085b86daf3e98bd54910964053a5d1b03631c942071717af37d65b6d48b9ec33bf9e3835ef2beaaaa895e3638967a8baaad4c483242e1e6c6d4cc06673a4ec87d56540cf19afd27c9ba3638df46ffc0c08b6a0adabc649b8b6e44aae00d180051d6d82ae4c5d180ef966141f0d9b7c49236200e1f7f94b5145e4716b836162f000cc2c6261ea556f5fc513b6bf5501ed6fd5d462bde8b795fe901ffb30587e22734320d8027311581d4a5ce04393d39898a0f2a94404f3abda87dfa8326bc6b5407725b5dbdd6f00af54e5457b83accf683d40373b0c0b0bcb54a321e4a5b74d5697d15afa0b26b8778c72b3d848ce9c951a68bd9f0db58bbd0108542dbed0be5f5afd77e899be493eaca12045525f250364de6d9ca590692a964b5c12d100950b2f8a3a6dd4520f86710eb83a01d3f6866a68df89a6e9b1da3f0287f9098375f96435a0942e0c3931212daf584e7fdaaf47c7b7ef73c49b4db4ca7de0881666c669bd459e617cf7c7e56a9168165eaca461a7ee27fd67d9f4ba33333a7fbc0bf527518d8ba639d7c54d0eaadac901a880f5c2776f669a54b0fa5bfa762517c0d497ddd3c9cacbccb8bcd9d5971b42205d16e49c42b91345f86a27058d7d4895eed85bafcb78545409ac492bc5fb3009a812cd1152f58a8a0291a2ea2ff3de2ff293969ce50a7752206b68fb533a4047b317dfb23fa4ef839a3567898df6b35e55fbbe12e27e2900af7fe936928ba657c240d5066061eef4c3c97a145ebd69023c4821cbd58844d9a3c7fd95062cccb57637dbe12d82d0f9cf610fb40e6026be71a5f4143a598877d6f8c631f0f5bb7e090e79d945fce12ef5919e0cfe51269cbfaaa25eca782cf0b10363f43c548d26937a32760a98fde1064ef75c62c1dbbe24099b0c2abadc7d945a4515f6e35ac29f34a67056e4841e62e147b9e2e7a73415393d24b9eda4fb600f05bd2defc036a1b46f1a2385875d5e3171642ef0970fa1873de81e1c7a5201eccb15cd1fe15fb9569269a80089903620ef5f09ebc60e32d20c24fc3ddfef088cb865ca99a599db864156a0a801bdddb646c43a9b18f185fa4524192aea68b06d8137c0563ac92539f971976d918070ea251ab5aff7103c70b561ac677819efedd6669bbf12b1a3c3a66ca62fb359d4b1578d7d8a4613dd7494b785a8c2f7c3f9cf29338210b892512de84953bcb7d74c876a4e822d2c74efb4c2f050004f9e1d01255030b786ee0a91ab54f8ffaa9df7069d2f7f2dedd13e121058224f64e17f90931d1d5b5ce7d2810f1b2143b7f5417cbcc39642b11cecbb03fc353117be5965cc40c8fa3475ffd8a334a3c55dd0c33f4ab8437d3e6fa123f970a226041cc0d0c28b7760e1351130f9393d0f98af71312b16f11b4504215d65fd57c6b56d244bd1f11abd193f83010894b41363df4db3d7914533634971b1c2f56b9b4c5fbe9cfd5d120e146abc9753b0055205d9760d998750fe128c20bb84a3413a194206b18164ad8527cdbd39c8ff100ff188c82e29b45752c6a5264a05ecedbf7bdbb7972e2c6d083bdac4819b886425697faaab982dcb28b768782188be9ee8757bea55bda1721742c444e4f6f19b7af3897601ce66fbdd0b470503bd5b3dddaf8c60bb04809a90b6226cb9810f156e5a75bb2c4e0ce2ad1527d01ab9262a45a81989c9770605f00fa343e020e84e60d860a4c7d2849ba5b0b2bd20e998fbe98acb0075791d6f4a127071fec432f1dbbb79258cbc9edc7f8f80b3ce904412fac9a39396fa7f6385d2dde537634179f6077ed63bab2211dfd998995a4a9cf849c8206b23310e7cab9888a500b1ba69762883cb61d14b6e546bad9a4158489c60ecf2c8279ac4c3d002315ed66694b376c35929d70f9fa3ee1ea21e2466f09cbca48af9a98885bcf61fea0f5967a6c78de36706eca494f139298ab56553dab63966aafb75a59b9de01c42da532c0844ac669fb5ddf15be3b08be630b87e03457d793256f645f8db0078d0c361a216a793f26183fa11cfdf0de8dd3872a6e67b3153b777f271932b5b81516be0b6d7639d0280502ea7371e2d1f1b3855bd077b290ef0f916caacd6f1b791363add2839b948930ab12e46a643c3097f246d20684eb6386827cdb3d0ca0981df4b14b7bbf9e2b69b2475f1485263fdd8605c4db32c73559732a9db03823b25e600ccd73f30b20ead64ea03cf9bd44a067aa822b7f312db0c981d437bc66e39af935f5482dfd42bda369cd017159a1ca1d174b109c875c34a1b032998242e49d6900c3b40aa516b39425eaf8a03842bff1d33a10f28848c101e54637ea6b9fd9db061978532b5d0808923774388bab3b53a64effe9aaf748c412f5aa90df116c0ec2aa8a0b44fdbc99f1de85faecc127c6e3654a84b1b95f4af369f5dc8cc74eea18a6070b4ae1125f9dec9548b89d01c12174b441dda81fcea3aec3d6074ab7541d772bab851a126ecdba48a4125a7d4d3a48b5c32bb40b6f6b9c8513bc2b2f475ddfc1702c114602a1f0746fee5c41cd0b4434b61cc2de3815c6db799b8a9dfe2a63e636c753b08969f3fbfcf8a25a4ef1d0c41f1b9d1fdbbf22f2814f12fc514a996e86b624d2f7169338bc9605efe1f3f2d2f59d6b6f1a3a80e111195d1755a5f036aa4a3fa6562b0d4d974a2163dfe39cfcb6082c3072cb07b230b4dd5cee9f18ff5f52047cc03c56d6811bacfcb2da9510f7fa357f5d59718ee4972bce4a05f8a42dfee8a4b8219ce7b66ad0a4a8ecf13af43e407063d7f7065afaf134047643cf69f992fd13e46edeaf2d63515e7059e9ae51620c13d3e16fb4b159c20eac48f383bda8feb99cacbfdd9c1fa2ba575c6c4d2ff3fa5e90d65c418e2af48ea4b335d94aa913194eb02bae362d7d4f210e54da139c269478982a00008c8fbc6a07952a3e890af06233c5f47459c33e1790cce1b05b0b61f567accf414b8ed2b4720c5cbcd97a2c89a2fe83669ddafe32a403ceed5addd40f0e83eb7a65031f59578a7c28f83fde86f12071a7a2992d4e8b02394cd0bd0f3d51c88d6b439ab809ae2a5e2a72cc40e4c3ee11426c4e0936defd45e55a161d91b4a39dce1cf12f33f12f8ee84e88a37e75ece2404e25b0f2a1bdf729a23759cad971a595fe45ab4fc60a2238c081c4dff03d506dedb71259b88eeb096be6dfc93761b9e3477eb6a56486f55eeca0f9db3714b29b7ad23a0b71cf969f8781ed06b08b1442b5073571e2abd0e1a346167f9cac02759b8c0cd524d63ebd2f7d867ead6120316657a32b6fae8180f0ec0b94e4a389beca2d9b8f3691e424c11c928a140e34514e8709096de5a4e62f847a7793944b61b29d76682bc78d96b654618c61cf88c5460fad56c4e755c606ad3ad18e5a96a297e05d2fa03a6d6e6dc3b1f40a852a44deb8dad396a5cacc48509d5ddc214577b26e750b70ddcb53efda3ec8c76faac385836542c638d3e9d93669d5a7d623fcacbcc3782cb935aeff34ca304383293834613a57ef1bdc29a01ed5657bf8b9e1159ff8f7a25b2ee495fe3820192df1bbdf0d70c1dd98653642859b2bb08f56fb658b3df767bb78738c4fd7b58435e2b25c69700659824c34bbeb2f1a608116598b44a1515bb0780c32f370b59170eff0fe80861fd59581b2da9b553b975bd9acf67b9e7371a3d51b2a2ced3fdc00579eb6b4addededd6ef6a346f058509de84d4bbb3c47b056db888dfa9a9fa48ef0249b1ef049100035d7aa4acce0b151dc5cef6ffd6536c3f63ead3603e372a655c04f249cfa4e2b6304a66b8acff0ea8b25e2e0d3703c934eb459bd9a2bdb1bf3c02375a6637c6bae6f5eb77423e3363359845b109a72b2b77d8e58f89cc663b4ebdb80f70529457bacaca3d6695229daaa6214d1323da428b1cd7cb909b93d55a6fc3042c1c3502b79dc9b0653fd3a463de9c2a7aecbc4bd2019578082ab787fd9a227b94b93a49c5e4047ede46e1351f68c957caf26e02c1a2b85f289a3be7c343cb418f2242bbf57a8ebceca45c096a85172f6e95b7011919be50d00387e959f9b669cb9f194bf2ddcdee2a7c61bb3ef381b59268970bb44ba5435c9be82fdd85d3b0c14d68fd92da8bc7f643c988d03a9fc35d179874ce77d8179f6b47dd560e75650663f631d76de733a8dd64b2fddbebff99c59445c81e3d28cbe8dbbc29e2bf74dd87e51e433f020c8feb79ddc55e61db759b8067201fe38966a61569af62ee470a16b2f7b2fad0cce4e6819eb3aae00a4aef6338e2bbc25592a6ae04c2c3a360330903dfbc62a3727a2fd05ed936981d29b45ebb40ba1ee46257a7f7d4f47655ce8084a93f5472cccfd530bfc8c4220db66959a70bff66adf1336b0b1c68b6c7a5eeed476c6de05c4f27d4c3bfde8a38fcd0e627d17f769b28c7c729b1a8ffdb166822132481883cb91bc38af50895664bcc6752b6b21f2e69090032a18acdf55f9cdf6b70524f03dfb1f6583cb2e115b945dfa396ea35c3c81284a9159e9d150cba1ce13846864d840dd3b86aeb92cd53014d790a1c6d19999ac391aa223c4ecd31681cf4f17b2dc1cd772e7ea910ac9ca24c4104a6b1e8fafbc9f54a466ac9837b67f06cfc1ab18f0523b67d9ab2ee06ecc7740d6fd21b74f886c90830637f1d0732caabfbf7b974d6536fad67acbfed985f726a526a98655d31f7590cda5e1b57dda5452007ca94fb56893c1ba3f1a2726b2e15c676e34b20b5cd110f1e89901aebb8af1e54c1de54e0294237b9dd7181f8891c55163bceb47bf3f239b40e7b56e482847cbef21218746f0cd903bbd1009689853cc24186242f3f9b9cdfde508db3a06e458104abbd84308ce908af7a4853782a733333ad86e4a08d3a1cf35e24c906656994dfad997186a8edac7c3f7b8c65267c79e2643c82cc82364084087a2dd98d32476ba3d74bb764461b5d8eeb195fd37899ca2c199bf5b46c5772e21c5ae3f63bfb8163323f0d8751af64eef120d5d1b16ab5cb22c5d0ae87048e31cb447be9b45eaf25300106358fbb30d9b1fd6fe77a97ccdd82bb55e5843891a50bb50fd17780bc9ba641718c7b40c2339ea44777e900a33ee29525fb8b394a46aa6a2b3814d81ff45b4d65465df542a67cbee4fea5d7a3b6192819844de780838d408eb50007de428b21a1ad72cb88687854fce74b1e37b7fe59c20b30ce0c3d064f5174534a9187dac3f38caa3269efe5403cfc70ec8e2a041713585dd4a99f0c01f9543004bf09f95bda9f7cf94ae2716202efa37db151244045fc0224595de44cb86949805e5d01f6492e88eeec9bdaf73f449ca243e67859e08610c4a7c6720dd18da8f88c5db3b8f8467bf6230971028eddca2bb9d07212be59c081ecdd6e5ca372edaf0c9f3ef0517019ca983065ed512a9e425c4542fc0e5081a9419049dd8b7aad02098b7ade0ba2cd9600e9a675df4391b9b8d1cc81a4f46f82c6d7cfafe866551045d82e39b7dbc48634dfb6db00d000cc02074528f29c72ca51816188a7dc03f8bc33a49eaa8ca6e63a4455508fb6f63b1d6e173a271e59ea74807dcc4820015ba631cbac5238eeba90438f1c6c9b0969aab80a073c9854a12ff6ddc49df761baee0dee471b0c54fb3680ccb5e674adfee34beb058292ed351851da3885d59c3bf1776f5553ffbaee7c32112e8d2c3347a3bda0dd8f90e8805a63146db91d31fb5cc7d65411408d723bb2103f39405ff0751e9af21aa040282f2724e63d01a0f4824af34e7820fddca00288dc5c99115453cfdc45932dcfff11e38cdd71c80e9ed228fe2cec3ef3038c2bcb37eca87b671178df4ee3a581bdb5619384ab86334789fa731c4663611d996796d076a149549a0ee01f0d1929480a3ec7e12c9c06d770ee35786df0c5d53f7cd27c5763c372622a3845a56d2780d064a19e04a89e798458b7179080739a2d4a36bb79dc8f9145c8dc6c1a84de348852b480acf3b9dc65f8abfffffc11116f800a086fed95ed27c69273b4d57f46d985e8b2aee1a9ddc7fdce1ba6ad3c324c16a219ec7e5e74c5712c2a39dc985626a0db0df3ad3b432489641840c4551e976dbb147cbc66a6801fb59332703bdb982a09fd88f914794b62ab86c2f8c4c3ad3b21b505297aae02eccf3fdadb03df6ee03ecf48be12af1e586359e640973ab596f1d48193ccb8fd901667d1f5ab18470f3a940fd0a1a967d7ef2f2bdce096270c17ac0819082b11f228b996e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0fae374a38094bbd8c383fe9f02c4a07682f7d473d35b9d902a0278e400b4e5d0531f5763e08472b12dd46e80e1402851eb0c7b17b834de7d053547726e71018468a88eb3c2a194d4d563e23cc51ffd3142b2ec5d62d6bbb3221162666ccf207aec3e50ec5828346b112c2633a427ec1dd60e15bd7744e819b85f2991818fb7b00821180c6abc601465ff3788173bb9b537f9b794418bf7f103ba3616006c419fb92256b4922a3ce5711e283e380e4d2aad72952f66bd04bea3b8c5aa8c8a16e73382e6824a8f60f2ff20b40e1b3a6c7ac3dc0b840d0c3a96c7fefeb953d7dfa7351fe2514c26e06026e0f64de4f8e431d32a682f603a35d80ee3f81140763ce1ead5fa1f8c3b2df042a614d25b1077cec1f3c1dc91fcea40c0b7c9ef6028263aa54044a16091c1152ac04f26eae4d1c1b118a659919717fc5ec6646f0b3f8b1ad8e38345f42af67e6a64493bf5e982c4e724f80fead51e6c94d31ce8506fdc578d0a27378071d047e1bc68665bb4ee5849a70192ac75e9025e67d98fa8541223f123bb889136738e4d270a2c3b976272cfa467a8c5bdb602be0e7034669ce788dc6bdc6ca4aff0cc3b02aa4ab33abe3287a25a72bed18342dacdc2c5409633ed773b122b8d28a9b65d44c569c2a64600de563c91e92b01e0dc04e0ca9160e4064f722828142d047bac28d60e80351294ce402e022f70d363809ec7f9e5f1c792e16f378942704901aa8f559100b25d2d6f70dc740f3ece8a1e72897a527d6eb19a5b9c817e11924b67add615a186267c6f66a624981eabc7befe625a9bf3229066702c46d67ba84a679d6b09ce90eab21996f1d10a91a0394c6049e5f3cd0f36ab459def38c5d22f927e55aac99cf8484dc4b7d5c5c60a0c832cf8020a1f4f2e3df1afcca6df2ba4a5187baa65f7353be075987aa59048b02d8bfedf8ad75c67eda75be2cf70ec368bc1447c034749f7833a5acb5ef5029b5785a2d73c389e27f909198bb96df3f777025152e09b14283208c56f8dfb0c4fd772c59c6f41a94b6bf34d6de1a4000c2e708263de448c43749028bd49205938e821d3bc9b6f50f65e4453bce0b9614fd4dc438e2e68da96f15f2dc20d4f782362062a2376ade2beaf90da391f29760211be9f4ed5297ff75bb8128c30f7606247bfa25fc11e6924162c089f27826f9eb8d1f1ad84cac7632fe01086a2a1e98309dff4b67291ab5168f36431958e29a909915390d62e76e8cdb4fcc0961a74f7fb54fadee68afdbdaa4583aabcfb8d911a2daf2e6c0466b0c96181e288ea7a6363f7dd041bf3e8f23c9ca3abf19cbf486f70a7aac10c3d555c55c12a09ca5bc654479a40bc4466aefa20efbff97f79d4a13bb42194b5598db9574b05e7881da11e05eb3787b3ae5d76ab60173fedc39122560c529fa9485ec6b6a6ea7aefcae29cda48fb0544e178b7e8f5e312a069838d418b9c30d6b9b75357200fec1f4775caba4425b5c69c52f51f94dff62746c16f054884d50570c1e151e5a269b8b180ee593e873455695401522f7bd4c1b3c5df60d366fe2b5cff4269b19a6a9aca3d3769772a04499f910e72a81db29ffe7700169ca193ed01306638325df6891e3d850accd8be3c7292b670f2d194a2811fc2c85d42b5224c5ba73571b0852a5eb14d99b02b9efed45fa8a60872ac95ef818f3abd01c10b366fb81663fc16c75c17f57d293950a3182336c48ee92b07672a5ec65245d108a908c356867aa6224895e1316e584470fac94ed420b6485e53f70c809fd67c62382fdd58d71cacff1674a404a7110398f0df10dace4823f12ea69203e6c324667f18cdf31299d1819a004904ffcba48dbf2c69e2a0f4d7a0c16be5d9522f2437c92dfba3cfb08112ba8ad9e965d34b9f8b4741024e47aafa00347cedef8c98682ef0606680dd0441d3290e2c52acf82603035f633e8bd08207a8d1d7620b47ccfdbe469e4e30e6d15927ca47886b0ceb050e7619daaffabd79f1ef42e0daf937396b9a5976c26b1425f691ba81a4be3c6426635b5a0da16082b68b24aea82bee706f820ec2fd057f7eaf6b2dc1216b0502b3ac28b7256bd99f8bbe3a8298a0e9ba9f6f34ebde653cc14b0bac8ef47b7a74186778f1389f7e60ab7a5a059620c0f34fe0ed979eaaafb0589d6714bbaca4719d5061dfa4a72b8c1c573fec0801120a0fa6866d2f06e26568d69f8a8a0217ab149b9ec828a75677e4324632033f997ad8f3c07e13717b425702e1c86fe28902d8d47fe9fe7c423e810c3fad18f77b9bce44fb5ad3d79d93924c4fb126b7ae14c154a3ce4aa88c8841f009d389af6112a53cc4e4b1c948ddaa1d9ed61a36d73ef50e0e77ce281e17ed61d74450b0ffdab7d00a5dd2e72bc0c3c6b522e75290d143e426242fa7483f40257f81d3b407f1e94e5dba31bf5331304f5c1d92691d11a9a001323583d767681a96bcc502a50b7061865bb6478216303223b4cf6a047493f875b11ca06c274cfbae26f6f91bc2020eb30673e63878c1c6f01d05dec82d331fed4d02c34a7278f4de05cfa39ea96252b155a64194fef54812370107a0b3657214faa6919b96e6829cdf0f1d59f84e93eb4d0661a5c4e202c310fd9ceeb07d669e7c7878abc0c336b3f6d06bb87be7efd41e7b53cd6099cb9a7d2a75d12d192c7dab33b7dc53aa732e51e6d49b5121079b9301d2782b6287e57bc4c01af2079d5920b2e2ef2f08a08f9a00277b453058f4cf8dc5ba504e95b3a5a332f0baf0663f5021fb873bdc51c13e5ee0b7d778adfda0f66c75f2e1057eaa43a0958dec071f70d5e93a34ddd5b37e6915453b7eacd18482e72d21c6fc2db58778830075f2ec55af26b8ed7cf35aa4466f634a73886dbe321bd49edb62d50d149c1a78c6f91804c79b68138f2567c35fbefc665edb9729c129e88d20fa095d714f55b60e0d4c041c96fa037f838406bf67964352e0d78357331ea16e29125c69c6f5c49d7db8d097e044501c59bf8ac05125891472241b0ef65f0cb8626b098bbf8ab1b606f0b81ad69c33a3ba1d151ffb7f0aa198d5255597a3d30a6ae35c5fb11bda395d28fbb52431e2f75687848c04ed9bd372493bf2c65b514e699cf1b5ef30ee39b8dc2317d09a762db4f8559ab4413b925ab050fd104203ba6fac6951f85b8644c8fcf74cb07a2e8a463d8dac7434790753c8550cdb951b582414d714f347036561eba8376ba2878dd0bd6281ef3878bbe35a86a132f74838a0e9c41eafb9763031e85b1871d2cf81e9c59ca32079d4168a3518b4c7417bf1b30637176a260a4b7d4bf72ca01f0731edcf11b0d3ad15d8b3be77c47cd6b4f970e9e2fa0c823140d6341503ee0ec7364efa4365f8ed378cf7b478047837201a8a731b74c4ba0849bca82444309076b2ce572062f412a603d273664349e74540638d65ec4648a706cc636b6649f7683879e59ec5892e6607eb75b27ab5a28e439431e507e33e5bec0fe02797664aae424c9b07f36e1f9279c37f435938607bd526d82357be144eb49285bc3d8fdfb724f49980b31846da62a698abcd4161dd9d03f5fa46469808bffb11be4454d8798a1bcfbcab2cfe837ab7d6ca3604690ffade60a2f7023e37247a4d084a5d0a36f8900d7848637b6c91eae3ad22885c02b1a5ee51cddf7098947ed7168c8bc406df6feb1247ab227ecf4e898cdad5e6cfb69def6c5bba78f7aa9f51a1fa36c5f46268c6c959378b29bba2ea601ab753444f3006c07cb9a87cf336b3f9c1b18b0ec7f47614e28e59183b79fa32e2964b4e78464f355bb4cca422b48798b518796568c024f84fc6d03f89dabda2e19022a0968ed9e6180e5edcc72c8be5a25dadc565757b1ac0ac5fef7ee04b260f2b096a96b2c98dabd9dea43da1bdc2d6d8fa15510956889d989587b47fbc0af3635ecf20ce859642085b69b6a91989b78d485bd297cc7d7fffe86a991ccea5c32c64fead18b9c8bfd2299a10dabe455af3e1b322f889c20b3215b32bdd1280399bfefb836d55ce5a99caac8597e97ab3ec3d5ebe1fec2328d92e7866195f20b00d53bb654f102b524494cb498a640370d5618d265af1e0adfae64ab75f340e74afb1109ce29693d52356a3c49884130d1d70e5e391553b0eaf03ef349832414b2eb1399311776c2c9f1bbe519dbffc3bd57473adacb4499cea3ab2243ec6aa7dfa463b60045178844311e54a43d03d48a9714f13691352ae26db03b9fe71d1efe8daf175f5a874bbdbc1cc82ed059b182057752ef6f18bac93d7d31d3cbf59967c4d14301983ae17ff0469c09c76ce05bec13822302a8d1bba1615257257e60212b8dafe6659974725f38ce735815266d71187d4cba485245bac2db7fe67ad09c7d3359f1a9d38f7150bee4d597a9f89633b7063dd39b866d64b4af396a5777692834c92124858ac14258ecd8dbc951eace7429633271b35d29ac603954d81a2e829e36584a8d3639317963ae15f495fddc2dba4ccd0878629f4d97aeef75b1a5f5b083d687acaa51879dc43f9fd247433cb76f575fbb131bfbf85d6a6c028c97c08d6e745ac5658a06ca209039259b4b934c335d991c675c9ca9b7357ff2eb817ad19fb7077a66b3bddb64e1add42f37c2727224062ffaee5a3b4010d98bce61c4072923f7622b01c37dd29726e746c96378b76c1f798aa41f7573141546d066fa7c15b871ffa382f8e028ae142771962b4868085fe6bc9e5ddd95a766d9e9c991828eae58cf286253e1e3c8ee92eb418e4714e90972b5a2172c2c164c626069a0819a4609a45354f99bc416752b2205f98e6c7821eba7ac28c0f60afc34f052a2e961e190d6f463f14b3d392fe43f9dace54b41d3dbef16225298045c045130de953535606ebc8505b75763445a10f485850d43a54632019ec2a08862ee4175e607b014fdc8da7ad9ccf53e1e712b95c9bf2e85e8db944dbb264d8e61636ec59a4cd723bea2e021bf687c6af0ec9b44e41bfbc068118e2c4ce65b8988d34fd3ad984bd32f1dcfffd41243938e3b918ccf51cbf4e19484b5acf62453a6114fc462cd7466e687039d8414361b7095ae53b25d25f015acb0d73541a4bf401592aed871461e6473a83400ceb37cdea7fb6df0ad5ecc41cd9c7a0da8375e29631d561645098e617af8ef0cd7351e294bd190522afacec8b0500c48cbb6b8d701aed18ee85bd583da15a944f8aabd96f4bc50b70e874101df01f9632954bfd71f5e101f6a2356d41c7e91f0c25f54525230b2d165bcee22de2eff35d8d4c53b1915d91304bfeb6c7ba2b79b7a878533ea32df08e9e0405881b210af2adb837aadc188acf16122a3ea7dcbfe8570a5d3fee4d106ed58504a1c4df0e112cb5e1126f4a5b6e837236cb05e21e1a96be8a1d0fc4ef0e37ace04de7573fefe193571f171fd6857f9a082e9840b184f80a91cd0e7f53d6bcc877f96f5e06682d12aedd83819f5a6f55b3e31341778d47d8420aaab2cc0b98eb6e8ae8cc6720b663218406b95525f5e5911c97cebea73615fc4146d6a4caac7a92c73ba0ab46daccc678f31bc784b81d5ad7a48ae557d13e77db7923c0f24f7e7710f6a8a8f265888b3a415258312f8e36e723b4fe164c2e58ba1bb5452b1ce2ba8e5e547d804d9c1a6740d2d414aa44db5a438b3d095ef90ba83927f3b70035113812f3ba09820126bb99f4340464dcbf2a071b7043c719d75dc2f60a7bc44ba32554dd0ee46f504fe3eb908e77c8b9bd2369e9b8af55eb1bbece292cdcee4a40707abbae83945dbd419833346572e7c0a734958c7529af1b9c1d18a5f0b2ef4d048d1ed0c3811874de46670536bdd5985a3ba7c6ae41a04831e5a1922f8639b1069447dce656224b30c15fb6aa0b9ef80d1a9700bbbbe2a750835345f9337cafa1406e72b38c59274ce64680a2172923a82be527a93d2c9be6624f7ce4ef45d6bcdfa89630db98d33d8a873d90c614e275d527b3394035a53a25d038a1b57e604b6a500fe12adc95072c8b17d79356a7e85acdf787d48fca73e832f73164cdea515df50d8493458f7c1e736ed82bfb09c76b18a673f805c369db9b307f8c3ffe0da84f775646d0a23ae9575bf08f16615cce47346f03eb03f7f1b266a10bacaa2b732a9d3dff3916e71a71b76a830f23db0e18c83cffc51fa9155da51fcd24b40f87e5f35bffc629b234328993187c5ed6bedc9083a120e64222b1552e9af82cc4e9adb69f2065336c2c3ffc179f9db83a2d8bf81d4998181191a73f349c6484eeff9fd63f0ca9c7adfd4d6c769a97de60576ba1509e0ab0efd0102e04b1a0da9a777985dca37d82e5574a39119a6c8d1ba689fe2f06d0c4b3cebc6b897c591485a6af69cf45d97ccf81fc4fd7b3b16a59d8fc7d100d94030830281c85f50011ca4c88f7ed4dcf3350a521b07efa3a06e0240b619c8768e467609fe08fa53022d3037a45cdddb67b42f7f2b9187c395d2d6edffac3bea4ca207e7262c888177780b28dd73fe087fc842c17a6f997b78d66b88b7d8a00eb40503b089786fb84ff351fc4352ee52088dd26d06d0cbe4b5ad1b168c0474c0b039f68995733459b688ddec2e4d00bd84929e6907468130caf3ed66b6d1843bb1d4b1f6928086e0af8faa6e78034327359c87dae14de00e7883183b119148c74a104b60d285e6bc4f521edd17d940d78bb6e2639d5cc1a38a7537d5f9b1dbc1f3f5129f04c8b49310b0ce4aa7847ea0caa61b7af7dd6a0efee93c0e2f476fa2c99696d4ca4039270b5768384f40b7e254e3eb391f652f5bd99a6cdc8f84ad28d9ea775b5cf598f35c8e9b89c13c44a622fe7c786e72a060a7fa156ba2c87d6360ce6bc8a7cc340f8493ea7f051ea9d2a2c60c81b42a091a623ad5d9e35cc45d68d149f4a73666f5afb06b3d1c6a843283ae783092b1ada66598f295321e010efcf50f1017c014bb5b2a05331601c66f6732a01ede55c658c583a498599fc01f10e38fa237996d62c171d8344672efa442115602f6c3219ae057f45b80e7aee30b9518e15c87e8aa6a7ff90ca6a3f626e13376f2ca90caa6191258aeb40d776c68c966c26d257e889902b9acc5b97ab86e031ba9e75ea02ae724142e8ae851d868c03a65995130ded4246a720c1a9a532ac5a5c49115bced9ed81ca9b87c19673af52639636428c293319e5262b622ddbe03cd59af06d5bc8622e42120b4b14d4dd0ec788405518359829dc0cd56aa021d38563f62f461cec6b3460279c5a5da90827e7d744cfb2ca5efc1b4a22d1913223ab1c5fa70eb3dc9b94845a943b57e4c6cf43c15718e30695387834af1cdf30173566b2b00d032da78a0aed6db71c6a9c515aa127a5a03588faae40d2b1fd5da5924d7dba9ab6fdcf7a066db72018d7d1de423eea47dec2eec237ac4ca8faeae01e2e32cca87f33dc0d41bd0c1d2cf8e2f1f878e39490cd31003ffb0ffdc2b5de38316fa00cecaad70d7defa21fd52d1b7a2675658bdb3835002738eeebbfac91024051b2ea5c10791a419e51c06b71159dccecd1795a3410e6b2f93ac69e4737cd10b0c4e99edade28782925ce5366b15c8edd00a6afcf7252bb9885b0b89d945367b4be3b87188e42b950172880c6b01f23ba74097eb201ac18ad8a42b5cd33b5d014001f85e15360ec423a6eba9b06ce023b54eb395036cb8cf2e0c9c424a87dfdacbb31b34d69df79cb9b2ca68b25ba479c0d260281ffc307fe2694acbded0c8a74f3a817babcad98d3d9e89895d70d44faaf8d2504bced050381ad08fcd09fa5b867446313b7e88bc5a0af4028952f741da41a8c83c07ebbf0592363eec655ae515b1380d8d8bb8f6314f907e71b661dfcddc54bac6166ce84b82903c2b283a723ef43da98341dfc057a6d9aac2fba1f2162661c8533b909abe7325de7342f629f352d5c47f63e73b55680bb84c316bfdc2c929c70e7fc25861ab93992e7200d619105d3f837f7e6bd7cf47443d95b30b3808d8f61348ed3e0cfb3c6a784eda8f8fa258af22b64f29a1209f90f1bd0417107d45db5c2a30593f9155ed00d27536ed598038351632c7c5f306f8fd529ff7bb1b113d3baf18147c0f4789d6fb960f09dfbc0f810b26f3aaa098d07ead6da79fd98d664d74ad973a672757c17e3b2d6045b39aa540df2f9682ca74665d8593f6cac61a64613ec252d070fcdaefbe8ad37bbe74a433fb80d7193e14221cada6c345a15bba5631f8eb2ab2530550f2658cb34afef5973ec85ba8ee1c021bb7733ca216b642d56bf969d8abea6d69db8050ced9391c8ebc7993679b6a34ab677a0093db5a6bc9eec8e3828b42aadda24698609220b55f21f573a7eb742577afe1e4b06c6d689a7ffe57418d161ccd51c40d13dceb5a46218ddfb36ca2f1e6debea43a146be1a11612f956eb99d91d5517bc32bfd7d11bd7042e7c98571e70b8ed8df5a0a9468443e5b3178168ceb0051c8cd6bc8d5f2eb1bb855e4831f9c59998a0134229edad8e0feec8601ee82392de5cd07cc16d01081bec620916b12d28367fbfb967eef16d6bf798bdecc0b4efc072da4e7c558241a8c64e21c87e7ff92037944daa95f263d208f96c2b1023728844677653860bcb8d89c76b23435c27c0c01803349f3f57603463a5f17c5200f7ca5e8bc2cc9ec8a2aed43d5be3dd7e76a9a005924db6aafbd8e546c3e5153d09b939b22f4d149625d368af37ec162b3b7f119b7ceb2fa5bbba8a6a1798a0fbb3c0d67b634aab9fb5b9f09ec15e9f52c9405740d2f8383d5fc470830aa4233a7a0d920cc12081cebf604e633881d57ba87d5479f3207e04505f0bb7ae021af16b7cf2549eb72465ad31dc398d8db848ef1825cad93f927b4e6dea20f397547add97b8ecb183cd4799512a9af/etc/alternatives/salt-call@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-3006.0-150500.4.47.1.src.rpm��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bundled(python3-tornado)python3-saltpython3-salt(s390-64)salt-call @@@@      /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/env/usr/bin/python3.6fileiputilspython(abi)python3-Jinja2python3-M2Cryptopython3-MarkupSafepython3-PyYAMLpython3-basepython3-contextvarspython3-distropython3-looseversionpython3-msgpack-pythonpython3-packagingpython3-psutilpython3-pyzmqpython3-requestspython3-rpmpython3-xmlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)saltsudoupdate-alternatives3.60.32.2.01.0.03.0.4-14.6.0-14.0.4-14.0-15.2-13006.0-150500.4.47.14.14.3g��@f�5�f�x�fb�@f:�f��e���e���e@�@e%<�e ��d��@d�/@d��@d�C@dt��dm�@dX�@dV@cƍ�c��@cv"@c1�@b���b�@b�1@brj�bUi�bE��bE��b�@b[@a��@a�@@af�@aZ��aZ��aZ��a/k@`� @`�!@`�q�`~�@`u��`H��`<�@`&m�_���_���_��@_��@_�I@_�I@_���_��@_���_�t@_d�@_3��_A@^�W@^��^�(@^��@^�k@^���^���^}��^|�@^p��^oj@^`��^`��^_�@^_�@^\�@^C��^8 @^1s�^[�^�^r�]�q�]�+�]��@]��]��]�7@]�N@]߶�]�{@]�{@]�)�]���]���]��@]���]���]�4@]���]�?�]��@]��@]��@]p��]o�@]nU�]i�]R�@]M`@]@1@]@1@]>��]9��]%�@]#0@]��]@] u@]�@]�@\���\� �\�t@\���\�@\��\���\�s@\�-@\���\�8�\���\w�@\w�@\v{�\HW@\?�\=�@\8�@\73�\73�\/J�\-�@\-�@\l@\&@[��@[�@[�%@[ٙ@[�G�[Ѱ@[�u�[�$@[�$@[���[���[�;@[��@[�F�[� @[��[���[��@[���[�:@[���[��@[^��Z�n�Z�@Z�4@Z�K@Z�m�Z�3@Z�3@Z�a@Z��Zľ@Z���Z���Z�2@Z��@Z��@Z���Z���Z���Z��Z��@Z�k�Z���Z�w@Z�%�Z�<�Z�<�Z� �Z��@Z}�@Z}�@Z}�@Zz�@Zs@Zk@Zi��Zi��Zhu@Z_:�ZWQ�ZOh�ZD��Z8�@Z7��Z2g�Z1@Z1@Z1@Z1@Z1@Z)-@Z!D@Z�@ZC@Y��Y��Yܶ@Y�d�Y��Y˒�Y��@Y��@Y��@Y���Y��@Y���Y�n@Y�3�Yl��YI@Y9<@Y7��Y7��Y6�@Y, @Y"��Y!�@Y�@Y��Y;@Y;@YR@Y]�Yt�Y��X��@X��X��@X�s�X�@X��X�D�X��@Xۡ�Xۡ�X� @X�g@X�~@X���X���X�Z�X�+�X���X�B�X���X���X�e@X���X��@Xj@�XY@XY@XW��XQ4@XQ4@XJ��X<@X<@X@X2@XI@X`@X�@W�w@W��@W�<�W��@W��W�_@W��@W�i�W�#�W�/@W��@W�:�W�@W�@W�h�W�h�W���W�E@W� �W�g�W�g�W�@W���W��@Wm �Wj}�Wi,@W_��WYZ@WN�@WH6�WB��WB��W;�W4p@W3�W3�W3�W0{�W,�@W)�@Wo@W�@W�@W �@W��W��W��WW@V��@V�@V�J�V��V�@V�@V�x�V�x�V�>@V�>@V�I�V��@V�U@V��V��VŲ@V�`�V�w�V�w�V�&@V��@V��@V��@V�_�V�@V�v�V�v�V��@V�<@Vw��Vr��Vp�Vh�V]��V]��V\:@VV�@VU��VO @VE��V�@V��V��V��V��V��V��V�@V�@V�@V�@V�@V @V @V @V��V��Vf@V�@V @V }@V�@VB�VB�U��@U�@U���U��Up=�U`k�UU��UJ@U3��U:�Tܕ�T���TWn@T?�@marek.czernek@suse.comyeray.gutierrez@suse.commarek.czernek@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvzhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvictor.zhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.demihai.dinca@suse.comjbreuer@suse.depablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.depsuarezhernandez@suse.commdinca@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.debo@suse.depsuarezhernandez@suse.combo@suse.depsuarezhernandez@suse.commdinca@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.dejbreuer@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.combo@suse.demihai.dinca@suse.comjbreuer@suse.dejbreuer@suse.depsuarezhernandez@suse.comjbreuer@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.depsuarezhernandez@suse.commc@suse.demichele.bologna@suse.commdinca@suse.demdinca@suse.demc@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.dejbreuer@suse.dejbreuer@suse.demdinca@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjrenner@suse.comjbreuer@suse.demichele.bologna@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comdimstar@opensuse.orgmihai.dinca@suse.commihai.dinca@suse.commdinca@suse.dejbreuer@suse.debmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejrenner@suse.combrejoc@gmail.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commalbu@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commoio@suse.combmaryniuk@suse.compkazmierczak@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commalbu@suse.commc@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comkkaempf@suse.comkkaempf@suse.commc@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commc@suse.commc@suse.demihai.dinca@suse.comMichele.Bologna@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commc@suse.demihai.dinca@suse.combmaryniuk@suse.commihai.dinca@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.dedmacvicar@suse.debmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.detserong@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comtserong@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.debmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.comkkaempf@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.combmaryniuk@suse.comkkaempf@suse.comtampakrap@opensuse.orgmc@suse.demc@suse.debmaryniuk@suse.commc@suse.demc@suse.demc@suse.demc@suse.demc@suse.demc@suse.deaboe76@gmail.combmaryniuk@suse.combmaryniuk@suse.comdmacvicar@suse.dekkaempf@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comkkaempf@suse.comdmacvicar@suse.dedmacvicar@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comaboe76@gmail.combmaryniuk@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deaboe76@gmail.commrueckert@suse.detampakrap@opensuse.orgtoddrme2178@gmail.comdmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.detampakrap@opensuse.orgtampakrap@opensuse.orginfroma@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comaboe76@gmail.cominfroma@gmail.cominfroma@gmail.comtampakrap@opensuse.orgaboe76@gmail.combwiedemann@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.com- Revert setting SELinux context for minion service (bsc#1233667) - Remove System V init support - Make systemd the only supported init system by removing System V init and insserv references - Ensure package builds with no init system dependencies if built without systemd (for example for use in containers) - Apply some spec-cleaner suggestions (update copyright year, sort requirements, adjust spacing) - Signed-off-by: Georg Pfuetzenreuter - Fix the condition of alternatives for Tumbleweed and Leap 16 - Use update-alternatives for salt-call and fix builing on EL8 - Build all python bindings for all flavors - Make minion reconnecting on changing master IP (bsc#1228182) - Handle logger exception when flushing already closed file - Include passlib as a recommended dependency - Make Salt Bundle more tolerant to long running jobs (bsc#1228690) - Fix additional x509 tests and test_suse tests for SLE12 - Added: * handle-logger-flushing-already-closed-file-686.patch * make-minion-reconnecting-on-changing-master-ip-bsc-1.patch * revert-setting-selinux-context-for-minion-service-bs.patch * enhance-cleanup-mechanism-after-salt-bundle-upgrade-.patch * fix-x509-private-key-tests-and-test_suse-on-sle12-68.patch- Fix failing x509 tests with OpenSSL < 1.1 - Avoid explicit reading of /etc/salt/minion (bsc#1220357) - Allow NamedLoaderContexts to be returned from loader - Revert the change making reactor less blocking (bsc#1230322) - Use --cachedir for extension_modules in salt-call (bsc#1226141) - Prevent using SyncWrapper with no reason - Fix the SELinux context for Salt Minion service (bsc#1219041) - Set contextvars as a build requirement for package - Increase warn_until_date date for code we still support - The test_debian test now uses port 80 for ubuntu keyserver - Fix too frequent systemd service restart in test_system test - Avoid crash on wrong output of systemctl version (bsc#1229539) - Improve error handling with different OpenSSL versions - Remove redundant run_func from salt.master.MWorker._handle_aes - Fix cloud minion configuration for multiple masters (bsc#1229109) - Use Pygit2 id instead of deprecated oid in gitfs - Fix few failing tests to work with both Salt and Salt bundle - Skip testing unsupported OpenSSL crypto algorithms - Added: * revert-the-change-making-reactor-less-blocking-bsc-1.patch * fix-x509-test-fails-on-old-openssl-systems-682.patch * prevent-using-syncwrapper-with-no-reason.patch * avoid-crash-on-wrong-output-of-systemctl-version-bsc.patch * allow-namedloadercontexts-to-be-returned-from-loader.patch * fix-deprecated-code-677.patch * fix-test_debian-to-work-in-our-infrastructure-676.patch * fix-the-selinux-context-for-salt-minion-service-bsc-.patch * use-cachedir-for-extension_modules-in-salt-call-bsc-.patch * fix-test_system-flaky-setup_teardown-fn.patch * join-masters-if-it-is-a-list-671.patch * replace-use-of-pygit2-deprecated-and-removed-1.15.0-.patch * remove-redundant-run_func-from-salt.master.mworker._.patch * make-tests-compatible-with-venv-bundle.patch * avoid-explicit-reading-of-etc-salt-minion-bsc-122035.patch * skip-more-tests-related-to-old-openssl-algorithms.patch * improve-error-handling-with-different-openssl-versio.patch- Fix rich rule comparison in firewalld module (bsc#1222684) - test_vultrpy: adjust test expectation to prevent failure after Debian 10 EOL - Make auth.pam more robust with Salt Bundle and fix tests - Fix performance of user.list_groups with many remote groups - Fix "status.diskusage" function and exclude some tests for Salt Bundle - Skip certain tests if necessary for some OSes and set flaky ones - Add a timer to delete old env post update for venv-minion - Several fixes for tests to avoid errors and failures in some OSes - Added: * firewalld-normalize-new-rich-rules-before-comparing-.patch * several-fixes-for-tests-to-avoid-errors-and-failures.patch * test_vultrpy-adjust-test-expectation-to-prevent-fail.patch * fix-status.diskusage-and-exclude-some-tests-to-run-w.patch * skip-certain-tests-if-necessary-and-mark-some-flaky-.patch * some-more-small-tests-fixes-enhancements-661.patch * provide-systemd-timer-unit.patch * fix-user.list_groups-omits-remote-groups.patch- Speed up salt.matcher.confirm_top by using __context__ - Do not call the async wrapper calls with the separate thread - Prevent OOM with high amount of batch async calls (bsc#1216063) - Add missing contextvars dependency in salt.version - Skip tests for unsupported algorithm on old OpenSSL version - Remove redundant `_file_find` call to the master - Prevent possible exception in tornado.concurrent.Future._set_done - Make reactor engine less blocking the EventPublisher - Make salt-master self recoverable on killing EventPublisher - Improve broken events catching and reporting - Make logging calls lighter - Remove unused import causing delays on starting salt-master - Mark python3-CherryPy as recommended package for the testsuite - Added: * skip-tests-for-unsupported-algorithm-on-old-openssl-.patch * make-reactor-engine-less-blocking-the-eventpublisher.patch * remove-unused-import-causing-delays-on-starting-salt.patch * make-logging-calls-lighter.patch * remove-redundant-_file_find-call-to-the-master.patch * prevent-possible-exception-in-tornado.concurrent.fut.patch * do-not-call-the-async-wrapper-calls-with-the-separat.patch * add-missing-contextvars-dependency-in-salt.version.patch * prevent-oom-with-high-amount-of-batch-async-calls-bs.patch * speed-up-salt.matcher.confirm_top-by-using-__context.patch * improve-broken-events-catching-and-reporting.patch * make-salt-master-self-recoverable-on-killing-eventpu.patch- Make "man" a recommended package instead of required- Convert oscap output to UTF-8 - Make Salt compatible with Python 3.11 - Ignore non-ascii chars in oscap output (bsc#1219001) - Fix detected issues in Salt tests when running on VMs - Make importing seco.range thread safe (bsc#1211649) - Fix problematic tests and allow smooth tests executions on containers - Discover Ansible playbook files as "*.yml" or "*.yaml" files (bsc#1211888) - Provide user(salt)/group(salt) capabilities for RPM 4.19 - Extend dependencies for python3-salt-testsuite and python3-salt packages - Improve Salt and testsuite packages multibuild - Enable multibuilld and create test flavor - Prevent exceptions with fileserver.update when called via state (bsc#1218482) - Improve pip target override condition with VENV_PIP_TARGET environment variable (bsc#1216850) - Fixed KeyError in logs when running a state that fails - Added: * make-importing-seco.range-thread-safe-bsc-1211649.patch * fixed-keyerror-in-logs-when-running-a-state-that-fai.patch * allow-kwargs-for-fileserver-roots-update-bsc-1218482.patch * decode-oscap-byte-stream-to-string-bsc-1219001.patch * fix-problematic-tests-and-allow-smooth-tests-executi.patch * discover-both-.yml-and-.yaml-playbooks-bsc-1211888.patch * fix-salt-warnings-and-testuite-for-python-3.11-635.patch * switch-oscap-encoding-to-utf-8-639.patch * fix-tests-failures-and-errors-when-detected-on-vm-ex.patch * improve-pip-target-override-condition-with-venv_pip_.patch- Prevent directory traversal when creating syndic cache directory on the master (CVE-2024-22231, bsc#1219430) - Prevent directory traversal attacks in the master's serve_file method (CVE-2024-22232, bsc#1219431) - Added: * fix-cve-2024-22231-and-cve-2024-22232-bsc-1219430-bs.patch- Ensure that pillar refresh loads beacons from pillar without restart - Fix the aptpkg.py unit test failure - Prefer unittest.mock to python-mock in test suite - Enable "KeepAlive" probes for Salt SSH executions (bsc#1211649) - Revert changes to set Salt configured user early in the stack (bsc#1216284) - Align behavior of some modules when using salt-call via symlink (bsc#1215963) - Fix gitfs "__env__" and improve cache cleaning (bsc#1193948) - Remove python-boto dependency for the python3-salt-testsuite package for Tumbleweed - Added: * enable-keepalive-probes-for-salt-ssh-executions-bsc-.patch * update-__pillar__-during-pillar_refresh.patch * fix-gitfs-__env__-and-improve-cache-cleaning-bsc-119.patch * dereference-symlinks-to-set-proper-__cli-opt-bsc-121.patch * prefer-unittest.mock-for-python-versions-that-are-su.patch * fix-the-aptpkg.py-unit-test-failure.patch * revert-make-sure-configured-user-is-properly-set-by-.patch- Randomize pre_flight_script path (CVE-2023-34049 bsc#1215157) - Allow all primitive grain types for autosign_grains (bsc#1214477) - Added: * fix-cve-2023-34049-bsc-1215157.patch * allow-all-primitive-grain-types-for-autosign_grains-.patch- Fix optimization_order opt to prevent testsuite fails - Improve salt.utils.json.find_json to avoid fails (bsc#1213293) - Use salt-call from salt bundle with transactional_update - Only call native_str on curl_debug message in tornado when needed - Implement the calling for batch async from the salt CLI - Fix calculation of SLS context vars when trailing dots on targetted sls/state (bsc#1213518) - Rename salt-tests to python3-salt-testsuite - Added: * fix-optimization_order-opt-to-prevent-test-fails.patch * fix-calculation-of-sls-context-vars-when-trailing-do.patch * implement-the-calling-for-batch-async-from-the-salt-.patch * improve-salt.utils.json.find_json-bsc-1213293.patch * use-salt-call-from-salt-bundle-with-transactional_up.patch * only-call-native_str-on-curl_debug-message-in-tornad.patch- Fix inconsistency in reported version by egg-info metadata (bsc#1215489) - Added: * write-salt-version-before-building-when-using-with-s.patch- Revert usage of long running REQ channel to prevent possible missing responses on requests and dublicated responses (bsc#1213960, bsc#1213630, bsc#1213257) - Fix gitfs cachedir basename to avoid hash collisions (bsc#1193948, bsc#1214797, CVE-2023-20898) - Added: * fixed-gitfs-cachedir_basename-to-avoid-hash-collisio.patch * revert-usage-of-long-running-req-channel-bsc-1213960.patch- Make sure configured user is properly set by Salt (bsc#1210994) - Do not fail on bad message pack message (bsc#1213441, CVE-2023-20897) - Fix broken tests to make them running in the testsuite - Prevent possible exceptions on salt.utils.user.get_group_dict (bsc#1212794) - Create minion_id with reproducible mtime - Fix detection of Salt codename by "salt_version" execution module - Fix regression: multiple values for keyword argument 'saltenv' (bsc#1212844) - Fix the regression of user.present state when group is unset (bsc#1212855) - Fix zypper repositories always being reconfigured - Fix utf8 handling in 'pass' renderer and make it more robust - Added: * make-sure-configured-user-is-properly-set-by-salt-bs.patch * prevent-possible-exceptions-on-salt.utils.user.get_g.patch * mark-salt-3006-as-released-586.patch * fix-the-regression-of-user.present-state-when-group-.patch * fix-tests-to-make-them-running-with-salt-testsuite.patch * fix-utf8-handling-in-pass-renderer-and-make-it-more-.patch * do-not-fail-on-bad-message-pack-message-bsc-1213441-.patch * zypper-pkgrepo-alreadyconfigured-585.patch * fix-regression-multiple-values-for-keyword-argument-.patch- Prevent _pygit2.GitError: error loading known_hosts when $HOME is not set (bsc#1210994) - Fix ModuleNotFoundError and other issues raised by salt-support module (bsc#1211591) - tornado: Fix an open redirect in StaticFileHandler (CVE-2023-28370, bsc#1211741) - Added: * 3006.0-prevent-_pygit2.giterror-error-loading-known_.patch * fix-some-issues-detected-in-salt-support-cli-module-.patch * tornado-fix-an-open-redirect-in-staticfilehandler-cv.patch- Make master_tops compatible with Salt 3000 and older minions (bsc#1212516) (bsc#1212517) - Added: * make-master_tops-compatible-with-salt-3000-and-older.patch- Avoid failures due transactional_update module not available in Salt 3006.0 (bsc#1211754) - Added: * define-__virtualname__-for-transactional_update-modu.patch- Avoid conflicts with Salt dependencies versions (bsc#1211612) - Added: * avoid-conflicts-with-dependencies-versions-bsc-12116.patch- Update to Salt release version 3006.0 (jsc#PED-3139) * See release notes: https://docs.saltproject.io/en/latest/topics/releases/3006.0.html - Add python3-looseversion as new dependency for salt - Add python3-packaging as new dependency for salt - Drop conflictive patch dicarded from upstream - Fix SLS rendering error when Jinja macros are used - Fix version detection and avoid building and testing failures - Added: * fix-version-detection-and-avoid-building-and-testing.patch * make-sure-the-file-client-is-destroyed-upon-used.patch - Modified: * 3005.1-implement-zypper-removeptf-573.patch * activate-all-beacons-sources-config-pillar-grains.patch * add-custom-suse-capabilities-as-grains.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-bsc-1065792.patch * fix-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fixes-for-python-3.10-502.patch * include-aliases-in-the-fqdns-grains.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * restore-default-behaviour-of-pkg-list-return.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * skip-package-names-without-colon-bsc-1208691-578.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * use-adler32-algorithm-to-compute-string-checksums.patch * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-entrypoint-compatibility-for-importlib-metadat.patch * clarify-pkg.installed-pkg_verify-documentation.patch * detect-module.run-syntax.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch- Require python3-jmespath runtime dependency (bsc#1209233) - Fix problem with detecting PTF packages (bsc#1208691) - Fixes pkg.version_cmp on openEuler systems and a few other OS flavors - Make pkg.remove function from zypperpkg module to handle also PTF packages - Added: * 3005.1-implement-zypper-removeptf-573.patch * skip-package-names-without-colon-bsc-1208691-578.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch- Update to Salt release version 3005.1 (jsc#PED-3042) - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3005.1.html - Allow entrypoint compatibility for "importlib-metadata>=5.0.0" (bsc#1207071) - Add missing patch after rebase to fix collections Mapping issues - Prevent deadlocks in salt-ssh executions - Create new salt-tests subpackage containing Salt tests - Added: * allow-entrypoint-compatibility-for-importlib-metadat.patch * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * add-custom-suse-capabilities-as-grains.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * clarify-pkg.installed-pkg_verify-documentation.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * detect-module.run-syntax.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-bsc-1065792.patch * fixes-for-python-3.10-502.patch * fix-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-aliases-in-the-fqdns-grains.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * restore-default-behaviour-of-pkg-list-return.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * use-adler32-algorithm-to-compute-string-checksums.patch * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * add-missing-ansible-module-functions-to-whitelist-in.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * adds-explicit-type-cast-for-port.patch * backport-syndic-auth-fixes.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-crash-when-calling-manage.not_alive-runners.patch * fixes-56144-to-enable-hotadd-profile-support.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * fix-for-cve-2022-22967-bsc-1200566.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * fix-multiple-security-issues-bsc-1197417.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * implementation-of-held-unheld-functions-for-state-pk.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * improvements-on-ansiblegate-module-354.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * refactor-and-improvements-for-transactional-updates-.patch * support-transactional-systems-microos.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch- Control the collection of lvm grains via config (bsc#1204939) - Added: * control-the-collection-of-lvm-grains-via-config.patch- Pass the context to pillar ext modules - Align Amazon EC2 (Nitro) grains with upstream (bsc#1203685) - Detect module run syntax version - Implement automated patches alignment for the Salt Bundle - Ignore extend declarations from excluded SLS files (bsc#1203886) - Clarify pkg.installed pkg_verify documentation - Enhance capture of error messages for Zypper calls in zypperpkg module - Make pass renderer configurable and fix detected issues - Workaround fopen line buffering for binary mode (bsc#1203834) - Added: * detect-module.run-syntax.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * make-pass-renderer-configurable-other-fixes-532.patch * clarify-pkg.installed-pkg_verify-documentation.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * pass-the-context-to-pillar-ext-modules.patch * ignore-extend-declarations-from-excluded-sls-files.patch * include-stdout-in-error-message-for-zypperpkg-559.patch- Handle non-UTF-8 bytes in core grains generation (bsc#1202165) - Fix Syndic authentication errors (bsc#1199562) - Add Amazon EC2 detection for virtual grains (bsc#1195624) - Fix the regression in schedule module releasded in 3004 (bsc#1202631) - Fix state.apply in test mode with file state module on user/group checking (bsc#1202167) - Change the delimeters to prevent possible tracebacks on some packages with dpkg_lowpkg - Make zypperpkg to retry if RPM lock is temporarily unavailable (bsc#1200596) - Fix test_ipc unit test - Added: * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * fix-test_ipc-unit-tests.patch * backport-syndic-auth-fixes.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch- Add support for gpgautoimport in zypperpkg module - Update Salt to work with Jinja >= and <= 3.1.0 (bsc#1198744) - Fix salt.states.file.managed() for follow_symlinks=True and test=True (bsc#1199372) - Make Salt 3004 compatible with pyzmq >= 23.0.0 (bsc#1201082) - Add support for name, pkgs and diff_attr parameters to upgrade function for zypper and yum (bsc#1198489) - Fix ownership of salt thin directory when using the Salt Bundle - Set default target for pip from VENV_PIP_TARGET environment variable - Normalize package names once with pkg.installed/removed using yum (bsc#1195895) - Save log to logfile with docker.build - Use Salt Bundle in dockermod - Ignore erros on reading license files with dpkg_lowpkg (bsc#1197288) - Added: * fix-ownership-of-salt-thin-directory-when-using-the-.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * save-log-to-logfile-with-docker.build.patch * add-support-for-gpgautoimport-539.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * normalize-package-names-once-with-pkg.installed-remo.patch * use-salt-bundle-in-dockermod.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch- Fix PAM auth issue due missing check for PAM_ACCT_MGM return value (CVE-2022-22967) (bsc#1200566) - Added: * fix-for-cve-2022-22967-bsc-1200566.patch- Make sure SaltCacheLoader use correct fileclient (bsc#1199149) - Added: * make-sure-saltcacheloader-use-correct-fileclient-519.patch- Fixes for Python 3.10 - Added: * fixes-for-python-3.10-502.patch- Fix regression preventing bootstrapping new clients caused by redundant dependency on psutil (bsc#1197533) - Prevent data pollution between actions proceesed at the same time (bsc#1197637) - Added: * fix-regression-with-depending-client.ssh-on-psutil-b.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch- Fix salt-ssh opts poisoning (bsc#1197637) - Added: * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch- Fix multiple security issues (bsc#1197417) * Sign authentication replies to prevent MiTM (CVE-2022-22935) * Sign pillar data to prevent MiTM attacks. (CVE-2022-22934) * Prevent job and fileserver replays (CVE-2022-22936) * Fixed targeting bug, especially visible when using syndic and user auth. (CVE-2022-22941) - Added: * fix-multiple-security-issues-bsc-1197417.patch- Add salt-ssh with Salt Bundle support (venv-salt-minion) (bsc#1182851, bsc#1196432) - Fix issues found around pre_flight_script_args - Restrict "state.orchestrate_single" to pass a pillar value if it exists (bsc#1194632) - Fix salt-call event.send with pillar or grains - Update generated documentation to 3004 - Added: * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch- Expose missing "ansible" module functions in Salt 3004 (bsc#1195625) - Added: * add-missing-ansible-module-functions-to-whitelist-in.patch- Update to version 3004 (jsc#SLE-23675) * See release notes: https://docs.saltproject.io/en/master/topics/releases/3004.html - Don't check for cached pillar errors on state.apply (bsc#1190781) - Fix exception in batch_async caused by a bad function call - Fix inspector module export function (bsc#1097531) - Wipe NOTIFY_SOCKET from env in cmdmod (bsc#1193357) - Added: * state.apply-don-t-check-for-cached-pillar-errors.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch - Modified: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-custom-suse-capabilities-as-grains.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * switch-firewalld-state-to-use-change_interface.patch * debian-info_installed-compatibility-50453.patch * refactor-and-improvements-for-transactional-updates-.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * info_installed-works-without-status-attr-now.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * implementation-of-held-unheld-functions-for-state-pk.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * improvements-on-ansiblegate-module-354.patch * support-transactional-systems-microos.patch * x509-fixes-111.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * use-adler32-algorithm-to-compute-string-checksums.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * run-salt-master-as-dedicated-salt-user.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * include-aliases-in-the-fqdns-grains.patch - Removed: * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * templates-move-the-globals-up-to-the-environment-jin.patch * adding-preliminary-support-for-rocky.-59682-391.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * fix-save-for-iptables-state-module-bsc-1185131-372.patch * fix-a-test-and-some-variable-names-229.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * virt-enhancements.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch * figure-out-python-interpreter-to-use-inside-containe.patch * do-not-break-master_tops-for-minion-with-version-low.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch- Simplify "transactional_update" module to not use SSH wrapper and allow more flexible execution - Add "--no-return-event" option to salt-call to prevent sending return event back to master. - Make "state.highstate" to acts on concurrent flag. - Use dnfnotify instead yumnotify for relevant distros - dnfnotify pkgset plugin implementation - Add rpm_vercmp python library support for version comparison - Prevent pkg plugins errors on missing cookie path (bsc#1186738) - Make "tar" as required for "salt-transactional-update" package - Make "salt-api" package to require python3-cherrypy on RHEL systems - Fix ip6_interface grain to not leak secondary IPv4 aliases (bsc#1191412) - Added: * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * refactor-and-improvements-for-transactional-updates-.patch * fix-the-regression-for-yumnotify-plugin-456.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch- Fix issues with salt-ssh's extra-filerefs - Fix crash when calling manage.not_alive runners - Do not consider skipped targets as failed for ansible.playbooks state (bsc#1190446) - Added: * fix-crash-when-calling-manage.not_alive-runners.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch- Do not break master_tops for minion with version lower to 3003 - Support querying for JSON data in external sql pillar - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * 3003.3-postgresql-json-support-in-pillar-423.patch- Update to Salt release version 3003.3 (jsc#SLE-22204) * See release notes: https://docs.saltstack.com/en/latest/topics/releases/3003.3.html - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * support-transactional-systems-microos.patch * allow-vendor-change-option-with-zypper.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * virt-enhancements.patch - Modified: * return-the-expected-powerpc-os-arch-bsc-1117995.patch * include-aliases-in-the-fqdns-grains.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * improvements-on-ansiblegate-module-354.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * fixes-56144-to-enable-hotadd-profile-support.patch * use-adler32-algorithm-to-compute-string-checksums.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * implementation-of-held-unheld-functions-for-state-pk.patch * x509-fixes-111.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * add-migrated-state-and-gpg-key-management-functions-.patch * figure-out-python-interpreter-to-use-inside-containe.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * templates-move-the-globals-up-to-the-environment-jin.patch * debian-info_installed-compatibility-50453.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * fix-bsc-1065792.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * async-batch-implementation.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * adds-explicit-type-cast-for-port.patch * restore-default-behaviour-of-pkg-list-return.patch * add-custom-suse-capabilities-as-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * early-feature-support-config.patch - Removed: * virt-pass-emulator-when-getting-domain-capabilities-.patch * fix-virt.update-with-cpu-defined-263.patch * fix-unit-tests-for-batch-async-after-refactor.patch * opensuse-3000.3-spacewalk-runner-parse-command-250.patch * python3.8-compatibility-pr-s-235.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-failing-unit-tests-for-batch-async.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * accumulated-changes-from-yomi-167.patch * add-docker-logout-237.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * get-os_arch-also-without-rpm-package-installed.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-hold-unhold-functions.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * support-config-non-root-permission-issues-fixes-u-50.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * fix-unit-test-for-grains-core.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * open-suse-3002.2-xen-grub-316.patch * transactional_update-detect-recursion-in-the-executo.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * grains-master-can-read-grains.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * fix-batch_async-obsolete-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * backport-thread.is_alive-fix-390.patch * backport-virt-patches-from-3001-256.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * loop-fix-variable-names-for-until_no_eval.patch * add-saltssh-multi-version-support-across-python-inte.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch * zypperpkg-filter-patterns-that-start-with-dot-244.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * opensuse-3000-virt-defined-states-222.patch * changed-imports-to-vendored-tornado.patch * add-virt.all_capabilities.patch * fix-for-some-cves-bsc1181550.patch * fix-grains.test_core-unit-test-277.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * fall-back-to-pymysql.patch * virt-uefi-fix-backport-312.patch * reintroducing-reverted-changes.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * make-profiles-a-package.patch * handle-master-tops-data-when-states-are-applied-by-t.patch * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * sanitize-grains-loaded-from-roster_grains.json.patch * pkgrepo-support-python-2.7-function-call-295.patch * integration-of-msi-authentication-with-azurearm-clou.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch * opensuse-3000-libvirt-engine-fixes-251.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * transactional_update-unify-with-chroot.call.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * fix-novendorchange-option-284.patch * fix-async-batch-race-conditions.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * move-vendor-change-logic-to-zypper-class-355.patch * fixes-cve-2018-15750-cve-2018-15751.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * prevent-systemd-run-description-issue-when-running-a.patch * backport-a-few-virt-prs-272.patch * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * fix-__mount_device-wrapper-254.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * xfs-do-not-fails-if-type-is-not-present.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * remove-vendored-backports-abc-from-requirements.patch * remove-deprecated-warning-that-breaks-miniion-execut.patch * re-adding-function-to-test-for-root.patch * fix-async-batch-multiple-done-events.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * backport-of-upstream-pr59492-to-3002.2-404.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * accumulated-changes-required-for-yomi-165.patch * add-pkg.services_need_restart-302.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * add-all_versions-parameter-to-include-all-installed-.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * opensuse-3000.2-virt-backports-236-257.patch * drop-wrong-mock-from-chroot-unit-test.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-failing-unit-tests-for-systemd.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * fixing-streamclosed-issue.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * allow-vendor-change-option-with-zypper-313.patch * xen-disk-fixes-264.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * do-noop-for-services-states-when-running-systemd-in-.patch * open-suse-3002.2-bigvm-310.patch * fix-for-log-checking-in-x509-test.patch * open-suse-3002.2-virt-network-311.patch * async-batch-implementation-fix-320.patch * apply-patch-from-upstream-to-support-python-3.8.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * fix-ipv6-scope-bsc-1108557.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * support-transactional-systems-microos-271.patch- Exclude the full path of a download URL to prevent injection of malicious code (bsc#1190265) (CVE-2021-21996) - Added: * exclude-the-full-path-of-a-download-url-to-prevent-i.patch- Fix wrong relative paths resolution with Jinja renderer when importing subdirectories - Don't pass shell="/sbin/nologin" to onlyif/unless checks (bsc#1188259) - Add missing aarch64 to rpm package architectures - Backport of upstream PR#59492 - Fix failing unit test for systemd - Fix error handling in openscap module (bsc#1188647) - Better handling of bad public keys from minions (bsc#1189040) - Define license macro as doc in spec file if not existing - Add standalone formulas configuration for salt minion and remove salt-master requirement (bsc#1168327) - Added: * fix-failing-unit-tests-for-systemd.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * templates-move-the-globals-up-to-the-environment-jin.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * backport-of-upstream-pr59492-to-3002.2-404.patch- Do noop for services states when running systemd in offline mode (bsc#1187787) - transactional_updates: do not execute states in parallel but use a queue (bsc#1188170) - Handle "master tops" data when states are applied by "transactional_update" (bsc#1187787) - Enhance openscap module: add "xccdf_eval" call - virt: pass emulator when getting domain capabilities from libvirt - Adding preliminary support for Rocky Linux - Implementation of held/unheld functions for state pkg (bsc#1187813) - Replace deprecated Thread.isAlive() with Thread.is_alive() - Fix exception in yumpkg.remove for not installed package - Fix save for iptables state module (bsc#1185131) - virt: use /dev/kvm to detect KVM - zypperpkg: improve logic for handling vendorchange flags - Add bundled provides for tornado to the spec file - Enhance logging when inotify beacon is missing pyinotify (bsc#1186310) - Add "python3-pyinotify" as a recommended package for Salt in SUSE/OpenSUSE distros - Fix tmpfiles.d configuration for salt to not use legacy paths (bsc#1173103) - Detect Python version to use inside container (bsc#1167586) (bsc#1164192) - Handle volumes on stopped pools in virt.vm_info (bsc#1186287) - grains.extra: support old non-intel kernels (bsc#1180650) - Fix missing minion returns in batch mode (bsc#1184659) - Parsing Epoch out of version provided during pkg remove (bsc#1173692) - Added: * fix-save-for-iptables-state-module-bsc-1185131-372.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * backport-thread.is_alive-fix-390.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * implementation-of-held-unheld-functions-for-state-pk.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * move-vendor-change-logic-to-zypper-class-355.patch * virt-pass-emulator-when-getting-domain-capabilities-.patch * do-noop-for-services-states-when-running-systemd-in-.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-missing-minion-returns-in-batch-mode-360.patch * figure-out-python-interpreter-to-use-inside-containe.patch * handle-master-tops-data-when-states-are-applied-by-t.patch- Check if dpkgnotify is executable (bsc#1186674) - Added: * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch- Drop support for Python2. Obsoletes "python2-salt" package (jsc#SLE-18033) - Fix issue parsing errors in ansiblegate state module - Prevent command injection in the snapper module (bsc#1185281) (CVE-2021-31607) - transactional_update: detect recursion in the executor - Add subpackage salt-transactional-update (jsc#SLE-18028) - Remove duplicate directories - Added: * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * transactional_update-detect-recursion-in-the-executo.patch- Improvements on "ansiblegate" module (bsc#1185092): * New methods: ansible.targets / ansible.discover_playbooks * General bugfixes - Added: * improvements-on-ansiblegate-module-354.patch- Regression fix of salt-ssh on processing some targets - Add support for Alibaba Cloud Linux 2 (Aliyun Linux) - Update target fix for salt-ssh to process targets list (bsc#1179831) - Add notify beacon for Debian/Ubuntu systems - Add core grains support for AlmaLinux and Alibaba Could Linux - Allow vendor change option with zypper - Added: * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * allow-vendor-change-option-with-zypper-313.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch- virt.network_update: handle missing ipv4 netmask attribute - Set distro requirement to oldest supported version in requirements/base.txt - Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules (bsc#1177474) - Don't require python3-certifi - Fix race conditions for corner cases when handling SIGTERM by minion (bsc#1172110) - Added: * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch- Allow extra_filerefs as sanitized kwargs for SSH client - Fix regression on cmd.run when passing tuples as cmd (bsc#1182740) - Fix for multiple for security issues (CVE-2020-28243) (CVE-2020-28972) (CVE-2020-35662) (CVE-2021-3148) (CVE-2021-3144) (CVE-2021-25281) (CVE-2021-25282) (CVE-2021-25283) (CVE-2021-25284) (CVE-2021-3197) (bsc#1181550) (bsc#1181556) (bsc#1181557) (bsc#1181558) (bsc#1181559) (bsc#1181560) (bsc#1181561) (bsc#1181562) (bsc#1181563) (bsc#1181564) (bsc#1181565) - Implementation of suse_ip execution module to prevent issues with network.managed (bsc#1099976) - Add sleep on exception handling on minion connection attempt to the master (bsc#1174855) - Allows for the VMware provider to handle CPU and memory hot-add in newer versions of the software. (bsc#1181347) - Always require python-certifi (used by salt.ext.tornado) - Bring missing part of async batch implementation back (bsc#1182382) (CVE-2021-25315) - Always require python3-distro (bsc#1182293) - Added: * async-batch-implementation-fix-320.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * fix-for-some-cves-bsc1181550.patch * fixes-56144-to-enable-hotadd-profile-support.patch * add-sleep-on-exception-handling-on-minion-connection.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch- virt: search for grub.xen path - Xen spicevmc, DNS SRV records backports: Fix virtual network generated DNS XML for SRV records Don't add spicevmc channel to xen VMs - virt UEFI fix: virt.update when efi=True - Do not crash when unexpected cmd output at listing patches (bsc#1181290) - Fix behavior for "onlyif/unless" when multiple conditions (bsc#1180818) - Added: * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * open-suse-3002.2-xen-grub-316.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * virt-uefi-fix-backport-312.patch- Remove deprecated warning that breaks minion execution when "server_id_use_crc" opts is missing - Added: * remove-deprecated-warning-that-breaks-miniion-execut.patch- Revert wrong zypper patch to support vendorchanges flags on pkg.install - Added: * revert-add-patch-support-for-allow-vendor-change-opt.patch- Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Fix for file.check_perms to work with numeric uid/gid - Added: * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.patch- virt: more network support Add more network and PCI/USB host devices passthrough support to virt module and states - Bigvm backports virt consoles, CPU tuning and topology, and memory tuning. - Fix pkg states when DEB package has "all" arch - Added: * open-suse-3002.2-virt-network-311.patch * open-suse-3002.2-bigvm-310.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch- Update to Salt release version 3002.2 - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3002.2.html - Do not force beacons configuration to be a list. Revert https://github.com/saltstack/salt/pull/58655 - Drop wrong virt capabilities code after rebasing patches - Remove msgpack < 1.0.0 from base requirements (bsc#1176293) - Added: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * fix-failing-unit-tests-for-batch-async.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * fix-async-batch-race-conditions.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * make-profiles-a-package.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-docker-logout-237.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * fall-back-to-pymysql.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fix-bsc-1065792.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fix-novendorchange-option-284.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * accumulated-changes-from-yomi-167.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * prevent-systemd-run-description-issue-when-running-a.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * debian-info_installed-compatibility-50453.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fixes-cve-2018-15750-cve-2018-15751.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * accumulated-changes-required-for-yomi-165.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * reintroducing-reverted-changes.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * changed-imports-to-vendored-tornado.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * fix-batch_async-obsolete-test.patch * xen-disk-fixes-264.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * adds-explicit-type-cast-for-port.patch * remove-vendored-backports-abc-from-requirements.patch * drop-wrong-mock-from-chroot-unit-test.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * loop-fix-variable-names-for-until_no_eval.patch * fix-for-suse-expanded-support-detection.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * run-salt-api-as-user-salt-bsc-1064520.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fix-unit-test-for-grains-core.patch * add-custom-suse-capabilities-as-grains.patch * transactional_update-unify-with-chroot.call.patch * x509-fixes-111.patch * fix-ipv6-scope-bsc-1108557.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * add-standalone-configuration-file-for-enabling-packa.patch * support-config-non-root-permission-issues-fixes-u-50.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * fixing-streamclosed-issue.patch * early-feature-support-config.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * switch-firewalld-state-to-use-change_interface.patch * xfs-do-not-fails-if-type-is-not-present.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * fix-unit-tests-for-batch-async-after-refactor.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-virt.all_capabilities.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * activate-all-beacons-sources-config-pillar-grains.patch * integration-of-msi-authentication-with-azurearm-clou.patch * run-salt-master-as-dedicated-salt-user.patch * grains-master-can-read-grains.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * info_installed-works-without-status-attr-now.patch * add-saltssh-multi-version-support-across-python-inte.patch * backport-a-few-virt-prs-272.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * apply-patch-from-upstream-to-support-python-3.8.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * fix-async-batch-multiple-done-events.patch * include-aliases-in-the-fqdns-grains.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * backport-virt-patches-from-3001-256.patch * restore-default-behaviour-of-pkg-list-return.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * opensuse-3000-virt-defined-states-222.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-a-test-and-some-variable-names-229.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * sanitize-grains-loaded-from-roster_grains.json.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * fix-virt.update-with-cpu-defined-263.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-for-log-checking-in-x509-test.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * re-adding-function-to-test-for-root.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * fix-issue-2068-test.patch * python3.8-compatibility-pr-s-235.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Removed: * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * use-full-option-name-instead-of-undocumented-abbrevi.patch * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-pkg.services_need_restart-302.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch * msgpack-support-versions-1.0.0.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * decide-if-the-source-should-be-actually-skipped.patch * loader-invalidate-the-import-cachefor-extra-modules.patch * opensuse-3000.3-bigvm-backports-303.patch * add-missing-_utils-at-loader-grains_func.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-ip-filtering-by-network.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-type-error-in-tornadoimporter.patch * fix-regression-in-service-states-with-reload-argumen.patch * revert-changes-to-slspath-saltstack-salt-56341.patch - Renamed: * support-transactional-systems-microos-268.patch - > support-transactional-systems-microos-271.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch - > zypperpkg-filter-patterns-that-start-with-dot-244.patch * opensuse-3000-libvirt-engine-fixes-248.patch - > opensuse-3000-libvirt-engine-fixes-251.patch * opensuse-3000.2-virt-backports-236.patch - > opensuse-3000.2-virt-backports-236-257.patch * pkgrepo-support-python-2.7-function-call-294.patch - > pkgrepo-support-python-2.7-function-call-295.patch * fix-__mount_device-wrapper-253.patch - > fix-__mount_device-wrapper-254.patch * fix-grains.test_core-unit-test-276.patch - > fix-grains.test_core-unit-test-277.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch - > opensuse-3000.3-spacewalk-runner-parse-command-250.patch- Adjusted python2-cherrypy naming in salt-api. (#40) - Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Bigvm backports - virt consoles, CPU tuning and topology, and memory tuning. - Fix for file.check_perms to work with numeric uid/gid - change 'Requires(pre)' to 'Requires' for salt-minion package (bsc#1083110) - Added: * opensuse-3000-bigvm-backports-300.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.patch- Fix syntax error on pkgrepo state with Python 2.7 - transactional_update: unify with chroot.call - Add "migrated" state and GPG key management functions - Master can read grains - Fix for broken psutil (bsc#1102248) - Fix novendorchange handling in zypperpkg module - Added: * add-migrated-state-and-gpg-key-management-functions-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-novendorchange-option-284.patch * grains-master-can-read-grains.patch * transactional_update-unify-with-chroot.call.patch * pkgrepo-support-python-2.7-function-call-294.patch- Avoid regression on "salt-master": set passphrase for salt-ssh keys to empty string (bsc#1178485) - Added: * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch- Properly validate eauth credentials and tokens on SSH calls made by Salt API (bsc#1178319) (bsc#1178362) (bsc#1178361) (CVE-2020-25592) (CVE-2020-17490) (CVE-2020-16846) - Added: * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch- Fix disk.blkid to avoid unexpected keyword argument '__pub_user' (bsc#1177867) - Ensure virt.update stop_on_reboot is updated with its default value - Do not break package building for systemd OSes - Drop wrong mock from chroot unit test - Support systemd versions with dot (bsc#1176294) - Fix for grains.test_core unit test - Fix file/directory user and group ownership containing UTF-8 characters (bsc#1176024) - Several changes to virtualization: - - Fix virt update when cpu and memory are changed - - Memory Tuning GSoC - - Properly fix memory setting regression in virt.update - - Expose libvirt on_reboot in virt states - Support transactional systems (MicroOS) - zypperpkg module ignores retcode 104 for search() (bsc#1159670) - Xen disk fixes. No longer generates volumes for Xen disks, but the corresponding file or block disk (bsc#1175987) - Invalidate file list cache when cache file modified time is in the future (bsc#1176397) - Prevent import errors when running test_btrfs unit tests - Added: * drop-wrong-mock-from-chroot-unit-test.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * support-transactional-systems-microos-268.patch * xen-disk-fixes-264.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * backport-a-few-virt-prs-272.patch * fix-grains.test_core-unit-test-276.patch- Fix virt.update with CPU defined - Fix virt issues and invalid input errors from 'salt.utils.data' (bsc#1176480) - Reintroduces the patches from opensuse-3000.2-virt-backports-236.patch coming from Salt 3001 - Do not raise StreamClosedError traceback but only log it (bsc#1175549) - Various fixes to the mysql module to break out the handling of user - Take care of failed, skipped and unreachable tasks and propagate "retcode" (bsc#1173911) (bsc#1173909) - Added: * do-not-raise-streamclosederror-traceback-but-only-lo.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * backport-virt-patches-from-3001-256.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * fix-virt.update-with-cpu-defined-263.patch- Require /usr/bin/python instead of /bin/python for RHEL-family (bsc#1173936) - Don't install SuSEfirewall2 service files in Factory - Fix __mount_device wrapper to accept separate args and kwargs - Fix the registration of libvirt pool and nodedev events - Accept nested namespaces in spacewalk.api runner function. (bsc#1172211) - info_installed works without status attr now (bsc#1171461) - Added: * info_installed-works-without-status-attr-now.patch * fix-__mount_device-wrapper-253.patch * opensuse-3000-libvirt-engine-fixes-248.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch- Fix for TypeError in Tornado importer (bsc#1174165) - Added: * fix-type-error-in-tornadoimporter.patch- Require python3-distro only for TW (bsc#1173072)- Various virt backports from 3000.2 - Added: * opensuse-3000.2-virt-backports-236.patch- Avoid traceback on debug logging for swarm module (bsc#1172075) - Add publish_batch to ClearFuncs exposed methods - zypperpkg: filter patterns that start with dot (bsc#1171906) - Batch mode now also correctly provides return value (bsc#1168340) - Add docker.logout to docker execution module (bsc#1165572) - Testsuite fix - Add option to enable/disable force refresh for zypper - Python3.8 compatibility changes - Prevent sporious "salt-api" stuck processes when managing SSH minions because of logging deadlock (bsc#1159284) - Avoid segfault from "salt-api" under certain conditions of heavy load managing SSH minions (bsc#1169604) - Revert broken changes to slspath made on Salt 3000 (saltstack/salt#56341) (bsc#1170104) - Returns a the list of IPs filtered by the optional network list - Added: * option-to-en-disable-force-refresh-in-zypper-215.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * revert-changes-to-slspath-saltstack-salt-56341.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * add-docker-logout-237.patch * add-ip-filtering-by-network.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * python3.8-compatibility-pr-s-235.patch * fix-a-test-and-some-variable-names-229.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch- Fix CVE-2020-11651 and CVE-2020-11652 (bsc#1170595) - Do not require vendored backports-abc (bsc#1170288) - Fix partition.mkpart to work without fstype (bsc#1169800) - Added: * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * remove-vendored-backports-abc-from-requirements.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch- Update to Salt version 3000 See release notes: https://docs.saltstack.com/en/latest/topics/releases/3000.html - Do not make file.recurse state to fail when msgpack 0.5.4 (bsc#1167437) - Fixes status attribute issue in aptpkg test - Make setup.py script not to require setuptools greater than 9.1 loop: fix variable names for until_no_eval - Drop conflictive module.run state patch (bsc#1167437) - Update patches after rebase with upstream v3000 tag (bsc#1167437) - Fix some requirements issues depending on Python3 versions - Removes obsolete patch - Fix for low rpm_lowpkg unit test - Add python-singledispatch as dependency for python2-salt - Fix for temp folder definition in loader unit test - Make "salt.ext.tornado.gen" to use "salt.ext.backports_abc" on Python 2 - Fix regression in service states with reload argument - Fix integration test failure for test_mod_del_repo_multiline_values - Fix for unless requisite when pip is not installed - Fix errors from unit tests due NO_MOCK and NO_MOCK_REASON deprecation - Fix tornado imports and missing _utils after rebasing patches - Removes unresolved merge conflict in yumpkg module - Added: * make-setup.py-script-to-not-require-setuptools-9.1.patch * opensuse-3000-virt-defined-states-222.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * fix-regression-in-service-states-with-reload-argumen.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * loop-fix-variable-names-for-until_no_eval.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-missing-_utils-at-loader-grains_func.patch * changed-imports-to-vendored-tornado.patch * sanitize-grains-loaded-from-roster_grains.json.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * reintroducing-reverted-changes.patch * adds-explicit-type-cast-for-port.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * re-adding-function-to-test-for-root.patch - Modified: * move-server_id-deprecation-warning-to-reduce-log-spa.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * add-all_versions-parameter-to-include-all-installed-.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fix-for-log-checking-in-x509-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * fix-bsc-1065792.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fixes-cve-2018-15750-cve-2018-15751.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * integration-of-msi-authentication-with-azurearm-clou.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-unit-test-for-grains-core.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * debian-info_installed-compatibility-50453.patch * include-aliases-in-the-fqdns-grains.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-async-batch-multiple-done-events.patch * support-config-non-root-permission-issues-fixes-u-50.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * activate-all-beacons-sources-config-pillar-grains.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * use-adler32-algorithm-to-compute-string-checksums.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-batch_async-obsolete-test.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * fall-back-to-pymysql.patch * xfs-do-not-fails-if-type-is-not-present.patch * restore-default-behaviour-of-pkg-list-return.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * run-salt-api-as-user-salt-bsc-1064520.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixing-streamclosed-issue.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * fix-async-batch-race-conditions.patch * fix-issue-2068-test.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * fix-for-suse-expanded-support-detection.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-standalone-configuration-file-for-enabling-packa.patch * switch-firewalld-state-to-use-change_interface.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * add-custom-suse-capabilities-as-grains.patch * accumulated-changes-from-yomi-167.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * add-saltssh-multi-version-support-across-python-inte.patch * early-feature-support-config.patch * add-virt.all_capabilities.patch * accumulated-changes-required-for-yomi-165.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * fix-ipv6-scope-bsc-1108557.patch * prevent-systemd-run-description-issue-when-running-a.patch * make-profiles-a-package.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * x509-fixes-111.patch * do-not-report-patches-as-installed-when-not-all-the-.patch - Removed: * remove-virt.pool_delete-fast-parameter-178.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * align-virt-full-info-fixes-with-upstream-192.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * virt-1.volume_infos-fix-for-single-vm.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * preserve-already-defined-destructive_tests-and-expen.patch * list_downloaded-for-apt-module.patch * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch * virt.volume_infos-fix-for-single-vm.patch * restrict-the-start_event_grains-only-to-the-start-ev.patch * fix-virt.full_info-176.patch * preserving-signature-in-module.run-state-u-50049.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * add-virt.volume_infos-and-virt.volume_delete.patch * add-virt.network_get_xml-function.patch * virt.network_define-allow-adding-ip-configuration.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-for-older-mock-module.patch * fix-virt.get_hypervisor-188.patch * 2019.2.0-pr-54196-backport-173.patch * enable-passing-grains-to-start-event-based-on-start_.patch * fix-load-cached-grain-osrelease_info.patch * open-suse-2019.2.3-virt-defined-states-219.patch * backport-saltutil-state-module-to-2019.2-codebase.patch- Enable building and installation for Fedora - Disable python2 build on Tumbleweed We are removing the python2 interpreter from openSUSE (SLE16). As such disable salt building for python2 there.- Sanitize grains loaded from roster_grains.json cache during "state.pkg" - Added: * fix-load-cached-grain-osrelease_info.patch- Build: Buildequire pkgconfig(systemd) instead of systemd- Backport saltutil state module to 2019.2 codebase (bsc#1167556) - Add new custom SUSE capability for saltutil state module - Added: * backport-saltutil-state-module-to-2019.2-codebase.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch- virt._get_domain: don't raise an exception if there is no VM - Added: * virt._get_domain-don-t-raise-an-exception-if-there-i.patch- Adds test for zypper abbreviation fix - Improved storage pool or network handling - Better import cache handline - Added: * loader-invalidate-the-import-cachefor-extra-modules.patch * open-suse-2019.2.3-virt-defined-states-219.patch - Modified: * use-full-option-name-instead-of-undocumented-abbrevi.patch- Use full option name instead of undocumented abbreviation for zypper - Requiring python3-distro only for openSUSE/SLE >= 15 - Added: * use-full-option-name-instead-of-undocumented-abbrevi.patch- python-distro is only needed for > Python 3.7. Removing it for Python 2- Avoid possible user escalation upgrading salt-master (bsc#1157465) (CVE-2019-18897)- Fix unit tests failures in test_batch_async tests - Added: * fix-unit-tests-for-batch-async-after-refactor.patch- Batch Async: Handle exceptions, properly unregister and close instances after running async batching to avoid CPU starvation of the MWorkers (bsc#1162327) - RHEL/CentOS 8 uses platform-python instead of python3 - Enable build for Python 3.8 - Added: * batch_async-avoid-using-fnmatch-to-match-event-217.patch * apply-patch-from-upstream-to-support-python-3.8.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch- Fix 'os_family' grain for Astra Linux Common Edition - Added: * add-astra-linux-common-edition-to-the-os-family-list.patch- Update to Salt version 2019.2.3 (CVE-2019-17361) (bsc#1163981) (bsc#1162504) See release notes: https://docs.saltstack.com/en/latest/topics/releases/2019.2.3.html - Modified: * use-adler32-algorithm-to-compute-string-checksums.patch- Enable passing grains to start event based on 'start_event_grains' configuration parameter - Added: * restrict-the-start_event_grains-only-to-the-start-ev.patch * enable-passing-grains-to-start-event-based-on-start_.patch- Support for Btrfs and XFS in parted and mkfs added - Added: * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch- Adds list_downloaded for apt Module to enable pre-downloading support - Adds virt.(pool|network)_get_xml functions - Various libvirt updates * Add virt.pool_capabilities function * virt.pool_running improvements * Add virt.pool_deleted state * virt.network_define allow adding IP configuration - Added: * virt.network_define-allow-adding-ip-configuration.patch * list_downloaded-for-apt-module.patch * add-virt.network_get_xml-function.patch- virt: adding kernel boot parameters to libvirt xml - Added: * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch- Fix virt states to not fail on VMs already stopped - Added: * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch- Add missing bugzilla references: Properly handle colons in inline dicts with yamlloader (bsc#1095651) Fix corrupt public key with m2crypto python3 (bsc#1099323) Add missing dateutils import (bsc#1099945) Fix UnicodeDecodeError using is_binary check (bsc#1100225) Prevent payload crash on decoding binary data (bsc#1100697) Fix file.blockreplace to avoid throwing IndexError (bsc#1101812) Add API log rotation on SUSE package (bsc#1102218) Fix wrong recurse behavior on for linux_acl.present (bsc#1106164) Handle anycast IPv6 addresses on network.routes (bsc#1114474) Crontab module fix: file attributes option missing (bsc#1114824) Add metadata to accepted keyword arguments (bsc#1122680) Bugfix: properly refresh pillars (bsc#1125015)- xfs: do not fail if type is not present (bsc#1153611) - Added: * xfs-do-not-fails-if-type-is-not-present.patch- Don't use __python indirection macros on spec file %__python is no longer defined in RPM 4.15 (python2 is going EOL in Jan 2020); additionally, python/python3 are just binaries in the path.- Fix errors when running virt.get_hypervisor function - Added: * fix-virt.get_hypervisor-188.patch- Align virt.full_info fixes with upstream Salt - Let salt-ssh use platform-python on RHEL8 (bsc#1158441) - Added: * align-virt-full-info-fixes-with-upstream-192.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch- Fix StreamClosedError issue (bsc#1157479) - Added: * fix-batch_async-obsolete-test.patch * fixing-streamclosed-issue.patch- Prevent test_mod_del_repo_multiline_values to fail - Read repo info without using interpolation (bsc#1135656) - Requires vs BuildRequires - Limiting M2Crypto to >= SLE15 - Replacing pycrypto with M2Crypto (bsc#1165425) - Fix for log checking in x509 test - Update to 2019.2.2 release - Added: * fix-for-log-checking-in-x509-test.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * read-repo-info-without-using-interpolation-bsc-11356.patch - Modified: * async-batch-implementation.patch * add-hold-unhold-functions.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-unit-test-for-grains-core.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-async-batch-multiple-done-events.patch * activate-all-beacons-sources-config-pillar-grains.patch * fix-for-older-mock-module.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fall-back-to-pymysql.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-virt.volume_infos-and-virt.volume_delete.patch * fix-issue-2068-test.patch * switch-firewalld-state-to-use-change_interface.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * fix-ipv6-scope-bsc-1108557.patch * 2019.2.0-pr-54196-backport-173.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * x509-fixes-111.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * preserve-already-defined-destructive_tests-and-expen.patch * virt.volume_infos-fix-for-single-vm.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * include-aliases-in-the-fqdns-grains.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-custom-suse-capabilities-as-grains.patch * get-os_arch-also-without-rpm-package-installed.patch * add-saltssh-multi-version-support-across-python-inte.patch * accumulated-changes-required-for-yomi-165.patch * use-adler32-algorithm-to-compute-string-checksums.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * remove-virt.pool_delete-fast-parameter-178.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * prevent-systemd-run-description-issue-when-running-a.patch * integration-of-msi-authentication-with-azurearm-clou.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * virt-1.volume_infos-fix-for-single-vm.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * preserving-signature-in-module.run-state-u-50049.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * debian-info_installed-compatibility-50453.patch * add-standalone-configuration-file-for-enabling-packa.patch * accumulated-changes-from-yomi-167.patch * add-virt.all_capabilities.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * support-config-non-root-permission-issues-fixes-u-50.patch * add-all_versions-parameter-to-include-all-installed-.patch * fixes-cve-2018-15750-cve-2018-15751.patch * fix-bsc-1065792.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * restore-default-behaviour-of-pkg-list-return.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * early-feature-support-config.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-virt.full_info-176.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * fix-for-suse-expanded-support-detection.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * make-profiles-a-package.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fix-async-batch-race-conditions.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch - Removed: * fix-syndic-start-issue.patch * prevent-already-reading-continuous-exception-message.patch * virt.pool_running-fix-pool-start.patch * azurefs-gracefully-handle-attributeerror.patch * virt-handle-whitespaces-in-vm-names.patch * mount-fix-extra-t-parameter.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- Remove virt.pool_delete fast parameter (U#54474) - Added: * remove-virt.pool_delete-fast-parameter-178.patch- Remove unnecessary yield causing BadYieldError (bsc#1154620) - Added: * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch- Prevent 'Already reading' continuous exception message (bsc#1137642) - Added: * prevent-already-reading-continuous-exception-message.patch- Fix for aptpkg test with older mock modules - Added: * fix-for-older-mock-module.patch- Remove wrong tests for core grain and improve debug logging - Use rich RPM deps to get a compatible version of tornado into the buildroot. - Added: * fix-a-wrong-rebase-in-test_core.py-180.patch- core.py: ignore wrong product_name files - zypperpkg: understand product type - Added: * accumulated-changes-from-yomi-167.patch- Enable usage of downloadonly parameter for apt module - Added: * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch- Add missing 'fun' on events coming from salt-ssh wfunc executions (bsc#1151947) - Added: * add-missing-fun-for-returns-from-wfunc-executions.patch- Fix failing unit tests for batch async - Added: * fix-failing-unit-tests-for-batch-async.patch- Fix memory consumption problem on BatchAsync (bsc#1137642) - Added: * use-current-ioloop-for-the-localclient-instance-of-b.patch- Fix dependencies for RHEL 8- Prevent systemd-run description issue when running aptpkg (bsc#1152366) - Added: * prevent-systemd-run-description-issue-when-running-a.patch- Take checksums arg into account for postgres.datadir_init (bsc#1151650) - Added: * take-checksums-arg-into-account-for-postgres.datadir.patch- Improve batch_async to release consumed memory (bsc#1140912) - Fix memory leak produced by batch async find_jobs mechanism (bsc#1140912) - Grant read and execute permission to others (bsc#1150447) - Added: * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch- Require shadow instead of old pwdutils (bsc#1130588)- Conflict with tornado >= 5; for now we can only cope with Tornado 4.x (boo#1101780).- Fix virt.full_info (bsc#1146382) - virt.volume_infos: silence libvirt error message - virt.volume_infos needs to ignore inactive pools - Fix for various bugs in virt network and pool states - Implement network.fqdns module function (bsc#1134860) - Added: * 2019.2.0-pr-54196-backport-173.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * fix-virt.full_info-176.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch- Restore default behaviour of pkg list return (bsc#1148714) - Strip trailing "/" from repo.uri when comparing repos in apktpkg.mod_repo (bsc#1146192) - Added: * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * restore-default-behaviour-of-pkg-list-return.patch- Use python3 to build package Salt for RHEL8 - Make python3 default for RHEL8- Fix aptpkg systemd call (bsc#1143301) - Added: * fix-aptpkg-systemd-call-bsc-1143301.patch- Move server_id deprecation warning to reduce log spamming (bsc#1135567) (bsc#1135732) - Added: * move-server_id-deprecation-warning-to-reduce-log-spa.patch- Multiple fixes on cmdmod, chroot, freezer and zypperpkg needed for Yomi cmdmod: fix runas and group in run_chroot chroot: add missing sys directory chroot: change variable name to root chroot: fix bug in safe_kwargs iteration freezer: do not fail in cache dir is present freezer: clean freeze YAML profile on restore zypperpkg: fix pkg.list_pkgs cache - Added: * accumulated-changes-required-for-yomi-165.patch- Avoid traceback on http.query when there are errors with the requested URL (bsc#1128554) - Added: * avoid-traceback-when-http.query-request-cannot-be-pe.patch- Salt python client get_full_returns seems return data from incorrect jid (bsc#1131114) - Added: * checking-for-jid-before-returning-data.patch- virt.volume_infos: don't raise an error if there is no VM - Added: * virt-1.volume_infos-fix-for-single-vm.patch- Prevent ansiblegate unit tests to fail on Ubuntu - Added: * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch- Allow passing kwargs to pkg.list_downloaded for Zypper (bsc#1140193) - Added: * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch- Do not make "ansiblegate" module to crash on Python3 minions (bsc#1139761) - Added: * do-not-make-ansiblegate-to-crash-on-python3-minions.patch- Provide the missing features required for Yomi (Yet one more installer) - Added: * provide-the-missing-features-required-for-yomi-yet-o.patch- Fix zypper pkg.list_pkgs test expectation and dpkg mocking - Added: * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch- Set 'salt' group for files and directories created by salt-standalone-formulas-configuration package - Various fixes for virt module - Fix virt.volume_infos raising an exception when there is only virtual machine on the minion. - Fix virt.purge() on all non-KVM hypervisors. For instance on Xen, virt.purge would simply throw an exception about unsupported flag - Building a libvirt pool starts it. When defining a new pool, we need to let build start it or we will get libvirt errors. - Fix handling of Virtual Machines with white space in their name. - Added: * virt.pool_running-fix-pool-start.patch * virt-handle-whitespaces-in-vm-names.patch * virt.volume_infos-fix-for-single-vm.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- avoid batch.py exception when minion does not respond (bsc#1135507) - Added: * batch.py-avoid-exception-when-minion-does-not-respon.patch- Preserve already defined DESTRUCTIVE_TESTS and EXPENSIVE_TESTS env variables - Added: * preserve-already-defined-destructive_tests-and-expen.patch- Do not break repo files with multiple line values on yumpkg (bsc#1135360) - Added: * do-not-break-repo-files-with-multiple-line-values-on.patch- Fix return status when installing or updating RPM packages with "ppc64le" arch (bsc#1133647) - Added: * add-ppc64le-as-a-valid-rpm-package-architecture.patch- Add new "salt-standalone-formulas-configuration" package (fate#327791) - Added: * add-standalone-configuration-file-for-enabling-packa.patch- Switch firewalld state to use change_interface (bsc#1132076) - Added: * switch-firewalld-state-to-use-change_interface.patch- Fix async-batch to fire a single done event - Added: * fix-async-batch-multiple-done-events.patch- Do not make Salt CLI to crash when there are IPv6 established connections (bsc#1130784) - Added: * do-not-crash-when-there-are-ipv6-established-connect.patch- Include aliases in FQDNS grain (bsc#1121439)- Fix issue preventing syndic to start - Update year on spec copyright notice - Added: * fix-syndic-start-issue.patch- Use ThreadPool from multiprocessing.pool to avoid leakings when calculating FQDNs - Do not report patches as installed on RHEL systems when not all the related packages are installed (bsc#1128061) - Added: * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * do-not-report-patches-as-installed-when-not-all-the-.patch- Update to 2019.2.0 complete (FATE#327138, bsc#1133523) - Fix batch/batch-async related issues - Calculate FQDNs in parallel to avoid blockings (bsc#1129079) - Incorporate virt.volume_info fixes (PR#131) - Re-adds patch because of increased offset due to previous patch removal - Removing patch to add root parameter to zypper module - Fix for -t parameter in mount module - Added: * mount-fix-extra-t-parameter.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * fix-async-batch-race-conditions.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch - Modified: * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-virt.volume_infos-and-virt.volume_delete.patch - Removed: * zypper-add-root-configuration-parameter.patch- No longer limiting Python3 version to <3.7- Async batch implementation - Added: * async-batch-implementation.patch- Update to Salt 2019.2.0 release For further information see: https://docs.saltstack.com/en/latest/topics/releases/2019.2.0.html - Added: * add-virt.all_capabilities.patch * add-virt.volume_infos-and-virt.volume_delete.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * include-aliases-in-the-fqdns-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch - Removed: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-engine-relaying-libvirt-events.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * add-support-for-python-3.7.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * change-stringio-import-in-python2-to-import-the-clas.patch * decode-file-contents-for-python2-bsc-1102013.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch * feat-add-grain-for-all-fqdns.patch * fix-async-call-to-process-manager.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-index-error-when-running-on-python-3.patch * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * fix-unboundlocalerror-in-file.get_diff.patch * fixed-usage-of-ipaddress.patch * fixing-issue-when-a-valid-token-is-generated-even-wh.patch * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * improved-handling-of-ldap-group-id.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * prepend-current-directory-when-path-is-just-filename.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * retire-md5-checksum-for-pkg-mgmt-plugins.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch * support-use-of-gce-instance-credentials-109.patch * update-error-list-for-zypper.patch * x509-fixes-for-remote-signing-106.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-hold-unhold-functions.patch * add-saltssh-multi-version-support-across-python-inte.patch * azurefs-gracefully-handle-attributeerror.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * debian-info_installed-compatibility-50453.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fall-back-to-pymysql.patch * fix-for-suse-expanded-support-detection.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-ipv6-scope-bsc-1108557.patch * fix-issue-2068-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fixes-cve-2018-15750-cve-2018-15751.patch * get-os_arch-also-without-rpm-package-installed.patch * integration-of-msi-authentication-with-azurearm-clou.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-adler32-algorithm-to-compute-string-checksums.patch * x509-fixes-111.patch * zypper-add-root-configuration-parameter.patch- Add root parameter to Zypper module - Added: * zypper-add-root-configuration-parameter.patch- Do not restrict the Python version to < 3.7- Fix integration tests in state compiler (U#2068) - Added: * fix-issue-2068-test.patch- Fix "pkg.list_pkgs" output when using "attr" to take the arch into account (bsc#1114029) - Added: * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch- Fix powerpc null server_id_arch (bsc#1117995) - Added: * return-the-expected-powerpc-os-arch-bsc-1117995.patch- Fix module 'azure.storage' has no attribute '__version__' (bsc#1121091) - Added: * azurefs-gracefully-handle-attributeerror.patch- Add supportconfig module and states for minions and SaltSSH - Added: * add-supportconfig-module-for-remote-calls-and-saltss.patch- Fix FIPS enabled RES clients (bsc#1099887) - Added: * retire-md5-checksum-for-pkg-mgmt-plugins.patch- Add hold/unhold functions. Fix Debian repo "signed-by". - Added: * decide-if-the-source-should-be-actually-skipped.patch * add-hold-unhold-functions.patch- Fix latin1 encoding problems on file module (bsc#1116837) - Added: * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch- Don't error on retcode 0 in libcrypto.OPENSSL_init_crypto - Added: * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch- Debian info_installed compatibility (U#50453) - Added: * debian-info_installed-compatibility-50453.patch- Add compatibility with other package modules for "list_repos" function - Bugfix: unable to detect os arch when RPM is not installed (bsc#1114197) - Added: * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * get-os_arch-also-without-rpm-package-installed.patch- Fix git_pillar merging across multiple __env__ repositories (bsc#1112874) - Added: * fix-git_pillar-merging-across-multiple-__env__-repos.patch- Fix LDAP authentication issue when a valid token is generated by the salt-api even when invalid user credentials are passed. (U#48901) - Added: * fixing-issue-when-a-valid-token-is-generated-even-wh.patch- Improved handling of LDAP group id. gid is no longer treated as a string, which could have lead to faulty group creations. (bsc#1113784) - Added: * improved-handling-of-ldap-group-id.patch- Fix remote command execution and incorrect access control when using salt-api. (bsc#1113699) (CVE-2018-15751) - Fix Directory traversal vulnerability when using salt-api. Allows an attacker to determine what files exist on a server when querying /run or /events. (bsc#1113698) (CVE-2018-15750) - Added: * fixes-cve-2018-15750-cve-2018-15751.patch- Add multi-file support and globbing to the filetree (U#50018) - Added: * add-multi-file-support-and-globbing-to-the-filetree-.patch- Bugfix: supportconfig non-root permission issues (U#50095) - Added: * support-config-non-root-permission-issues-fixes-u-50.patch- Open profiles permissions to everyone for read-only- Preserving signature in "module.run" state (U#50049) - Added: * preserving-signature-in-module.run-state-u-50049.patch- Install default salt-support profiles- Fix unit tests due to merger failure - Add CPE_NAME for osversion* grain parsing - Get os_family for RPM distros from the RPM macros - Install support profiles - Added: * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * make-profiles-a-package.patch * fix-unit-test-for-grains-core.patch- Bugfix: any unicode string of length 16 will raise TypeError - Added: * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch- Fix async call to process manager (bsc#1110938) - Early feature: Salt support-config (salt-support) - Added: * fix-async-call-to-process-manager.patch * early-feature-support-config.patch- Fix IPv6 scope (bsc#1108557) - Added: * fix-ipv6-scope-bsc-1108557.patch- Handle zypper ZYPPER_EXIT_NO_REPOS exit code (bsc#1108834, bsc#1109893) - Added: * update-error-list-for-zypper.patch- Bugfix for pkg_resources crash (bsc#1104491) - Added: * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch- Fix loosen azure sdk dependencies in azurearm cloud driver (bsc#1107333) - Added: * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch- Fix broken "resolve_capabilities" on Python 3 (bsc#1108995) - Added: * fix-index-error-when-running-on-python-3.patch- Allow empty service_account_private_key in GCE driver (bsc#1108969) - Added: * support-use-of-gce-instance-credentials-109.patch- Decode file contents for python2 (bsc#1103530) - Check dmidecoder executable on each "smbios" call to avoid race condition (bsc#1101880) - Fix pkg.upgrade reports when dealing with multiversion packages (bsc#1102265) - Accounting for when files in an archive contain non-ascii characters (bsc#1099460) - Fix deprecation warning (bsc#1095507) - Fix (bsc#1065792) - Fix (bsc#108758) - Handle packages with multiple version properly with zypper (bsc#1096514) - Fix file.get_diff regression in 2018.3 (bsc#1098394) - Provide python version mismatch solutions (bsc#1072599) - Fix file.managed binary file utf8 error (bsc#1098394) - Prevent zypper from parsing repo configuration from not .repo files (bsc#1094055) - Add environment variable to know if yum is invoked from Salt (bsc#1057635) - Prevent deprecation warning with salt-ssh (bsc#1095507) - Align SUSE salt-master.service 'LimitNOFILES' limit with upstream Salt - Add 'other' attribute to GECOS fields to avoid inconsistencies with chfn - Collect all versions of installed packages on SUSE and RHEL systems (bsc#1089526)- Prepend current directory when path is just filename (bsc#1095942) - Integration of MSI authentication for azurearm - Adds fix for SUSE Expanded Support os grain detection - Fixes 509x remote signing - Fix for StringIO import in Python2 - Use Adler32 algorithm to compute string checksums (bsc#1102819) - Only do reverse DNS lookup on IPs for salt-ssh (bsc#1104154) - Add support for Python 3.7 - Fix license macro to build on SLE12SP2 - Decode file contents for python2 (bsc#1102013) - Fix for sorting of multi-version packages (bsc#1097174 and bsc#1097413) - Fix mine.get not returning data - workaround for #48020 (bsc#1100142) - Added: * change-stringio-import-in-python2-to-import-the-clas.patch * integration-of-msi-authentication-with-azurearm-clou.patch * x509-fixes-for-remote-signing-106.patch * fix-for-suse-expanded-support-detection.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * prepend-current-directory-when-path-is-just-filename.patch * add-support-for-python-3.7.patch * decode-file-contents-for-python2-bsc-1102013.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * x509-fixes-111.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Modified: * fix-for-sorting-of-multi-version-packages-bsc-109717.patch- Update to 2018.3.2 See https://docs.saltstack.com/en/latest/topics/releases/2018.3.2.html for full changelog - Added: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-all_versions-parameter-to-include-all-installed-.patch * add-custom-suse-capabilities-as-grains.patch * add-engine-relaying-libvirt-events.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-unboundlocalerror-in-file.get_diff.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-saltssh-multi-version-support-across-python-inte.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fall-back-to-pymysql.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fixed-usage-of-ipaddress.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch - Deleted: * explore-module.run-response-to-catch-the-result-in-d.patch * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * fix-cp.push-empty-file.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-openscap-push.patch * initialize-__context__-retcode-for-functions-handled.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * provide-kwargs-to-pkg_resource.parse_targets-require.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Documentation refresh to 2018.3.0- No more AWS EC2 rate limitations in salt-cloud (bsc#1088888) - MySQL returner now also allows to use Unix sockets (bsc#1091371) - Added: * fix-for-ec2-rate-limit-failures.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch- Do not override jid on returners, only sending back to master (bsc#1092373) - Fixes for salt-ssh: - Option --extra-filerefs doesn't add all files to the state archive - Pillar completely overwritten (not merged) when doing module.run + state.apply with pillar in kwargs - Remove minion/thin/version if exists to force thin regeneration (bsc#1092161) - Added: * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch- Fixed Python 3 issue with CIDR addresses. - Added: * fixed-usage-of-ipaddress.patch- Fix minion scheduler to return a 'retcode' attribute (bsc#1089112) - Fix for logging during network interface querying (bsc#1087581) - Fix rhel packages requires both net-tools and iproute (bsc#1087055) - Added: * initialize-__context__-retcode-for-functions-handled.patch - Modified: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Fix patchinstall on yum module. Bad comparison (bsc#1087278) - Added: * provide-kwargs-to-pkg_resource.parse_targets-require.patch- Strip trailing commas on Linux user's GECOS fields (bsc#1089362) - Fallback to PyMySQL (bsc#1087891) - Improved test for fqdns - Update SaltSSH patch - Fix for [Errno 0] Resolver Error 0 (no error) (bsc#1087581) * Lintfix: PEP8 ident * Use proper levels of the error handling, use proper log formatting. * Fix unit test for reversed fqdns return data - Added: * strip-trailing-commas-on-linux-user-gecos-fields.patch * fall-back-to-pymysql.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update to 2018.3.0 - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add python-2.6 support to salt-ssh - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update salt-ssh multiversion patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch - Removed: * require-same-major-version-while-minor-is-allowed-to.patch- Add iprout/net-tools dependency- salt-ssh: require same major version while minor is allowed to be - Added: * require-same-major-version-while-minor-is-allowed-to.patch - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add SaltSSH multi-version support across Python interpeters. - Added: * add-saltssh-multi-version-support-across-python-inte.patch- Fix zypper.info_installed 'ascii' issue - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update openscap push patch to include the test fixes - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch- Explore 'module.run' state module output in depth to catch "result" properly - Added: * explore-module.run-response-to-catch-the-result-in-d.patch- make it possible to use docker login, pull and push from module.run and detect errors - Added: * make-it-possible-to-use-login-pull-and-push-from-mod.patch- Fix logging with FQDNs - Added: * fix-decrease-loglevel-when-unable-to-resolve-addr.patch- Update patches - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch - Removed: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- Update cp.push patch - Modified: * fix-cp.push-empty-file.patch * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- force re-generate a new thin.tgz when an update gets installed- fix salt-ssh with a different patch - remove: dumps-should-return-unicode-also-with-py2-to-prevent.patch - added: salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Added: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Removed: * dumps-should-return-unicode-also-with-py2-to-prevent.patch- Fix unicode decode error with salt-ssh - Added: * dumps-should-return-unicode-also-with-py2-to-prevent.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Fix cp.push empty file (bsc#1075950) - salt-ssh - move log_file option to changeable defaults - Added: * fix-cp.push-empty-file.patch * move-log_file-option-to-changeable-defaults.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Daily update - Added: * fix-openscap-push.patch - Removed: * fix-grains-with-n.patch- Fix grains containing trailing "\n" - Added: * fix-grains-with-n.patch- Remove salt-minion python2 requirement when python3 is default (bsc#1081592)- Remove-obsolete-unicode-handling-in-pkg.info_installed - Added: * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update to salt-2018.1.99 - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * list_pkgs-add-parameter-for-returned-attribute-selec.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch - Deleted: * python3-compatibility-fix-got-bytes-instead-of-strin.patch * enable-with-salt-version-parameter-for-setup.py-scri.patch * catching-error-when-pidfile-cannot-be-deleted.patch * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * bugfix-the-logic-according-to-the-exact-described-pu.patch * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-salt-master-for-old-psutil.patch * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * older-logrotate-need-su-directive.patch * return-error-when-gid_from_name-and-group-does-not-e.patch * set-shell-environment-variable-64.patch * split-only-strings-if-they-are-such.patch * use-home-to-get-the-user-home-directory-instead-usin.patch * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Fix-epoch-handling-for-Rhel-6-and-7 - Modified: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Restoring-installation-of-packages-for-Rhel-6-7 Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Prevent queryformat pattern from expanding (bsc#1079048)- Fix epoch handling for Rhel 6 and 7 (bsc#1068566) - Reverting to current API for split_input - Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Fix for wrong version processing during yum pkg install (bsc#1068566) - Feat: add grain for all FQDNs (bsc#1063419) - Added: * fix-for-wrong-version-processing.patch * feat-add-grain-for-all-fqdns.patch- Fix the usage of custom macros on the spec file.- Fix RES7: different dependency names for python-PyYAML and python-MarkupSafe- Build both python2 and python3 binaries together.- Bugfix: errors in external pillar causes crash instead of report of them (bsc#1068446) - Fix 'user.present' when 'gid_from_name' is set but group does not exist. - Added: * bugfix-the-logic-according-to-the-exact-described-pu.patch * return-error-when-gid_from_name-and-group-does-not-e.patch- Fix "No service execution module loaded" issue (bsc#1065792) - Set SHELL environment variable Added: * fix-bsc-1065792.patch * set-shell-environment-variable-64.patch- Removed unnecessary logging on shutdown (bsc#1050003) - Renamed patch that adds grain fqdns Changed: * catching-error-when-pidfile-cannot-be-deleted Removed: * fix-for-pidfile-removal-logging Renamed: * add-fqdns-grains -> feat-add-grain-for-all-fqdns- Add fqdns to grains (bsc#1063419) Added: * add-fqdns-grains.patch- Fixing cherrypy websocket with python3 Added: * python3-compatibility-fix-got-bytes-instead-of-strin.patch- Various-bug-fixes - Python3 bugfix for cherrypy read() - Fix for logging on salt-master exit in rare cases (pid-file removal) - Added: * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-pidfile-removal-logging.patch * split-only-strings-if-they-are-such.patch- Fix salt-master for old psutil version - Added: * fix-salt-master-for-old-psutil.patch- Put back accidentally removed patches - Added: * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * catching-error-when-pidfile-cannot-be-deleted.patch- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Older logrotate need su directive (bsc#1071322) * Added: older-logrotate-need-su-directive.patch- Fix bsc#1041993 already included in 2017.7.2 - Removed: * removes-beacon-configuration-deprecation-warning-48.patch- Fixed beacons failure when pillar-based suppressing config-based. (bsc#1060230) - Added: * activate-all-beacons-sources-config-pillar-grains.patch- Escape the usage of %{VERSION} when calling out to rpm. RPM 4.14 has %{VERSION} defined as 'the main packages version'.- Fix wrong version reported by Salt (bsc#1061407) - Fix CVE-2017-14696 (bsc#1062464) already included in 2017.7.2- Run salt master as dedicated salt user - Run salt-api as user salt (bsc#1064520) - Added: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch- Update to 2017.7.2 See https://docs.saltstack.com/en/latest/topics/releases/2017.7.2.html - Added: * enable-with-salt-version-parameter-for-setup.py-scri.patch - Removed: * add-a-salt-minion-service-control-file.patch * add-clean_id-function-to-salt.utils.verify.py.patch * add-options-for-dockerng.patch * add-ssh-option-to-salt-ssh.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-yum-plugin.patch * add-zypp-notify-plugin.patch * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * adding-support-for-installing-patches-in-yum-dnf-exe.patch * avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch * bugfix-unable-to-use-127-as-hostname.patch * catching-error-when-pidfile-cannot-be-deleted.patch * change-travis-configuration-file-to-use-salt-toaster.patch * check-if-byte-strings-are-properly-encoded-in-utf-8.patch * clean-up-change-attribute-from-interface-dict.patch * do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch * escape-the-os.sep.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-format-error-bsc-1043111.patch * fix-grain-for-os_family-on-suse-series.patch * fix-os_family-case-in-unittest.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * fix-setting-language-on-suse-systems.patch * fixed-issue-with-parsing-of-master-minion-returns-wh.patch * fixing-beacons.list-integration-test-failure.patch * introducing-the-kubernetes-module.patch * notify-systemd-synchronously-bsc-1053376.patch * rest_cherrypy-remove-sleep-call.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch * run-salt-api-as-user-salt-bsc-990029.patch * run-salt-master-as-dedicated-salt-user.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * security-fixes-cve-2017-14695-and-cve-2017-14696.patch * setting-up-os-grains-for-sles-expanded-support-suse-.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch * tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * use-correct-grain-constants-for-timezone.patch- Re-added previously removed unit-test for bsc#1050003 - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch- Fixes for CVE-2017-14695 and CVE-2017-14696 (bsc#1062462) - Added: * security-fixes-cve-2017-14695-and-cve-2017-14696.patch- Add missing follow-up for CVE-2017-12791 (bsc#1053955) - Fixed salt target-type field returns "String" for existing jids but an empty "Array" for non existing jids. (issue#1711) - Added: * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * escape-the-os.sep.patch- Fixed minion resource exhaustion when many functions are being executed in parallel (bsc#1059758) - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch - Added: * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch - Removed: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Remove 'TasksTask' attribute from salt-master.service in older versions of systemd (bsc#985112)- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Catching error when PIDfile cannot be deleted (bsc#1050003) - Added: * catching-error-when-pidfile-cannot-be-deleted.patch- Use $HOME to get the user home directory instead using '~' char (bsc#1042749) - Added: * use-home-to-get-the-user-home-directory-instead-usin.patch- Fixed patches for Kubernetes and YUM modules - Updated: * list_pkgs-add-parameter-for-returned-attribute-selec.patch * introducing-the-kubernetes-module.patch- Add patches to salt to support SUSE Manager scalability features (bsc#1052264) - Added: * list_pkgs-add-parameter-for-returned-attribute-selec.patch- Introducing the kubernetes module (bsc#1051948) - Added: * introducing-the-kubernetes-module.patch- Revert "We don't have python-systemd, so notify can't work" - Added: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Notify systemd synchronously via NOTIFY_SOCKET (bsc#1053376) - Added: * notify-systemd-synchronously-bsc-1053376.patch- Add clean_id function to salt.utils.verify.py (CVE-2017-12791, bsc#1053955) - Added: * add-clean_id-function-to-salt.utils.verify.py.patch- Added bugfix when jobs scheduled to run at a future time stay pending for Salt minions (bsc#1036125) - Added: * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch- Adding procps as dependency. This provides "ps" and "pgrep" utils which are called from different Salt modules and also from new salt-minion watchdog.- Adding a salt-minion watchdog for RHEL6 and SLES11 systems (sysV) to restart salt-minion in case of crashes during upgrade. - Added: * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch- fix format error (bsc#1043111)- fix ownership for whole master cache directory (bsc#1035914)- Bugfix: clean up `change` attribute from interface dict (upstream) Issue: https://github.com/saltstack/salt/issues/41461 PR: 1. https://github.com/saltstack/salt/pull/41487 2. https://github.com/saltstack/salt/pull/41533 Added: * clean-up-change-attribute-from-interface-dict.patch- Disable 3rd party runtime packages to be explicitly recommended. (bsc#1040886)- Bugfix: orchestrate and batches returns false failed information https://github.com/saltstack/salt/issues/40635 Added: * fixed-issue-with-parsing-of-master-minion-returns-wh.patch- speed-up cherrypy by removing sleep call- wrong os_family grains on SUSE - fix unittests (bsc#1038855)- fix setting the language on SUSE systems (bsc#1038855)- Documentation refresh to 2016.11.4- Update to 2016.11.4 See https://docs.saltstack.com/en/develop/topics/releases/2016.11.4.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.3.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.2.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.1.html for full changelog - Use SUSE specific salt-api.service (bsc#1039370) - Bugfix: wrong os_family grains on SUSE (bsc#1038855) - Bugfix: unable to use hostname for minion ID as '127' (upstream) - Fix core grains constants for timezone (bsc#1032931) - Add unit test for a skip false values from preferred IPs upstream patch - Adding "yum-plugin-security" as required for RHEL 6 - Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - raet protocol is no longer supported (bsc#1020831) - Fix: move SSH data to the new home (bsc#1027722) - Fix: /var/log/salt/minion fails logrotate (bsc#1030009) - Fix: Result of master_tops extension is mutually overwritten (bsc#1030073) - Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Use salt's ordereddict for comparison (fixes failing tests) - add special salt-minion.service file for RES7 - fix scripts for salt-proxy - define with systemd for fedora and rhel >= 7 (bsc#1027240) - add openscap module - file.get_managed regression fix (upstream issues #39762) - fix translate variable arguments if they contain hidden keywords (bsc#1025896) - fix service handling for openSUSE - added unit test for dockerng.sls_build dryrun - added dryrun to dockerng.sls_build - update dockerng minimal version requirements - fix format error in error parsing - keep fix for migrating salt home directory (bsc#1022562) - Fix salt pkg.latest raises exception if package is not available (bsc#1012999) - Fix timezone: should be always in UTC (bsc#1017078) - Fix timezone handling for rpm installtime (bsc#1017078) - Increasing timeouts for running integrations tests - Add buildargs option to dockerng.build module - Disable custom rosters for Salt SSH via Salt API (bsc#1011800) More: https://github.com/saltstack/salt/pull/38596 - Fix error when missing ssh-option parameter - readd yum notify plugin - all kwargs to dockerng.create to provide all features to sls_build as well - rename patches to get rid of the prefix numbers - Added: * bugfix-unable-to-use-127-as-hostname.patch * fix-grain-for-os_family-on-suse-series.patch * use-correct-grain-constants-for-timezone.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-a-salt-minion-service-control-file.patch * add-options-for-dockerng.patch * add-zypp-notify-plugin.patch * fixing-beacons.list-integration-test-failure.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch - Renamed: * 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch => tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * 0002-Run-salt-master-as-dedicated-salt-user.patch => run-salt-master-as-dedicated-salt-user.patch * 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch => check-if-byte-strings-are-properly-encoded-in-utf-8.patch * 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch => do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * 0009-Add-YUM-plugin.patch 0027-Add-YUM-plugin.patch => add-yum-plugin.patch * 0012-Run-salt-api-as-user-salt-bsc-990029.patch => run-salt-api-as-user-salt-bsc-990029.patch * 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch => setting-up-os-grains-for-sles-expanded-support-suse-.patch * 0022-Change-travis-configuration-file-to-use-salt-toaster.patch => change-travis-configuration-file-to-use-salt-toaster.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch => avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * 0042-Salt-ssh-ssh-option-param.patch => add-ssh-option-to-salt-ssh.patch * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch => adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0005-Use-SHA256-hash-type-by-default.patch * 0006-Create-salt-proxy-instantiated-service-file.patch * 0007-Add-SUSE-Manager-plugin.patch * 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch * 0009-Rewrite-minion-ID-generator-bsc-967803.patch * 0010-snapper-execution-module.patch * 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch * 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch * 0014-Fix-some-unittests.patch * 0015-Check-for-single-quote-before-splitting-on-single-qu.patch * 0016-Unit-test-fixes-for-2015.8.7.patch * 0017-Fix-snapper_test-for-python26.patch * 0018-Integration-tests-fixes-for-2015.8.7.patch * 0019-Generate-Salt-Thin-with-configured-extra-modules.patch * 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch * 0023-Adding-dist-upgrade-support-to-zypper-module.patch * 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch * 0025-Including-resolver-params-for-Zypper-debug-solver.patch * 0026-fix-status-handling-in-sysv-init-scripts.patch * 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch * 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch * 0030-Extract-archive-into-existing-directory-add-overwrit.patch * 0031-Port-rsync-state-from-2016.3.patch * 0032-Support-remote-port-forwarding-with-salt-ssh.patch * 0033-Add-master_tops-support-in-salt-ssh.patch * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0037-salt-minion-service-back-to-type-simple.patch * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch * 0046-Snapper-module-improvements.patch * 0047-Fix-issue-with-cp.push-36136.patch * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch * 0049-OpenSCAP-module.patch * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch * 0053-fix-race-condition-on-cache-directory-creation.patch * 0054-Merge-output-from-master_tops.patch * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Bugfix: datetime should be returned always in UTC - Added: * 0063-Bugfix-datetime-should-be-returned-always-in-UTC.patch- Bugfix: scheduled state may cause crash while deserialising data on infinite recursion. (bsc#1036125) - Added: * 0062-Bugfix-deserialising-crashes-in-the-recursive-loop-b.patch- Enable yum to handle errata on RHEL 6: require yum-plugin-security- Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - Added: * 0061-Search-the-entire-CACHE_DIR-because-storage-paths-ch.patch - Modified: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch- Refactoring on Zypper and Yum execution and state modules to allow installation of patches/errata. - Added: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix log rotation permission issue (bsc#1030009) - Use pkg/suse/salt-api.service by this package - Removed: * 0059-Set-salt-api-shell-env.patch - Added: * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Patch to set SHELL env variable for the salt-api.service. Needed for salt-ssh ProxyCommand to work properly. - Added: * 0059-Set-salt-api-shell-env.patch- Fixes 'timeout' and 'gather_job_timeout' kwargs parameters for 'local_batch' client - Added: * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch- Add missing bootstrap script for Salt Cloud (bsc#1032452)- Fix: add missing /var/cache/salt/cloud directory (bsc#1032213)- Added test case for race conditions on cache directory creation - Modified: * 0053-fix-race-condition-on-cache-directory-creation.patch- Adding "pkg.install downloadonly=True" support to yum/dnf execution module - Makes sure "gather_job_timeout" is an Integer - Adding "pkg.downloaded" state and support for installing patches/erratas - Added: * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix: merge master_tops output- Fix: race condition on cache directory creation - Added: * 0053-fix-race-condition-on-cache-directory-creation.patch- Cleanup salt user environment preparation (bsc#1027722)- Don't send passwords after shim delimiter is found (bsc#1019386) - Add: * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch- Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Add: * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch- Update systemd module unit tests (Update patch 0050)- define with system for fedora and rhel 7 (bsc#1027240)- Fix service state returning stacktrace (bsc#1027044) - Add: * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch- Update OpenSCAP Module patch- OpenSCAP Module - Added: * 0049-OpenSCAP-module.patch- Prevents 'OSError' exception in case certain job cache path doesn't exist (bsc#1023535) - Added: * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch- Backport: Fix issue with cp.push (#36136) - Add: * 0047-Fix-issue-with-cp.push-36136.patch- Fix salt-minion update on RHEL (bsc#1022841)- Adding new functions to Snapper execution module. - Added: * snapper-module-improvements.patch- Fix invalid chars allowed for data IDs (bsc#1011304) Fix timezone: should be always in UTC (bsc#1017078) Add: * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch- Fixes wrong "enabled" opts for yumnotify plugin Add: * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch- ssh-option parameter for salt-ssh command. Added: * 0042-Salt-ssh-ssh-option-param.patch- minion should pre-require salt - do not restart salt-minion in the salt package - add try-restart to sys-v init scripts Add: * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch- Adding "Restart=on-failure" for salt-minion systemd service Add: * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch- Re-introducing "KillMode=process" for salt-minion systemd service Add: * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch- Successfully exit of salt-api child processes when SIGTERM is received Add: * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch- Add new patches: * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch * 0037-salt-minion-service-back-to-type-simple.patch- Update to 2015.8.12 - Fix possible information leak due to revoked keys still being used. (bsc#1012398, CVE-2016-9639) - inherited patches 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch 0002-Run-salt-master-as-dedicated-salt-user.patch 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - renamed patches 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch - > 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch 0036-Use-SHA256-hash-type-by-default.patch - > 0005-Use-SHA256-hash-type-by-default.patch 0046-Add-SUSE-Manager-plugin.patch - > 0007-Add-SUSE-Manager-plugin.patch 0048-Create-salt-proxy-instantiated-service-file.patch - > 0006-Create-salt-proxy-instantiated-service-file.patch 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch - > 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch 0059-Rewrite-minion-ID-generator-bsc-967803.patch - > 0009-Rewrite-minion-ID-generator-bsc-967803.patch 0061-snapper-execution-module.patch - > 0010-snapper-execution-module.patch 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch - > 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch 0064-Run-salt-api-as-user-salt-bsc-990029.patch - > 0012-Run-salt-api-as-user-salt-bsc-990029.patch 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch - > 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch 0070-Fix-some-unittests.patch - > 0014-Fix-some-unittests.patch 0071-Check-for-single-quote-before-splitting-on-single-qu.patch - > 0015-Check-for-single-quote-before-splitting-on-single-qu.patch 0072-Unit-test-fixes-for-2015.8.7.patch - > 0016-Unit-test-fixes-for-2015.8.7.patch 0073-Fix-snapper_test-for-python26.patch - > 0017-Fix-snapper_test-for-python26.patch 0074-Integration-tests-fixes-for-2015.8.7.patch - > 0018-Integration-tests-fixes-for-2015.8.7.patch 0075-Generate-Salt-Thin-with-configured-extra-modules.patch - > 0019-Generate-Salt-Thin-with-configured-extra-modules.patch 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch - > 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch - > 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch 0078-Change-travis-configuration-file-to-use-salt-toaster.patch - > 0022-Change-travis-configuration-file-to-use-salt-toaster.patch 0079-Adding-dist-upgrade-support-to-zypper-module.patch - > 0023-Adding-dist-upgrade-support-to-zypper-module.patch 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch - > 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch 0081-Including-resolver-params-for-Zypper-debug-solver.patch - > 0025-Including-resolver-params-for-Zypper-debug-solver.patch 0082-fix-status-handling-in-sysv-init-scripts.patch - > 0026-fix-status-handling-in-sysv-init-scripts.patch - new patches from upstream 0027-Add-YUM-plugin.patch 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch (bsc#1008933) 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch 0030-Extract-archive-into-existing-directory-add-overwrit.patch 0031-Port-rsync-state-from-2016.3.patch 0032-Support-remote-port-forwarding-with-salt-ssh.patch 0033-Add-master_tops-support-in-salt-ssh.patch - upstreamed patches 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch 0005-Fix-package-status-filtering-on-latest-version-and-i.patch 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch 0009-The-functions-in-the-state-module-that-return-a-retc.patch 0010-add-handling-for-OEM-products.patch 0011-improve-doc-for-list_pkgs.patch 0012-implement-version_cmp-for-zypper.patch 0013-pylint-changes.patch 0014-Check-if-rpm-python-can-be-imported.patch 0015-call-zypper-with-option-non-interactive-everywhere.patch 0016-write-a-zypper-command-builder-function.patch 0017-Fix-crash-with-scheduler-and-runners-31106.patch 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch 0022-fix-argument-handling-for-pkg.download.patch 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch 0025-adapt-tests-to-new-zypper_check_result-output.patch 0027-make-suse-check-consistent-with-rh_service.patch 0028-fix-numerical-check-of-osrelease.patch 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch 0034-Fix-git_pillar-race-condition.patch 0035-Fix-the-always-false-behavior-on-checking-state.patch 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch 0039-Prevent-metadata-download-when-getting-installed-pro.patch 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch 0044-Unblock-Zypper.-Modify-environment.patch 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch 0049-Prevent-several-minion-processes-on-the-same-machine.patch 0050-checksum-validation-when-zypper-pkg.download.patch 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch 0054-fix-groupadd-module-for-sles11-systems.patch 0055-Backport-31164-and-31364-32474.patch 0056-Move-log-message-from-INFO-to-DEBUG.patch 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch 0065-fix-beacon-list-to-include-all-beacons-being-process.patch 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Splitted non-Linux and other external platform modules to 'salt-other' sub-package.- Switch package group from System/Monitoring to System/Management- fix exist codes of sysv init script (bsc#999852) Add: * 0082-fix-status-handling-in-sysv-init-scripts.patch- Including resolution parameters in the Zypper debug-solver call during a dry-run dist-upgrade. Add: * 0081-Including-resolver-params-for-Zypper-debug-solver.patch- Fix Salt API crash via salt-ssh on empty roster (bsc#1004723) Add: * 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch- Adding 'dist-upgrade' support to zypper module (FATE#320559) Add: * 0079-Adding-dist-upgrade-support-to-zypper-module.patch- Copy .travis.yml from git commit ea63e793567ba777e47dc766a4f88edfb037a02f Add: * travis.yml - Change travis configuration file to use salt-toaster Add: * travis.yml * 0078-Change-travis-configuration-file-to-use-salt-toaster.patch- acl.delfacl: fix position of -X option to setfacl (bsc#1004260) Add: * 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch- fix generated shebang in scripts on SLES-ES 7 (bsc#1004047)- add update-documentation.sh to specfile- Setting up OS grains for SLES-ES (SLES Expanded Support platform) Add: * 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch- Move salt home directory to /var/lib/salt (bsc#1002529) - Adjust permissions on home directory - Adjust pre-install script to correctly move existing salt users' home directory salt user cannot write in his own home directory (/srv/salt) because it is owned by user `root`. This prevents salt from correctly save ssh known hosts in ~/.ssh/ and breaks salt-ssh bootstrapping.- Updated html.tar.bz2 documentation tarball. - Generate Salt Thin with configured extra modules (bsc#990439) Add: * 0075-Generate-Salt-Thin-with-configured-extra-modules.patch- Unit and integration tests fixes for 2015.8.7 Add: * 0072-Unit-test-fixes-for-2015.8.7.patch * 0073-Fix-snapper_test-for-python26.patch * 0074-Integration-tests-fixes-for-2015.8.7.patch- Prevent pkg.install failure for expired keys (bsc#996455) Add: * 0071-Check-for-single-quote-before-splitting-on-single-qu.patch- Required D-Bus and generating machine ID- add a macro to check if the docs should be build or the static tarball should be used- Fix a couple of failing unittests * 0070-Fix-some-unittests.patch- Helper script for updating documentation tarball. Added: * update-documentation.sh- Fix python-jinja2 requirements in rhel- Fix pkg.installed refresh repo failure (bsc#993549) Fix salt.states.pkgrepo.management no change failure (bsc#990440) Add: * 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch * 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Prevent snapper module crash on load if no DBus is available in the system (bsc#993039) Add: * 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch- Prevent continuous restart, if a dependency wasn't installed (bsc#991048) Add: * 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch- Fix beacon list to include all beacons being process Add: * 0065-fix-beacon-list-to-include-all-beacons-being-process.patch- Run salt-api as user salt like the master (bsc#990029) Add: * 0064-Run-salt-api-as-user-salt-bsc-990029.patch- Revert patch Minion ID generation (bsc#967803) Removes: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Fix broken inspector due to accidentally missed commit (bsc#989798) Add: * 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch- Set always build salt-doc package.- Bugfix: lvm.vg_present does not recognize PV with certain LVM filter settings (bsc#988506) Add: * 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch- Backport: Snapper module for Salt. Add: * 0061-snapper-execution-module.patch- Bugfix: pkg.list_products on "registerrelease" and "productline" returns boolean.False if empty (bsc#989193, bsc#986019) Add: * 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch- Rewrite Minion ID generation (bsc#967803) Add: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Bugfix: Fixed behavior for SUSE OS grains (bsc#970669) Bugfix: Salt os_family does not detect SLES for SAP (bsc#983017) Add: * 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch- Move log message from INFO to DEBUG (bsc#985661) Add: 0056-Move-log-message-from-INFO-to-DEBUG.patch - fix salt --summary to count not responding minions correctly (bsc#972311) Add: * 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch- Fix memory leak on custom execution module sheduled jobs (bsc#983512) Add: * 0055-Backport-31164-and-31364-32474.patch- fix groupadd module for sles11 systems (bsc#978150) Add: * 0054-fix-groupadd-module-for-sles11-systems.patch- Fix pkgrepo.managed gpgkey argument doesn't work (bsc#979448) Add: * 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch- Package checksum validation for zypper pkg.download Add: * 0050-checksum-validation-when-zypper-pkg.download.patch * 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch - Check if a job has executed and returned successfully Add: * 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch- Remove option -f from startproc (bsc#975733) Add: * 0049-Prevent-several-minion-processes-on-the-same-machine.patch- Changed Zypper's plugin. Added Unit test and related to that data (bsc#980313). Update: * 0046-Add-SUSE-Manager-plugin.patch Delete (not needed anymore): * 0049-Alter-the-event-name.patch- Zypper plugin: alter the generated event name on package set change. Add: * 0049-Alter-the-event-name.patch- Fix file ownership on master keys and cache directories during upgrade (handles upgrading from salt 2014, where the daemon ran as root, to 2015 where it runs as the salt user, bsc#979676).- salt-proxy .service file created (bsc#975306) Add: * 0048-Create-salt-proxy-instantiated-service-file.patch- Prevent salt-proxy test.ping crash (bsc#975303) Add: * 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch- Fix shared directories ownership issues.- Add Zypper plugin to generate an event, once Zypper is used outside the Salt infrastructure demand (bsc#971372). Add: * 0046-Add-SUSE-Manager-plugin.patch- Restore boolean values from the repo configuration Fix priority attribute (bsc#978833) Add: * 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch- Unblock-Zypper. (bsc#976148) Modify-environment. (bsc#971372) Add: * 0044-Unblock-Zypper.-Modify-environment.patch- Prevent crash if pygit2 package is requesting re-compilation. Add: * 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch- align OS grains from older SLES with current one (bsc#975757) Add: * 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch- Bugfix: salt-key crashes if tries to generate keys to the directory w/o write access (bsc#969320) Add: * 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch- Check if EOL is available in a particular product (bsc#975093) Add: * 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch- fix building with docs on SLE11- Prevent metadata download when getting installed products Add: * 0039-Prevent-metadata-download-when-getting-installed-pro.patch- Add statically built docs.- fix sorting by latest package Add: * 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch- ensure pkg.info_installed report latest package version (bsc#972490) Add: * 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch- Use SHA256 by default in master, minion and proxy (bsc#955373) Add: * 0036-Use-SHA256-hash-type-by-default.patch- Fix state structure compilation Add: * 0035-Fix-the-always-false-behavior-on-checking-state.patch - Fix git_pillar race condition Add: * 0034-Fix-git_pillar-race-condition.patch- fix detection of base products in SLE11 * 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch - fix rpm info for SLE11 * 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch * 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch - fix init system detection for SLE11 * 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch- Re-add corrected patch: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Make checksum configurable (upstream still wants md5, we suggest sha256). bsc#955373 Add: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Fix the service state / module on SLE11. Add: * 0027-make-suse-check-consistent-with-rh_service.patch * 0028-fix-numerical-check-of-osrelease.patch- Prevent rebuilds in OBS by not generating a date as a comment in a source file Add: 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch- Add better checking for zypper exit codes and simplify evaluation of the zypper error messages. Add: 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch - Adapt unit tests Add: 0025-adapt-tests-to-new-zypper_check_result-output.patch- Add initial pack of Zypper's Unit tests. Use XML output in list_upgrades. Bugfix: upgrade_available crashes when only one package specified Purge is not using "-u" anymore Add: * 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch- fix argument handling of pkg.download Add: 0022-fix-argument-handling-for-pkg.download.patch- unify behavior of zypper refresh in salt Add: 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch- Fix crash with scheduler and runners Add: 0017-Fix-crash-with-scheduler-and-runners-31106.patch- Call zypper always with --non-interactive Add: * 0015-call-zypper-with-option-non-interactive-everywhere.patch * 0016-write-a-zypper-command-builder-function.patch- require rpm-python on SUSE for zypper support- fix state return code Add: 0009-The-functions-in-the-state-module-that-return-a-retc.patch - add handling of OEM products to pkg.list_products Add: 0010-add-handling-for-OEM-products.patch - improve doc for list_pkgs Add: 0011-improve-doc-for-list_pkgs.patch - implement pkg.version_cmp in zypper.py Add: * 0012-implement-version_cmp-for-zypper.patch * 0013-pylint-changes.patch * 0014-Check-if-rpm-python-can-be-imported.patch- Update to 2015.8.7 this is a small update to fix some regressions see https://docs.saltstack.com/en/latest/topics/releases/2015.8.7.html- Booleans should not be strings from XML, add Unix ticks time and format result in a list of maps. Add: * 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch- Stop salt-api daemon faster (bsc#963322) Add: * 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch- Do not crash on salt-key reject/delete consecutive calls. Add: * 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch- Update to 2015.8.5 Security fixes: * CVE-2016-1866: Improper handling of clear messages on the minion remote code execution (boo#965403) See https://docs.saltstack.com/en/latest/topics/releases/2015.8.5.html Dropped patches (all upstream): * 0003-List-products-consistently-across-all-SLES-systems.patch * 0004-Add-missing-return-data-to-scheduled-jobs.patch * 0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * 0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch Renamed patches: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - > 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch - > 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch - > 0005-Fix-package-status-filtering-on-latest-version-and-i.patch - Update to 2015.8.4 See https://docs.saltstack.com/en/latest/topics/releases/2015.8.4.html- Fix latest version available comparison and implement epoch support in Zypper module. Add: * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch- Update patch from opensuse to upstream version. Update: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Fix dependencies to Salt subpackages requiring release along the version.- Fix pkg.latest crash. - Fix pkg.latest SLS ID bug, when pkgs empty list is passed, but SLS ID still treated as a package name. Add: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Drop: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0005-Add-missing-return-data-to-scheduled-jobs.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch +0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * -0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch +0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch - Add: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch- Rename use-forking-daemon.patch to 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch - Rename use-salt-user-for-master.patch to 0002-Run-salt-master-as-dedicated-salt-user.patch - Rename 1efe484309a5c776974e723f3da0f5181f4bdb86.patch to 0003-List-products-consistently-across-all-SLES-systems.patch - Rename zypper-utf-8.patch to 0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename salt-2015.8-schedule-ret.patch to 0005-Add-missing-return-data-to-scheduled-jobs.patch - Rename salt-2015.8-pkg-zypper-attr-filtering.patch to 0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch - Rename salt-2015.8-zypper-info.patch to 0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch- Fix zypper module info_available on SLE-11 * add salt-2015.8-zypper-info.patch * https://github.com/saltstack/salt/pull/30384 - zypper/pkg: add package attributes filtering * add salt-2015.8-pkg-zypper-attr-filtering.patch * https://github.com/saltstack/salt/pull/30267 - Remove obsoleted patches and fixes: * 0001-Add-rpm.minimal_info-fix-rpm.info.patch * 0002-Reduce-information-returned-from-pkg.info_installed.patch * Remove require on glibc-locale (bsc#959572)- Add missing return data to scheduled jobs * add salt-2015.8-schedule-ret.patch for * https://github.com/saltstack/salt/pull/30246- Update zypper-utf-8.patch for Python 2.6- require glibc-locale (bsc#959572)- Report epoch and architecture of installed packages 0001-Add-rpm.minimal_info-fix-rpm.info.patch - pkg.info_installed exceeds the maximum event size, reduce the information to what's actually needed 0002-Reduce-information-returned-from-pkg.info_installed.patch- Filter out bad UTF-8 strings in package data (bsc#958350) zypper-utf-8.patch- Updated to salt 2015.8.3 bugfix release - remove the following patches because upstream merged them: - 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch - os_grain.patch - zypper_pkgrepo.patch - more details at: https://docs.saltstack.com/en/latest/topics/releases/2015.8.3.html- added 1efe484309a5c776974e723f3da0f5181f4bdb86.patch: reimplements pkg.list_products that potentially may be broken in a future releases of SLES.- added 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch: fixes a regression introduced in 2015.8.2, which was actually holding back the release. Downgrade is not an option as we need the leap fixes.- it shouldnt be >= 1110 but just > 1110- require pmtools on sle11 to get dmidecode- update use-salt-user-for-master.patch: First step to make the syndic also run as salt user.- Updated to bugfix release 2015.8.2 - os_grain.patch fix the "os" grain on SLES11SP4 - zypper_pkgrepo.patch fix the priority and humanname pkgrepo args for the zypper backend for more details: https://docs.saltstack.com/en/2015.8/topics/releases/2015.8.2.html- update to 2015.8.1 - Add support for ``spm.d/*.conf`` configuration of SPM (:issue:`27010`) - Fix ``proxy`` grains breakage for non-proxy minions (:issue:`27039`) - Fix global key management for git state - Fix passing http auth to ``util.http`` from ``state.file`` (:issue:`21917`) - Fix ``multiprocessing: True`` in windows (on by default`) - Add ``pkg.info`` to pkg modules - Fix name of ``serial`` grain (this was accidentally renamed in 2015.8.0`) - Merge config values from ``master.d``/``minion.d`` conf files (rather than flat update`) - Clean grains cache on grains sync (:issue:`19853`) - Remove streamed response for fileclient to avoid HTTP redirection problems (:issue:`27093`) - Fixed incorrect warning about ``osrelease`` grain (:issue:`27065`) - Fix authentication via Salt-API with tokens (:issue:`27270`) - Fix winrepo downloads from https locations (:issue:`27081`) - Fix potential error with salt-call as non-root user (:issue:`26889`) - Fix global minion provider overrides (:issue:`27209`) - Fix backward compatibility issues for pecl modules - Fix Windows uninstaller to only remove ``./bin``, ``salt*``, ``nssm.exe``, ``uninst.exe`` (:issue:`27383`) - Fix misc issues with mongo returner. - Add sudo option to cloud config files (:issue:`27398`) - Fix regression in RunnerClient argument handling (:issue:`25107`) - Fix ``dockerng.running`` replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Fix dockerng.running replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Increased performance on boto asg/elb states due to ``__states__`` integration - Windows minion no longer requires powershell to restart (:issue:`26629`) - Fix x509 module to support recent versions of OpenSSL (:issue:`27326`) - Some issues with proxy minions were corrected. - drop salt-2015.8-backports-susemanager.diff: included in update - guard raet buildrequires with bcond_with raet and comment out the recommends for salt-raet.- remove pygit2 global recommends, it is only needed in the master - remove git-core, pygit2 should pull it as a dependency - add a (currently disabled) %check- Add salt-2015.8-backports-susemanager.diff Returns detailed information about a package- ifdef Recommends to build on RHEL based distros - use _initddir instead of _sysconfdir/init.d as it works on both platforms.- allow to disable docs in preparation for building on other platforms without all dependencies.- python-libnacl, python-ioflo are _not_ required to build the package. They are anyways requires of python-raet, which is also not required to build the package.- merge (build)requires/recommends with requirements/*txt and setup.py- add raet subpackage which will pull all requires for it and provides config snippets to enable it for the minion and master.- add tmpfiles.d file- Remove requires on python-ioflo and python-libnacl they will be pulled by python-raet, which is optional.- python-raet is optional, so make it a Recommends- update backports patch from 2015.8 branch- update use-forking-daemon.patch: the original intention was to get rid of the python systemd dependency. for this we do not have daemonize the whole process. just switching to simple mode is enough.- drop fdupes: 1. it broke python byte code handling 2. the only part of the package which would really benefit from it would be the doc package. but given we only install the files via %doc, we can not use it for that either. - reenable completions on distros newer than sle11 - do not use _datarootdir, use _datadir instead.- package all directories in /var/cache/salt and /etc/salt and have permissions set for non root salt master - update use-salt-user-for-master.patch: - also patch the logrotate file to include the su option- remove duplicated recommends - never require pygit2 and git. the master can run fine without. always use recommends- cleanup dependencies: - remove a lot of unneeded buildrequires - fdupes not present on SLE10 - python-certifi needed on SLE11 - python-zypp not needed any more - python-pygit2 is not a global requirement - convert python-pysqlite to recommends as it is not available on python <=2.7 - sles_version -> suse_version - %exclude the cloud/deploy/*.sh scripts to fix build issue on SLE11- Remove python-PyYAML from the dependencies list, as python-yaml is the same - Build the -completion subpackages in SLE11 as well - Add salt-proxy (by dmacvicar@suse.de) - Create salt user/group only in the -master subpkg- Fix typo in use-forking-daemon.patch, that prevented daemon loading- Fix typo in Requires- Cleanup requirements- New Major release 2015.8.0 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.8.0.html - Cleaned the spec file with spec-cleaner - Added the use-salt-user-for-master.patch see README.SUSE - Updated the files ownership with salt user - removed m2crypto depency- Removed fish dependency for fish completions.- Added fish completions.- Support SLE11SP{3,4}, where the M2Crypto package is named python-m2crypto- Updated to Bugfix release 2015.5 for more details: https://github.com/saltstack/salt/blob/develop/doc/topics/releases/2015.5.5.rst - Add prereq, for user creation. - Add creation of salt user in preparation of running the salt-master daemon as non-root user salt. https://bugzilla.opensuse.org/show_bug.cgi?id=939831 - Add README.SUSE with explanation and how to.- only require git-core to not pull in git-web and gitk- New Bugfix release 2015.5.3 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.3.html- New Bugfix release 2015.5.2 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.2.html- New Bugfix release 2015.5.1 salt.runners.cloud.action() has changed the fun keyword argument to func. Please update any calls to this function in the cloud runner. for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.1.html- Removed python-pssh depency not needed anymore.- Major release 2015.5.0 Lithium - update to 2015.5.0 The 2015.5.0 feature release of Salt is focused on hardening Salt and mostly on improving existing systems. A few major additions are present, primarily the new Beacon system. Most enhancements have been focused around improving existing features and interfaces. As usual the release notes are not exhaustive and primarily include the most notable additions and improvements. Hundreds of bugs have been fixed and many modules have been substantially updated and added. See especially the warning right on the top regarding python_shell=False. For all details see http://docs.saltstack.com/en/latest/topics/releases/2015.5.0.html - RPM Package changes: - add some versions to the buildrequires to match the 2 requirements files from the tarball - Moved the depencencies to main salt package except where they are specific for the package - Changed python-request dependency,only needed on salt-cloud - Added python-tornado dependency for http.py - Fixed zsh_completion in tarball. - Fixed salt-api requirements to require python-cherrypy - Fixed salt-cloud requiments to require salt-master- New Bugfix release 2014.7.5 Changes: + Fixed a key error bug in salt-cloud + Updated man pages to better match documentation + Fixed bug concerning high CPU usage with salt-ssh + Fixed bugs with remounting cvfs and fuse filesystems + Fixed bug with alowing requisite tracking of entire sls files + Fixed bug with aptpkg.mod_repo returning OK even if apt-add-repository fails + Increased frequency of ssh terminal output checking + Fixed malformed locale string in localmod module + Fixed checking of available version of package when accept_keywords were changed + Fixed bug to make git.latest work with empty repositories + Added **kwargs to service.mod_watch which removes warnings about enable and __reqs__ not being supported by the function + Improved state comments to not grow so quickly on failed requisites + Added force argument to service to trigger force_reload + Fixed bug to andle pkgrepo keyids that have been converted to int + Fixed module.portage_config bug with appending accept_keywords + Fixed bug to correctly report disk usage on windows minion + Added the ability to specify key prefix for S3 ext_pillar + Fixed issues with batch mode operating on the incorrect number of minions + Fixed a bug with the proxmox cloud provider stacktracing on disk definition + Fixed a bug with the changes dictionary in the file state + Fixed the TCP keep alive settings to work better with SREQ caching + Fixed many bugs within the iptables state and module + Fixed bug with states by adding fun, state, and unless to the state runtime internal keywords listing + Added ability to eAuth against Active Directory + Fixed some salt-ssh issues when running on Fedora 21 + Fixed grains.get_or_set_hash to work with multiple entries under same key + Added better explanations and more examples of how the Reactor calls functions to docs + Fixed bug to not pass ex_config_drive to libcloud unless it's explicitly enabled + Fixed bug with pip.install on windows + Fixed bug where puppet.run always returns a 0 retcode + Fixed race condition bug with minion scheduling via pillar + Made efficiency improvements and bug fixes to the windows installer + Updated environment variables to fix bug with pygit2 when running salt as non-root user + Fixed cas behavior on data module -- data.cas was not saving changes + Fixed GPG rendering error + Fixed strace error in virt.query + Fixed stacktrace when running chef-solo command + Fixed possible bug wherein uncaught exceptions seem to make zmq3 tip over when threading is involved + Fixed argument passing to the reactor + Fixed glibc caching to prevent bug where salt-minion getaddrinfo in dns_check() never got updated nameservers Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix Release 2014.7.4 - Updated patch use-forking-daemon.patch - fix salt-zsh-completion conflicts + Multi-master minions mode no longer route fileclient operations asymetrically. This fixes the source of many multi-master bugs where the minion would become unrepsonsive from one or more masters. + Fix bug wherein network.iface could produce stack traces. + net.arp will no longer be made available unless arp is installed on the system. + Major performance improvements to Saltnado + Allow KVM module to operate under KVM itself or VMWare Fusion + Various fixes to the Windows installation scripts + Fix issue where the syndic would not correctly propogate loads to the master job cache. + Improve error handling on invalid /etc/network/interfaces file in salt networking modules + Fix bug where a reponse status was not checked for in fileclient.get_url + Enable eauth when running salt in batch mode + Increase timeout in Boto Route53 module + Fix bugs with Salt's 'tar' module option parsing + Fix parsing of NTP servers on Windows + Fix issue with blockdev tuning not reporting changes correctly + Update to the latest Salt bootstrap script + Update Linode salt-cloud driver to use either linode-python or apache-libcloud + Fix for s3.query function to return correct headers + Fix for s3.head returning None for files that exist + Fix the disable function in win_service module so that the service is disabled correctly + Fix race condition between master and minion when making a directory when both daemons are on the same host + Fix an issue where file.recurse would fail at the root of an svn repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an hgfs repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an gitfs repo when the repo has a mountpoint + Add status.master capability for Windows. + Various fixes to ssh_known_hosts + Various fixes to states.network bonding for Debian + The debian_ip.get_interfaces module no longer removes nameservers. + Better integration between grains.virtual and systemd-detect-virt and virt-what + Fix traceback in sysctl.present state output + Fix for issue where mount.mounted would fail when superopts were not a part of mount.active (extended=True). Also mount.mounted various fixes for Solaris and FreeBSD. + Fix error where datetimes were not correctly safeguarded before being passed into msgpack. + Fix file.replace regressions. If the pattern is not found, and if dry run is False, and if `backup` is False, and if a pre-existing file exists with extension `.bak`, then that backup file will be overwritten. This backup behavior is a result of how `fileinput` works. Fixing it requires either passing through the file twice (the first time only to search for content and set a flag), or rewriting `file.replace` so it doesn't use `fileinput` + VCS filreserver fixes/optimizations + Catch fileserver configuration errors on master start + Raise errors on invalid gitfs configurations + set_locale when locale file does not exist (Redhat family) + Fix to correctly count active devices when created mdadm array with spares + Fix to correctly target minions in batch mode + Support ssh:// urls using the gitfs dulwhich backend + New fileserver runner + Fix various bugs with argument parsing to the publish module. + Fix disk.usage for Synology OS + Fix issue with tags occurring twice with docker.pulled + Fix incorrect key error in SMTP returner + Fix condition which would remount loopback filesystems on every state run + Remove requsites from listens after they are called in the state system + Make system implementation of service.running aware of legacy service calls + Fix issue where publish.publish would not handle duplicate responses gracefully. + Accept Kali Linux for aptpkg salt execution module + Fix bug where cmd.which could not handle a dirname as an argument + Fix issue in ps.pgrep where exceptions were thrown on Windows. - Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix release 2014.7.2: - fix package bug with fdupes. - keep sle 11 sp3 support. + Fix erroneous warnings for systemd service enabled check (issue 19606) + Fix FreeBSD kernel module loading, listing, and persistence kmod (issue 197151, issue 19682) + Allow case-sensitive npm package names in the npm state. This may break behavior for people expecting the state to lowercase their npm package names for them. The npm module was never affected by mandatory lowercasing. (issue 20329) + Deprecate the activate parameter for pip.install for both the module and the state. If bin_env is given and points to a virtualenv, there is no need to activate that virtualenv in a shell for pip to install to the virtualenv. + Fix a file-locking bug in gitfs (issue 18839)- New Bugfix release 2014.7.1: + Fixed gitfs serving symlinks in file.recurse states (issue 17700) + Fixed holding of multiple packages (YUM) when combined with version pinning (issue 18468) + Fixed use of Jinja templates in masterless mode with non-roots fileserver backend (issue 17963) + Re-enabled pillar and compound matching for mine and publish calls. Note that pillar globbing is still disabled for those modes, for security reasons. (issue 17194) + Fix for tty: True in salt-ssh (issue 16847) - Needed to provide zsh completion because of the tarball missing the zsh completion script. - Removed man salt.1.gz file from salt-master because upstream removed it. - Added man salt.7.gz to salt-master package- Updated to Major Release 2014.7.0 - added python-zipp as depency - added recommend python-pygit2, this is the preferred gitfs backend of saltstack - added zsh-completion package - Removed Patch fix-service-py-version-parsing-sles.patch already fixed in this package - Removed Patch pass-all-systemd-list-units.patch already fixed in this package - Removed Patch disable-service-py-for-suse-family.patch already fixed in this package - Removed Patch allow-systemd-units-no-unit-files.patch already fixed in this package - Removed Patch allow-systemd-parameterized-services.patch already fixed in this package - More information at: http://docs.saltstack.com/en/latest/topics/releases/2014.7.0.html - SALT SSH ENHANCEMENTS: + Support for Fileserver Backends + Support for Saltfile + Ext Pillar + No more sshpass needed + Pure Python Shim + Custom Module Delivery + CP module Support + More Thin Directory Options - Salt State System enhancements: + New Imperative State Keyword "Listen" + New Mod Aggregate Runtime Manipulator + New Requisites: onchanges and onfail + New Global onlyif and unless + Use names to expand and override values - Salt Major Features: + Improved Scheduler Additions + Red Hat 7 Support + Fileserver Backends in Salt-call + Amazon Execution Modules in salt-cloud + LXC Runner Enhancements + Next Gen Docker Management + Peer System Performance Improvements + SDB Encryption at rest for configs + GPG Renderer encrypted pillar at rest + OpenStack Expansions + Queues System external queue systems into Salt events + Multi Master Failover Additions + Chef Execution Module - salt-api Project Merge + Synchronous and Asynchronous Execution of Runner and Wheel Modules + rest_cherrypy Additions + Web Hooks - Fileserver Backend Enhancements: + New gitfs Features + Pygit2 and Dulwich support + Mountpoints support + New hgfs Features + mountpoints support + New svnfs Features: + mountpoints + minionfs Featuressupport + mountpoints - New Salt Modules: + Oracle + Random + Redis + Amazon Simple Queue Service + Block Device Management + CoreOS etcd + Genesis + InfluxDB + Server Density + Twilio Notifications + Varnish + ZNC IRC Bouncer + SMTP - NEW RUNNERS: + Map/Reduce Style + Queue - NEW EXTERNAL PILLARS: + CoreOS etcd - NEW SALT-CLOUD PROVIDERS: + Aliyun ECS Cloud + LXC Containers + Proxmox (OpenVZ containers & KVM) - DEPRECATIONS: + Salt.modules.virtualenv_mod- Updated to 2014.1.13 a bugfix release on 2014.1.12 + fix module run exit code (issue 16420) + salt cloud Check the exit status code of scp before assuming it has failed. (issue 16599)/bin/sh/bin/sh/bin/shs390zl33 1737004868   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO.QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������4.5.33006.0-150500.4.47.13006.0-150500.4.47.13006.0-150500.4.47.1    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ""#"$$%%%%%%%%%$$$$$$$$&&''&(()))((**++++++++++++++++++++*******************,,------,,,,,..///////..00110....2233333333333333333333333333333333222222222222222222244555555555555444444444442222222226667777777777777777777777777777777777777766666666666666666666666666666666666622222.8899988..::;;;;;;;;:::::::<<==============================<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>???>>@@AAA@BBC@@DDEEEEEDDDDFFGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFHHIIIHHJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJLLMMMMMMMMLLLLLLLJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJNNOONPPQQQQPPPRRSSRPNTTUUUUTTTNVVWWWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZZ[[Z\\]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\\\\\\\\\\\\\\\\\\\^^___^^``aaaaaaaaaaaaaaaaaaaaaa`````````````````````bbcccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddeeeeeeeeeeeedddddddddddffggggggggggggggggggggggggggggggggggggggggggggggfffffffffffffffffffffffffffffffffffffffffffffhhiiiiiiiiiiiiiiihhhhhhhhhhhhhhjjkkkkkkkkkkjjjjjjjjjllmlnnoonlppqqprrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttutvvvvvvvtwwtxtyyyyyyytzzzt{{{{{{{{||}}}}}}}}}}}||||||||||~~~~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������salt-callsalt-callsalt-call-3.6saltsalt-3006.0-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-saferequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_syspaths.cpython-36.pyccrypt.cpython-36.pycexceptions.cpython-36.pycfeatures.cpython-36.pycfileclient.cpython-36.pyckey.cpython-36.pycmaster.cpython-36.pycminion.cpython-36.pycpayload.cpython-36.pycrunner.cpython-36.pycscripts.cpython-36.pycstate.cpython-36.pycsyspaths.cpython-36.pyctemplate.cpython-36.pycversion.cpython-36.pyc_compat.py_logging__init__.py__pycache____init__.cpython-36.pychandlers.cpython-36.pycimpl.cpython-36.pycmixins.cpython-36.pychandlers.pyimpl.pymixins.py_syspaths.py_version.txtacl__init__.py__pycache____init__.cpython-36.pycauth__init__.py__pycache____init__.cpython-36.pycauto.cpython-36.pycdjango.cpython-36.pycfile.cpython-36.pyckeystone.cpython-36.pycldap.cpython-36.pycmysql.cpython-36.pycpam.cpython-36.pycpki.cpython-36.pycrest.cpython-36.pycsharedsecret.cpython-36.pycyubico.cpython-36.pycauto.pydjango.pyfile.pykeystone.pyldap.pymysql.pypam.pypki.pyrest.pysharedsecret.pyyubico.pybeacons__init__.py__pycache____init__.cpython-36.pycadb.cpython-36.pycaix_account.cpython-36.pycavahi_announce.cpython-36.pycbonjour_announce.cpython-36.pycbtmp.cpython-36.pyccert_info.cpython-36.pycdiskusage.cpython-36.pycglxinfo.cpython-36.pychaproxy.cpython-36.pycinotify.cpython-36.pycjournald.cpython-36.pycjunos_rre_keys.cpython-36.pycload.cpython-36.pyclog_beacon.cpython-36.pycmemusage.cpython-36.pycnapalm_beacon.cpython-36.pycnetwork_info.cpython-36.pycnetwork_settings.cpython-36.pycpkg.cpython-36.pycproxy_example.cpython-36.pycps.cpython-36.pycsalt_monitor.cpython-36.pycsalt_proxy.cpython-36.pycsensehat.cpython-36.pycservice.cpython-36.pycsh.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_vmadm.cpython-36.pycstatus.cpython-36.pycswapusage.cpython-36.pyctelegram_bot_msg.cpython-36.pyctwilio_txt_msg.cpython-36.pycwatchdog.cpython-36.pycwtmp.cpython-36.pycadb.pyaix_account.pyavahi_announce.pybonjour_announce.pybtmp.pycert_info.pydiskusage.pyglxinfo.pyhaproxy.pyinotify.pyjournald.pyjunos_rre_keys.pyload.pylog_beacon.pymemusage.pynapalm_beacon.pynetwork_info.pynetwork_settings.pypkg.pyproxy_example.pyps.pysalt_monitor.pysalt_proxy.pysensehat.pyservice.pysh.pysmartos_imgadm.pysmartos_vmadm.pystatus.pyswapusage.pytelegram_bot_msg.pytwilio_txt_msg.pywatchdog.pywtmp.pycache__init__.py__pycache____init__.cpython-36.pycconsul.cpython-36.pycetcd_cache.cpython-36.pyclocalfs.cpython-36.pycmysql_cache.cpython-36.pycredis_cache.cpython-36.pycconsul.pyetcd_cache.pylocalfs.pymysql_cache.pyredis_cache.pychannel__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycserver.cpython-36.pycclient.pyserver.pycli__init__.py__pycache____init__.cpython-36.pycapi.cpython-36.pycbatch.cpython-36.pycbatch_async.cpython-36.pyccall.cpython-36.pyccaller.cpython-36.pyccp.cpython-36.pycdaemons.cpython-36.pyckey.cpython-36.pycrun.cpython-36.pycsalt.cpython-36.pycspm.cpython-36.pycssh.cpython-36.pycapi.pybatch.pybatch_async.pycall.pycaller.pycp.pydaemons.pykey.pyrun.pysalt.pyspm.pyssh.pysupport__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycconsole.cpython-36.pycintfunc.cpython-36.pyclocalrunner.cpython-36.pyccollector.pyconsole.pyintfunc.pylocalrunner.pyprofiles__init__.py__pycache____init__.cpython-36.pycdefault.ymljobs-active.ymljobs-last.ymljobs-trace.ymlnetwork.ymlpostgres.ymlsalt.ymlusers.ymlclient__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycnetapi.cpython-36.pycmixins.pynetapi.pyssh__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycshell.cpython-36.pycssh_py_shim.cpython-36.pycstate.cpython-36.pycclient.pyshell.pyssh_py_shim.pystate.pywrapper__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pyccp.cpython-36.pycgrains.cpython-36.pycmine.cpython-36.pycpillar.cpython-36.pycpublish.cpython-36.pycsaltcheck.cpython-36.pycstate.cpython-36.pycconfig.pycp.pygrains.pymine.pypillar.pypublish.pysaltcheck.pystate.pycloud__init__.py__pycache____init__.cpython-36.pyccli.cpython-36.pycexceptions.cpython-36.pyclibcloudfuncs.cpython-36.pyccli.pyclouds__init__.py__pycache____init__.cpython-36.pycaliyun.cpython-36.pycazurearm.cpython-36.pycclc.cpython-36.pyccloudstack.cpython-36.pycdigitalocean.cpython-36.pycdimensiondata.cpython-36.pycec2.cpython-36.pycgce.cpython-36.pycgogrid.cpython-36.pychetzner.cpython-36.pycjoyent.cpython-36.pyclibvirt.cpython-36.pyclinode.cpython-36.pyclxc.cpython-36.pycmsazure.cpython-36.pyconeandone.cpython-36.pycopennebula.cpython-36.pycopenstack.cpython-36.pycpacket.cpython-36.pycparallels.cpython-36.pycprofitbricks.cpython-36.pycproxmox.cpython-36.pycpyrax.cpython-36.pycqingcloud.cpython-36.pycsaltify.cpython-36.pycscaleway.cpython-36.pycsoftlayer.cpython-36.pycsoftlayer_hw.cpython-36.pyctencentcloud.cpython-36.pycvagrant.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvultrpy.cpython-36.pycxen.cpython-36.pycaliyun.pyazurearm.pyclc.pycloudstack.pydigitalocean.pydimensiondata.pyec2.pygce.pygogrid.pyhetzner.pyjoyent.pylibvirt.pylinode.pylxc.pymsazure.pyoneandone.pyopennebula.pyopenstack.pypacket.pyparallels.pyprofitbricks.pyproxmox.pypyrax.pyqingcloud.pysaltify.pyscaleway.pysoftlayer.pysoftlayer_hw.pytencentcloud.pyvagrant.pyvirtualbox.pyvmware.pyvultrpy.pyxen.pydeployexceptions.pylibcloudfuncs.pyconfig__init__.py__pycache____init__.cpython-36.pycschemas__init__.py__pycache____init__.cpython-36.pyccommon.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycminion.cpython-36.pycssh.cpython-36.pycvcenter.cpython-36.pyccommon.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyminion.pyssh.pyvcenter.pycrypt.pydaemons__init__.py__pycache____init__.cpython-36.pycmasterapi.cpython-36.pycmasterapi.pydefaults__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pycexitcodes.cpython-36.pycevents.pyexitcodes.pyengines__init__.py__pycache____init__.cpython-36.pycdocker_events.cpython-36.pycfluent.cpython-36.pychttp_logstash.cpython-36.pycircbot.cpython-36.pycjunos_syslog.cpython-36.pyclibvirt_events.cpython-36.pyclogentries.cpython-36.pyclogstash_engine.cpython-36.pycnapalm_syslog.cpython-36.pycreactor.cpython-36.pycredis_sentinel.cpython-36.pycscript.cpython-36.pycslack.cpython-36.pycslack_bolt_engine.cpython-36.pycsqs_events.cpython-36.pycstalekey.cpython-36.pyctest.cpython-36.pycthorium.cpython-36.pycwebhook.cpython-36.pycdocker_events.pyfluent.pyhttp_logstash.pyircbot.pyjunos_syslog.pylibvirt_events.pylogentries.pylogstash_engine.pynapalm_syslog.pyreactor.pyredis_sentinel.pyscript.pyslack.pyslack_bolt_engine.pysqs_events.pystalekey.pytest.pythorium.pywebhook.pyexceptions.pyexecutors__init__.py__pycache____init__.cpython-36.pycdirect_call.cpython-36.pycdocker.cpython-36.pycsplay.cpython-36.pycsudo.cpython-36.pyctransactional_update.cpython-36.pycdirect_call.pydocker.pysplay.pysudo.pytransactional_update.pyext__init__.py__pycache____init__.cpython-36.pycbackports_abc.cpython-36.pycipaddress.cpython-36.pycsaslprep.cpython-36.pycssl_match_hostname.cpython-36.pycwin_inet_pton.cpython-36.pyczipp.cpython-36.pycbackports_abc.pyimportlib_metadata__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_compat.pyipaddress.pysaslprep.pyssl_match_hostname.pytornado__init__.py__pycache____init__.cpython-36.pyc_locale_data.cpython-36.pycauth.cpython-36.pycautoreload.cpython-36.pycconcurrent.cpython-36.pyccurl_httpclient.cpython-36.pycescape.cpython-36.pycgen.cpython-36.pychttp1connection.cpython-36.pychttpclient.cpython-36.pychttpserver.cpython-36.pychttputil.cpython-36.pycioloop.cpython-36.pyciostream.cpython-36.pyclocale.cpython-36.pyclocks.cpython-36.pyclog.cpython-36.pycnetutil.cpython-36.pycoptions.cpython-36.pycprocess.cpython-36.pycqueues.cpython-36.pycrouting.cpython-36.pycsimple_httpclient.cpython-36.pycstack_context.cpython-36.pyctcpclient.cpython-36.pyctcpserver.cpython-36.pyctemplate.cpython-36.pyctesting.cpython-36.pycutil.cpython-36.pycweb.cpython-36.pycwebsocket.cpython-36.pycwsgi.cpython-36.pyc_locale_data.pyauth.pyautoreload.pyconcurrent.pycurl_httpclient.pyescape.pygen.pyhttp1connection.pyhttpclient.pyhttpserver.pyhttputil.pyioloop.pyiostream.pylocale.pylocks.pylog.pynetutil.pyoptions.pyplatform__init__.py__pycache____init__.cpython-36.pycasyncio.cpython-36.pycauto.cpython-36.pyccaresresolver.cpython-36.pyccommon.cpython-36.pycepoll.cpython-36.pycinterface.cpython-36.pyckqueue.cpython-36.pycposix.cpython-36.pycselect.cpython-36.pyctwisted.cpython-36.pycwindows.cpython-36.pycasyncio.pyauto.pycaresresolver.pycommon.pyepoll.pyinterface.pykqueue.pyposix.pyselect.pytwisted.pywindows.pyprocess.pyqueues.pyrouting.pysimple_httpclient.pystack_context.pytcpclient.pytcpserver.pytemplate.pytest__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycasyncio_test.cpython-36.pycauth_test.cpython-36.pycconcurrent_test.cpython-36.pyccurl_httpclient_test.cpython-36.pycescape_test.cpython-36.pycgen_test.cpython-36.pychttp1connection_test.cpython-36.pychttpclient_test.cpython-36.pychttpserver_test.cpython-36.pychttputil_test.cpython-36.pycimport_test.cpython-36.pycioloop_test.cpython-36.pyciostream_test.cpython-36.pyclocale_test.cpython-36.pyclocks_test.cpython-36.pyclog_test.cpython-36.pycnetutil_test.cpython-36.pycoptions_test.cpython-36.pycprocess_test.cpython-36.pycqueues_test.cpython-36.pycresolve_test_helper.cpython-36.pycrouting_test.cpython-36.pycruntests.cpython-36.pycsimple_httpclient_test.cpython-36.pycstack_context_test.cpython-36.pyctcpclient_test.cpython-36.pyctcpserver_test.cpython-36.pyctemplate_test.cpython-36.pyctesting_test.cpython-36.pyctwisted_test.cpython-36.pycutil.cpython-36.pycutil_test.cpython-36.pycweb_test.cpython-36.pycwebsocket_test.cpython-36.pycwindows_test.cpython-36.pycwsgi_test.cpython-36.pycasyncio_test.pyauth_test.pyconcurrent_test.pycurl_httpclient_test.pyescape_test.pygen_test.pyhttp1connection_test.pyhttpclient_test.pyhttpserver_test.pyhttputil_test.pyimport_test.pyioloop_test.pyiostream_test.pylocale_test.pylocks_test.pylog_test.pynetutil_test.pyoptions_test.pyprocess_test.pyqueues_test.pyresolve_test_helper.pyrouting_test.pyruntests.pysimple_httpclient_test.pystack_context_test.pytcpclient_test.pytcpserver_test.pytemplate_test.pytesting_test.pytwisted_test.pyutil.pyutil_test.pyweb_test.pywebsocket_test.pywindows_test.pywsgi_test.pytesting.pyutil.pyweb.pywebsocket.pywsgi.pyvsan__init__.py__pycache____init__.cpython-36.pycvsanapiutils.cpython-36.pycvsanmgmtObjects.cpython-36.pycvsanapiutils.pyvsanmgmtObjects.pywin_inet_pton.pyzipp.pyfeatures.pyfileclient.pyfileserver__init__.py__pycache____init__.cpython-36.pycazurefs.cpython-36.pycgitfs.cpython-36.pychgfs.cpython-36.pycminionfs.cpython-36.pycroots.cpython-36.pycs3fs.cpython-36.pycsvnfs.cpython-36.pycazurefs.pygitfs.pyhgfs.pyminionfs.pyroots.pys3fs.pysvnfs.pygrains__init__.py__pycache____init__.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccore.cpython-36.pycdisks.cpython-36.pycesxi.cpython-36.pycextra.cpython-36.pycfibre_channel.cpython-36.pycfx2.cpython-36.pyciscsi.cpython-36.pycjunos.cpython-36.pyclvm.cpython-36.pycmarathon.cpython-36.pycmdadm.cpython-36.pycmdata.cpython-36.pycmetadata.cpython-36.pycmetadata_azure.cpython-36.pycmetadata_gce.cpython-36.pycminion_process.cpython-36.pycnapalm.cpython-36.pycnvme.cpython-36.pycnxos.cpython-36.pycopts.cpython-36.pycpanos.cpython-36.pycpending_reboot.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycsmartos.cpython-36.pycssh_sample.cpython-36.pyczfs.cpython-36.pycchronos.pycimc.pycore.pydisks.pyesxi.pyextra.pyfibre_channel.pyfx2.pyiscsi.pyjunos.pylvm.pymarathon.pymdadm.pymdata.pymetadata.pymetadata_azure.pymetadata_gce.pyminion_process.pynapalm.pynvme.pynxos.pyopts.pypanos.pypending_reboot.pyphilips_hue.pyrest_sample.pysmartos.pyssh_sample.pyzfs.pykey.pyloader__init__.py__pycache____init__.cpython-36.pyccontext.cpython-36.pyclazy.cpython-36.pyccontext.pylazy.pylog__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycsetup.cpython-36.pychandlers__init__.py__pycache____init__.cpython-36.pycmixins.pysetup.pylog_handlers__init__.py__pycache____init__.cpython-36.pycfluent_mod.cpython-36.pyclog4mongo_mod.cpython-36.pyclogstash_mod.cpython-36.pycsentry_mod.cpython-36.pycfluent_mod.pylog4mongo_mod.pylogstash_mod.pysentry_mod.pymaster.pymatchers__init__.py__pycache____init__.cpython-36.pyccache_match.cpython-36.pyccompound_match.cpython-36.pyccompound_pillar_exact_match.cpython-36.pycconfirm_top.cpython-36.pycdata_match.cpython-36.pycglob_match.cpython-36.pycgrain_match.cpython-36.pycgrain_pcre_match.cpython-36.pycipcidr_match.cpython-36.pyclist_match.cpython-36.pycnodegroup_match.cpython-36.pycpcre_match.cpython-36.pycpillar_exact_match.cpython-36.pycpillar_match.cpython-36.pycpillar_pcre_match.cpython-36.pycrange_match.cpython-36.pyccache_match.pycompound_match.pycompound_pillar_exact_match.pyconfirm_top.pydata_match.pyglob_match.pygrain_match.pygrain_pcre_match.pyipcidr_match.pylist_match.pynodegroup_match.pypcre_match.pypillar_exact_match.pypillar_match.pypillar_pcre_match.pyrange_match.pymetaproxy__init__.py__pycache____init__.cpython-36.pycdeltaproxy.cpython-36.pycproxy.cpython-36.pycdeltaproxy.pyproxy.pyminion.pymodules__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycaix_group.cpython-36.pycaix_shadow.cpython-36.pycaixpkg.cpython-36.pycaliases.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapcups.cpython-36.pycapf.cpython-36.pycapkpkg.cpython-36.pycaptly.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycarista_pyeapi.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycat_solaris.cpython-36.pycaugeas_cfg.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbamboohr.cpython-36.pycbaredoc.cpython-36.pycbcache.cpython-36.pycbeacons.cpython-36.pycbigip.cpython-36.pycbluez_bluetooth.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_efs.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_ssm.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbridge.cpython-36.pycbsd_shadow.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pyccapirca_acl.cpython-36.pyccassandra_cql.cpython-36.pyccassandra_mod.cpython-36.pyccelery.cpython-36.pycceph.cpython-36.pycchassis.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos.cpython-36.pycchroot.cpython-36.pyccimc.cpython-36.pycciscoconfparse_mod.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmdmod.cpython-36.pyccomposer.cpython-36.pycconfig.cpython-36.pycconsul.cpython-36.pyccontainer_resource.cpython-36.pyccp.cpython-36.pyccpan.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycdaemontools.cpython-36.pycdata.cpython-36.pycdatadog_api.cpython-36.pycddns.cpython-36.pycdeb_apache.cpython-36.pycdeb_postgres.cpython-36.pycdebconfmod.cpython-36.pycdebian_ip.cpython-36.pycdebian_service.cpython-36.pycdebuild_pkgbuild.cpython-36.pycdefaults.cpython-36.pycdevinfo.cpython-36.pycdevmap.cpython-36.pycdig.cpython-36.pycdisk.cpython-36.pycdjangomod.cpython-36.pycdnsmasq.cpython-36.pycdnsutil.cpython-36.pycdockercompose.cpython-36.pycdockermod.cpython-36.pycdpkg_lowpkg.cpython-36.pycdrac.cpython-36.pycdracr.cpython-36.pycdrbd.cpython-36.pycdummyproxy_pkg.cpython-36.pycdummyproxy_service.cpython-36.pycebuildpkg.cpython-36.pyceix.cpython-36.pycelasticsearch.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycextfs.cpython-36.pycfile.cpython-36.pycfirewalld.cpython-36.pycfreebsd_sysctl.cpython-36.pycfreebsd_update.cpython-36.pycfreebsdjail.cpython-36.pycfreebsdkmod.cpython-36.pycfreebsdpkg.cpython-36.pycfreebsdports.cpython-36.pycfreebsdservice.cpython-36.pycfreezer.cpython-36.pycgcp_addon.cpython-36.pycgem.cpython-36.pycgenesis.cpython-36.pycgentoo_service.cpython-36.pycgentoolkitmod.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglanceng.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgoogle_chat.cpython-36.pycgpg.cpython-36.pycgrafana4.cpython-36.pycgrains.cpython-36.pycgroupadd.cpython-36.pycgrub_legacy.cpython-36.pycguestfs.cpython-36.pychadoop.cpython-36.pychaproxyconn.cpython-36.pychashutil.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychosts.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycilo.cpython-36.pycincron.cpython-36.pycinfluxdb08mod.cpython-36.pycinfluxdbmod.cpython-36.pycinfoblox.cpython-36.pycini_manage.cpython-36.pycinspector.cpython-36.pycintrospect.cpython-36.pyciosconfig.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pyciwtools.cpython-36.pycjboss7.cpython-36.pycjboss7_cli.cpython-36.pycjenkinsmod.cpython-36.pycjinja.cpython-36.pycjira_mod.cpython-36.pycjunos.cpython-36.pyck8s.cpython-36.pyckapacitor.cpython-36.pyckerberos.cpython-36.pyckernelpkg_linux_apt.cpython-36.pyckernelpkg_linux_yum.cpython-36.pyckey.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystoneng.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubeadm.cpython-36.pyckubernetesmod.cpython-36.pyclaunchctl_service.cpython-36.pyclayman.cpython-36.pycldap3.cpython-36.pycldapmod.cpython-36.pyclibcloud_compute.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclinux_ip.cpython-36.pyclinux_lvm.cpython-36.pyclinux_service.cpython-36.pyclinux_shadow.cpython-36.pyclinux_sysctl.cpython-36.pyclocalemod.cpython-36.pyclocate.cpython-36.pyclogadm.cpython-36.pyclogmod.cpython-36.pyclogrotate.cpython-36.pyclvs.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pycmac_assistive.cpython-36.pycmac_brew_pkg.cpython-36.pycmac_desktop.cpython-36.pycmac_group.cpython-36.pycmac_keychain.cpython-36.pycmac_pkgutil.cpython-36.pycmac_portspkg.cpython-36.pycmac_power.cpython-36.pycmac_service.cpython-36.pycmac_shadow.cpython-36.pycmac_softwareupdate.cpython-36.pycmac_sysctl.cpython-36.pycmac_system.cpython-36.pycmac_timezone.cpython-36.pycmac_user.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmandrill.cpython-36.pycmarathon.cpython-36.pycmatch.cpython-36.pycmattermost.cpython-36.pycmdadm_raid.cpython-36.pycmdata.cpython-36.pycmemcached.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycmod_random.cpython-36.pycmodjk.cpython-36.pycmongodb.cpython-36.pycmonit.cpython-36.pycmoosefs.cpython-36.pycmount.cpython-36.pycmssql.cpython-36.pycmsteams.cpython-36.pycmunin.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnagios.cpython-36.pycnagios_rpc.cpython-36.pycnamecheap_domains.cpython-36.pycnamecheap_domains_dns.cpython-36.pycnamecheap_domains_ns.cpython-36.pycnamecheap_ssl.cpython-36.pycnamecheap_users.cpython-36.pycnapalm_bgp.cpython-36.pycnapalm_formula.cpython-36.pycnapalm_mod.cpython-36.pycnapalm_netacl.cpython-36.pycnapalm_network.cpython-36.pycnapalm_ntp.cpython-36.pycnapalm_probes.cpython-36.pycnapalm_route.cpython-36.pycnapalm_snmp.cpython-36.pycnapalm_users.cpython-36.pycnapalm_yang_mod.cpython-36.pycnetaddress.cpython-36.pycnetbox.cpython-36.pycnetbsd_sysctl.cpython-36.pycnetbsdservice.cpython-36.pycnetmiko_mod.cpython-36.pycnetscaler.cpython-36.pycnetwork.cpython-36.pycneutron.cpython-36.pycneutronng.cpython-36.pycnexus.cpython-36.pycnfs3.cpython-36.pycnftables.cpython-36.pycnginx.cpython-36.pycnilrt_ip.cpython-36.pycnix.cpython-36.pycnova.cpython-36.pycnpm.cpython-36.pycnspawn.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycnxos_upgrade.cpython-36.pycomapi.cpython-36.pycopenbsd_sysctl.cpython-36.pycopenbsdpkg.cpython-36.pycopenbsdrcctl_service.cpython-36.pycopenbsdservice.cpython-36.pycopenscap.cpython-36.pycopenstack_config.cpython-36.pycopenstack_mng.cpython-36.pycopenvswitch.cpython-36.pycopkg.cpython-36.pycopsgenie.cpython-36.pycoracle.cpython-36.pycosquery.cpython-36.pycout.cpython-36.pycpacmanpkg.cpython-36.pycpagerduty.cpython-36.pycpagerduty_util.cpython-36.pycpam.cpython-36.pycpanos.cpython-36.pycparallels.cpython-36.pycparted_partition.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpeeringdb.cpython-36.pycpf.cpython-36.pycphilips_hue.cpython-36.pycpillar.cpython-36.pycpip.cpython-36.pycpkg_resource.cpython-36.pycpkgin.cpython-36.pycpkgng.cpython-36.pycpkgutil.cpython-36.pycportage_config.cpython-36.pycpostfix.cpython-36.pycpostgres.cpython-36.pycpoudriere.cpython-36.pycpowerpath.cpython-36.pycproxy.cpython-36.pycps.cpython-36.pycpublish.cpython-36.pycpuppet.cpython-36.pycpurefa.cpython-36.pycpurefb.cpython-36.pycpushbullet.cpython-36.pycpushover_notify.cpython-36.pycpw_group.cpython-36.pycpw_user.cpython-36.pycpyenv.cpython-36.pycqemu_img.cpython-36.pycqemu_nbd.cpython-36.pycquota.cpython-36.pycrabbitmq.cpython-36.pycrallydev.cpython-36.pycrandom_org.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycrebootmgr.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrest_pkg.cpython-36.pycrest_sample_utils.cpython-36.pycrest_service.cpython-36.pycrestartcheck.cpython-36.pycrestconf.cpython-36.pycret.cpython-36.pycrh_ip.cpython-36.pycrh_service.cpython-36.pycriak.cpython-36.pycrpm_lowpkg.cpython-36.pycrpmbuild_pkgbuild.cpython-36.pycrsync.cpython-36.pycrunit.cpython-36.pycrvm.cpython-36.pycs3.cpython-36.pycs6.cpython-36.pycsalt_proxy.cpython-36.pycsalt_version.cpython-36.pycsaltcheck.cpython-36.pycsaltcloudmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycscp_mod.cpython-36.pycscsi.cpython-36.pycsdb.cpython-36.pycseed.cpython-36.pycselinux.cpython-36.pycsensehat.cpython-36.pycsensors.cpython-36.pycserverdensity_device.cpython-36.pycservicenow.cpython-36.pycslack_notify.cpython-36.pycslackware_service.cpython-36.pycslsutil.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_nictagadm.cpython-36.pycsmartos_virt.cpython-36.pycsmartos_vmadm.cpython-36.pycsmbios.cpython-36.pycsmf_service.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolaris_fmadm.cpython-36.pycsolaris_group.cpython-36.pycsolaris_shadow.cpython-36.pycsolaris_system.cpython-36.pycsolaris_user.cpython-36.pycsolarisipspkg.cpython-36.pycsolarispkg.cpython-36.pycsolr.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh.cpython-36.pycssh_pkg.cpython-36.pycssh_service.cpython-36.pycstate.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsuse_apache.cpython-36.pycsuse_ip.cpython-36.pycsvn.cpython-36.pycswarm.cpython-36.pycswift.cpython-36.pycsysbench.cpython-36.pycsysfs.cpython-36.pycsyslog_ng.cpython-36.pycsysmod.cpython-36.pycsysrc.cpython-36.pycsystem.cpython-36.pycsystem_profiler.cpython-36.pycsystemd_service.cpython-36.pyctelegram.cpython-36.pyctelemetry.cpython-36.pyctemp.cpython-36.pyctest.cpython-36.pyctest_virtual.cpython-36.pyctestinframod.cpython-36.pyctextfsm_mod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctransactional_update.cpython-36.pyctravisci.cpython-36.pyctuned.cpython-36.pyctwilio_notify.cpython-36.pycudev.cpython-36.pycupstart_service.cpython-36.pycuptime.cpython-36.pycuseradd.cpython-36.pycuwsgi.cpython-36.pycvagrant.cpython-36.pycvarnish.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvboxmanage.cpython-36.pycvcenter.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycvmctl.cpython-36.pycvsphere.cpython-36.pycwebutil.cpython-36.pycwin_auditpol.cpython-36.pycwin_autoruns.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_disk.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_dsc.cpython-36.pycwin_event.cpython-36.pycwin_file.cpython-36.pycwin_firewall.cpython-36.pycwin_groupadd.cpython-36.pycwin_iis.cpython-36.pycwin_ip.cpython-36.pycwin_lgpo.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_ntp.cpython-36.pycwin_path.cpython-36.pycwin_pkg.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_psget.cpython-36.pycwin_servermanager.cpython-36.pycwin_service.cpython-36.pycwin_shadow.cpython-36.pycwin_shortcut.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_status.cpython-36.pycwin_system.cpython-36.pycwin_task.cpython-36.pycwin_timezone.cpython-36.pycwin_useradd.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycx509_v2.cpython-36.pycxapi_virt.cpython-36.pycxbpspkg.cpython-36.pycxfs.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pycyaml.cpython-36.pycyumpkg.cpython-36.pyczabbix.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pycznc.cpython-36.pyczoneadm.cpython-36.pyczonecfg.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pyczypperpkg.cpython-36.pycacme.pyaix_group.pyaix_shadow.pyaixpkg.pyaliases.pyalternatives.pyansiblegate.pyapache.pyapcups.pyapf.pyapkpkg.pyaptly.pyaptpkg.pyarchive.pyarista_pyeapi.pyartifactory.pyat.pyat_solaris.pyaugeas_cfg.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybamboohr.pybaredoc.pybcache.pybeacons.pybigip.pybluez_bluetooth.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_efs.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_ssm.pyboto_vpc.pybower.pybridge.pybsd_shadow.pybtrfs.pycabal.pycapirca_acl.pycassandra_cql.pycassandra_mod.pycelery.pyceph.pychassis.pychef.pychocolatey.pychronos.pychroot.pycimc.pyciscoconfparse_mod.pycisconso.pycloud.pycmdmod.pycomposer.pyconfig.pyconsul.pycontainer_resource.pycp.pycpan.pycron.pycryptdev.pycsf.pycyg.pydaemontools.pydata.pydatadog_api.pyddns.pydeb_apache.pydeb_postgres.pydebconfmod.pydebian_ip.pydebian_service.pydebuild_pkgbuild.pydefaults.pydevinfo.pydevmap.pydig.pydisk.pydjangomod.pydnsmasq.pydnsutil.pydockercompose.pydockermod.pydpkg_lowpkg.pydrac.pydracr.pydrbd.pydummyproxy_pkg.pydummyproxy_service.pyebuildpkg.pyeix.pyelasticsearch.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyextfs.pyfile.pyfirewalld.pyfreebsd_sysctl.pyfreebsd_update.pyfreebsdjail.pyfreebsdkmod.pyfreebsdpkg.pyfreebsdports.pyfreebsdservice.pyfreezer.pygcp_addon.pygem.pygenesis.pygentoo_service.pygentoolkitmod.pygit.pygithub.pyglanceng.pyglassfish.pyglusterfs.pygnomedesktop.pygoogle_chat.pygpg.pygrafana4.pygrains.pygroupadd.pygrub_legacy.pyguestfs.pyhadoop.pyhaproxyconn.pyhashutil.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhosts.pyhttp.pyicinga2.pyidem.pyifttt.pyilo.pyincron.pyinfluxdb08mod.pyinfluxdbmod.pyinfoblox.pyini_manage.pyinspectlib__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycdbhandle.cpython-36.pycentities.cpython-36.pycexceptions.cpython-36.pycfsdb.cpython-36.pyckiwiproc.cpython-36.pycquery.cpython-36.pyccollector.pydbhandle.pyentities.pyexceptions.pyfsdb.pykiwiproc.pyquery.pyinspector.pyintrospect.pyiosconfig.pyipmi.pyipset.pyiptables.pyiwtools.pyjboss7.pyjboss7_cli.pyjenkinsmod.pyjinja.pyjira_mod.pyjunos.pyk8s.pykapacitor.pykerberos.pykernelpkg_linux_apt.pykernelpkg_linux_yum.pykey.pykeyboard.pykeystone.pykeystoneng.pykeystore.pykmod.pykubeadm.pykubernetesmod.pylaunchctl_service.pylayman.pyldap3.pyldapmod.pylibcloud_compute.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylinux_ip.pylinux_lvm.pylinux_service.pylinux_shadow.pylinux_sysctl.pylocalemod.pylocate.pylogadm.pylogmod.pylogrotate.pylvs.pylxc.pylxd.pymac_assistive.pymac_brew_pkg.pymac_desktop.pymac_group.pymac_keychain.pymac_pkgutil.pymac_portspkg.pymac_power.pymac_service.pymac_shadow.pymac_softwareupdate.pymac_sysctl.pymac_system.pymac_timezone.pymac_user.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymandrill.pymarathon.pymatch.pymattermost.pymdadm_raid.pymdata.pymemcached.pymine.pyminion.pymod_random.pymodjk.pymongodb.pymonit.pymoosefs.pymount.pymssql.pymsteams.pymunin.pymysql.pynacl.pynagios.pynagios_rpc.pynamecheap_domains.pynamecheap_domains_dns.pynamecheap_domains_ns.pynamecheap_ssl.pynamecheap_users.pynapalm_bgp.pynapalm_formula.pynapalm_mod.pynapalm_netacl.pynapalm_network.pynapalm_ntp.pynapalm_probes.pynapalm_route.pynapalm_snmp.pynapalm_users.pynapalm_yang_mod.pynetaddress.pynetbox.pynetbsd_sysctl.pynetbsdservice.pynetmiko_mod.pynetscaler.pynetwork.pyneutron.pyneutronng.pynexus.pynfs3.pynftables.pynginx.pynilrt_ip.pynix.pynova.pynpm.pynspawn.pynxos.pynxos_api.pynxos_upgrade.pyomapi.pyopenbsd_sysctl.pyopenbsdpkg.pyopenbsdrcctl_service.pyopenbsdservice.pyopenscap.pyopenstack_config.pyopenstack_mng.pyopenvswitch.pyopkg.pyopsgenie.pyoracle.pyosquery.pyout.pypacmanpkg.pypagerduty.pypagerduty_util.pypam.pypanos.pyparallels.pyparted_partition.pypcs.pypdbedit.pypecl.pypeeringdb.pypf.pyphilips_hue.pypillar.pypip.pypkg_resource.pypkgin.pypkgng.pypkgutil.pyportage_config.pypostfix.pypostgres.pypoudriere.pypowerpath.pyproxy.pyps.pypublish.pypuppet.pypurefa.pypurefb.pypushbullet.pypushover_notify.pypw_group.pypw_user.pypyenv.pyqemu_img.pyqemu_nbd.pyquota.pyrabbitmq.pyrallydev.pyrandom_org.pyrbac_solaris.pyrbenv.pyrdp.pyrebootmgr.pyredismod.pyreg.pyrest_pkg.pyrest_sample_utils.pyrest_service.pyrestartcheck.pyrestconf.pyret.pyrh_ip.pyrh_service.pyriak.pyrpm_lowpkg.pyrpmbuild_pkgbuild.pyrsync.pyrunit.pyrvm.pys3.pys6.pysalt_proxy.pysalt_version.pysaltcheck.pysaltcloudmod.pysaltsupport.pysaltutil.pyschedule.pyscp_mod.pyscsi.pysdb.pyseed.pyselinux.pysensehat.pysensors.pyserverdensity_device.pyservicenow.pyslack_notify.pyslackware_service.pyslsutil.pysmartos_imgadm.pysmartos_nictagadm.pysmartos_virt.pysmartos_vmadm.pysmbios.pysmf_service.pysmtp.pysnapper.pysolaris_fmadm.pysolaris_group.pysolaris_shadow.pysolaris_system.pysolaris_user.pysolarisipspkg.pysolarispkg.pysolr.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh.pyssh_pkg.pyssh_service.pystate.pystatus.pystatuspage.pysupervisord.pysuse_apache.pysuse_ip.pysvn.pyswarm.pyswift.pysysbench.pysysfs.pysyslog_ng.pysysmod.pysysrc.pysystem.pysystem_profiler.pysystemd_service.pytelegram.pytelemetry.pytemp.pytest.pytest_virtual.pytestinframod.pytextfsm_mod.pytimezone.pytls.pytomcat.pytrafficserver.pytransactional_update.pytravisci.pytuned.pytwilio_notify.pyudev.pyupstart_service.pyuptime.pyuseradd.pyuwsgi.pyvagrant.pyvarnish.pyvault.pyvbox_guest.pyvboxmanage.pyvcenter.pyvictorops.pyvirt.pyvirtualenv_mod.pyvmctl.pyvsphere.pywebutil.pywin_auditpol.pywin_autoruns.pywin_certutil.pywin_dacl.pywin_disk.pywin_dism.pywin_dns_client.pywin_dsc.pywin_event.pywin_file.pywin_firewall.pywin_groupadd.pywin_iis.pywin_ip.pywin_lgpo.pywin_lgpo_reg.pywin_license.pywin_network.pywin_ntp.pywin_path.pywin_pkg.pywin_pki.pywin_powercfg.pywin_psget.pywin_servermanager.pywin_service.pywin_shadow.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_status.pywin_system.pywin_task.pywin_timezone.pywin_useradd.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.pyxapi_virt.pyxbpspkg.pyxfs.pyxml.pyxmpp.pyyaml.pyyumpkg.pyzabbix.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyznc.pyzoneadm.pyzonecfg.pyzookeeper.pyzpool.pyzypperpkg.pynetapi__init__.py__pycache____init__.cpython-36.pycrest_wsgi.cpython-36.pycrest_cherrypy__init__.py__pycache____init__.cpython-36.pycapp.cpython-36.pycevent_processor.cpython-36.pycwsgi.cpython-36.pycapp.pyevent_processor.pytools__init__.py__pycache____init__.cpython-36.pycwebsockets.cpython-36.pycwebsockets.pywsgi.pyrest_tornado__init__.py__pycache____init__.cpython-36.pycevent_processor.cpython-36.pycsaltnado.cpython-36.pycsaltnado_websockets.cpython-36.pycevent_processor.pysaltnado.pysaltnado_websockets.pyrest_wsgi.pyoutput__init__.py__pycache____init__.cpython-36.pycdson.cpython-36.pychighstate.cpython-36.pycjson_out.cpython-36.pyckey.cpython-36.pycnested.cpython-36.pycnewline_values_only.cpython-36.pycno_out_quiet.cpython-36.pycno_return.cpython-36.pycoverstatestage.cpython-36.pycpony.cpython-36.pycpprint_out.cpython-36.pycprofile.cpython-36.pycprogress.cpython-36.pycraw.cpython-36.pyctable_out.cpython-36.pyctxt.cpython-36.pycvirt_query.cpython-36.pycyaml_out.cpython-36.pycdson.pyhighstate.pyjson_out.pykey.pynested.pynewline_values_only.pyno_out_quiet.pyno_return.pyoverstatestage.pypony.pypprint_out.pyprofile.pyprogress.pyraw.pytable_out.pytxt.pyvirt_query.pyyaml_out.pypayload.pypillar__init__.py__pycache____init__.cpython-36.pycazureblob.cpython-36.pyccmd_json.cpython-36.pyccmd_yaml.cpython-36.pyccmd_yamlex.cpython-36.pyccobbler.cpython-36.pycconfidant.cpython-36.pycconsul_pillar.cpython-36.pyccsvpillar.cpython-36.pycdigicert.cpython-36.pycdjango_orm.cpython-36.pycec2_pillar.cpython-36.pycetcd_pillar.cpython-36.pycextra_minion_data_in_pillar.cpython-36.pycfile_tree.cpython-36.pycforeman.cpython-36.pycgit_pillar.cpython-36.pycgpg.cpython-36.pychg_pillar.cpython-36.pychiera.cpython-36.pychttp_json.cpython-36.pychttp_yaml.cpython-36.pyclibvirt.cpython-36.pycmakostack.cpython-36.pycmongo.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnetbox.cpython-36.pycneutron.cpython-36.pycnodegroups.cpython-36.pycpepa.cpython-36.pycpillar_ldap.cpython-36.pycpostgres.cpython-36.pycpuppet.cpython-36.pycreclass_adapter.cpython-36.pycredismod.cpython-36.pycrethinkdb_pillar.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsql_base.cpython-36.pycsqlcipher.cpython-36.pycsqlite3.cpython-36.pycstack.cpython-36.pycsvn_pillar.cpython-36.pycvarstack_pillar.cpython-36.pycvault.cpython-36.pycvenafi.cpython-36.pycvirtkey.cpython-36.pycvmware_pillar.cpython-36.pycazureblob.pycmd_json.pycmd_yaml.pycmd_yamlex.pycobbler.pyconfidant.pyconsul_pillar.pycsvpillar.pydigicert.pydjango_orm.pyec2_pillar.pyetcd_pillar.pyextra_minion_data_in_pillar.pyfile_tree.pyforeman.pygit_pillar.pygpg.pyhg_pillar.pyhiera.pyhttp_json.pyhttp_yaml.pylibvirt.pymakostack.pymongo.pymysql.pynacl.pynetbox.pyneutron.pynodegroups.pypepa.pypillar_ldap.pypostgres.pypuppet.pyreclass_adapter.pyredismod.pyrethinkdb_pillar.pys3.pysaltclass.pysql_base.pysqlcipher.pysqlite3.pystack.pysvn_pillar.pyvarstack_pillar.pyvault.pyvenafi.pyvirtkey.pyvmware_pillar.pyplatform__init__.py__pycache____init__.cpython-36.pycwin.cpython-36.pycwin.pyproxy__init__.py__pycache____init__.cpython-36.pycarista_pyeapi.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pycdeltaproxy.cpython-36.pycdocker.cpython-36.pycdummy.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycfx2.cpython-36.pycjunos.cpython-36.pycmarathon.cpython-36.pycnapalm.cpython-36.pycnetmiko_px.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycpanos.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycrestconf.cpython-36.pycssh_sample.cpython-36.pycvcenter.cpython-36.pycarista_pyeapi.pychronos.pycimc.pycisconso.pydeltaproxy.pydocker.pydummy.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyfx2.pyjunos.pymarathon.pynapalm.pynetmiko_px.pynxos.pynxos_api.pypanos.pyphilips_hue.pyrest_sample.pyrestconf.pyssh_sample.pyvcenter.pyqueues__init__.py__pycache____init__.cpython-36.pycpgjsonb_queue.cpython-36.pycsqlite_queue.cpython-36.pycpgjsonb_queue.pysqlite_queue.pyrenderers__init__.py__pycache____init__.cpython-36.pycaws_kms.cpython-36.pyccheetah.cpython-36.pycdson.cpython-36.pycgenshi.cpython-36.pycgpg.cpython-36.pychjson.cpython-36.pycjinja.cpython-36.pycjson.cpython-36.pycjson5.cpython-36.pycmako.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycpass.cpython-36.pycpy.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycstateconf.cpython-36.pyctomlmod.cpython-36.pycwempy.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycaws_kms.pycheetah.pydson.pygenshi.pygpg.pyhjson.pyjinja.pyjson.pyjson5.pymako.pymsgpack.pynacl.pypass.pypy.pypydsl.pypyobjects.pystateconf.pytomlmod.pywempy.pyyaml.pyyamlex.pyreturners__init__.py__pycache____init__.cpython-36.pycappoptics_return.cpython-36.pyccarbon_return.cpython-36.pyccassandra_cql_return.cpython-36.pyccassandra_return.cpython-36.pyccouchbase_return.cpython-36.pyccouchdb_return.cpython-36.pycdjango_return.cpython-36.pycelasticsearch_return.cpython-36.pycetcd_return.cpython-36.pychighstate_return.cpython-36.pycinfluxdb_return.cpython-36.pyckafka_return.cpython-36.pyclibrato_return.cpython-36.pyclocal.cpython-36.pyclocal_cache.cpython-36.pycmattermost_returner.cpython-36.pycmemcache_return.cpython-36.pycmongo_future_return.cpython-36.pycmongo_return.cpython-36.pycmulti_returner.cpython-36.pycmysql.cpython-36.pycnagios_nrdp_return.cpython-36.pycodbc.cpython-36.pycpgjsonb.cpython-36.pycpostgres.cpython-36.pycpostgres_local_cache.cpython-36.pycpushover_returner.cpython-36.pycrawfile_json.cpython-36.pycredis_return.cpython-36.pycsentry_return.cpython-36.pycslack_returner.cpython-36.pycslack_webhook_return.cpython-36.pycsms_return.cpython-36.pycsmtp_return.cpython-36.pycsplunk.cpython-36.pycsqlite3_return.cpython-36.pycsyslog_return.cpython-36.pyctelegram_return.cpython-36.pycxmpp_return.cpython-36.pyczabbix_return.cpython-36.pycappoptics_return.pycarbon_return.pycassandra_cql_return.pycassandra_return.pycouchbase_return.pycouchdb_return.pydjango_return.pyelasticsearch_return.pyetcd_return.pyhighstate_return.pyinfluxdb_return.pykafka_return.pylibrato_return.pylocal.pylocal_cache.pymattermost_returner.pymemcache_return.pymongo_future_return.pymongo_return.pymulti_returner.pymysql.pynagios_nrdp_return.pyodbc.pypgjsonb.pypostgres.pypostgres_local_cache.pypushover_returner.pyrawfile_json.pyredis_return.pysentry_return.pyslack_returner.pyslack_webhook_return.pysms_return.pysmtp_return.pysplunk.pysqlite3_return.pysyslog_return.pytelegram_return.pyxmpp_return.pyzabbix_return.pyroster__init__.py__pycache____init__.cpython-36.pycansible.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycclustershell.cpython-36.pycdir.cpython-36.pycflat.cpython-36.pycrange.cpython-36.pycscan.cpython-36.pycsshconfig.cpython-36.pycsshknownhosts.cpython-36.pycterraform.cpython-36.pycansible.pycache.pycloud.pyclustershell.pydir.pyflat.pyrange.pyscan.pysshconfig.pysshknownhosts.pyterraform.pyrunner.pyrunners__init__.py__pycache____init__.cpython-36.pycasam.cpython-36.pycauth.cpython-36.pycbgp.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycconfig.cpython-36.pycddns.cpython-36.pycdigicertapi.cpython-36.pycdoc.cpython-36.pycdrac.cpython-36.pycerror.cpython-36.pycevent.cpython-36.pycf5.cpython-36.pycfileserver.cpython-36.pycgit_pillar.cpython-36.pychttp.cpython-36.pycjobs.cpython-36.pyclaunchd.cpython-36.pyclxc.cpython-36.pycmanage.cpython-36.pycmattermost.cpython-36.pycmine.cpython-36.pycnacl.cpython-36.pycnet.cpython-36.pycnetwork.cpython-36.pycpagerduty.cpython-36.pycpillar.cpython-36.pycpkg.cpython-36.pycqueue.cpython-36.pycreactor.cpython-36.pycsalt.cpython-36.pycsaltutil.cpython-36.pycsdb.cpython-36.pycsmartos_vmadm.cpython-36.pycspacewalk.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycsurvey.cpython-36.pyctest.cpython-36.pycthin.cpython-36.pycvault.cpython-36.pycvenafiapi.cpython-36.pycvirt.cpython-36.pycvistara.cpython-36.pycwinrepo.cpython-36.pycasam.pyauth.pybgp.pycache.pycloud.pyconfig.pyddns.pydigicertapi.pydoc.pydrac.pyerror.pyevent.pyf5.pyfileserver.pygit_pillar.pyhttp.pyjobs.pylaunchd.pylxc.pymanage.pymattermost.pymine.pynacl.pynet.pynetwork.pypagerduty.pypillar.pypkg.pyqueue.pyreactor.pysalt.pysaltutil.pysdb.pysmartos_vmadm.pyspacewalk.pyssh.pystate.pysurvey.pytest.pythin.pyvault.pyvenafiapi.pyvirt.pyvistara.pywinrepo.pyscripts.pysdb__init__.py__pycache____init__.cpython-36.pyccache.cpython-36.pycconfidant.cpython-36.pycconsul.cpython-36.pyccouchdb.cpython-36.pycenv.cpython-36.pycetcd_db.cpython-36.pyckeyring_db.cpython-36.pycmemcached.cpython-36.pycredis_sdb.cpython-36.pycrest.cpython-36.pycsqlite3.cpython-36.pyctism.cpython-36.pycvault.cpython-36.pycyaml.cpython-36.pyccache.pyconfidant.pyconsul.pycouchdb.pyenv.pyetcd_db.pykeyring_db.pymemcached.pyredis_sdb.pyrest.pysqlite3.pytism.pyvault.pyyaml.pyserializers__init__.py__pycache____init__.cpython-36.pycconfigparser.cpython-36.pycjson.cpython-36.pyckeyvalue.cpython-36.pycmsgpack.cpython-36.pycplist.cpython-36.pycpython.cpython-36.pyctomlmod.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycconfigparser.pyjson.pykeyvalue.pymsgpack.pyplist.pypython.pytomlmod.pyyaml.pyyamlex.pyspm__init__.py__pycache____init__.cpython-36.pycpkgdb__init__.py__pycache____init__.cpython-36.pycsqlite3.cpython-36.pycsqlite3.pypkgfiles__init__.py__pycache____init__.cpython-36.pyclocal.cpython-36.pyclocal.pystate.pystates__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycalias.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapache_conf.cpython-36.pycapache_module.cpython-36.pycapache_site.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycaugeas.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbeacon.cpython-36.pycbigip.cpython-36.pycblockdev.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch_alarm.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iam_role.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_lc.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pycceph.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos_job.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmd.cpython-36.pyccomposer.cpython-36.pycconsul.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycddns.cpython-36.pycdebconfmod.cpython-36.pycdellchassis.cpython-36.pycdisk.cpython-36.pycdocker_container.cpython-36.pycdocker_image.cpython-36.pycdocker_network.cpython-36.pycdocker_volume.cpython-36.pycdrac.cpython-36.pycdvs.cpython-36.pycelasticsearch.cpython-36.pycelasticsearch_index.cpython-36.pycelasticsearch_index_template.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycfile.cpython-36.pycfirewall.cpython-36.pycfirewalld.cpython-36.pycgem.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglance_image.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgpg.cpython-36.pycgrafana.cpython-36.pycgrafana4_dashboard.cpython-36.pycgrafana4_datasource.cpython-36.pycgrafana4_org.cpython-36.pycgrafana4_user.cpython-36.pycgrafana_dashboard.cpython-36.pycgrafana_datasource.cpython-36.pycgrains.cpython-36.pycgroup.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychost.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycincron.cpython-36.pycinfluxdb08_database.cpython-36.pycinfluxdb08_user.cpython-36.pycinfluxdb_continuous_query.cpython-36.pycinfluxdb_database.cpython-36.pycinfluxdb_retention_policy.cpython-36.pycinfluxdb_user.cpython-36.pycinfoblox_a.cpython-36.pycinfoblox_cname.cpython-36.pycinfoblox_host_record.cpython-36.pycinfoblox_range.cpython-36.pycini_manage.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pycjboss7.cpython-36.pycjenkins.cpython-36.pycjunos.cpython-36.pyckapacitor.cpython-36.pyckernelpkg.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystone_domain.cpython-36.pyckeystone_endpoint.cpython-36.pyckeystone_group.cpython-36.pyckeystone_project.cpython-36.pyckeystone_role.cpython-36.pyckeystone_role_grant.cpython-36.pyckeystone_service.cpython-36.pyckeystone_user.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubernetes.cpython-36.pyclayman.cpython-36.pycldap.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclocale.cpython-36.pyclogadm.cpython-36.pyclogrotate.cpython-36.pycloop.cpython-36.pyclvm.cpython-36.pyclvs_server.cpython-36.pyclvs_service.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pyclxd_container.cpython-36.pyclxd_image.cpython-36.pyclxd_profile.cpython-36.pycmac_assistive.cpython-36.pycmac_keychain.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmarathon_app.cpython-36.pycmdadm_raid.cpython-36.pycmemcached.cpython-36.pycmodjk.cpython-36.pycmodjk_worker.cpython-36.pycmodule.cpython-36.pycmongodb_database.cpython-36.pycmongodb_user.cpython-36.pycmonit.cpython-36.pycmount.cpython-36.pycmssql_database.cpython-36.pycmssql_login.cpython-36.pycmssql_role.cpython-36.pycmssql_user.cpython-36.pycmsteams.cpython-36.pycmysql_database.cpython-36.pycmysql_grants.cpython-36.pycmysql_query.cpython-36.pycmysql_user.cpython-36.pycnet_napalm_yang.cpython-36.pycnetacl.cpython-36.pycnetconfig.cpython-36.pycnetntp.cpython-36.pycnetsnmp.cpython-36.pycnetusers.cpython-36.pycnetwork.cpython-36.pycneutron_network.cpython-36.pycneutron_secgroup.cpython-36.pycneutron_secgroup_rule.cpython-36.pycneutron_subnet.cpython-36.pycnexus.cpython-36.pycnfs_export.cpython-36.pycnftables.cpython-36.pycnpm.cpython-36.pycntp.cpython-36.pycnxos.cpython-36.pycnxos_upgrade.cpython-36.pycopenstack_config.cpython-36.pycopenvswitch_bridge.cpython-36.pycopenvswitch_db.cpython-36.pycopenvswitch_port.cpython-36.pycopsgenie.cpython-36.pycpagerduty.cpython-36.pycpagerduty_escalation_policy.cpython-36.pycpagerduty_schedule.cpython-36.pycpagerduty_service.cpython-36.pycpagerduty_user.cpython-36.pycpanos.cpython-36.pycpbm.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpip_state.cpython-36.pycpkg.cpython-36.pycpkgbuild.cpython-36.pycpkgng.cpython-36.pycpkgrepo.cpython-36.pycportage_config.cpython-36.pycports.cpython-36.pycpostgres_cluster.cpython-36.pycpostgres_database.cpython-36.pycpostgres_extension.cpython-36.pycpostgres_group.cpython-36.pycpostgres_initdb.cpython-36.pycpostgres_language.cpython-36.pycpostgres_privileges.cpython-36.pycpostgres_schema.cpython-36.pycpostgres_tablespace.cpython-36.pycpostgres_user.cpython-36.pycpowerpath.cpython-36.pycprobes.cpython-36.pycprocess.cpython-36.pycproxy.cpython-36.pycpushover.cpython-36.pycpyenv.cpython-36.pycpyrax_queues.cpython-36.pycquota.cpython-36.pycrabbitmq_cluster.cpython-36.pycrabbitmq_plugin.cpython-36.pycrabbitmq_policy.cpython-36.pycrabbitmq_upstream.cpython-36.pycrabbitmq_user.cpython-36.pycrabbitmq_vhost.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrestconf.cpython-36.pycrsync.cpython-36.pycrvm.cpython-36.pycsalt_proxy.cpython-36.pycsaltmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycselinux.cpython-36.pycserverdensity_device.cpython-36.pycservice.cpython-36.pycslack.cpython-36.pycsmartos.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh_auth.cpython-36.pycssh_known_hosts.cpython-36.pycstateconf.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsvn.cpython-36.pycsysctl.cpython-36.pycsysfs.cpython-36.pycsyslog_ng.cpython-36.pycsysrc.cpython-36.pyctelemetry_alert.cpython-36.pyctest.cpython-36.pyctestinframod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctuned.cpython-36.pycuptime.cpython-36.pycuser.cpython-36.pycvagrant.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycwebutil.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_firewall.cpython-36.pycwin_iis.cpython-36.pycwin_lgpo.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_path.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_servermanager.cpython-36.pycwin_shortcut.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_system.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycx509_v2.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pyczabbix_action.cpython-36.pyczabbix_host.cpython-36.pyczabbix_hostgroup.cpython-36.pyczabbix_mediatype.cpython-36.pyczabbix_template.cpython-36.pyczabbix_user.cpython-36.pyczabbix_usergroup.cpython-36.pyczabbix_usermacro.cpython-36.pyczabbix_valuemap.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pyczone.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pycacme.pyalias.pyalternatives.pyansiblegate.pyapache.pyapache_conf.pyapache_module.pyapache_site.pyaptpkg.pyarchive.pyartifactory.pyat.pyaugeas.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybeacon.pybigip.pyblockdev.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch_alarm.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iam_role.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_lc.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_vpc.pybower.pybtrfs.pycabal.pyceph.pychef.pychocolatey.pychronos_job.pycimc.pycisconso.pycloud.pycmd.pycomposer.pyconsul.pycron.pycryptdev.pycsf.pycyg.pyddns.pydebconfmod.pydellchassis.pydisk.pydocker_container.pydocker_image.pydocker_network.pydocker_volume.pydrac.pydvs.pyelasticsearch.pyelasticsearch_index.pyelasticsearch_index_template.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyfile.pyfirewall.pyfirewalld.pygem.pygit.pygithub.pyglance_image.pyglassfish.pyglusterfs.pygnomedesktop.pygpg.pygrafana.pygrafana4_dashboard.pygrafana4_datasource.pygrafana4_org.pygrafana4_user.pygrafana_dashboard.pygrafana_datasource.pygrains.pygroup.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhost.pyhttp.pyicinga2.pyidem.pyifttt.pyincron.pyinfluxdb08_database.pyinfluxdb08_user.pyinfluxdb_continuous_query.pyinfluxdb_database.pyinfluxdb_retention_policy.pyinfluxdb_user.pyinfoblox_a.pyinfoblox_cname.pyinfoblox_host_record.pyinfoblox_range.pyini_manage.pyipmi.pyipset.pyiptables.pyjboss7.pyjenkins.pyjunos.pykapacitor.pykernelpkg.pykeyboard.pykeystone.pykeystone_domain.pykeystone_endpoint.pykeystone_group.pykeystone_project.pykeystone_role.pykeystone_role_grant.pykeystone_service.pykeystone_user.pykeystore.pykmod.pykubernetes.pylayman.pyldap.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylocale.pylogadm.pylogrotate.pyloop.pylvm.pylvs_server.pylvs_service.pylxc.pylxd.pylxd_container.pylxd_image.pylxd_profile.pymac_assistive.pymac_keychain.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymarathon_app.pymdadm_raid.pymemcached.pymodjk.pymodjk_worker.pymodule.pymongodb_database.pymongodb_user.pymonit.pymount.pymssql_database.pymssql_login.pymssql_role.pymssql_user.pymsteams.pymysql_database.pymysql_grants.pymysql_query.pymysql_user.pynet_napalm_yang.pynetacl.pynetconfig.pynetntp.pynetsnmp.pynetusers.pynetwork.pyneutron_network.pyneutron_secgroup.pyneutron_secgroup_rule.pyneutron_subnet.pynexus.pynfs_export.pynftables.pynpm.pyntp.pynxos.pynxos_upgrade.pyopenstack_config.pyopenvswitch_bridge.pyopenvswitch_db.pyopenvswitch_port.pyopsgenie.pypagerduty.pypagerduty_escalation_policy.pypagerduty_schedule.pypagerduty_service.pypagerduty_user.pypanos.pypbm.pypcs.pypdbedit.pypecl.pypip_state.pypkg.pypkgbuild.pypkgng.pypkgrepo.pyportage_config.pyports.pypostgres_cluster.pypostgres_database.pypostgres_extension.pypostgres_group.pypostgres_initdb.pypostgres_language.pypostgres_privileges.pypostgres_schema.pypostgres_tablespace.pypostgres_user.pypowerpath.pyprobes.pyprocess.pyproxy.pypushover.pypyenv.pypyrax_queues.pyquota.pyrabbitmq_cluster.pyrabbitmq_plugin.pyrabbitmq_policy.pyrabbitmq_upstream.pyrabbitmq_user.pyrabbitmq_vhost.pyrbac_solaris.pyrbenv.pyrdp.pyredismod.pyreg.pyrestconf.pyrsync.pyrvm.pysalt_proxy.pysaltmod.pysaltsupport.pysaltutil.pyschedule.pyselinux.pyserverdensity_device.pyservice.pyslack.pysmartos.pysmtp.pysnapper.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh_auth.pyssh_known_hosts.pystateconf.pystatus.pystatuspage.pysupervisord.pysvn.pysysctl.pysysfs.pysyslog_ng.pysysrc.pytelemetry_alert.pytest.pytestinframod.pytimezone.pytls.pytomcat.pytrafficserver.pytuned.pyuptime.pyuser.pyvagrant.pyvault.pyvbox_guest.pyvictorops.pyvirt.pyvirtualenv_mod.pywebutil.pywin_certutil.pywin_dacl.pywin_dism.pywin_dns_client.pywin_firewall.pywin_iis.pywin_lgpo.pywin_lgpo_reg.pywin_license.pywin_network.pywin_path.pywin_pki.pywin_powercfg.pywin_servermanager.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_system.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.pyxml.pyxmpp.pyzabbix_action.pyzabbix_host.pyzabbix_hostgroup.pyzabbix_mediatype.pyzabbix_template.pyzabbix_user.pyzabbix_usergroup.pyzabbix_usermacro.pyzabbix_valuemap.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyzone.pyzookeeper.pyzpool.pysyspaths.pytemplate.pytemplates__init__.py__pycache____init__.cpython-36.pycdebian_ipconf.jinjadebian_eth.jinjadebian_ppp_eth.jinjadebian_source.jinjadisplay-network.jinjanetwork.jinjaroute_eth.jinjagitssh-id-wrapperssh-id-wrapper.batlxcsalt_tarballrh_ipconf.jinjanetwork.jinjarh6_route_eth.jinjarh7_eth.jinjarh8_eth.jinjarh9_eth.jinjaroute_eth.jinjasuse_ipifcfg.jinjaifroute.jinjanetwork.jinjavirtlibvirt_chardevs.jinjalibvirt_disks.jinjalibvirt_domain.jinjalibvirt_macros.jinjalibvirt_network.jinjalibvirt_pool.jinjalibvirt_secret.jinjalibvirt_volume.jinjathorium__init__.py__pycache____init__.cpython-36.pyccalc.cpython-36.pyccheck.cpython-36.pycfile.cpython-36.pyckey.cpython-36.pyclocal.cpython-36.pycreg.cpython-36.pycrunner.cpython-36.pycstatus.cpython-36.pyctimer.cpython-36.pycwheel.cpython-36.pyccalc.pycheck.pyfile.pykey.pylocal.pyreg.pyrunner.pystatus.pytimer.pywheel.pytokens__init__.py__pycache____init__.cpython-36.pyclocalfs.cpython-36.pycrediscluster.cpython-36.pyclocalfs.pyrediscluster.pytops__init__.py__pycache____init__.cpython-36.pyccobbler.cpython-36.pycext_nodes.cpython-36.pycmongo.cpython-36.pycreclass_adapter.cpython-36.pycsaltclass.cpython-36.pycvarstack_top.cpython-36.pyccobbler.pyext_nodes.pymongo.pyreclass_adapter.pysaltclass.pyvarstack_top.pytransport__init__.py__pycache____init__.cpython-36.pycbase.cpython-36.pycclient.cpython-36.pycframe.cpython-36.pycipc.cpython-36.pyclocal.cpython-36.pycserver.cpython-36.pyctcp.cpython-36.pyczeromq.cpython-36.pycbase.pyclient.pyframe.pyipc.pylocal.pyserver.pytcp.pyzeromq.pyutils__init__.py__pycache____init__.cpython-36.pycaggregation.cpython-36.pycansible.cpython-36.pycargs.cpython-36.pycasynchronous.cpython-36.pycatomicfile.cpython-36.pycaws.cpython-36.pycazurearm.cpython-36.pycbeacons.cpython-36.pycboto3mod.cpython-36.pycboto_elb_tag.cpython-36.pycbotomod.cpython-36.pyccache.cpython-36.pycchannel.cpython-36.pyccloud.cpython-36.pyccolor.cpython-36.pyccompat.cpython-36.pycconfigcomparer.cpython-36.pycconfigparser.cpython-36.pyccontext.cpython-36.pyccrypt.cpython-36.pycctx.cpython-36.pycdata.cpython-36.pycdateutils.cpython-36.pycdebug.cpython-36.pycdictdiffer.cpython-36.pycdicttrim.cpython-36.pycdictupdate.cpython-36.pycdns.cpython-36.pycdoc.cpython-36.pycentrypoints.cpython-36.pycenvironment.cpython-36.pycerror.cpython-36.pycetcd_util.cpython-36.pycevent.cpython-36.pycextend.cpython-36.pycextmods.cpython-36.pycfilebuffer.cpython-36.pycfiles.cpython-36.pycfind.cpython-36.pycfsutils.cpython-36.pycfunctools.cpython-36.pycgitfs.cpython-36.pycgithub.cpython-36.pycgzip_util.cpython-36.pychashutils.cpython-36.pychttp.cpython-36.pyciam.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycimmutabletypes.cpython-36.pycitertools.cpython-36.pycjid.cpython-36.pycjinja.cpython-36.pycjob.cpython-36.pycjson.cpython-36.pyckickstart.cpython-36.pyckinds.cpython-36.pyclazy.cpython-36.pyclistdiffer.cpython-36.pyclocales.cpython-36.pycmac_utils.cpython-36.pycmako.cpython-36.pycmaster.cpython-36.pycmattermost.cpython-36.pycmemcached.cpython-36.pycmigrations.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycminions.cpython-36.pycmount.cpython-36.pycmsazure.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycnamecheap.cpython-36.pycnapalm.cpython-36.pycnb_popen.cpython-36.pycnetwork.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycodict.cpython-36.pycoset.cpython-36.pycpagerduty.cpython-36.pycparsers.cpython-36.pycpath.cpython-36.pycpbm.cpython-36.pycplatform.cpython-36.pycpowershell.cpython-36.pycpreseed.cpython-36.pycprocess.cpython-36.pycprofile.cpython-36.pycproxy.cpython-36.pycpsutil_compat.cpython-36.pycpushover.cpython-36.pycpycrypto.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycreactor.cpython-36.pycreclass.cpython-36.pycroster_matcher.cpython-36.pycrsax931.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsanitizers.cpython-36.pycschedule.cpython-36.pycschema.cpython-36.pycsdb.cpython-36.pycslack.cpython-36.pycsmb.cpython-36.pycsmtp.cpython-36.pycssdp.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycstringio.cpython-36.pycstringutils.cpython-36.pycsystemd.cpython-36.pyctemplates.cpython-36.pyctextformat.cpython-36.pycthin.cpython-36.pyctimed_subprocess.cpython-36.pyctimeout.cpython-36.pyctimeutil.cpython-36.pycurl.cpython-36.pycuser.cpython-36.pycvalue.cpython-36.pycvault.cpython-36.pycverify.cpython-36.pycversions.cpython-36.pycvirt.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvsan.cpython-36.pycvt.cpython-36.pycvt_helper.cpython-36.pycwin_chcp.cpython-36.pycwin_dacl.cpython-36.pycwin_dotnet.cpython-36.pycwin_functions.cpython-36.pycwin_lgpo_auditpol.cpython-36.pycwin_lgpo_netsh.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_network.cpython-36.pycwin_osinfo.cpython-36.pycwin_pdh.cpython-36.pycwin_reg.cpython-36.pycwin_runas.cpython-36.pycwin_service.cpython-36.pycwin_system.cpython-36.pycwin_update.cpython-36.pycwinapi.cpython-36.pycx509.cpython-36.pycxdg.cpython-36.pycxmlutil.cpython-36.pycyaml.cpython-36.pycyamldumper.cpython-36.pycyamlencoding.cpython-36.pycyamllint.cpython-36.pycyamlloader.cpython-36.pycyamlloader_old.cpython-36.pycyast.cpython-36.pyczeromq.cpython-36.pyczfs.cpython-36.pycaggregation.pyansible.pyargs.pyasynchronous.pyatomicfile.pyaws.pyazurearm.pybeacons.pyboto3mod.pyboto_elb_tag.pybotomod.pycache.pychannel.pycloud.pycolor.pycompat.pyconfigcomparer.pyconfigparser.pycontext.pycrypt.pyctx.pydata.pydateutils.pydebug.pydecorators__init__.py__pycache____init__.cpython-36.pycjinja.cpython-36.pycpath.cpython-36.pycstate.cpython-36.pycjinja.pypath.pystate.pydictdiffer.pydicttrim.pydictupdate.pydns.pydoc.pydockermod__init__.py__pycache____init__.cpython-36.pyctranslate__init__.py__pycache____init__.cpython-36.pyccontainer.cpython-36.pychelpers.cpython-36.pycnetwork.cpython-36.pyccontainer.pyhelpers.pynetwork.pyentrypoints.pyenvironment.pyerror.pyetcd_util.pyevent.pyextend.pyextmods.pyfilebuffer.pyfiles.pyfind.pyfsutils.pyfunctools.pygitfs.pygithub.pygzip_util.pyhashutils.pyhttp.pyiam.pyicinga2.pyidem.pyimmutabletypes.pyitertools.pyjid.pyjinja.pyjob.pyjson.pykickstart.pykinds.pylazy.pylistdiffer.pylocales.pymac_utils.pymako.pymaster.pymattermost.pymemcached.pymigrations.pymine.pyminion.pyminions.pymount.pymsazure.pymsgpack.pynacl.pynamecheap.pynapalm.pynb_popen.pynetwork.pynxos.pynxos_api.pyodict.pyopenstack__init__.py__pycache____init__.cpython-36.pycneutron.cpython-36.pycnova.cpython-36.pycswift.cpython-36.pycneutron.pynova.pypyrax__init__.py__pycache____init__.cpython-36.pycauthenticate.cpython-36.pycqueues.cpython-36.pycauthenticate.pyqueues.pyswift.pyoset.pypagerduty.pyparsers.pypath.pypbm.pypkg__init__.py__pycache____init__.cpython-36.pycdeb.cpython-36.pycrpm.cpython-36.pycwin.cpython-36.pycdeb.pyrpm.pywin.pyplatform.pypowershell.pypreseed.pyprocess.pyprofile.pyproxy.pypsutil_compat.pypushover.pypycrypto.pypydsl.pypyinstaller__init__.py__pycache____init__.cpython-36.pychook-salt.cpython-36.pychook-salt.pyrthooks__init__.py__pycache____init__.cpython-36.pyc_overrides.cpython-36.pycpyi_rth_salt.utils.vt.cpython-36.pycpyi_rth_subprocess.cpython-36.pyc_overrides.pypyi_rth_salt.utils.vt.pypyi_rth_subprocess.pypyobjects.pyreactor.pyreclass.pyroster_matcher.pyrsax931.pys3.pysaltclass.pysanitizers.pyschedule.pyschema.pysdb.pyslack.pysmb.pysmtp.pyssdp.pyssh.pystate.pystringio.pystringutils.pysystemd.pytemplates.pytextformat.pythin.pytimed_subprocess.pytimeout.pytimeutil.pyurl.pyuser.pyvalidate__init__.py__pycache____init__.cpython-36.pycnet.cpython-36.pycpath.cpython-36.pycuser.cpython-36.pycnet.pypath.pyuser.pyvalue.pyvault.pyverify.pyversions.pyvirt.pyvirtualbox.pyvmware.pyvsan.pyvt.pyvt_helper.pywin_chcp.pywin_dacl.pywin_dotnet.pywin_functions.pywin_lgpo_auditpol.pywin_lgpo_netsh.pywin_lgpo_reg.pywin_network.pywin_osinfo.pywin_pdh.pywin_reg.pywin_runas.pywin_service.pywin_system.pywin_update.pywinapi.pyx509.pyxdg.pyxmlutil.pyyaml.pyyamldumper.pyyamlencoding.pyyamllint.pyyamlloader.pyyamlloader_old.pyyast.pyzeromq.pyzfs.pyversion.pywheel__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pycerror.cpython-36.pycfile_roots.cpython-36.pyckey.cpython-36.pycminions.cpython-36.pycpillar_roots.cpython-36.pycconfig.pyerror.pyfile_roots.pykey.pyminions.pypillar_roots.py/etc/alternatives//usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/salt-3006.0-py3.6.egg-info//usr/lib/python3.6/site-packages/salt//usr/lib/python3.6/site-packages/salt/__pycache__//usr/lib/python3.6/site-packages/salt/_logging//usr/lib/python3.6/site-packages/salt/_logging/__pycache__//usr/lib/python3.6/site-packages/salt/acl//usr/lib/python3.6/site-packages/salt/acl/__pycache__//usr/lib/python3.6/site-packages/salt/auth//usr/lib/python3.6/site-packages/salt/auth/__pycache__//usr/lib/python3.6/site-packages/salt/beacons//usr/lib/python3.6/site-packages/salt/beacons/__pycache__//usr/lib/python3.6/site-packages/salt/cache//usr/lib/python3.6/site-packages/salt/cache/__pycache__//usr/lib/python3.6/site-packages/salt/channel//usr/lib/python3.6/site-packages/salt/channel/__pycache__//usr/lib/python3.6/site-packages/salt/cli//usr/lib/python3.6/site-packages/salt/cli/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support//usr/lib/python3.6/site-packages/salt/cli/support/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support/profiles//usr/lib/python3.6/site-packages/salt/cli/support/profiles/__pycache__//usr/lib/python3.6/site-packages/salt/client//usr/lib/python3.6/site-packages/salt/client/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh//usr/lib/python3.6/site-packages/salt/client/ssh/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper/__pycache__//usr/lib/python3.6/site-packages/salt/cloud//usr/lib/python3.6/site-packages/salt/cloud/__pycache__//usr/lib/python3.6/site-packages/salt/cloud/clouds//usr/lib/python3.6/site-packages/salt/cloud/clouds/__pycache__//usr/lib/python3.6/site-packages/salt/config//usr/lib/python3.6/site-packages/salt/config/__pycache__//usr/lib/python3.6/site-packages/salt/config/schemas//usr/lib/python3.6/site-packages/salt/config/schemas/__pycache__//usr/lib/python3.6/site-packages/salt/daemons//usr/lib/python3.6/site-packages/salt/daemons/__pycache__//usr/lib/python3.6/site-packages/salt/defaults//usr/lib/python3.6/site-packages/salt/defaults/__pycache__//usr/lib/python3.6/site-packages/salt/engines//usr/lib/python3.6/site-packages/salt/engines/__pycache__//usr/lib/python3.6/site-packages/salt/executors//usr/lib/python3.6/site-packages/salt/executors/__pycache__//usr/lib/python3.6/site-packages/salt/ext//usr/lib/python3.6/site-packages/salt/ext/__pycache__//usr/lib/python3.6/site-packages/salt/ext/importlib_metadata//usr/lib/python3.6/site-packages/salt/ext/importlib_metadata/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado//usr/lib/python3.6/site-packages/salt/ext/tornado/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/platform//usr/lib/python3.6/site-packages/salt/ext/tornado/platform/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/test//usr/lib/python3.6/site-packages/salt/ext/tornado/test/__pycache__//usr/lib/python3.6/site-packages/salt/ext/vsan//usr/lib/python3.6/site-packages/salt/ext/vsan/__pycache__//usr/lib/python3.6/site-packages/salt/fileserver//usr/lib/python3.6/site-packages/salt/fileserver/__pycache__//usr/lib/python3.6/site-packages/salt/grains//usr/lib/python3.6/site-packages/salt/grains/__pycache__//usr/lib/python3.6/site-packages/salt/loader//usr/lib/python3.6/site-packages/salt/loader/__pycache__//usr/lib/python3.6/site-packages/salt/log//usr/lib/python3.6/site-packages/salt/log/__pycache__//usr/lib/python3.6/site-packages/salt/log/handlers//usr/lib/python3.6/site-packages/salt/log/handlers/__pycache__//usr/lib/python3.6/site-packages/salt/log_handlers//usr/lib/python3.6/site-packages/salt/log_handlers/__pycache__//usr/lib/python3.6/site-packages/salt/matchers//usr/lib/python3.6/site-packages/salt/matchers/__pycache__//usr/lib/python3.6/site-packages/salt/metaproxy//usr/lib/python3.6/site-packages/salt/metaproxy/__pycache__//usr/lib/python3.6/site-packages/salt/modules//usr/lib/python3.6/site-packages/salt/modules/__pycache__//usr/lib/python3.6/site-packages/salt/modules/inspectlib//usr/lib/python3.6/site-packages/salt/modules/inspectlib/__pycache__//usr/lib/python3.6/site-packages/salt/netapi//usr/lib/python3.6/site-packages/salt/netapi/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado/__pycache__//usr/lib/python3.6/site-packages/salt/output//usr/lib/python3.6/site-packages/salt/output/__pycache__//usr/lib/python3.6/site-packages/salt/pillar//usr/lib/python3.6/site-packages/salt/pillar/__pycache__//usr/lib/python3.6/site-packages/salt/platform//usr/lib/python3.6/site-packages/salt/platform/__pycache__//usr/lib/python3.6/site-packages/salt/proxy//usr/lib/python3.6/site-packages/salt/proxy/__pycache__//usr/lib/python3.6/site-packages/salt/queues//usr/lib/python3.6/site-packages/salt/queues/__pycache__//usr/lib/python3.6/site-packages/salt/renderers//usr/lib/python3.6/site-packages/salt/renderers/__pycache__//usr/lib/python3.6/site-packages/salt/returners//usr/lib/python3.6/site-packages/salt/returners/__pycache__//usr/lib/python3.6/site-packages/salt/roster//usr/lib/python3.6/site-packages/salt/roster/__pycache__//usr/lib/python3.6/site-packages/salt/runners//usr/lib/python3.6/site-packages/salt/runners/__pycache__//usr/lib/python3.6/site-packages/salt/sdb//usr/lib/python3.6/site-packages/salt/sdb/__pycache__//usr/lib/python3.6/site-packages/salt/serializers//usr/lib/python3.6/site-packages/salt/serializers/__pycache__//usr/lib/python3.6/site-packages/salt/spm//usr/lib/python3.6/site-packages/salt/spm/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgdb//usr/lib/python3.6/site-packages/salt/spm/pkgdb/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgfiles//usr/lib/python3.6/site-packages/salt/spm/pkgfiles/__pycache__//usr/lib/python3.6/site-packages/salt/states//usr/lib/python3.6/site-packages/salt/states/__pycache__//usr/lib/python3.6/site-packages/salt/templates//usr/lib/python3.6/site-packages/salt/templates/__pycache__//usr/lib/python3.6/site-packages/salt/templates/debian_ip//usr/lib/python3.6/site-packages/salt/templates/git//usr/lib/python3.6/site-packages/salt/templates/lxc//usr/lib/python3.6/site-packages/salt/templates/rh_ip//usr/lib/python3.6/site-packages/salt/templates/suse_ip//usr/lib/python3.6/site-packages/salt/templates/virt//usr/lib/python3.6/site-packages/salt/thorium//usr/lib/python3.6/site-packages/salt/thorium/__pycache__//usr/lib/python3.6/site-packages/salt/tokens//usr/lib/python3.6/site-packages/salt/tokens/__pycache__//usr/lib/python3.6/site-packages/salt/tops//usr/lib/python3.6/site-packages/salt/tops/__pycache__//usr/lib/python3.6/site-packages/salt/transport//usr/lib/python3.6/site-packages/salt/transport/__pycache__//usr/lib/python3.6/site-packages/salt/utils//usr/lib/python3.6/site-packages/salt/utils/__pycache__//usr/lib/python3.6/site-packages/salt/utils/decorators//usr/lib/python3.6/site-packages/salt/utils/decorators/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod//usr/lib/python3.6/site-packages/salt/utils/dockermod/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack//usr/lib/python3.6/site-packages/salt/utils/openstack/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pkg//usr/lib/python3.6/site-packages/salt/utils/pkg/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pyinstaller//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks/__pycache__//usr/lib/python3.6/site-packages/salt/utils/validate//usr/lib/python3.6/site-packages/salt/utils/validate/__pycache__//usr/lib/python3.6/site-packages/salt/wheel//usr/lib/python3.6/site-packages/salt/wheel/__pycache__/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:37077/SUSE_SLE-15-SP5_Update/d1d7ab105d9def17160e88c9a1fb68f5-salt.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-suse-linux            emptyPython script, ASCII text executabledirectoryASCII textUTF-8 Unicode textPython script, UTF-8 Unicode text executablepython 3.6 byte-compiledASCII text, with no line terminatorsPython script, ASCII text executable, with very long linesC++ source, ASCII textPOSIX shell script, ASCII text executablea /usr/bin/env sh script, ASCII text executableDOS batch file, ASCII textPython script text executable Python script, ASCII text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �RR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R B:PL�Y����|}A�# force re-generate a new thin.tgz rm -f /var/cache/salt/master/thin/version rm -f /var/cache/salt/minion/thin/version/bin/shmanpython3-jmespathpython3-netaddrpython3-passlibpython3-pyinotifypython3-Makopython3-gnupgpython3-timelibutf-898f12d98f6a345fbcc13b1cb9f8482681d46239b619ce251493089501d2221fb?���@�7zXZ �� �!t/��W�G�]"�k�%���a� ��� 0�X��=�oh�~�Os0 D�m��T �ՠnֵ%l1�ҦtOp'�`���{K��eVkS�*� �G�� Ƈ�}�P�l.$���e� u@q&ōFx���tlO|��tL�Ѭ��o ��ӳc6mLF�Xg�/���7s�c(2WB�Ghz͢�s�%���`��G� E�-��J�1◟�d[��v�����$=o�8F]��7G#��w��v~)DtSb5�����^��̞8�ͳ�kpÁI}� �/�� 8 =�q�8lmOa6���� Uc���V�ۃ3ou溞�A�{q�|���x�&�=å5�ޡ�|Z��IeJ��a�o�m��g����rJ�iZ�r$��Hv��I6v[JIb�[\������ ���q�S��p���`,�S�m�&"k@��z�,�_ � ����\�z����i���������Q����<���^�j�.G��"u �;���-è�Ȟ���{��ή6��{8����Ð���& 7S��8���=�I�2[_��M~C�2u������KQ�.�=K��L�׋ޗ�,=� L�����T\T褿ܱ<��R�(�4��_[ CL�f��%�������X��Sy c��r?v�,%��tI�V�y�SVh��q����<��%-�E��3|e�i;󱓢���ÚD]u���m�^����}EF��38zj���Hؠ�4J�/u ��ٻ���z?eC���$�o@�~�Ir$sqZK���Q>m�C�:��H@E>_�NĈ*+J���(Ԗ7Ph�x��e���%�G����7"�5��U.�B]�]"��$5�f}'������g~.[���;����ם�x�#�O�c�1�)�2}�ur�M��=�z;�skie����>�D�~��h*� �B\��_~�AS�f�3�־��.E�_�ޖ/@��V��M�h7�Gș-'Y���J�������ɬ�v������GJp�DLc;����̂�2�`�v0�=h� Z�i�O��k���F��<�k��҄q���b�%UJ~���/::��K0b��x���Յ�]6����x�����p��Re]��g�9�"�>��� ޚo_&q��#�1"�x^u0�u�se��M���z�dn����}�M=o������n1w��K4<�2�.�F��+L�'[b,J�])[�'."��&Rg�0cK{E^dB<�h�yFi��Ǡ[�9o@���׍�B6/OQ߉���i��!� �1���e�|�� �WG��sl�T�d���W�- ��ghU>恵iM����L^5Rsi�+Q�r��x��FsPb��=T��=2|�$,�ul:�՟b���v�_�m��^F� %�>��� }V;_]�/A�|�E��wf�Ź�ޗ^O����j(���J�#(��+@���p{�)�n�ݎ�fGx(͌��"rf �z����Q�3e��QG��?��K �b����0��mf�Q��kX㫟q�EH��Ԋpp��cIn�m1��5�9��2X�Ϳ��[֕�!'����?S�}'�e��R���˾�7ӛ%p��`C���3��| �%S>��b-K1t�ڌi�n$��T��E�HUf�� h�_�ϴ���5�@8�J4�U�Z}�e���s�������Q%�ev�*�� ��~yJhJ� � Z����+�b/Z�>�/ u��;p�Q(����?��4����0��� "������WL�P< ��I�ъ��u�<� ��� �(1�H�����i(��S�ct� *�.Е/:!A0�� I�!#�f9�����2�P�i��B c.۩I(����%�B���mp�Wuq*����%t. �OV���i�-��ԟ6zz�� ^���r�B��g�^gQ;~�k30|NY���#w�D8����ց�ev����. �`��QAF �6(�����Jg6�C�z�9@vkl�Ȭ'����Q*��w�'���%~� Ku��_UMy���__.۩�2^�]�������^��:a���a�6�V��_�KujV� ��em�.�����nD �b7��!�Vȍ<�{_u�3�-���S�~-Z8��̴��p�]г�i���f��|F�aru�O�ۚ���;��$[������1i�5U�����۲��ڟ5�JT�P������l+N����\,��A3;�c6���t�˻?'�+���-&���V����!����(iW=��x!�V������re�DZ�Js¢.�c��L�F��痧��7�s���4����:�-���P��܋A�eZ;���?#V��t)�9����WzLc�pI]��8������:_RlXT&��XT^�G�����u(�:�b=7$���\@�_�9�e�|�~UZ�"�S�S�����9�Aa<Hd�b��j�z dۺE�h�e�u�Y�7��6r�� M{B��jC�F�y��!- <�#�ÕS1����6 2~���Y_��ª�T�V�� ڋ��J7�t�%�vx�C5y��� *�e� V�d5��T#Qe�.7�|+2�����M]��Hwubn�M/�·m���$v�k�?m��:��T�8��1���]�AlR&0=Hb8 ��47���o�F�T�j����[}4v�z�$�$�p' ��@��"�ƨY�V�O$�A�4����grC�TI"�Du��G�\6�/�=��Q���k�"�z{0�y���?��C��O>���6 �H�k�t���0��^���g��?8�����)�|�8t�Q�z]��q���X��{pY�a-�AvxX6%"��l�~��u�v�矢����y~��:� �{y@��k$E��Y����U��(�_c�%�W�$~��"��b�o���yo�T�=��[�c g�����o��ż#�%%Z�6�)��~F є����N�9��¿�+��y�h.)�'�u�p�٫դ�N���N�E��{������|�C����Ixؙ x���U�3�n�L�����e �P��1i��ݙA�֕��ԧWKU�inS�0,�W=���X@y���BOyD1Mi^���o�������i0ͻ2��I�?����l��c�?�3�ŏ2�R���DPZ.�1�^�W#BI"��0=m.� �H�M@w���s?�c\��=����cw⼥o* ��' g�W�Ҵr�b�3ʖ�7�� c�=�@C�N̥���k�+�8V�Rr�g��"������{�i}�����+�j��SQ,��[�u���$ i�x�)}-U���>ҭ~0�Oۧ�:�X����N ��z����E�ʑoF;k>��C[ʺ�!�ɞ��5����A2닙N��^��D���L�F����f��i�{��ڿ`XQ�#��}�4���ˍ�3>����A�~,�xAha�}��o�i#�J� ��瞯��~,.섺ŭ���@������el�B��ZTAԍ�G�j�'�W�T��p���G|���`h���{_8$�K�p �Ü.�ˁV�z���!�vӉ��� ���~��|�J�K�{�A�j���5�o w#ϸ�����:��w���r�q5J�Q[�0:/�������<�5o��d����5�W����8�"8:9h�׵Z�c��>Âc�RO� L<��OvU�|� ?nx0l0)~f���4��!���]T���J�gc�?oR��J�[�}������� 0ר.��.�¯���0xb�$�*j�K��KL�v_����*�WzxQhᐅz=`n�}l����6ek1L��(�hC�q����! �t����D�$M��I�`�0��n��gN�V��Xh�-��[�nZU�oJ�b}�`���SX��d��yr����`z��]�HT��8���[}L�����Ǟr1׌�lE>�xA4���N��b�0R�x~�ņv�i�G�c�ե �*�{◘��+Y�ɵ�R�o_ ���ek�v���U<���R}�ڭ��f�"�ɓv�Y��F�:����iVҎ���+�qU����1����[��KGC� Җ�� �At�9�/����r w�`����]{�--he�Ht�UAf�o�K~c�47� �f���l�-�> �<�N ���]dIC`�8��c���̚�K�S�*��`x�B��.ie �����kD�L�*��F0Q�H!��Է?����,�|MOe���h*�U���N�� �6�|�9۷��,�`�����\e�F�dA�^�&&`E���!���Ģ0t�ޯv�S����\�Jdu+ �)P��aL����5>�����(G,�i�������v(��z�W��!����K)��!N��&�}����Y�⡬�B��Rl�^�^��t����u@|x�j(cL ��/t@X�uEE3�f�g}��a(o0�7' �'ڭ�����Cf���>�:ǰ�M��(0� �[�P��-�2� ������gkU��<��`���{FN�>����)�] ���鱃 t�&@U�>�b�F�l��wJU�5`7��m6 �[���8N�A׬̎�XuX���/���%�L�����l�n�F����4���E�;����0���jX"֟� h���a������<���$� ���<:���I:����A��֠G���)�y�j��6�M�R��A 3�n�)>Pwx>h�iq?>���-�l�ơ��v_&pq4$���M7l�"),Q*g�v�� p5{�U�j>���� �E�%�2g�Ao���޳���v_�ԇ��kO�4��l`�(5ٸ���� pp�H"v� ����V"DQk�N�}V �a�CcV�;^ E<�i%�F� 51��@�f��'g����kL�������"Qu��-8�B�Y��l���wȑ/�+y:�R9E�3��ך��)�ǿ1���J�UָZ�[�r��۞i �4��Gȣ������f�?_K���ϼ_#y��ǥޯS�Y �����l�"�������B<�d� т�ף���6f��h�"��$���͡6����V��{��=�+(@�^(y7\�l�g����k�%����Z�PFW4��8�ӡ�0��亡ܒ�Є��3Ҟb�`�t_��/þA� �&{�*�弖���20��n]�����MP�'��������磖i"��Z�)hR�j�;|xL��}i5D�m���o��|`;�@�֫�7�h\0��>��ݾ`'�K��" ��v�q�;_�Jw�& �c�-�*�R�ps���� Ɍ�VR��|��Vz�aF%��)��U����LT����%JgWX���f4�0`�� ��eոX�o�p�I%���c�ۄH�o�q�8f�'T���"��{L�3B5��FF���'���l�v)��c�� ���]�3��&���c���'�Rm8 Y��[}6�J �V\^�$�"�c�_"�Fe�o�m�97��>�'���h��&�;:J�NWC<��;6:7�υ�iѾ��F��/�0��,MR�ww�"�J,y|���9�4V�[n�Ck�6b�{�T�^ZvnY֊O|�A}��*m�aPtb���n�Dn�7j��|?�&�)[]u���h�.v)��"�,b̊�n��)� ?�O�5 |/���ht]��F`���$$ �Ƅ�)�2�W�DC�<�'�}���o��Z.�m��FR���L̲��Ղ��VCu *��!@Ы�E��N����A���Zc��Cg.�h�k���Y4a�z>�C����h�.u��XΊ���g�I.n�8�(�ןLD��[U� *�r�tP-�ޟӆɆ�"�˩�t��FOm}U#��8���md��x6`'�^3b�ߝ���m�a�`3���9�X>�6ݾ��g�@0@��"�\AcD�9�E�/��� �0kO0�-�m�ܱ/OH���G)�̫�;'|����Rm��������ƒ�5��m�S��#_q8�~Ж�\�=�A�/N�ZG�4���R�G!�a������e��:d'5,�N���"v�I��ㆃ.ڙblьP�7���r��w��(}�{[�gT�ۉ����{t��0��}"f|���X 8~f˅���_qg�9i� r��EGi��W�� �& �����3đO=�-olMϴ9IEw�>8ec��?,�*�dLN��EI5�;0�D\e10]�Eě-��="�B�[��l-��#�zY� �~��z�Er�0�r�nv����^�c��aA��kҁ��A�� ����[���w�;�F��U�o�[_H ~�� 3�oSlLTA���̐%�ZhGZ��"9MV1��5{�Iz���g��؞'�_�V����a�m�2���)3�W���I�P+�%,����E �ѽ�2�1�Ŏ)Q�U�wM��ocXb+M���<��c���[��5Ԕ�ځ��č�x��� ���s�Y��>�������%B0�n��� ş�M6����E�'�BjN�q6f Gl�Q��i������~��B���`Ԑ��u���cc2�g�0���u��8�����ؗ5t���8��Q�=��Rkn�^���[������+��e�1mp��I�����ο�LS�@�(#�6����5�V*D����hޗ��fb�iM0"���<�b+w,4i�6�WꆙɨKɑf�Ǹ{o���ׄ=� �9��i��=uo͋P���=��x�* A� �9T�b`��?[�t�۵�,��,�7���Z�n�l>��mIX��� mJ�'0Z�*��t�fz+aR� � ���� ���f�����}�H������\�+ VŒ�k�X �\���h��D��a�_�&a-�H�,5P��* �Ƌdf��A��)?H�>ED]���WZ*2C�mRdv�x�+K?���gj�<��g��g%K���^|���/e��S� -r�����wF̺җ���U<2x+��t��nʒ��h]��u:S��c�� q/;"���\|rjL��p´�Τ�Br��������F��X����Z�r�p���\�)��_���=�DPI�bk��w��0if��*c#�GJ ��=��kE��m�f�+Bv��w�K�����!.�j/h���@�v���Y%Fb�7�~���0�P�ṧgb��~P]��K�GܦB�28����=�� �Q��7��`x��uF�c�S���'K�(��o��d�Czg���K��\%��w��y/i�7ޗ\ #�j I�?�C����el��-�9DF�Le��QD�;V���Z����(S�<Љ��Yq:�l�8p8�~��y{,�0{‚�'ε��%����p�"} � �$+X��o����J�=��� D N-��/��#��<�|��b8E&���'|rY�m-�v�۝;T�Ř� R.�����`�l���Ǡ�8|ȅ(�����x� -���jȬ'�mj�{���(�g|*��c��C��^!��|2��}y�/��ڪ%�u�ds�q�~�OV���dMP����ΐ�� >��Jsb�up�R��Jb(/=�h0�֖�)�89�"u�8n;c�ҩ/2&�ޖ ����+�t��v�>��d{��w�pbu���fh������R�U�w��C�i���'f�P��� �F�'��,r���֎�\����e$����}\Bu��p�4�t�K����2<{l��~_����R�K|k��K�ж�5jj���Q���`0�?_mr��ҤX'+%�S��J'�y9�ՙSI� ���^�8nF��� ]�� + w����T�[M��H���t�Xi1�ƚ�@���-��Q����� ����N� .'�_�.*���T�cÚd��P�_��.a�@�C&�w���P�H�`�������{�^#Z���P԰S��W��I4 ���� ���R뽍����x���J���Oy�R�(#���8���(��o`˶n�����*��!V��cw �6�0q�pt�z��T�I�\J����c�)��N� &H�$�‰=�|SW��q�wS��m9�Y�p3�_U\��t�� G���o��-�ɖ��t�i�7�dK�T2�L(����ƚ!�����_�ӝ��\5�wv �\��� �)]�}�����'�d��+rXU�FFA��q<���&���$Z�Zv{p� �8qk�I�E�m���1�� >� F-���2P��>�k� �W;�1�R�H�=i�exF���š��#�m��r`]����o�;��I�z�g����$���=��*��)�'���"�! �x~��>^��@�^Z���L�p_�]&A:�H�y����3�u����P�K�X��77�*�\�"�fD�⩺�)���|D�����S���%�E�!��/��s|��������ic�~`��������O�#���9aȥ���_�o�1Rp ��3}�ˮ��1:�>\9���w�ݔ���IFR8ѐ�K�x�s��[�d5 ���L�N��>��b��F騇WX�k�MS��?v�9o����/ٲ#xp�:n� ���)Z��w���ʷ�ĵ$��f �-pD����o�t���:���|c��0�]�����B�[�L�X��M!k����'0\�;�%1�ziuv��sZJm�zʤZ��2Y��>�K�/)�*�7)K��}��l���T�0'�<��M"�w^��b��uxc�r4���Z�����͑����[Q�( =�3�z�L��x�B��r48l*��:P_�ʐ며 ��V�! �3xK<]f�!ɘ��< { �(21m�I�r��<�"YQ�4��N. �����1�*_��}��t�*�/�oG���ڜ�"�O�7��Y/�e7:�n��eʅ�X@^/6*ܖ�A��P_�P��z���O�� ����_��j������q�#�»*õ��T����@*u��l�-:�^apI�J��,%������2'����v:�U�=`ν,��1PVGۢ�ܭ5!!'��XD���T�ˮax�{�"�g�Ԕ����-2������Gl�0C���>���x�.z5��߹��(H�g̎��Ѭ\T��ۢu��S�^�N��{̩���r5�g��UL�Oy���+���E������H\ ��}e%:���ß��`�?!��R۬�{��Ėʁ�l�dL4Fl��s�7Tn}����IW\$�) NG��YC�hYv߭lr���[��/B*��p�$�9�Y&.��n]��c�B(�K���8$bބ u� 2�ὺ��bb�Hs�/D�}��OѠ���(A$2jRkZ+_S������OP����6!�a�ߧ�wP:�V��Q�IUY��>yjUL��O�����R���v;a �C��q� {����;�����U)|�Î�h2���р��F`� `#���0�������-^�8L1��#�}e`�_/uөP+�yN*��a��cS!>j ��l7�R{�����T���F��>�s���B0�Doa���Ҵ�i{6Y ݿ��mJ�����4;i���Uu=U�ٷ�Kk�oL`�E�7{d���z�ݒA��5W���hx�w�� � ��h���$VvAc�e��B+�Okڐ�z(�� �+@�~)���&�<4�%sq�׸���G,��B5��_� [���9c���o�Q����:P��P�%W�DMI5~Q`� �>�_`���r҅� �6�[\�d�~�љAj,�k7���7sKodJM8��EGd|�hXK��?����L!�&���ַ�AW8��3���;���t���Y+U<� uaOϒyI����?�*�}��;��>E�m�5$�q�o�q]�k�zd�*<�zA�ݭ�Q=����vЬ_��� i�� U��~�6u�����ͽ�M� ��m�(�X�Ð�?�e_�Wp��SS��)�������p*s�-�Y[N �f/@-]m���X�h�Z���XJ� �O1I��^ɏ'����f���P"J�qd��B�(��� q̃P�*�0Y�r��]��!�W$���$�T�^�sLd��5D�G!m�y��_h(�����e[ 8F��/;�Y�3AG�s��Đ�b�H�CW��>5$�2�?��S�S>�쑕�E�fE�˜�J�lY�֦����� %��V�[�9f�n�&��oE9�v�@� �e�$+,J;�2}<��?"PY��O�����z�q T����HbX�-i���kC����:�0�a�dDh�|�\�_(ޠ2 �_ OjL2�_�ZeO���^���ɕs��$����e��nH�]Mv��u�܎43��ِ�1�<�F��^����(��.�gE�vn��ޢy���Ư0�Uf���g�ڔ'�,p�V��C�� Y��� ���S<4�`��e�毭�OĐ�����Кѡe'��� i5<��y��qr�\.��ưQ�A��LOf���fPs;��G��ń ��a���p��Ε�O�π��AX-'�f���^r�h�t;�`x���M��$˷c�K,&��fjFȖ(+r,��jҥ������ RY �)O�B,��@ \�M�_b� Xp�(��Ԭ�)�g��1���F��܉���Xs�(�S��&�7�2Wml���Bڐ`w�H �ؼa��!:b�e�XX��iD�4;�K����馄VzV��p˙��Lرk�?���?�dF��2�<�:���9N�ŗ[g��2v�$� ҒR��M�2-3�{uɠ��F|PH=�t*[���@�,�|J*P�½ ���sr9q6p٠)ˋ,N���퉇�tz��X����4M`6�L��wIAp��x_�5��F�Ou��S���6H�0G;���^�\����;��~1�|m�^���P@�b��A`gC_Ft3̪���N��.|�y1qF�c֊���/A+��\��ss�v�&�,m��AƧĖ�Hrp��2�<��b ����%O�e:�##O��u7�A�����4 �4���ϛπ� 6'��u��cE������ؘ^�e�>���AkK (v� m5c��鰇k��ĹNB��_/��1�|�J�i�ױ|Y_�Y=UJģ*�.\+��ωqU/ �����⣽�(p9�wǃŨV� �依�칦0#���aݕ&w_,��c�;��7�>����nu~�U������ ��N����QU�^�ʭ���#�L�W�)7㟭`�����(�Q����;NI�8��4��CTt��Ċ4+�Π���T�kg�Z�Y�ۋѐUo�B5Mѥ�sL��&�L)~�������a�|�H=u���i����عx+L\ D��a� ,'�GD�/ن��lM�_À�ʾ�@�sM�`��Ɔ1v��L�km��>S@������r�j�������TM�;�㋟ t�@�(]9��r� <��&{��ݛ�\ ����# � ���8�~�G������h��Ej��8w�aCMM/r�}�=�Y=��Z�x�L�&wR@(c����7J!���΍W�fp�"�6%��?�qL|en�MgHl�o��٩׫+��P$Z�ˉz�S��IҠ���@��GP5��� ���ќ�("�8|�5���<)�Y]��I�������pp����e����p-�m�h_�*�/�;:-Ʃ�l�dmM��֐��m@X��c >��팧���'"Fߦ�N��1�����!�e�0 � ���JYC��M�\+X���-u�f�����9�������K�J |��e��AD�p���c4�R�p�u�r/C���;U�)`��;�@1A ��E��_��>;���.�=C"��S��QA����t���ة�v��}�?L뼯��t���V��#��������^�4��xxk�t?�K�CB,a�����5��f�_��S�x���E�P!�O�AD>Yr$1�;��`�2!~"j�ѓ�'=����v����� L��#5 ����m�,������N7�Hv��w�w�����rz�,{Ѯ���2_�eD��4Z�Bc������N���*M�gr�t�G�Hn�ڎ~6Ŧ�|��l�Q2���X-W��C�MӅ'n��BX(�Z�)r�ɇ"��&el�+�X��ê�+�rx�\�2��p��� k$� ��4b�>���e��~}{Y�/ ��a��K�5[Cɥ�K&�-B�lo���-�di��K��e�}�ٿ��v������e1EE����|�ű�!��҈;{�t <�"ǣ�`!|s���`����b�a�T+�.�����Z�D���q��2��$ |ю��ē5<擥�SD�V�W}�l_��a}�\�Hr��%�L��L��^�@�E�������נ����]���"rZ7���t�;�J�;�� kfP22��&ӈ M��`r-�����;�I�":�0P|�!��ļs�� �{U�ӓ�㠠_�X&k�b��^'��:X���Y���Q��8M>a�F��] �K�� -Gfh���{�b.�z1AoHQ��{�#���X��1Q/DXMWl�Byõ��F6�qz��մK*Ϳ�li��������2 �4O��f*���mţ�,֋ ;I\����7��"�"/�j���[�tc�_��/�D(UՒ�lH���] �d6���f�p��Sx�#o7X�5�N�`���5�h��[b>I�4*�m� l�J�lg���[����(�|��/X�6���Х�O �{���Xfd�Hf���0w�������_a�oV�ll�ב7gWg�U��R� ����M�Ƅ�;�#�F~rk����J[��MD�"��j�̀yW��Z�<�#�5�PH�V��Cۺǥ�_0�e��te�,��]�!C��ww�m���ز��Ů� �!�U�l�� S�������B���L2�4@�C����c �DkB������Ss����F��q�M}fD��$%q�o���h�k�Ǫ�Dt������ Y�|dg��o���F���9a��<(����J� |g���n� �XPʖ�����t�`;�&@#r[�}w��E�c�v�yJ��le�� ��������6v���ER R;Iձu��~�T��ͤ��i{c�v+^�녚�D*���*��E��ͺ1p8oOy�-��k����H�� ��6�%�7DO�%U����H�����\L����_yt�Y�nu��k� �S4��:t��WO�B������e(l��V��G��l� ��4�ca7�#O���~MZ�3|�)���'}�Ix�S���ʋ�S$]����b�HWݱ% ��'�^6M�Q�ֶ.��~ �d�51\,���������Ա -��CS�8 � ��,7 ૪�.wM���=�R���޼�A���X��m�vx/=��H1�m�6����g;l�o�t9n-+"q`$�b!^y�*0e�gwc����M�.�><7rKB�g"s�[��.[W��*j#!�p�N=�S�jE����YM�� ��li�"P���606���T :��� �d/ &��<��5�w�!}A�����n����|c�����Љ��l| a���_4��xMl�o�x�I��������*}�Ng�4Y�-�i���N�OӢ���W�G7�{%Kы�d���5+�z9[��C=�rqL�Vc�{���w��������]�N_W���y��e?ɷt�K��TPkL�6h��'�n�c%�M]E�E�sB���Q|�Ll�sՙ�G)�U�����/��� y�qׯ��M �����3���7��&�QגM[�d� ����lM���l옸j��$��Й1W09wE�׾� �HUV{C��m�Sl342b^6� ����S�s8�W|��%�a��3���3��ƧQ%� b�F��Y3ڦ���+�Dj��?'|!�x���lz[�N{>V��E�|��w�ɠH�ײ��GJ�d�tO�ɞ�$v�^�^��S’� ���u7�f��I��s�� �fD������B��CU5������s,��.�6�I�}E��I4ˇ��DjJđ��� ��X�#�hіF��o�1��ƾ;^h����W����i[\��f���S�'/.��Z�4���/��՗r�eo�� ;w���u�V��3�Q5��a�����Ҍ������{?" �Dj�����Y#,3p����,��PZM�=���~Mp��\Ֆ�P�os��n&��ѕ�_^?�ʗI��Η�8��/SF|�v#i����5&�y���ȣ;�z����/[����� �k�Ϧ>m����< B�� J���jx&㈻�GD��+[޹��-lj������t�=�I �����ę��8xn�3�ݭU�z�u<$yB�f1^=�_`�����H�'e��Z�R���ȡu��1��/�������FŰ�i��vYu��3b��4��Ao�YS�i����9@f�U�4,���\�\n�懌��_��׆�q2�� (V�Ա��W#