Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Started by Sokolov Yuraover 8 years ago23 messages
#1Sokolov Yura
funny.falcon@postgrespro.ru
2 attachment(s)

Good day, every one.

In attempt to improve performance of YCSB on zipfian distribution,
it were found that significant time is spent in XidInMVCCSnapshot in
scanning snapshot->xip array. While overall CPU time is not too
noticable, it has measurable impact on scaleability.

First I tried to sort snapshot->xip in GetSnapshotData, and search in a
sorted array. But since snapshot->xip is not touched if no transaction
contention occurs, sorting xip always is not best option.

Then I sorted xip array on demand in XidInMVCCSnapshot only if
search in snapshot->xip occurs (ie lazy sorting). It performs much
better, but since it is O(NlogN), sort's execution time is noticable
for large number of clients.

Third approach (present in attached patch) is making hash table lazily
on first search in xip array.

Note: hash table is not built if number of "in-progress" xids is less
than 60. Tests shows, there is no big benefit from doing so (at least
on Intel Xeon).

For this letter I've tested with pgbench and random_exponential
updating rows from pgbench_tellers (scale=300, so 3000 rows in a table).
Scripts are in attached archive. With this test configuration, numbers
are quite close to numbers from YCSB benchmark workloada.

Test machine is 4xXeon CPU E7-8890 - 72cores (144HT), fsync=on,
synchronous_commit=off.

Results:
clients | master | hashsnap
--------+----------+----------
25 | 67652 | 70017
50 | 102781 | 102074
75 | 81716 | 79440
110 | 68286 | 69223
150 | 56168 | 60713
200 | 45073 | 48880
250 | 36526 | 40893
325 | 28363 | 32497
400 | 22532 | 26639
500 | 17423 | 21496
650 | 12767 | 16461
800 | 9599 | 13483

(Note: if pgbench_accounts is updated (30000000 rows), then exponential
distribution behaves differently from zipfian with used parameter.)

Remarks:
- it could be combined with "Cache data in GetSnapshotData"
https://commitfest.postgresql.org/14/553/
- if CSN ever landed, then there will be no need in this optimization at
all.

PS.
Excuse me for following little promotion of lwlock patch
https://commitfest.postgresql.org/14/1166/

clients | master | hashsnap | hashsnap+lwlock
--------+----------+----------+--------------
25 | 67652 | 70017 | 127601
50 | 102781 | 102074 | 134545
75 | 81716 | 79440 | 128655
110 | 68286 | 69223 | 110420
150 | 56168 | 60713 | 86715
200 | 45073 | 48880 | 68266
250 | 36526 | 40893 | 56638
325 | 28363 | 32497 | 45704
400 | 22532 | 26639 | 38247
500 | 17423 | 21496 | 32668
650 | 12767 | 16461 | 25488
800 | 9599 | 13483 | 21326

With regards,
--
Sokolov Yura aka funny_falcon
Postgres Professional: https://postgrespro.ru
The Russian Postgres Company

Attachments:

0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot.patchtext/x-diff; name=0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot.patchDownload
From f2696dc29bdb46de62e8aab3cf4685fe53de9f3a Mon Sep 17 00:00:00 2001
From: Sokolov Yura <funny.falcon@postgrespro.ru>
Date: Mon, 10 Jul 2017 12:34:48 +0000
Subject: [PATCH] Make hash table for xip in XidInMVCCSnapshot

---
 src/backend/storage/ipc/procarray.c | 21 +++++++++-
 src/backend/utils/time/tqual.c      | 81 +++++++++++++++++++++++++++----------
 src/include/access/transam.h        |  5 +++
 src/include/utils/snapshot.h        |  3 ++
 4 files changed, 87 insertions(+), 23 deletions(-)

diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index a7e8cf2..2a5e3ac 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1533,23 +1533,34 @@ GetSnapshotData(Snapshot snapshot)
 	 */
 	if (snapshot->xip == NULL)
 	{
+		uint32 cap, max;
 		/*
 		 * First call for this snapshot. Snapshot is same size whether or not
 		 * we are in recovery, see later comments.
 		 */
+		max = GetMaxSnapshotXidCount();
+		cap = 1;
+		while (cap < max * 2) cap *= 2;
 		snapshot->xip = (TransactionId *)
-			malloc(GetMaxSnapshotXidCount() * sizeof(TransactionId));
+			malloc((max + cap + 1) * sizeof(TransactionId));
 		if (snapshot->xip == NULL)
 			ereport(ERROR,
 					(errcode(ERRCODE_OUT_OF_MEMORY),
 					 errmsg("out of memory")));
+		snapshot->xiphash = snapshot->xip + max;
+		snapshot->xiphash[0] = cap - 1;
 		Assert(snapshot->subxip == NULL);
+		max = GetMaxSnapshotSubxidCount();
+		cap = 1;
+		while (cap < max * 2) cap *= 2;
 		snapshot->subxip = (TransactionId *)
-			malloc(GetMaxSnapshotSubxidCount() * sizeof(TransactionId));
+			malloc((max + cap + 1) * sizeof(TransactionId));
 		if (snapshot->subxip == NULL)
 			ereport(ERROR,
 					(errcode(ERRCODE_OUT_OF_MEMORY),
 					 errmsg("out of memory")));
+		snapshot->subxiphash = snapshot->subxip + max;
+		snapshot->subxiphash[0] = cap - 1;
 	}
 
 	/*
@@ -1757,6 +1768,12 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	if (snapshot->xiphash != NULL)
+	{
+		/* set "unbuilt" bit */
+		snapshot->xiphash[0] |= SnapshotHashNotBuilt;
+		snapshot->subxiphash[0] |= SnapshotHashNotBuilt;
+	}
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f9da9e1..fdf0a1c 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1450,6 +1450,59 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 	return TransactionIdPrecedes(HeapTupleHeaderGetRawXmax(tuple), OldestXmin);
 }
 
+static bool
+XidInXip(TransactionId xid, TransactionId *xip, TransactionId *xiphash, uint32 xcnt)
+{
+	uint32 i = 0;
+	uint32 j, k, d, mask;
+	if (!TransactionIdIsNormal(xid))
+		return false;
+	if (xcnt < 60 || xiphash == NULL)
+	{
+		/* full scan for small snapshots and if xiphash is not allocated */
+		for (; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+	mask = xiphash[0];
+	xiphash += 1;
+	if ((mask & SnapshotHashNotBuilt) == 0)
+	{
+		d = xid >> 6;
+		j = k = xid & mask;
+		while (xiphash[j] != InvalidTransactionId)
+		{
+			if (TransactionIdEquals(xiphash[j], xid))
+				return true;
+			j = (k + d) & mask;
+			d = d*5 + 1;
+		}
+		return false;
+	}
+	else
+	{
+		/* build hash */
+		int found = 0;
+		mask &= ~SnapshotHashNotBuilt;
+		xiphash[-1] = mask;
+		memset(xiphash, 0, (mask + 1) * sizeof(TransactionId));
+		for (i = 0; i < xcnt; i++)
+		{
+			found += TransactionIdEquals(xip[i], xid);
+			d = xip[i] >> 6;
+			j = k = xip[i] & mask;
+			while (xiphash[j] != InvalidTransactionId)
+			{
+				j = (k + d) & mask;
+				d = d*5 + 1;
+			}
+			xiphash[j] = xip[i];
+		}
+		return found != 0;
+	}
+}
+
 /*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
@@ -1463,8 +1516,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 static bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1496,13 +1547,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxiphash, snapshot->subxcnt))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1523,16 +1569,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xiphash, snapshot->xcnt))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1562,11 +1604,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxiphash, snapshot->subxcnt))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/access/transam.h b/src/include/access/transam.h
index 86076de..b60126c 100644
--- a/src/include/access/transam.h
+++ b/src/include/access/transam.h
@@ -68,6 +68,11 @@
 	(AssertMacro(TransactionIdIsNormal(id1) && TransactionIdIsNormal(id2)), \
 	(int32) ((id1) - (id2)) > 0)
 
+/* compare two XIDs already known to be normal; this is a macro for speed */
+#define NormalTransactionIdCompare(id1, id2) \
+	(AssertMacro(TransactionIdIsNormal(id1) && TransactionIdIsNormal(id2)), \
+	(int32) ((id1) - (id2)))
+
 /* ----------
  *		Object ID (OID) zero is InvalidOid.
  *
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index 074cc81..e0a3b11 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -23,6 +23,7 @@
 typedef struct SnapshotData *Snapshot;
 
 #define InvalidSnapshot		((Snapshot) NULL)
+#define SnapshotHashNotBuilt	(0x80000000u)
 
 /*
  * We use SnapshotData structures to represent both "regular" (MVCC)
@@ -75,6 +76,7 @@ typedef struct SnapshotData
 	 * note: all ids in xip[] satisfy xmin <= xip[i] < xmax
 	 */
 	TransactionId *xip;
+	TransactionId *xiphash;
 	uint32		xcnt;			/* # of xact ids in xip[] */
 
 	/*
@@ -87,6 +89,7 @@ typedef struct SnapshotData
 	 * out any that are >= xmax
 	 */
 	TransactionId *subxip;
+	TransactionId *subxiphash;
 	int32		subxcnt;		/* # of xact ids in subxip[] */
 	bool		suboverflowed;	/* has the subxip array overflowed? */
 
-- 
1.8.3.1

test_hashsnap.tar.gzapplication/x-gzip; name=test_hashsnap.tar.gzDownload
��KY�]kod7r���_q�5;���H^x�1�/��A>�.=���lMk��������{���s9�~�N$`-��y����9�{��/^������������G�\>Sd3�|�xB�\�]�O�h��������z?MO����G�w���G���_����������q{}��V��\�����w�)���7��d����d��g���a{��W��~���y�b�����Df��q���Y_o?��1+���~�/�����W/������L���W����z��l�����4��_����q���3����'���������z��������
����%>~������Kq����o���t���j'7�~������|����@~o{}����Uu���^\������w���O�_�\N�������xx���p|����o����WW�i�z�����8}�r���o��n�g�L��Dd����?L�/��=������@���O.�����gW���������^l����#�}�x������t�����������>��-������,����y��H�D�o�O^�f�_�'�����>��z����6��������g����vW~����?��/�����7�LZ��*���sz��������>�fz�����������~{9=�j
�:��g_O��������i�w�����&��EH������}�_���S�l����������N2=����C���0���_��#"X.x��
����}b�����/�q
�W�W�w������j��]�.��5.�7�����p�=	�%z>�xe����,%�|}|+��^'�"��o��x)������!����������e�[�1�
�J�2jKgg��<f�Lf�aLOs�6&���1����szvn�%��|L��t��r4����q+��v������Sfk>|m�n��$���bC��i>$�
�2��
��������nD����L���
]������O��������83�w#�����2y="������eK��{�a�#&s6���hl81�}�hh�p�8��(N�?|�|1	���6�1�<�:���s����2���9E\W?XW��c$u6�pY�i��w�zK�%g
"���-���L$p������<yP���I���s�3�������?�,MV�r�����Q��.[�T��uL�����R��d����YrS@��K	,YY��������Z�3�Y[B81�,���	-�h�X�pr��Y�7��Z�3
ys�%t\���:.	�)�K6�7���Y�%'����-�@$e���-��6��D�%�x��5���`�0���+����k��,�|b���>�Mg�F���m�'7^!�,�s�����l]s\�Yj!^k���:���M�q�����-}u\1��M��:V	���O�L����mE"�������$�2:.-����6��U~�e3�����������{��������<:fg 
A�,#3��g 
�hL#�\W�pD���&�������^:��jr�"�|�<\�����k"��X�1+I��qi�Dn�DY�����H����~a���"�p����Lq�X�eu���C����T!a��������	}�l�@DA���]�0U�EkE"qy����5����H�|r��\^�FY�������7�1�H�![��=��V�_l9���dp�"�XB�r�e�f�W�#��)��p�IF9Qnyu��*@�����!h��-��?�PM�Z����s�L���s�LkE���X�ZR���;e@D�S%���qZ�v\py�����|B �0�����n����rGY��*��#��}C�,"�(l�V�%��
<(%=�1�����M�R��8,1���)Qp�AI�o���'�v��`�jq&�,�'�X(�����L�yaq�\�g&�a����f�ga;�+��oH��";9��L���Q �V��IF�0py�Y����=Qc��H
���S���3o-f�v��s+�J��AA�`[qF%���vXT���,�@q���*�V�����
j��8+mQ�s\��X�9+���W�i���L�B�P��>�C�l��Y��`���QzH)��uO��lT�qM���A��D>$I��{��8���m}g��3�r5n
�
�:niMD���*��8����zs���M���n?(4.���0p_����T	^��v��~zss)�g��������~��z�\_�:5f�=��o����{y�_��Os���js;L��v}}��r��G�^���q��r�|����i��v�~U�~�����?�{��O=��Ode������&������ns}{Y�qs��m��.���W����OfvEKw�No�z�����g��7j���]������&�_���%��A!�$�����z:$�S�^�u��Q9�iK���crA��u0����M	j<IGa����M�b	��0����&Y���+dz��������-C���%���iK�:�L����ai%F��/q��`jW����"����'"� oZ�(i�Z�WY�Y��#�19��X-�����G���irI[��H��5P�zoaL�hd��28��N����fU�6�(�;���Q��:�a���L�'����Tc�s��S���5�d��b����z���*��:k��X����8�7=���*Z@<W�}����U!@�U;�J�\W�iO O\h
D�Fk���F�2�T=)������Y���1P�"/���Q	z�iXn\��S�+%9n��f2A;��d�K���V�k�<���=��"v9�G�������z��m�������1I6��R��e�Q?��!�j����� @�7;��d�=E������G^E%����������	����$��i��l*�GB��
 ��P�1
��Q���(��F��IJ�YuD)�DD���i���w�h������p,�/��)d�}�	��B�L����������p��K��,J�8��U@>Y��
����k�%�~7��U�R�]��[FaL�S�)a��[�L�RO �-���E=�L����(�B�7�{���kd��� �L3��)�/��<X�#�B��K��K����U���RV��@�����Z���u��n@;��K�Tp�6��� kC�1�Lj��H@0X�487�_�#U% G�/z��#�{2�X������V��,��ui
K��bg�z�*dg�G��Z�n#��%�����=�@fA5�?��:��
��>�w��k�H��K!�5��1(�z�
����0r��6��%<�T=�
K6�R�F
nV�����aYr����I�
�	����^@kra�LK���
�� �!����*�4g�?�S��X����!%
���g�n�Y5S\���rl�Y3D��
��
c�8%#�-a��:��SO6����	�L��	����*�?\W6 �j2��G.�t����zC���
dk�D���p��&L����!+%�o	���]������E���Z��&gP��R��&�r���������KC��:�"�4Mj#�/��(����g����j=�rnr����� 0� T%��sOA �A���^Tp]AAC�� �:7�p�b�n#��iJ�fq}��D��j"	U���*���	����U�uU2��LC���a�
��4���P*���g�$�Gu0*����EgF�����*	J������TV��*%�hQ����R�zR>�2����bW�HEUnE��
2���H<O>`<��j�b*'nqMC���4�{��n��`����K���$�5��z�;���,:�_LO���'���=��|`�x�z��������;]	��,/{"(���f$�O����������SX���?���E�?e��HR%�����)���Q�h71d�a�S$�f�T+HU�]���\����S����~�vA.�?�A�"�������}R-/[��k�:��!�S&����Tt�9J984T��[���?����T)��R��
I�HA_�jy��u�JF�T��WY�N����/�e��Xk�����b��nIQ2��jybuX�� �zw�����p'9���g����J�!��{������H��d��?�Dp�094t�?KX%��^UV��J��S{��_,��Z�����F(!����(�;���U�R�)e�[��R���F%�i�B���M	z��	���%�j��U�^E��������E����C,�G=�?�t@~xN�]��������X��3[��l
&}��A?����� z�-.��~�Y��.pV�}�r�)E��z}��*�*�/+�����}��O���d��{�_0!,����}��*WX���:fEgr���]��T��g)t���	�W�,N����R@}�������k���`�|����&�` ��/xb������v���a�y��Y������h����a]�?�h���$�c�3�G���� h["T��]!8��{�?F5��Ak��f��@T�J&-,��������y�8]������"���+T$��e��	P����w�`��@�#��G�H���8>(MW������^[o�w�s���~
�*�����$��~�.�/��
".P�z�~�f [����k)a##����Q������D�,zA	�z�~���BX�q���K �A�ZA�	g�0��^����&\[����r-#
���1�z��k�����	{t~���]:_����%�~����(��eu�N�|��Z�#�l~�LW��~z���u!�,�\�5*��0�T��k8�Ix�����B#�ai���7*��qV���_V��n$��,�h|�y��po��eL
�����%��-�c��z~<�JDh�5T_�E���]I����L��/}!�n%�U���K��~gm5��g�s�C���^�8Db����U�{�q%�B^u�*}�b���k
�{/)�xp��'��,�� �!"��q��=��j��[>T0!����W�{���AK��l��A��gN�~�F��8E|�V��{�_�^���Qq���������@0h�(Q=7*
�<�+*K��"
/��22����I�U��BMn�YZ���F�\t���)�Ce�e�#F^����C������-t�z������R�W�^2j��i�)�be�%I%$*`��7?�P��A]g�e����$��,��0�[�q��J�r�	��9�p��+y�}��3���qN�zL���Y�+�	�k�����������e��q�q��V�^2���y���_����[��G��g�$��*�����E�%K�ZK/eQ��)��CH�b�
��o��J��B�<Pp?��|�x����t^��T��V)����%E�YG����D��W)��]�6�W��������Q�)���]�q���2U���p���\E��
*zMe���=�V�:KZk��b�<�jz���iu�Y��>�l���/�h�3����:������N����)�=��9iF�,���O�k����5�;���e����G*;*���cQ�
�,�����1������TSQ�
W��^�_<'���`;�k��������T�i�����6��$�9��<���b_����p3��1]����ur��?q�`�w��.�/���	\lI���+]������6��/�+�FW&\!�����D���D_�o��l�1�R�@*�/��^[}	���}�?��3�f��H��^�����A���3(���4�g��bp�p����$�v%j���ke�%���-����x� ����M]�_�I@�%@/��QC!��Z��Mv�	��3���x�d���x��/�7>��O��J ��
�L�� ���
���jK!�����o����������vvV068�C����X��� ��ky��Py�/�ILp=�?��>�ui���J�K\�>q��fA��{�,KrY���V����jz��~������Z�"
WK�������I����$��@�p�G�Z<[i���fi�Z�n��ADp���y���_��#4��������?l���iZ��c5�}�CM���aW��
Y��y�v��$�8g`�!1lb
�7����U+��4>����}%IVb�����f�Z��R����B:��VR��
�a���u���lWV0��w�Y�����7���d'�����z|�5�7!=$#���f����RR��e�5�4�IV���"�m7�	)��?x$�
-�-��B���:����?$%�8i�?���Xy	�����y��jM�q�"GB�I~BO��n��Y��3����a��H��,Y�?�>�E�-������FV�s�����f���]�qW�� ������~B(��h���n��=�����A>����n�W��"!�����=b�`�����2&�%�:�?4� ,�oK��t���N�����&��yX�kkxB+���Y��CX�����Z�8�#����G0O�������=�y�J�("#Nj(��k�m�u���t�,C����5Y�fu�8!�:X�I�����	+��+#|��C�2�g�e���=��\�����?��IY���)��j��mp����YV������'E��c?�:a���v������9��������%�����P�T�Vn�����E*�8�-��BS��=$J���DqBi�~���W�9R���>�[lAhGEEW��O��~����u����{�B~���F_D��j'?4�x��%m����-�R�;�*�����bL�����"�������de����������`�zV�?����e�n|���5�J�K|��nF��������������+�����������@�)�k��%�6"���8�J*��>���������E	�O��H_A[k��a��pG*&%['�Ge _�;�Z��K�����tM�<)e��l�&0��b�2|'�K�k�����R�:S����T� ��|+��=�U����J����/�E�D|'��mp�D2���	�G�|gQ����+���t�����D��
�a`#��LE�H��M��{C���)W�1��-�$~N��@.�Mi�rT���~m�t@��]h�k���� J�X
��
p?���|H-��/���Lm��RX��x/,H��' `����/ZZXY
p�t�P������Uz��v]g����+)���X�
�����F�����`qC��Ui��!G��xq�/�f�?&U�I2���l|��3#��9���� �L��%�X��1���40��P�A����i���a\������,	�����Db"xp�]QK�ba��	4Ys� N��2��������8a�H��u�[����Zr�zt�`�����h�
h�2o��	����$�@<X���c��?�h�`��}tS��om���Ih��r:�?t����-��D�����wA�J�U���M��1���hl
��������R�nj�/�u���q��T�9�������NXH���l &A��~�n
���=�t���|�		b��~�yC%��/��7�u�X"lsh��-��W�4�o���ztS)�
��j�=����������\H����l���U
q�lz=��M����%��"Q�'������+��=v�[�QY7�i����T.D�=��J,���&m�^98���7������J�\_���g�RL�+���`.�~T����K���v1�P[|�fHW������Y����_����[7��p�Bs�~H&�������6��-�M�b�����Mc�Z[�����	ZL����q$� ���t��3�D��orN���R;���<b#�k��a
\!�c��Gt���]+��|9�='����S�Q����F��EbPS>��rEj�q9x�'���{��'QF��1j�]i}���R��Dg=<;+��a\�7��&#��%�{5�� B��&m�������|dC$p�:���p�s�Sk)��'?P�����64
V'�T�[7�b�d�RL'8��LXJ�5�p��\�p�D
;����2h���O��!%������d�����h��C�U������n8-m����7��2��yA�v;~S0������k�5�G�y����"|;|�l��&�D8���Qzt���R��_0�HsRL�9��L�����l��[;C���^B�H|�q�����T`�������t�5�-�1��{�"�6DrtSs��c�df���$��q���
DFo�>8iT~#�����jc�@�=qq�9� ��o� pAn=���b��F�������������
�����������(�{2f�������N�;K��-�t�rB����5�h�;��!TM��6f"�EJ���������h�������e��y�&+XB�����X�dm���J��g��[k4(Y/�[R�����^�����V�)��s��V�P�`�#�gmH�_;�Wg��=;�>�k!y�+G����I#*�������l�P��J����8{�����+���� ��g%������,d��2c.��VR��>q\�E���O3F��N�V�e�����o*�.2T�)@����eT|g,E]���E���!�����o����B�<$�"���
�Uz0�J?k�[���m�Jii���]�����^�[
k�����k��^����V>"������E����-�
�����F�r��-Hf���
+P���~��+�H�Q>�������
-8��h%��Y+����VKS�a)�O4�b#����6	H�{�9G1M��MQ�������,��*l�f������"��P��F�nz����/�e�k����u�S���]�����v�4�`���I���+<u=�)�gP���������X:���?���������p�{]Y����*~�@��� ��M#V��F�4�����*��e�t'I4������Y���@6�0���W���Zb����w���]�WK�a����5�)-5�����?�F*���YV������<zk������I����a��M�z��=�����j��V���VL���O�V���������!�������������E�8��|���N��(#e�GW&���H�����Q�����?����1JyDT3���/��W��*����MQ��r����'��2�V��^x����
��3Uvju����!���y��Ox�&�h��c�_�\�����[������{4�����B��z�9j2����uI�$�����u��A���MM[g�A�tHZ���S:y��EG=!]�Q�p�%�uS_�(���@�vtS�����*|e�e@[u,�n��2�����N����MT��C9�^���[�B��r�0�����e$�sS�����($�F��!���3w��
=:������i�N�^��y��m
�����������Q��]��5N.�b�B�]�nt9FO�B�u����l�	��+X���M���.W�.���G!MtL��v��L��{�H��U��
!���qtSX.{�������z����K����?���7����o�����$")�����W��NBw������p#`��tc�M��v�������8�Y���a_iid�{�4�Az9�:{0%����4xW!A���v�&R]=������X��������|_�.h�N�����!�4��H�����o�(~��'����|k!GO��%�I�4�����$����v���;�H�����
���8o6g���[���u�������2\VZ���k������V���w��uDsc�I��o��m����Uo�������\~Q�W���]�k��m�w�?��������������Y�5��h�
a��k3���Q�����#��`�����ku��+��C��:n�VI��1W��z����QXM���O0�0�����T�����xBD����
I�=�� ��|g��'��O����-�!����Nc����nJ���[���8��s��w���(U����d��J�tB�
��oU����@�XR��#�:~�����y��!I��s�$P�.~�O�W�e����[Y�+�k�4.c����:�lA�B2�����=?[H��HZV��1J��g����aN�F��?�z��>����K�?x�S�(��F�@�2
�=�)�K�Y��oU+j�	��QG������P�<%���R�����p�+d�B������#a�E_:��#���>}��I_F!����b��}$���G'�[J��/s�r�R�$�HnV#�Y����s-z�s�V�o�j)�m���?mv�3�����v���o����1��*�6\��u-��j�����[5����G#3�!w�����c��|�
��������jW
�tN@��/�:dmw=�I�"5�d�FK��]#�� ���z��e���['�lvrw�$���p��1!�_�O�����������v���+6{?��2���M�Efy��D��_:�k���u~H@K4������N^l���
�c8�i4r���Q�V�]��#x�Q#���H����h��::�a�,��w��$�]��
B��4K8^Tx4�������J{�i������6�gc������w���k7:�N��`Sp92��1uP'������:E�����8���>Rd�omd_�m��k�{�J�t������?*a������*�v���������?<����4R�Y���8��
�������
UF.W�N��7MC���U/������;y�8wj���|k�]'�0����	��M��C���kRL6�dX5����C��p/'����ztM�e:��Z:J����	����&9������"8��%�un!�� �B.��i��+�]gk&��]��_7I7��������[��gZ�f���
`(��r��5�"�+�9�8���?!D���*=�	$�vtSc�h�.5����d��H{>U�N��<�h��4C����!�l���NI��ka�0�������	�����K�������?�H�%�CY	��i����HR(j��7)�0E�~�-��(t�'�W��prM&c����%$����+���
q�����%�M8�)|	0���zx��p0��zV�����:��B$�����++SpCB�����k�LG�w�^+���kU�W����������zd<;��+3���$K�-��f�i��]%G��d�'���?�Z�8�����&m�
����	o�$���'��������m�U`O���n���8}�����t����rJO��6��v68-��4�J+�.������
�!�s0���������O})W
f��_���EZ��Xd8�pa��#r&$�������o��#V�����#g:������Ze��B��:����W��[��U���N����2+���?�����{�R��s4��?�����]����;��������w���b������E�^��-T����'�Rh|i`$KP�pp�s�Y�QK�a�d9���n$F(���twp�PI����L��2���
���
�o86�D#S��O'H���Bqas[J��>�@��K+4O��vDn�+��1)86�����b��>u�� t.���
�X��$�h[4��)���E`;A��"I6��k�k(c��W=B�{6
��a�D�L��y�yN������O>� ��&����`x���Y[��83���]�,GH���u�8UY$@G���b��Ly������@��zBB���Q���&^P��N�I#�2{T<4�H@6��T7c���?**�#F�BqmV�p�X��OH���"�A�o0�@�cpq�����V3~~H}�N��o�{KEqD8�f7�~�T������������t��������Kp Lhe���k��\A��P���<�I�������\g:!@mI!y^�@�����J#M_����dG���7D�?��d��{
���Xmu5i�C�����H��`-������%��:�0�
���&��N�,Q@�N��N�>��J����g@�B��� x-P�#C
�Y0V��^Q���N+�������ltIg�_4�T����/J���E�)���vodh�j�S|�Ps_j3�Z���
�v!�hJ��\�}9�H�+BM���d�t6���Ek��/���c�#�z��jP��uE
�H{
��J\[��`�3V���N�"���b��}������QW�*�R8��fR��*U�	"�/nSW�� d�U��F-B�@�x�A]�]-qr����L�����S�@���k�����Wc��w�k����b�-AEb��������"O�<�����v=�d!�S�f�nzc�9Z�M���]��A��E.f��6�zcp�X,����9*���>��8��8>���R�D��Be��]�
�o�S3S��
����"�+&�G�G_��T�^�/GC"������kg���$Pw���RjA��5�����.����r,AYH��������}{�J��n�B��7�@�D��+C���������6��L6H9m<������v|��3X��U�3)��=�(��[�:�9<T����U�{4Z%����+�'��A�-����	��[�*�Y]�-�)��~����c�C
Y)���tv��
Z�Z�}e|��s��H���+���t�4�)����W�2��/L�U�+��k��Jw����@���c4��&5���f�q���hW�J���,�-0�-�|�}|���I>0_��w�H�*����r
G8
j2��aP"����P���t����2��p����d�H2T����D�q@�+���<��)��?���s�����`nR>�P#R��Y�8���q�C������U�d�d�~�H%�����E�HW^��p���,�.|G��$�F���n���:iJM�:}�t��
����&�'�8���g���UI���*��������Y���eq�/G�GePqyr�-�,t�&���-���o�x��7`�]]�A��eD�����H0��{�.=X�_�:
j?���
:��������C�������]�p��$ (��Y���V���x�bZ��
��+��/u���������@��U�X��~z(��?f��UKA����e"�k�(�Eb�����`��F���A	�3�6 ���f���J�?:�������������%���i�k�wF67��n*8���c3J��ALp��/��vf��Q6N�1�J��4�a�&n�0{32|_:b,j���h��KD�L@.�����$S��K��^�tq��
�Ed��B��>:�e�EZ=���Avmc�����o�m��E����������l�4���PB�_+t��� GE���o.��YH���<d�BU�ktzM������2R���R���{���^��d�M9Z*��/�"tD�oJ���BiV"�< ��%1G�"[Q)�����h�lY����T+�0�}im? ��+W��� �rx���7O*#�k�-hT>��+��g��V
��:NV�7��@_�A�:"�.�C�~��6
������Q+WHp��VX�*��G\��0�b�d�c��"a�����l�J�U!b��=�hL�D�9�?�'�d87���]����>���2`�T�Yy�v�,0�p�[���������%Z*������]'$n��������QY�$��/nR� ���P��L�16@/O���K���K�2p���V��e��O�.�0�$�^�����6
`���7��/F%^����g������
`��+J���8Gg���/	���i�@�]�'��1Ct�P���M2��oF��:/�������jM���j��������%�.�Y�p��G*�r��O�u���9��6<Ct:f�])��
x��k%���7���������f)���JK#��{G:I@�
:Y������)�D�x`	�H�	Whk�7'�`�gP��uV�0��p�����v����0��;<��T!Ur=^�"+z���{m9�_N�	Vq�+��M�}[���q������5m�pT#O+�a��������|c~2��(��`�h����il
kJ+����W���J��`���Lz�~�ce`H/�C�*��o���Ur�'��	���H(�����FL�r��A^e�n��/9@�4t4��(��n}=�V�J�@�!�\
��P+]0����#E�@��c@���9���nz�S	������vR�*���0x�h���1���
��c��
�����-�@X�����$�j�#�H���,�:Z,�e1I�5� ��cp(������]���Y$E�aJoi�#�Bf(;p�N�����k#>��p'����um�����a����I����J0�0�}w�}9x�	��a���>�t��k	�sj�&Ie;+�$��a�s�Q=��8�;+O0�	�� y�fPB����7�XF�;$�8��y9������qt�U�S��S�������od�t���*�~�Z��6���	H���J4�����)].���
8�p��c�����b5J�u���V��~ �
����A���|P6��b.kI	"�9hm
1�L��`��u���U���.��S2D��n��!vNsx��� ���!�r�X�2H��#lxB�fq������I1�����9�����������r�������6�������?��?zi��!5P<����]����������>]���)�$(T�����x?��X���Z(e\g� �-�*Fl�Z1�\;UmZ�@3�����.���T�D�=
����]�c�epa����97b.�J���6:8
� u8�v������w$#���P������Z������`��U� 	��h�$%�����]���nlyH�����/j��k�!�U�a��i�5��#��.����.r�m�d�*��Fnv��IT�	������q�h�_�Z��;��������Q�t�����yQ7@�!k,��SA�A��;�!Uz Z��������"w
�w�7�Xm>�j@�?��W�����Q�DM[ s�2
����xU��/&����V���	��x�{�
��fB`��!�������T�XLZoP��q�o�I�!�����C
f����� $��\M;�!$XeA�#w�%�8��Z4�97|�
�.G{5�����a����aFW(����E
���)4��	_��{�p;�	��PdA�@� <��V�,���Z���1�!:1����u'�S�Y�����P��l����7<�O.������h=2�o
6K�&�0R��>��o
6�O1���Z���2����gT��1�
&�D �d���s�� ���[�2��\@I1Y@���1���'���=�N�B&���"��%�V����x_s������0K����k�J��[�������
��2`!#�G6N��j�����LP��( ���?{��t�3%
��#H�Vn�*�����X47��i����)=*^{����@���S�����8$vc.*���"�x9��I��RC|�����r��(�������)w�\�h�	����
p[�5����A6��Po*Y�zjB�P��>�6�����H��8��?��)K"V&�$%
�����f�G���G����������6���{^:L�I��3���Z:�3��c����u�?g�gGk�@=`�5��l��6N���@�8M,~$J�< �8�8� 4	�S.#�3��{E�S2Fy^E���a������s��= m W�� �����u�-��F��s\�ef�7tX2
!A`J�6|���x�`����E�>2�{���Fu	��c�l�!�l�:b&�s�|���`�CRSF5���q���8������[������tL���h�k� |��
�O,�"����'am��w{�{&�9��j:����w;��4NE
HUX���IQB���B	��u��+������C������F��~�n��'�(����C(7���"�F���H�����6���5�Z=p�2������By�Ny�u/�lc��"��P�Q�p>Z1_)�{J�(pQ��|�Q8I�$yR�B����aBt�a�����a�G+�BN�vtXG�����=�e���������������b@'t�XU,��i��.�`�E��J.�so�gG3^�Xp�f��H����qC�jef����J-�
p��������e;y����u�(�8(�
.p�Fv�gA	�a-E��{W����[6��m��bT�PpMZ�Wu��$���~x��`v�r���%�B'ca�s1-C�P�zqMRFk���u����'�9�+�?��U�=������cp�O�d$��1����m���@<����$��+�yBB�?J2`����?&��hb��Q.|.���������������|�?���U*eD��3����cQ* �d/c�Z��@�y78-2%w�@{
���1�H�c9-
��U2H������8f[��'����J1�����0}�a�
���Fl���;�0�W������y^���+������;#���m5�x�l��
���!�q��C����E�'���u�R�4�`���r���8�b��NpP��0�m��"��F	z����a�9qoC��3�D��W%���\Q��Ld�P$?��J�/�z�nx����F��aL�
ed�CR��k~(�F�����G�[A]R ;��:����&D�{�[c��Y�q�������
>U����&Y#��0E��t'���x#(���P�R
�D���'��Z�R�L��[iy0�!0y�T������Z�s�:�h�6@����C��+G��#�{���FVN����*A��R��F�/�R�E��U}j.�-�?�n����M��p��aQ=Z��p7�_��&��@� f�������0��&1��qi�5	�ZP� ����)��#�-1=z(F��F�F���p��rC�b,����BXN4�1�����@+���h�?��T� RBE0������@����-�
�Q_1)�>��Q&�b��_��J^�E]
g�h���>a�QPiC<~vC��O�5����z���k$�"3�p�o������l��
f\Qj��CF$����#��<vI�S&�S�:�����2��5kL�W/CK�*	1����
��@�K/�P:+�]E�BI�Z����js�Le\�n�w�L�T^K��� ��8�^�~h�KnJ�u��[�)�C���;�C�0�|��iq�CA���X9��e��V��\c�}
���B������1x��`��`��~��bGZ�7c�0��`Y��F�J)~���eJZ�!5vP�MW*im��\���G[q�qx�m��(��b
Ya�T�\���B}~�l���
��P�����8����8=�Rh���}��<q��
u��#��nL�c��>�1��.��jLn���
S�T`��c��:���v��k�����	�/�8&9��2Gp�*B��Xr+�(��hIl�91|C}��70�����M�@���}����FN�<�)
���A}��PI�2��A��V��05@�������d6�cF�N�O��*P��-���E0�P��#���>�M��b���t^cPg�����O���E	�C��?p�1l} =�����HR�t��^�L1�^B),b8(0G�'o��v���]�C��b>��T���P���z���>
���3�Y�)��F��y����u5I1�GAF�
��_����:���U��{@r��6D����'	��%�|�{�d�(/�1�5�|Hp�C9^A�D!Nv�����B���`,D�Fv������?:(&`�A|�Z�5��b�g�C�u1&&�[F�����t�_�I/�P )�������P(U�X�>��h�h`�1�w����pY!�xuhb�le�I��3k%��+�"��
�����S��m]�A|XE�/���$��md�L	_9?e�UR��
�I��nL����|�I�
`N�2�2m�U��d�[���v����d0H�� �h�A��{��a��kA�)���=j]@1h��B�'F:������S�#ZS4C{�y�s�����k�:��C=G�|��x��q��K��C���J�W]���0n�4��h�����%F<$`�`.�$�	�������O��Ec�������X��N��o���_�Y����?��}�?�g�?�YpP�G�����[���ua*��`/��,�����}`�������C�q�P��������p���I��^�$��C��Up-Cu�.hK�=N�����o����i�A��?�����*Q/���B��k��`m
}=a�'&/�E�f��pQt_�L���J�����t�r����\S5�f����h�C+���D�#�}���t"GGD�XD��/��}���d���"�x�>[��?����o�T���I��F����6������?Z�J`N�E_��'{(�]2�G[��p��
��1mK���D���5����	���2AmH	�o����r.�K�A�����:"G��A�A$t���
K�;L |�=�3��k�8�y�O�-����]Cv^�6�t�4�gi�?��G]�\Iuu�D��V@���yRV;4� L�Sm� -�o�����F:n�G�XK�=��#���hc?j�
�Z,��(��`�=������'��Dh�����A��A��EE[3���]j�3��`���O�U���7KDM��(���!@�e����@�,I��H$������������bB0���!��a	jp#�?R��{���J�MTJ�x�t@��5�
h��3�oHSLu'�U������a@��jd��Es���a@.l�P�
*p]�+Z��k"���8�IJ<��(��2�����pw�\��D�U���5�5�tYKq ���uA8�����:�I+��Q��6��h�@�p�/h''z
��xL����^�D�q Ch�m�12=*��(#
�<��a
[8H�K���<����H������o��?��q��0
�@\$ZP0�@�Z��)4J�^���Y#E�� .g�Q�y��>	�l�g��r�q���?!��<'f>��X�:,��:��HH]k��� ��r���
S?���e@�%8�;
F���@�0�\�y A+F�^��O�?�6+�^��k��;C�yYf��}�H�e�s�E R�����A\V*�&�Y�D��:*�s�ah"����((��a�����	���U�q�1��������<{�wM'���c����W*�7d=
lU���3��JJ��@���U#�����$I� ����3az�������&�ds�����p�@$��k�q��6H�Z���!��p�vg@}����e{B�p�Eg# ����(���A�d�r���N+�"	�`O� ��W���}\FZM'���	���	�\pq=�����:�	���n
�.]�oF&��)�)���N���#C���	:����
�
�(>Xo$��q�Av7dBZ#��I��4!G�� �7��?�Jw���|�/�H��:��$v6�m
L���60J ���8���x����@��2�N!�J��;��]���H�p�P@����8��q�	���q�5���������!A<�v�J��c,�PVb@�dH��H��0	\�=	bFQw���R��Vj�ic�����O����=�@�@��|!#]*��9Hp���;����tB�))�O+X�[��"A�P�c!\U�G��!B���������8	�`�tV�����E+�����`l�e1����� �����������w\fz%=4����L��xD��K��adcAZ���9�h�c�6�E���]D����-�,�c�p������RJ�=0N���P�ruJ���������S�N	$��.Q��6�^x�{�Z�I���U��mX���0��W$-�X�A_��'�.n��p������=�_��\�\Pb<�7�������F��~�@y��~������an����1����j����F��@ w��E����j��?�7����Y-��7��P�f�c��L������q\�)�gV�����+�<�3J�+�:�+��A�+!�_2��q�G!�p�����-���V��/>]����b�f�����_��4�H�����\/3�(���e��rZ��d+3��1hh	�tX�%#y��������U�a���������+����3k#���F��%�����3����=���1N(Q��S�d�����(���B�a=SG����rd���:��*�%��S��W������f�3(>��%���5��yB9�K��C
K������x��Xf��$=������1@s�m���:���;�=G��;��p~-��|��bw������U����=]tI�����,����B���#��t��	�����s��l���|B+���	
��|��d8��z#�C�I!~���Y�/XN$�/L������=&( X�J��u!D@niO��|*"�1�	nGp��^,�]�:Q�!?�����5���"	��[��2T�V���(�3��{����{�[�@��K!U����l������v�/��pe7�OG�Y��}*I��$���JrK^	!��,�=��rK�8�7����&����&�[uA|T�Tk��f���	�+�M�6�����}���z4d��N+K���m"^%�!�@6�W�P��1VJ
�qO�%�5C��Nx�y��ZS�	=35��9��5��#Q��Ip[�	�r'=��k���}
{6R'��2Vg��24�.r~y�����Z��"�@�\���&��q��u�����!�s��?V�t|e5>��bX6z��z���vCg�5�WX�B�������P�����
����2(Q����A��E!��0�.�����P�92�L� ���o�X��H�u�e���m/�e�d\�/�����D&����(%Jq�4y�io+�G��/��J�1~-�q�4
�pB��&j-z;PpIWcaw�b���B4(}V%E���8�Es�9'[I�0J/�����|�*�H�pq�+�g0���4�#���Z�l��:;.�d�[gy��v\"mlYNF��/���F��XYS����J���&q.�:�B�_�
9�E�4Z9�;�-������p�mW�MDm�������e5�7�w�\<�ZB���G/M&D5C��6�Co�]��K�LT����l���d�?����+��[��<|\w�	�����W2��=:�YU*L���(�pW�6u�m�%q�,��^�[��MT�#5`�+�E���W���������W��[��u��Npvu%��NF;�Y���]���]
�o�%�a�
��-��?��s�8p	h�^,���h#8������c����J�� N�Y�������}�W�w�����]��G��K�eQ,����X)����m�Q�~�M4��P�R�
I�OJ�?$�cT���r4C�4?���d�c%��������c8��`����h/�pZ�_N���e��
�sS���]D��/+O��G��5����/Qf$I0<��s}��'e�������c��������|�m�o�N����U���!����&��t!���~-@�OoV����!���s��y8[Z92�+s3�� ������:��[LM��w�j:�e�
n}4l���]R�X4����~����_y�����`h�-:�sR�MYP���)=�N+/�;����R�v*����3�Rf}�o�)5'��]����Ev��kz���`�+�R��V�Y����
E���R�U38@kQ'e�
Fz�R
�iq"�+;&n�[V���#���t�+u!��3���gJ���q?���R���b��*�����wEZ�lW�	;V��'k�e�C��b�-���@��:Z�PO���v�>nJ��M��NKw�:�(�7����h������X%�-������A��&.@4&�2n�����L9p��H~R}}�C��C�Jaw�9�F�50=��X�C�h,z���1���#���;[H�q%�b���M/mx@��*Ai(�n3����T�x%�(~�XN�q)����tj:������k}I�8$��K��A������$��8��Vd�Y�����K��ED�a����K���7N�H����Q*������#�p�SX<.�����$n�R�	e]�C�!n�X����c����(~RP��RKY7����y.M����D�+@����Z+�X{/z�5��]����C�Mm�d=�J�]�^j�������������J��T7Bb������}4�g5Et��O���wZ�I��Z� ��/�T��=`���s�cV��p��_M`�5Dt��������Aw�R���=VbB��|L��8�	�L�4>@�v��r���W�?-�����*�%~�9�F�8�sJ��^ot#�C��"�	�F����QHupK+��{���9��.���B�?C�FI����,�����O����kb�i������R	 N�����@#�`����,�I�4N2BG���F���������KqN�I����Gr������;mFx���[ed�P/�q9��[7�`���;��[(������!��
v�������H�At���H���-0����}r����H��2v� �d)�TO$�8�&d"wB=��k��b�9�O2Fol4�u��Ji�p$G������T�K�u!C��x{`I�$�U����H_���Y$M�3,A�)_t�
�bN���{���
�$���G �V�l���M�����Q��(���&"|�s�x��6����`T�QLmN.*��H���(bs*#X��~� ����
F�5��B
>��	)�?�o>�����"\���(�0����,���
�������������]�����CF{@&���hI�?x�+:
Y��`x����p�q.�!��N��	-
���>|����b��M��v��B9�����A��d8�����>��F�
���]����nn���7�Wc$ER�wW�����4mg�6X�1?��������������R^m�������@��(�X����s������������CH�WR�wE;��� gnO-��{4V��N�XD<Y��"��%�c
CK�.�/�~�c+A�$G�@��5n$���b�)z��i�hX����J��,,�=+�/m�R.�����������b��b}�L
h����!-G��&���{���o��D�FV
�����g�8�4�0����|*�1:�\��#�r�N��!D�@��q�!D�k����PT���]�n�8A?�vH��*��U���IO����U<+������-�������P�l�~B8Kd�������$�5+����J���?������5x�a�%�����*��`0WLlH���
�fA���Q����������}O!]�{�d7w�E�D>	i�����@���|����"���@�8�O��~��`%=m-Yi�e���l���+�nY
������F�b���$��Cq���S��Z4.�W�6�
����J�!J�.��C�ZB�����������	m5+����b������5V�O��S����U'�jv��,��\r5g�J�.~������8��M�y�j@�����:�����]����|+
��C�n��u�	�S���Q�%FV��[)����3�/u#�_�U�����P�UTU����*���%�������/�� a%��L'g���w���h���;	�����g�|?[�~x>[[i%U"��w������C�{�|������puV��Z�d�|���H�V��L����j��l���g�8w����c�  7���J�Q���K�-��/}0����Y�"��P(���h�k�O�f��������0)�X�kV�_%D�c%s��
�'*Z+;���X���"�FZ9��Y�~��~'��32��z�Y�P��y��`����S+ 9 5m�_�8�1������X�0k]5�-3+���
��y��6����O%�������������6��(8�} !�t��*��o��`s;d����;[���+��Vx��N����`@Z�a�4{:�B�UE'W������s�i�����T������^��%�n����y�@��N���m�D3m��TF�T3|�=�+�+�xOr��O����1�\�4������Vh�%��S�LMIY��T��$H�(���l��p���k':k,��RtFi��'����P�F�������=M����M�X}�������������X��zf�JV����|�h:�����������U�G��?�\���@sdU���dX���?��~���b���J�>������*�{����������G�����#������F�p�J����p 
�B���]
�gm��j���G�'�I�?��Tk!�`�pG/r �;���b&@�F�++M�$�]x`��UZ�����#>b(|����5�P��#0�������/���|Yp�Q(@@��F����'&���y1dQ��j���C�!v{��*�T ;������o,�>�q\�y�����f�:"���\p��7t�"�����f/���~����"�1>��F�����_v����,���r�c�K:����N������"~->�2Jp=Y ;�����X3*/�@	�Y2@P),��Wb������x��
����P�Y�k�?�����`�v�lU�Ya'�V��7�'+=�]�"<��,E�JJ��?<JQ�%e��K��X�Xa
����j���$E�d��0\f���[i���<�X��m�����
k�}����Y��&�-��o@
�~��_A:�6�����V�:U�p&��x���E:I�V�{)�e�R+��^(l�j�
<=���q�|�P���1b�7�����7�����{��������+`t�����3����+��C[���C�E"��ou���p1b��� A��,�W��7K�~n�k�����
yJ�

�q��*��k� ����HK_�7�:U���u��R�����"��@K���>�	nE�W�x���&��m7R�) L+k�����Le=N�q���Q��)j��L�{�7�HW4JC=D(��!�K����M��5�����m��JpU�Q2�"� n �b��
7�-6=#�2R���OZ��Z[�=W��$7����cs������z4Q���3�Ul�?���_(�D��<��5v�I�!Hgk�����E{b7���� O(�q��VEu�I��tv��M�	�P�&�?�:Y��	��
1��c%�Q3���������wj������k�Y]������g��,�����N~f$~���G�t{Ua�B�zfT��fz�0{�(
s	����7����
w�%��qa�E����
���%���{��6�W�BDv)������P���d�a�6�+'y��6�{|&��/+��o���#7�r�Gix����M=Q�d���`��d��#�Z�K���HV�����;�8Eu<2EB���A<R*�xeM��=��=GY�XlC|%��xgd_i�4~8�#�����KN��J[����nXgg�e����Z�'SV�����Pt&)`��p�kFl��\k�wR���v��Tv� O�{����-�z�X�%Pj'8�"���y��L�#��/V���,�����.��q�����G������V��$	��O_$m��	�P�b��K0��m)�r]o����F�M_�F����-oMf������������|��������"�����x���v�r#���2)���J��W"G���.�B@����- ����*k�k���,�����1�L0�EI�������3 �-���q��@��j�����x�����W�Ow@��yX��j|B-��kTn�H��T��s���PC%���O�Nm�H]8BBi�\�92,�K��5��I�R6����8�0$����������>:[��s�j�J/{,&�@B��l��Z��_� �sk�k)� ��U�^x��>9�(��.���o��J�C�J�	r�AK+��"��nNf�	]~8���[<����@@J�h��1��a�=�i�,K3��	#��z#tL�U�qaa�������J���g:�KP�O|q��Z��'��J�Z���������$����x�*����!=�7�F����z��������p��X<��A_��k>�C���m��4����������W��^Y�B��F��c-\I$0M�u�B�����p�(�a�k�#���?uV�0�Go��"�e����9�t��X�=�g�����?�8�.�,�	W��>R����-��KF~ �Q�n����Y��*T ,3AUp>��[�nj����]-����T��X��q\&�������0 XH����J\#.���DM)�\���/�G7M�{m�+B��n�c��b#�E���D=�L��
�[�h�b�d�_(F�����J#������G7�^�^�
1��������yL7n ~0?uY���7�|)��B�
���)j.���uS�p��+cr�u�9����X�'�{h��SW#��u��K�� 2����������2���MB���o����M7��?��Q�a��>X����O�����8g��T#C��N�����A�|+��+!�/��B�/���)����M�D�$_Zbd ���_�x���P]c��|wj-��m�1UF"�Hq�kc��]�����)����N�i��K���[���99}��t�^���������oZ�}�/�<q<���	������������������M�TY�����N�i4}�bm��t�}.i�S3@A�5�$.�N��7����R"�_x0�4gG7)��Y7�t�k�9X7�HH�,�z������F��-#�8����W���#Vo�c�X��#�R�r�M!/1_�����]����3�5��N�'��� �a�&����,������^�en�%���S��6F�,W[����n��t6��&xQ��d�Q�`�X�D�7�=��X���t�Gc������pi�^K2e�U���A>1�k��fo���t���a�Z`��}N�r	GZ
4�5��5�i�"
>"��I�?������auu�O��g�+
pU-������Z~�o p��S�������y������w���X��&8L�~T�F�R~N���:�Uq�Z����2�f�C
��0w� aeQ��������d��RN�����bK���0-�W��T�����	P�����������,��__�FV�w/d�@/����^���G�
��B�5VJ6�eh6���q��$�Q�������8�����O������*��~}������2���dd��@�x����d���z&������ZY��|:=-��#����n�wq���N��+�������4�	����1�id�WDS��NHGh�������*1
FW	�^�����Y��P(�o�B�����e������A������8rW>x���LYZ	f&�+_0�Ac�T����,�^g�DH:��U�rQ'�xL��?�(�+UV�oE���8��)���[��1�&p�!}���V��5��{B�X�,�4if����_:;/|�����(!�7y����������/M��,�b����q�M5
U���)�K��R���^���J+��L����6:�5I�c��M%����{�5�������0����u���O~9���b��&���R[����nR�YZ6X���Z	�j\�h)����4�h��L����	NI����ci��/g��P��eW=����]N�:\��j��H�^�����(��B#��v���~�"���9���M{t���{-3�p��J��2����1^��O�����S����Z��1�bL����uI:5���t�Ka�KKV�������$�EP����`p�hx0����j���[k���DA����4��h���	����]�N6W,��;�[Q� BVz��+�
N��G����S��&#���z�M:i)b����o�h������������r����K�H�`nF�&J�b�7���n���o]/�g�kQ����PJi�w��/�S�r��D���MS8,�G@gY�?�Ml8�_�-��)YS��t����I2�OGo�c���"��#��X�����	�g�pAT�����^��&UvCX�H������P��vC��c�E��8������v���C0X#����[�p'i*/�����bu��VZ���v���/q�<� ���������/�-r��V����������%���H!G��H�(j;~S]���FD���7E�!�$�f���L)���U������F2�q���9~SASin�
��������H�N|�M��kz�+���	���%@������2n�&���(�D+�r��n$!��Hb�����W�X�`iG7)x#�d��Rr��q(g�4���/����J?��M�8��y	t~��M
����U�$��F�����~���|D���]�H��1��p��#I�j����+�&�^����#l`_����"q�&Av�D�1�l�o��=����#�H"�,^6�M8�����H���9�����zR
�L��E�����Z�����:(�q���GJ$����\
�������t9B�P��u+������{���������?��_{G������@����$���U '�)|���N����@��+0H���2�-����RpD�"��=����A�� ����s�
:�X_���������	��'�3����
	W�Sie'�����x�N)�:x`���R!�w1���@L�������8rrP�����*(}4�-x|���jS\��'$�wP&�e���}%���~��	�F�e���	��L:�:j�@�b������d+ew�����F�g����O���+i��-B$��6:\�]�7���M��`�N��M���C�Q��;����b�E�RZ
��y$m�S�8�u)��\���<v��t7 �r�H���TI�:�$������D�t�y����;	Nd������C�A�T)�����AU�0�j�:��$�=!X�oU:a�w���Z����0v��
���0�"�[Ld�8�$�E����
�9z�����I/�H������^��%�/�������� �|>��`�I���.�h�n����~��������]�H�?�5$O�����z�B<&�����V�`���T(;���,�Ut�a)r��k����c��`6v��5�6|ki[U���k�	
��� �������_/E��v��D�a��I�� B=hI[|L�y�c�H,��Q�-1���Kq����G�(/E.ns��<����x/���(}�U�FF�h��4�<�j������Pk��\�3�{�N���F�h)qXl�$��(~�x��m2�M��ds����������w�O/[��}	���w���p��eW����������?�J'�.�b������������.�J�Z���37���n��S�H�_�g�DZ=�i��O���V��4uZZ�U��4��x���t;�F��L���v�z�&�	R08�h��]����+-��
���uLR���]����wm��@�v������Z�������C����3�n�f��;I$��'��8�?J�����J�zbh.���	�c��8'�����"�����.��RLgd$'���2���;-�����aY�r�a8��c��:�����1M�������>gV�7wo�9F���r��n�m��1�&��,��F����:��]��Q���]�d*vt�����������%:����+Y�������c�]��%D�p��6g���0A�H<
N��M�a%���W�E�����F���1�W_�����F��T�hV���y����D���o����JN�T����t����2���(���4"��O��#�*S�i���pr�E����M�(�15_����~98Y%R��At��n
�
t�&���SNL�f��q���nJ��?���
�N�b����am�ruN.���|�����7I��?����4pj���F�tk%�d%��GL't9��:���[��L��D���S��Ga�������#�0c_�����o�dX8����|���a#Xf���5M���R��G������-��j}%����i�����V����;G���T��HQ�������k�?�����o�������?��=+7C;iH�ENhf���
������k������u`g�"���=����v����
��8eu�t��>�H��,�z��~W��r������F�N��<`�j�?.|��`a��Z����*���u�[�&�6���
�O����y�&�:�J�U�j~Q��#�&]k
}(�pc�&x�Z
�jJ��c�nX��b+P��A�lGe���K�I�EV]@
z<��Ro?(n3'+*10��>6�O��c2�Io.H����i����~|+n�[`�7 x�I�;D��S���V�Wl���A2���*]T���8�~�$���.G�FS p�n@���Q����3��/�����c��<����vQI2zOy������%��WX�X�����>hG�
G��,~����J�IOg����2�g��]I��_
PC��6Ffc���5�%adu:���(��A��=>�Y������v���m���a�v!��H��UT����� �3s.�uv
����0�E30��<Y�*�<��=���"�@��z����1��P���g��m�����6��m2y�U��;������:�)���>j�W����j�������Y�9�i�vh����J��J
�'k���C�����
��0y+���V�tP�z�'E����BZfb��AP���R��p
�8�}����l:��z4TT@�-H���WV�WK�C��X�
p1F���2�
o�(� �A������C=
�=m����W���I�bw��Qs������*�/��XH:/7�W���O^8�|+(�s�r+�Ww.v���}�zC�cQ�Dv�6��%�2(�lL�o��-��	9������<�G�k�f�����y�D	�1�����Da��wH�;)2��I��@��&�����W��{��c}�(���ZB��C2P�V�IQ���M����e��0�o�0�r�>ST���.*����t*�_,��-B����P.N_�S�<2T@XcE.d,�L�|�IA���E��
�N����������!�a?0�r��L���W�p���������.���*O��)0�^t���� M�z���F�s��YaX���>�b[$P�Uz�nz&E=�)JMT��F���<���]��A�� Ma�4C�k��t;e��.������]+ep[���i����q�b.�Sd94E��-~���HUL��aei#�����5Ec���������X��X�<
j*��d�	��	�e�������P}�$��Fy3��N�'mQ,\��.,qjv��Ba�P8�)|/�#����p�������0�J�#$�|�v�����$�e�������%#�J������0�	���B@k�2x�\e�[JY���n89�H$�?B;���q�(m�)S1��?n�/%�^9��a;T�5��B��'d�����c04�|$��5�@��n	72�[�n �/��1�6�������  ntz4%<�� '~��(����K��	��X7��)�������o�I��|�����]���cJ�=�q����1����|O�X����4���������kDZ9/N��>�A��w�FK���.v�^�1�6m����<\]�Y�B�;�#?��z�o-`��X�����1h��o�b�[���AXt9���]gx���@�����T��:�M8~>��+1��?��0������
h�(������*?��YT|+�;�[�eX��V�om�����H�����x1`���"&v��S(/��{��K;0YL���:����{��4�o0����.V�c=�j5��4��ba����
�H+}n�L�X4�S�~���
3U����W��.Q����l T���S���DO1/��Z�8.D���
��; �'�YoH������J��nL@���j��Z%��0��$W
����C]���!�k������UW���ltR����nm�$�T#u#�h�
�7�h�	����9�Ew4 v�1�e�"��; ���y!E��V�&,��� �u���Y)�����/��C�e���[_�"��:v<�hL���m��6��|�����i��!�	8�Bo��v�gH0�[�Z��W#l�������\:>P`�����Q������>)hS�.���lV�^2�Ln�jKh�����)�8W~�+�[_h{���9a�[n:�QHO.�oo����!�c!C~�m��w��.�Aw�j�0a�`�|���n}5�d����v�Dk�<����v0d��%�����oP�{QAG_Ur���:Q�������:gU
L���W�M���LKJ�g����w���Y��v��z=����T�u�-%��5��E2�@$�;�u�9�H��?:�W1<�r�j&X�x����+�s��vW�m�� ��[_�;G(��<#�nZ����F����H
p�y6�+A:c�^��6g!�� U>��{�w�F:�w��C��WY��:���K�,�$�	;��md����}�
t/ �������>�R@>�
����H��(����(@���jx�9HN�����o���z�+����)"�@�6n���bf"��7O�v��_�9i_�u�<c.���:��
��h}������������T�?�U?{���o�c��U��H�P[@�[���N�(��C&dq���'�k@�>�Hi\6����*M2�v��,F�p����-�;��b<��~��	�\?�������5������_��!�R�r�_2��3�$�R�tV
2|v�UL���+�?���N<���*�n<�IL:D�3X�*d%���?���x�*�u�������g+����}�#�
����rj�1��#4��Ql��
�[<X��Y1����	��P�wjz�;ZX]�����\W�xP2(��Ty�u+T�s�sdX_+����7�f��[<�X_-��*M�l'���>����24��F��Fi$��N<hOy�O����}Q�\�������+A^���B�@<m@������Wde�����/�[
Z��������9fdf8�`$������,��Y=J\�P~�e��W��.�A��-W1r��\�9����U����������`����.C����\����
�&^����('�:���Wp��@i����������������������Pe��s�
�R���D!sM_�{��,�^��o�j��:�
�s� Z�d1�z���6pF��7��X;!;�N�)�]`��
�K�������@�z���B�� =�=��k!����)���hT&��V�{�=@2 �E�Ua_�:����R$�����U�RM���cFDuX�{�") ����rM�tG��4Z��7W@j�oF�l{(������C�a��P����j"���~�[k��k�hy�A���	��xG��ioE+�;�\��k�s�|��A{���LsL@	���IG�
�N�������8��"]�2���	��%
xO���6,���(~<@�b�\��_�k��5��o� ��Q[A&�"���hj����]3����MX

��{80!X�y_�b$BaCZ����\"�T��d5�h�����v�B���A��r���1*j��BR����������6� P�#�������6K�v&�,WO!�$"C:)DB �~0u�T�kRXs	j0MA*H�jh�����\�@e%�����0S���wT�� ������$���xv�R����t0����\���w5����J?C�(����'�cg�s�~t�,�hb�RR.��b~���l+d<Z�P��V��5H��p��P����d�n�8<x�����:��c���?v�[�{��������!a�����).a�Z�B��U����'����${a�_��a�prh��pu�|��������l�D�uXC[�����u�l�����#|]GN������ZZR�@���AG�Y��dCd��>I���XL;�)v��'G����z����5�fUaw+�r�$�d{��T��#as����%L��x���F����8� (��D��f_��%�A�
���)#!�y����l�lOAM���C��p�*�� �])�@����=��76�c���Cp���������y��M�i'������*��f8�+�>���H[�$p��������g+)� ���=�����%��)���p$�`���E��d1�����r,9�dV>� \�B
�+�a)�	r�G�u4����I<	�iVRD�{�B��
����0��a
�0�0��s:UK�=7�$$�X�7� ����7C�~P���:8��:RX�4�N��DC>	H������%	�MJL����@�U9d�@|����|�����au.�a�}q�h���=����I���`���IW
�:�?R-EHA��P�������R�<�.|��8��*�i�<I!�}~��d[�3(?�)���*���,�r���
R��T�-�`���V��;�F[)�@�X��qH�vMrP����r�9�G
3������H�.Pg�.���D:����R������_�tMi���B��j�W�<�j��M�C��d��� �I�����KN5���{p%�
~�0��0
��1��
�W,^�.3�I���.�!����Upc�iq�0$�0p�����a�DEp�*dI�r:�1iKn�0����${�A.@\��dZ:���|���Sr<n>e3�O��z �������m�����j�K��<q��]^�w�n�<��%t������x(
����������G�X�U����A���D�G��n=��?jj��e�|����R�5��������E�.����9yw��?�����"3�L#PJ����7��������2�G0{A6�F�j��AZ0����p�g5~(��G4V�Z�Ho�t������f��"��S�1��?���:4�@A.��gt�iB~��y�m�J��� ����7��+��rA��v�2��V��)�qR�8a**��{47����N[��.,��F���]�9���5�7c�������/��a����k��*Br��b���}��g�n��g�f�?��o_��?�b,~V,s��]/��4%RL
tH����O�B`"������#}�Qw@Y,�k��QJPA�<l9JH�g������2��~����[m�8�
��M&�U������9 pkq`�4���-9���U,��9�kh���5f�F|9�+���xv�;����[w��E��������c�����/�
h�?�J����,a�7����?�R��U.��C'�*-?:�Q)]O�
�� ��*�.!6�#$5���W�'�������pA([DSme��1���O!}����rB:8?!$����g��<�NM���C*I�L\<��4��l���p�:�/	�"��H���;��$���l����.��b+�D"�!#�O�Tu������C,�d�����B�y�?\7hgV<�x8��EH
��FQ���zt��(��
��ahM#\�Ty��f�md����Xl��cu<�Y��
y`8j<���3�lh�
�MQ��Z3���K�n�]b~;(�I���8aA�d���+&K�K�b��������S��vg@�4lf3Z�F��p�.P�2f�������[�Y���{��0����"��������N���t�����t&���kOK��=;k����5�(��������LZ������o���^��.����F!�P�Y�������q���3M��:����01&��=|�����I"<I/�@:t����.��;��?�d������+�z�-���Zi�,
�S���"�U�&A5���l��k�>�eE���6��O{q�O��E(>3�G��a�J ���a4(�
�g?�����a�M��&+���%�?�(`TC��W���xU�z�����YS��.�����?��X�����:���w�?"\}�:���oh��p��t�&�e(�"+���Bf�P� �X~e�?��wL���g��?:�b|�|nt`�Xv�*�F��s\���vtX�0&��Yn/M�Wut�FCQ,��vtu�W����u��l�)F����0@P�!��
O��H6������-g��1����a�*��R8_�c��c�3�IG�u%J���N��i+F��H�d[��@��H,a��%�f����*��p<5���Z����{�X�.'�����|�A��gJ2��<��pnh����Xd���FL���/*�����a���������cPL��a��!�1��sC����)'>YD������YI�VD������%W���@�7:g���3��i������C����X
)�^w�
�|�ahEX��6�n6K�"��I$�kG���I��=r��]�M2tHG��0r���������q��x�]��}!�-~6J�"<)d
]��0�"\B����?:%/�\���o���w�?�ra����������e���Y��]���m�
�#�E��Ua��|�?�u�����?Z���O��fF�C�`���A�;5�n~Ad_!�[�{������m	=�������^L<����<�4"������������b(��1`��T��b��)MP�%����F?`���fP����v�k���-
d��3��pO��]#��F��e��:
����8h	��[��z���^��;r�X���\)��v\-����=�v�b�i�:��5���WdoaA4YCgn�1����hb�_o���%X�2���L��{�"	�����y��Aj�����a��������X���b$�.�H�
�9��f�.D�^[
���Qf�=��:W�K�[e��(lA��aF�D
��`�+���|��+V�?���>��E
����
���H�.��q�y���@���Z%x�qgDS�\��)����y@�cYp�VYs����������2Q�T�E��s�G���u���p�[fZ����������M�d�j��qC|*(\������R���0��OJ�������B�#&�A�+j
����h��7���q\UC]�5��?@������]p����Dv�P�p���m�
8*��
�m���s�t�A� �����{�F|H���&�tE��M3�_������\
�I�s.�����zM�����)���64�����;a{;�+lf����Luj�'�C�H��[��(��*�;�B	��;�������_�NO�f7�3G����7�����@��?��7���7��\�@{�G]8l�M�����t�O�A��4���7�3Sp�8��a�E����<%E��F7�����ZK�V����H-���������1@�"R��xr���8����u�tn��m��C�
54���C/�B���j� ����E�7EO*F���q��Ut������uX��4��uRx5fK���h4�;&��E�~����.�Z��.=P�)��7�0���5?$e��WeP�l�86zu��1��������+E�5!���
W�����0E�[,^��!$�9�3�t�B�bxC���0���E�DM�FDjq`��FlO���'�c��_��#�.��?\�B�rH��������a��.o8t���K���?h�j��w���?�5�Q�������?j N���"u���&	]���F�N(��U��1
�l�aAp��f����0�;�CY������|���D�����lQ
�����8 |@�PC������yV��B(�;��xXN�
Sr�"����k�H��d��]��#�����] sHt^������y�8�b�/J�6��"��^�61Z���u(��/p�N(x!���W�mb�."�c~F�a!��2�a�D��"��F�_��_���9^���9s������������H����['E���7�t�H\G�an�3�������Ix]?2�E9&F*��5fwb�zk0�����B$�e��	#��.�������;�#�H�(?��h������hs��zl��>�#������TL��v�#���3%,��=<��r���P/����O�l��]�8����CmHz>�
��<���k�ca���k�D�����8��=4+�~hC�5� ������)�Cdr�\1�Yi3R�G-8�:^����M:n�C�y$($AZ7R�G�Y�
��@
E��!ez�5$a�E�8��3���S��C��5C����9R��
P��>���[�?���F����)���������p���~�q�����5��~|�?^�����?������_���{�c������
�����������7�����3����P@_�z�F��f������Z�C������tg�e�h�Ph+{6�gX���}��&�
�����.����#�A+�V�l�OoQh���L�#��XY_VZ��3T^�{Z6�'��B"/�S���C�Th�*A��@}<���������������@��c�P�-�qM],?�q"����B����5n�����N:���{f���/D7����{����+,�6�
�:H,v��.F��	z^J�`�������/�A&����%���\��q>���_/���U+���tk�X:�u�7�w�������R�]��50W�?���_:����'�:�b(���wd+�%[NX|������i���2������)i���%*����3:SQ�`��P���t�a��~)#����R���K���H�x1gZO[����]{:���*)o��f&m� X'��%���%����	�)=]g�_�k���w��v=����3������h�X�������R$J��)Q�@7�c]gcs�_}j`s���9�T#�J����n���x���_l������+�Y��)�x_9�W+{���p8L�,��2$N�O��/V��g���_�����(��b������tB��i���{�������N���~�y��9�A����Z����)�:��H3����f652oR��w�� }j3<%"���GUb�
��1�.V������R�?�L2��K�6�#
b��������)�-����~�rd��>��_k�+��.����Z���d���E�7�&�R��F�B+�.�s�����+�O����
���-#���fk��#"��!L��:�l"��9:�N�q������Q�����(�N14}��w�]��.��*�F8c���F��3��&�����������+�������L�4��	-���	�|)�� {���eFd���
�Ml��h��"���=��T�	��7'�E}aG���Za�!�����������I��q�W�>T��������=���,
+��N�t���]������^�����e������X������^Q�m�3{=�]I�����
y@q��0u�:�Jq;���!8+��0����Ub��|,mZ��B"�cQn�hv��E�m�K��O��j~q{��+o+�&�}���/&��h�_�~����������v\��5�]�o����8��@�@]���dZT(]��mn5U\2��fjGpW�:i��A\���|�����3����j�Jp5�����W��f�y�_Ev)�%w�,o�;o1a�jeJf�G������=�K4#u�����AY�V��hR�E[c��'P,��ujc�������0,Z"v�������Xba�����b�/���S`�����#��Z��������dP�C���=-c�Bcm��7H{����R
B
}����[�_�*��c��l3���������K%��B����+��G�y^�k{Y��4��Q��/~m���g�W�gkI�_]�G6t�H���J-�l��P���Z�%!��5���T��m�T���O��V���(o;�t�t�w?X	�	�L8�(��kB~�f���4r�	�"���S���S�VvZ�2{�������rke�8���s!
�524T&V���szh�9����biM=��F���������=�zzgu�t����E����#��G��&Jv�l�h$��g.4�u#��v�T�hxFv0��~�)����r��! 	���8��-~eT�TT���w�����R���0���������P<����MR��Q�N(��*)@�7
���eH��������1>���
��*,�-�X�H ��K���pu��������!:�����n9<�a�����f��1zd&HA�����)�����P�F,e�������x�f���h��`"5e�p,��>Tp� �+��}��+��"2���<�ZKhM��V��������J���HW� ly�\H�|�3���������KuI����x���q.7�Q9A���|�R�~0DK����4�.���,��e�n������h���9�uC��(U���
[3��V�.�1�XQ��L�)����,�3)��-Cr=w"��6p
7�M��B��K��n����������
����������V�%���x1��n��I����l�F��^�z��w��������1+2'	+�sp������4Nzp?�j0|���36R�r��Q%����O���G5<�E�f���!m��<0��"�Fu�\Y���]=���^�0�Y5d�����S�"��v��<����!�<|#H��X���v�%\Y�no�zJ�I!.���
���`
�NQ��6
���Al�R&4s�*?e��Q�R�Pd��&���K�J������Z0u�yw7��1�y����+�\�i���8���S@�\��L��;Wh[{�;o�,P\_�^N�9��_P���l��A�X0
3��1�qO��G��NZ�������.��IY����rr�>T�x�q&��\} )8.j��<B)�3�^��(�Q�r��rB���]�<�J���H�1>�"~M�sH2��G��\�I����&M����K��`��	�YSR�������^%������|���c����}x��XQ�F/m�#w�0��\{=��C���I��<���-�[[]zh0zgP�0�x�$�kg��bx��@�C.G���U�3�����/,�[�~���|�I�s�k���0
���6
|�?k�n�5%���_
��)1ol���w
��������Q����w��Y�7��)��Z"1�*����E���7(������0
�m������k�����,���;���M�p�h�'����=.�4�������l���_i���W�Z6��x�x5�z�!�
<eT�n����c@8{�Zg��������1bx\
����u
��b��!��ua�J�=!�p|���:���`����[}_9a��!5�(��#k@p�UB4����Z>�cJh7(q��<w�d~q�+���R4)?mM���5����3@�2�$�����OU���u!2�9���o����^���<��'�I�Z��V:�#-�������J9���v�������i��4
L:�E�HO�-���
�m����Cg�|�(��$�f��J�|���x�1�Y��?�����wc��9K�Lw����z;a�L,7�TJc�o/:��p�o���������?a����o�(5pP�T|�sf�h��������3�G��_���X�i���mL�r�C�/��4�r6�i�B��������6^v�/�����|H0���[�#;^��t4�+�����f���W�9��]�WhR�}@~����)`���fB���(�xp��*�f����M/N�I�9��0�1�B����Fq���KK��7�$�~�H5e�Pht�V%E:R6e����MG������M3���B}�>#�J��_I�wI�����Vn���L��3�_���h6�����@��2�I�='T����-�7������7�m���ZxJ���6f����`�o�6jL#?
���x��������ei����EQ;[���i�R9����� �������p�y��:�������l@u��r�b��x�������x��`
s/w|a�d� ��e�/���6T���"2���a����n������4���d����T�*	V�i��	������,����Z2@��]�c?���bZ�^��f�,5R.���f}��!R��E���}��X}�H���#��1=v5�����p��������z��P��	x����5�������f���RVi5����l��M�o�\�F�; �2@s��t���c���%e0g�&�0�
�b�gv�tP����M#
8���P��^�����y{�" ����(Z�p������M�G�HF��|<�����N�	o�1���~��R����>v%��l��c��h)|7�m�-����=j���s��}�^S@\���_/��
`E�}��*9
�_�C������(K�!��x�D�Fa���?�Q��Q���d��
�ig��$����D�}0��r�?�0�
d��0�v�;�0�c6��c��
�zt������{�������Q5��e�T��7����?���?�z$,��Y�?FF����*KV�'����:_	���#���ng�f���m�/�%��_Z�p�^,��KLF''w}��\)@z�d5�������|�N{j
�&K�7�!	�J�Z��,����'�?�-�,W�cc���ra�~g������1}Np%�'�S����dn?�L)"�N����V�JR�*���=��t������*	��:S�kg����t��(>��v�Ms
����xW�Q,PU$�����_���GI�$��x�`�� Z��!�h~���@Jw3
�p�����R�F�p]����`��QH5����� ������Y�Db�	M������w b�$�]G

:�E}�t3@P��O�Z
e���Zg���NG�b� �������4�OxLOx��Y\���h���9|��9&��q������S� Io�PjX�+7}X
0i�|�����&9���]����?����L� ��d���{���)D<��jz4��0����j�N��5��YI1�s;U*�[��4���z�P���X���]�H��=����\��kw �6�c�E��Jm�fb��,��Z'{�lqf��_��x�8��h�)m|�
%�n��2����dq4��y���L��'Q8�!Ob� ��@��/�"|SME��7�R�{M�k�z{�s�?�i6��P��"8��
3�(@��j�<����� ����771�+�����Xu�<�z�L}������m�E����,�3E|L3�oo�z� :�u������l��r��4��*�������b�-���a���LC�%�c���z���=�
~d��7O��M���r����7@�'\��'�Vz��� ��p�\)S�R@4�-���M3���W��vK-E]�5Pi� �y����N���5�	�	�~�9M���_cW�0�)e^��t����f�*�����9�aR�����w�D]�rtD������A:�0oN�,�k<�~���9���/) 88�!7z�nN�2�+���98�����q�t^@��?Lz�����yK�0��x'���	7
��8���:�9�V��vSM���~�/�S6� ,-����n,q��5�<x�h	���4�6c��wSR ����B6���R ��:�Y���Jod�C�/�5%�]�J�+�~:@��*e��?����k��sSMQ�����G�e��Y��Mo5x�l���f��m ��^������i7��Q�u"�9�x�$�H_0����������iR�@�|89 7��7PS6s���s9���D(�[�x��
 ����?�}�6�;2(���xB"|�C�c����j��J��'���
�����O��]<���}������#���I
>�ErX':�!�[�>��Q���|�r
�I����-���#���I��^v����Sc�S��R�/<�$���:�~��F����l���3'�)�q� ����}U���������Q��O�t�����$��):�m���ea�g�ol���HH�<��<���h��I���^����@Yb�o���C��2��F��s	T�J
����H�����Rp�Z��H)�]�� �����?G$�����:�i�E�CH`s����m��A��d�w���3��6D���t=���k'��������w�E���}>����xy���?{��q��J@f�2���8���tB�V����BJ���l�]H��D`O�`��?�9�la���ZM��]��
k�1�
��������w������~zh������~������]�wm�&k>�>t��F<�|Bs��QTemk��biq?n�]�F�{�j�s,�R�M������P�;���������*�
ywe�m��t���&��(��,����	�'E=��'Q
C������8�JG�V��jL�	Y�����,��a�
.�c����%/~�����#��S��
�%}7������Y��>Mg��|���rWa��<���q0���D���|W��*�� d0w5�G�vm�����j�p>�QDAtO���J�Y)�EGw��/���U�C�&����������eC�+N�eu|���q�"j��P�v�E^i?U�NF^����X���Y�E~y���?�*Q��X����2C=���k�:!
�k�!@,+��$�d�+Y?4�r���d�9����a�&�]�w���sA����hw?�����=��{���
et��3��9�	�y-\�z\��8���M{���G��h�-��)i}���M����
�-������B��B���J�\�9���R���������#�B+O��]\{yf7E�.�w�b����pl��!l�>�Y���j�Z����X��(i����C���'+MJ����5���;�q��B�A����h��3(��
HTx%��B!:.���_�m`��y��W��f�z�q�I���)����?�
�������G��)6�v���*_d��X�i)��$	.n;�(\��*~���Du���6�����n���vfUz_9;�����"�����h�$Z�i��������h������B�O z����6��zC�
�s�I�j�dB%�����9������<?���� hg����8��l���U�����Qq�D�O�3S����Dx%g�J���^v�cA��U��AGV�� �A�� Tc]��uy�]+�����zKZ�����.?{P���2~�,�F:\��c�������s�d��������������o�58U��q�`��8pP��W�������(��QA�XJ}	�q5�rh��A�X�j��9��A���k1����J��Z�w��0�?;}�A�����n��B>��H�_+�s�	�\���u�
t>�J������5"�%��V��A*�{�����Y�9;��ez���&C�GE>��+[��\�-��0q	������B��]���g���}Z�3����/�������Vp�����5~,��!/x��h�����p����mK�ka��p��B�%$���!G)P!�$�8�t�z��I�?O�v}�z�}�/-�S�g�*~��Yp,�/IP�n\����|����2`��0�N'��p��VI3����(6�mh@�x�we�|����"1=�Y�
�����C9�F��C�rH�{O������0�U�r�STL5� �4�Y���#1n �BK5���SB�[I���BB�=:�ZF�e��M%,H U0���-��I�W�Wi�td0	��z��$��n���568=��3�_NeO	���n�����T��qVB=/)������[7Y���)����@�m�@�M�/��
(4=�)^������M�K_NK�}LN�-�|9)^`��N����p��+�i�`����~%�Qe�z�s�����xL�vUM>�vJ: v��ex�5�/�m{�H
Q�nrw�lNW>a�p�+6�&��v��I
�W"�pW[���|�B������!\Kri�/mt��&t��r,�TVa����M�t��q�1s
�p�&}���bkd=�\L,��:�n:��s(K�9@����l��EbQ��������M�q 6Gd���[8�"1 �
��L9��=��M3d��	���_H��=C�4�cW�i��`�r(Y��}D<����|D�MY�[$�����*�G7��S���h����]�4a���_�B�����4�Y���?�\@���n��7�F
����n�Os��
��vb����+*��'pK'�u����&��-]eA�Q�?������x9�o�:�
)o������HO����iZ������e�����1��+��n������S�~
�/�S����c��&�Z��0�,�h<��m`��aaomp:�47�i�Z=�vtSX��"�t@c���]i�z�R��)���X�>~S[�����Rx�?�"�
d��U��t��/�6�������E��G7M$��c���|��n!C`�rL�b\QZ��b$����M?;?����������	K�2p�)��q��7M�0�)�)� �\�����8��j�?���1��_"{08���Mn�i�M>��a
\��G��������Mq+#��380�(s��8@��7��*���}�
>3GO���2���[Q��/�
b�5�0HX��������������mx�x�[nNp`������y�ng������J���M4��7<���-���(���:y�����.���P#��3���Of��]�k�j���i��73��J[5��7�����wB��J`ul������Q��,���k�(��
|71
B�v��J+����������@��A���i������S_��{L?����=k������}*KB����&��o���w��<r��!�������������9��O�/{�i���X��6i��)!����9�����($�w��]����v^:���S�o�f���<&[���XF�v�"�d�_���4F}���d3���v-����IZ��,�*����!���m&U�%���/��z��������BJ-R�xL�������f�5���6:aHF�	�����*��>N�e�t����r\�������3|��z��[n.����t�(-���6�QV��U�\���qL������w���8g�Wp�_h5�+���+��P0t9�,����}��������r��4.���]bX�:.��������?�������5]^/��t���(/m�������Z�Ux�2�����������7���[��iW"b���7���-EV��/����mNZ��]����������4�	����[GqH;���&9�i{x�^�v�.��p%��bY�?�??�J��P������]���	i=�����4>a�������T'�y�d��V"k�*u�{����}�����q�vq9�Vl�)�	�G7���.R�@�]�w�$���b?:��<(`�0��e�����5+��KoY�����������G7�J����+H�tS$�I�k����]�I��>"��]���>9���p7�0WP(k�XA2j���4��.�9G#��#V�yX+�����a���u�����(�{Y����C�
���&���G�u�6����^��r���S'v�&c�Uy��v���4����g�����j�����[
:�����N�����-����]w��fae����f�Z��:}b���0k	�;�)z(�2�4����
�����kbY�?�i�Xg�RNw��rL�������r�P�`�4������t������5i���H�T���-���a�1v��oR�9���3��{t��$�����n,6�����n*�8�bo
���nj���G��u����=L������]7!G�M�L1X���}V���������H�k#-�h�vtS-��eCFI��@w���W;1����!��$m'�
+S����n>"k��z+��o�V�X�������%�)��������r�=�o������]���w��MEyP���ae���P��(�L��u��qM��&�������i%�������Ox�����+��i�9�o���-t�]�(�g�?L@I��Wn��������m�����j��������R��0�o���w��?��o3����J�n|*O��t�lwAF�,>��b`�G��q%X�t�<������m�)����[� ���`�jp�����V��q�[H�v���om���A �tx+��{Xc�t��:���m�l�����x}p���E��8!�r���DO�S�KH80}�P��V�����3F<�,b���[�}lZ���Y�>���n�O���}�dM8$F���C����X�����f��������c:n��nM|+����i���!�����X����
��O��"+���[W��5�/`��'�uQ���
�+B>�+�(���[�|iki�?&�M��ak}p�u���9(���0���\�u�<RX(m���]x��������o����Or�D���o�W�QF��rZ��o=8�e�N"J���<�h$M���ZV���d��r�t4�����zeA������%1���/F:����5�GA��<��+6A����c���
U5��QM�;�q�Rd��;��M�|9��
��[7���5l��2����V���Zk�G7Ebn� 6����-z�[�d��e�w ���SM<L�J��hnR0�|,����M�xm��Z����������H$zO�����EN��
G�����������!���]�Rj���P��!3�����qW��`�(�9L�|�t+X:=S]�
F:)S�J��M4�����\L+0����Z'�&�*��������r�]vd��yM�_���5YV�w-����%��)�"��v����.��K��Xu1Z:�pt��z��p�A���`~28��_��@;���L>aa=������.��I����xtCD�^q��M������!ZK���n�4��� �K�iV��\y0�����zoxL����pi��8����������p!��JK;`���o2����cZ�������R�Cu��p�/v/���fY��Ux�t�k�Y�]�7���
�5�Bl�T�.5�,T�����h_?uI������!i��d�w��]��]���������
�&;�)�� ��=��G�F��_��]���3(e���\�
^���['����������-�]�������(�PvJ�^�
��nR�,s�H�����3xW�J4�li���Aa�����#�3�t�,��`s���>b���q��|���"�:��)hB��V�����]�"��#IM��:dP��0�v���v�[>b���Y������0;��T�Yj�����of����1]K����#/\&�Ri���9H������_�*�����������s��G����-������d�W~��`1k�g�WR�2���W�����q�nl$�nRQ:����t���y.���������]��
V0�3mG7�Pt���0LlG7�p��A(R.��7My$>_]�vtSS�NL������gZ(���s��-�SD�[��.=����$�b�I%,���?:6�<:����G~x� �+=~����C�_�;Dn^���g6�Y���*r������nD�W�����U�o�����������{�������?��_MiBk��28sKFPk1����)�d0$�?��*��2a)������	��������D3��	�j�J?���a�& �+$�������bu��o���������P�/������R�l@��d���kI6�Ox��%?ap�:���>�N���6@�zAu��s�\� jo��QI��O1)K�5�~#�|zAu��3�Jph���kq�����}��1E%���T�^��	5���99���e�����	@(�@�}�=�x�����!�����9]�'@�
	p3��>�����4W�	P�@������^����b���P�,\+!{w9�SSX@�]��y7b��@p�a~TCY���4b%wk�6
��	��.��������Q)p�D�Z|62�^d��B��
j�����	r�/*��
��?�y	�I<�����pEv?������~rk�0�7M���Li~E�6<��pA0��q�f)>��p��������V�uj3�^���������E�@�@�3rUle�j����be�KK9�td�Y���x��e�v�>�O���������������B�QV}.��*���
��xT���l���U+v�l���5
�i��"�h���R��|N����������(��@�"�]�v�w�QZK]�vL�\lzQ;w�;V��-�=����c8�5����B?���O���!�ru�` 4,����~�JaQ��J����X]�Pp�5�(8�E���q�xV�����75	��FZ=�
�c�A����ZT�S�@�A�[��������1~Yc�Xn��W�������m����b�]Xm )r=������RU�f~����_rs��c�����E��4:*d?���p���2���n��Gk��
_������5���E�(��=��F�A����"V~���VeM7I�5�f�vP�c_Z����h�@#�Y:+,�m��(��-r��0~c��������AzDP���NK��-e���r<+$���1O�@��C;?_�p��pX���]#���X�4a
�"	��*�vBU3$��JPc�:{�]u�mr�Q�w���l�rb��1���!�q�	��4���y��%�x�Q}�A�����������Q:��
������N�:gDp�.��G\�dA��~�������� ����Sh��*������v������1��2��=�!K`TV�[�jp�!>� z�m��>?#��
UW{�+�b�IA��QWR�!����F�r�I �o~���h7�U�
�"T�[���Vv���2f���<:z��c�I�.p][+�fUr7:��v�Ap�b';�X��c~+���������E��A$�u�e����:�$�c��&�d��"
�|
7u�������dP���@A�|;��WV9��'@�A��� U�5 �k7m5Y�!�J|-V�o	��1�(gcz�3v���)��=������(�+�O�N��Jg-���El�<��9H���E�c;��;�q����������D�W]�eh�����G����p�{�s�}�����
�o�7�6wF,��
��G>p�*���k�-u�
�����+����t�����a�������3���Q8Ah5��l7E#��+I7���jD�;N�>����s�h��+��K���]�������N%^�v�=���d�m8h���i��I+?w-D��1C��4������2y�Qt[#����u!Z4��x�Bm6;��'�����3G������k�x�#��S?D�_���"�|?�`���a�������	q����>�����u�	���;Q!�8tF0��d�K��m�&�c���h)���L�"����Y��� }
��E�L
2s�n1a$EL���q��Z-���xA-/H"��~��`��5�OI*p���m�.�B�8���
%2I���"���G�:u��������N��e���rj�W��E4|��%G�s�t��:@��z�
����e���`BXxV�tr��!����A�E��@���9@N�q�1y�c�AC6�k�#�VB j�Kc�PA�`��A���������%��QVA$2�
��}C��y�a�	?k��\�Y�� �s6�?n@�#�4
X��P�r�����i6v�o}�� x�(_(�u�L�
N�s&��jq02� ��~��%�
����x�.W+t]I1�V�����l����p���B�e2a����E�l�����v���(��I��2R�(W
]�u���ybK���
�Yz:2���(�#���<CJ�`�!�1v�� V>@=���B \�3��@k��/�R|_����C4��4����nJ��n���c�W��U�UMAj��4H�]�l� ms����=:cn�JA ����P��_�G�q����
py�tq������(�@G}|/���� �?�2��F����������g��������A+@���V���:v�]~]�����(�H#�?6�.hm�|4�!|�����3G��M��n'����p�[;�}d	�$�8���Ek��5�}��7}U9t�A�6Hr���o�����(�R��Nr�b�b�P���j��+��}o�g�+m)�@�C,�����}�(RH����>aN��xp1��z����������BY�>$E����s��o��.L�C;}�����pe��l���<��U��w|���	��
�pA��
�E����c".3:��v0f(� ;�l �T�I$Q�[v��L�N�w!���C&I��W:V
�����4��*v��x0�e�&;,9��7�H^�Wr����%'�)8���t�J������r�{i�7��))���c)�W����������<�)Al�R@�X���+$���q`�c�.��>��Pk�|N���T��AqZ(7B�������o�(��-��:�h�6������PxF1N�
�Ha2qf]�}N�.��4����hTzm�0�u��d��A1�S�,��������DZH�ca<$e��_��x��� "%���G�S�zNK���Q&�	�9��HN�^z�UX&�����r_�����h_�A��U�(�����%8�[�t��?���QW:�g�I�B�� -2��<H�)i�+�
��oC��	 �5�����x��)|"f���@b����A|�+H���lc�F�
	�����F����1��Y�����b����`Q�];0`RM��	 ��!Q~���l�d���M7`5@w�*&T��J��c�NH�)����$N�,�Z��6?��C�����;A�>��%(5��oTb��OO2uEh�Z��]�iAW�N#����7�|0Kp���$�)���1�l��cm���
y�"4C��s���A����s(�a#�����lJ�I��6�v��@&�
�$N���~����Ns��C��WH��:��Ha���8���gzG\��(�@e`�}��#���8� �T3��Z�F�� ����i�5���IS
u��*�`1���&GgYD�.m�y!���5�>�����r�����u�b��.�W���R~N������[\���FP����\�BRTI8�vC�EK&,a������?G����c��2p�_Uo����9v�T���Y+2���!����Z�����aSW�L�t`?��7�8��g��0�� ������SX�����I
��d��js4��4�zz��Q��;�qds����(3�+A����H�o�A��Q����F�]O����s����c|��	h+k���
�����d��.����) �~���C�
���H�*	]��7��I��9&�Am5�����a������Y�4E�U!iT8Pdn���dp���bH5zU
�^����8�$�kAb���|5*��c�Ho�t��p5�C6����2�h�� n��V��=��8:��\�O�g���4�q����a����u�-7��>���HJ��=���f�����O�|�!�	�����|��{y�	�Z�����!�W����6�U���Vs��p��:�B��na�=N���;�<����V)���F?�Y:�=u�<����^/���p�Q�#��t�8J�,r�VRx1�5�����&T�
��H!gW�a V��d�m�� �2t��f=~����U��q�G=A$+��;}3MA8:� �P\=����#�k�
	�$����
$P�/1�4�,������~���}�#�	oC	\�����h��4���-�o^�����s�	B�������+V����������R['p�cW�st�
q��-�����d�Kd�?~�,��G�A�YF�(p�Y�5T��=K
)p�a�
��� <B�����g,�����*�QX��c>]����b��:;q�)�@�^����)�v�0��8|������!������� �q����k<x�}�q��uGg��5�1,��3��7?SR]HHh&����*��d[e8�a��tX�)�d�8���Jj���4M�~ih�:Mf��(9�����'�*��62�Ae��>v2�h�A�ZG�ai�r+����c���h�x>\fF�8=M�c+\)D��[,�mqKb�l�5�g���H,U�L�0s����z����o�W�G����{���@���a�J����%��P��8G3�������k:��[e�4�N�A��M5�f4u�?,Z�����pF>dw������'��o�)��e�T
P�!^�A�)���j>r����s��$��z�������!'����
�O�`L����s��y����b�=v+&������&����N����P��-���z���u~�����X����pn�`����
� �D��X���x���_������|��g�?��a
8F�3�J�y������d0�2�NO��
��?�34�hc�u���B��z�&8�s_���H�[�R�`=8�LX�q:�����7����� �(5X��6JF������\��@x\�1w��Y�k�S	Q�������!]��zeD�M(	F[N�s���x���]+xG�#xU�����1�/��jY�o���c�te�,��������Hj�w���+���
���?�/�p��b4�&��S�G���-�\������EWw>����o_Qtt��		�x�V��0�[T
�k�8���C����lv��p���hZA5���6$I��;0&�\�C�V���2&E��S��Wj����}q��v����������U��-�E�)�C/c�!�"���!k��������,��?J���wv[c���l��|�s����b��RqF�d_���[����@�'t@h$9����?�L�i"!�j _��w/��
�\1|[1�!%�]���@�N`�r�wk#!is���1?���d�xz��5�e�?p��[�W���a*h��l���3�r�`��@v!Xs�(4p��O:�����xh��n��8q5��P����C:�.
���Yj:-��b�
�Q�a!?�WU��6��=�����:\M�����9����AB���bv���	�2
I��d{A���\IN|���EH���GR�Pew�z��(�I1��s1%��S#dPWST!���U�A�V=�Yi�5r�G%��H�b�&H�J��Q�Ip0H<�����0�'���[$\s�GY
r���!�t���������b� �[j�����G_�wv�f�}>��Pb�h��v��R���xS%�`���r�G-+
��U��BD����.Wj��!Q���Y6�G��� ��hD$�O��
[�������,t`8�>T�@D��a�&Q�9����?��7�bL(�0�-�������	m��#�
��Fv�(�k���6�v�J���Co##C�i�FW��	����n�A>	�e��	��_�18M�[:N�/B��x��v ���a�.���T!��-��!SpH�q[wX&�q�uX�9��
� ��+�|����IW5(�u�+�'�
�'���`�Bj����[��\�JP����?�}
�f��?��9��>�8�<v��X������
���[*�x6��\2�eV��QO����'N+E��j��p��I�)�����HP.�Oz{��F�����sEzq<�Wr���Y�	���P����)%�����@���?�XP�a�G����
�?{�N;w���Gl�����x�����W1�<�N6�u0l��0b���?�Z�rCH-�sS���*�O[5k��(�Q�h�ov5�R�G�� 9h��qU�#������=s�]z3��~�bs�;cW
�����@a�i?d����p��I��fp����R�Gi8�/��x`q�d��\���mA��"�)��U%�����������8V�>Z�V��k����T1W9�����&"M�����t�J�E��=#�+|�t���b $9"_qD�m\���Y�V!J���#I��
�����#g0GO����q}����}b���q����lc������6�IM�)'���Rt�
"��|�����
���B�]���������!a�7�N���u����[�����O�O���+������[�X��K���*5��}�?��������(��~������?��E�?�W�����?�}�e�����_j-��q��{��?�#���ys7b���U�)a���=���+�V�����BO�\���' �����o+�w������f�/2%�WN��&��b�;������N�RLVb�dg�T���m���#��"����|��\��U��[�qf��p<���Hw#y��b���AO�8-[���`�#F�I�i�*��u���]��R���.��j�a@��E�B�(������`*��{,�	��*�������x������u��J�sm�m�V?&� �B�{b�e�����CIG�I��p�
Cls,����V����ID�t#�,�+�>�Y+n�_+�aw���W�Zpl����0y	*K:[D*}��^���tZ)d������v�Xi^��������u����z��~��J{>�S3��~A$X��d�MIZ�h�h7;}(2j��Z���j�5q�V����Y��i#��A�c�)�N70�/T�WDa�r\p���|�
�i+�h�x������)�d8$�;'���������(��-`���
����L�V����������+��;����q�f-�R�}�P��`o�w�"&��8�x��h=���/G�x@�*>Pd�z\K?�d/���o��'��wQ{O��+������O��=����B�"~����3F����M��X�.^���!���w��H�I��Ne�5��T�����Y��Wa��j��ik
�
����D��N�����,~�h�Q��&��h�9�W��Y���~�kW��_[]�/~���~�@W�����N�S�g0�*,���s�Df����*������s�$~�jRo��k��U���K��+mL�TJNF��2n��!�l�[�qMT��^�����=���92���
SX�����D������2�����7I�������XW���4F���'B9��l`LOAJy$�9sVZ1���*��� �!�3��2hf��C�:������z;�(Z���	�����`/&tc`<�i�E��������D��;��-����X�:y�[@h'8s�R(�`����'.RQ�������'.��Q�O��@f}�.�#h��(���]��6�
�*����m8:�i���kG���&�C��&
�H�/4��1����q�Fy��7W������d��=.Q�,���g%�@
���,���"��[]��m)�e=���\s������
����
��>�Y��������X�;���V�0,n��1�+'�MT�#8�/�w�W����(�����R���Hq+n�����tL�n�"�E��n�Yc�Cj��Z�W1wO�.oy�~�����q��mHw����?�S�g]{�>q*���'L%���(��4&Hp*�H%��@���7H��������_�����������w��Y�/�MN��EqK<��wce���
���e�u.Qv��d��2�u�Sq%T@v���^�Yp%�G����n��N�!���N�\�������V���h��l�K�
NU�ne&�������OjL�N���Z���
���'� 6�C��<|����|��.@�����1?;����0��4��z��>�U*���uHt��HmT�H�W��<Rt��u����.6$�J��

�|���y��a/���p��Q�:����]n!11o$@�S�F8�1���%&!��i`�o1q��DIC����#�"OE��H��2�����`��:^M�?=BIZ��QXz%e�p��*���"�ak#w���V��0bg�:�R}���������D�j��<_��]�u����[	������J� 
f��{t����(��)g���u`�D���n#��B�mL�����M�%7�,
����#������}���lEn���v�QJ���P+)�����0x*m}8��Z,�&�4���7�,����#�T�����i��W����D���7<���8l�J���C�V7��&�O���
���6������8��%#�]�����_���vI������a��}	1���/�Im��,��E�U�()����$q�sU�>�tI>7���ChesE'����I0'� ��%��u�����P�Y����a�=@8�MI��O=P	��6��x�ZQY�����&Ua��/32�@�~5A�u�aJ�k�������aT(�iQ�����W*���N"�`i�����
����tH
�C�s}a�0|8&���Oi�ErqWv����C��I��&����NaR4.H���V�t���1�!,-j'���������b�m�>����Q>��V�I���5�?S�
hw��������
T�8La.5��0��z��{�T_#�9�Tz /]��rS�)��f�
����F�E[�y
������/����m��/��������T��K\1�*��z�_`->�w���L�4"
xwJ�[_���a(�(Z�0P��"��e��v�R�];�Ky�C@��F��@�p�����K���A�&�@x��5�Sc~%i�~FYUcGM�q���6h�� �R�d�����p�U��e���MZ<x"��thJ-m�f>����;��
W�(�>����8`/�Uz�b���O7�If�g~��S�@CoS\��Cn�PF��U�e|���;# 05�#J�:n7��pu�Oy���B1��Cz"��+����[������A4���{��gM����m�2Fx4S�B�t!K\��d��������W�o4�&	C�rwx��� jL�������M$�����B�����r���p�M�%L	OX?�pZC��*Y�N�����9���r9�F7�!�i.�
�1��q����"�w)� ��[t"!
�������l}���HK]�����l�&fa�A�d�N�/��|^K�h�1	Z�<w7;o�y��������/^T��f�$���L���H�_����V\]����$���.D��;�����_��o����~������e�_-��A-�l�GDMxx,A�D���f&�m���q������6�j�'JC��o\e�o~�&Z���|FZ_�WO*��[y#��o�5)����6�O~UJ&���(�H!��[������|6)#�ol������(v�*��(��cQV.^�gE��J)���M��yv�.5rJ[�r��q:v����t�'�Wmb�T��������U[R���1�������w�[eAd��2f��z?2���O&Wc�g����UW����o?��8pSW66��r�_�'��VYY}4V���/���q�^�*+-����� ]�o�|�S�_������=+����R��=.��S��C����n&+�o�ZO[d	�4O��;p�����UVV�u�����SZY�?�<e
�J&?����������t	�E�����(Kb�]L~eE~WEhg5v��KV��h��W��M��Woa_,��Lo��wniB}��-�����HA��C�0��M��&������O�+�Q7�!9�������B
��6���uT%�6D{{���OX6s��:�{���x�	e5�.����E�o������)��e]>��j�Y}i�R�P����fKWS���y<��o~���x*�|Mg�g��N��u�r�urI���~���w����aC
������������*���u<v��L�XZ��t��q��x��"��
k2��D�I#l��E��������+�;�o�lk{�j����H~����oV�*��AM
2x��)��Wc��������0�I
�������fb���h�r~����J����5P���<O�8z���L^�*����q��>c2���S��j�w������������N^U��`���(w��5�}gV�_9���R.����H�vB�p�-�����P� �;ZV��	Ud�vB�:�Zq���p���G�U=������ti<���2@X�i�w0����K$Yul�)����:v���qW{�@l��y��r���P/��n%�\W�q����&~\�k2���[V�_sn�'j~3��G��q�T<�����.��zV�_;���(��d!���y�?��i�����U
{S�o;+#D4�E�����XAK�����M~��������J��(�
��
�e����[���}Zo�v��^�~�%�%����f��P(s9nt�V�]���>��8���L�ZY�~��$��w��~�DS�9,x����}Go'�Xx3.IB6�p�]f�5MI\��Gj�R ��t��~���'P�x����n[�=��,�s��q�L�a.�����z���7ee���GtfC���L��j�a�o����d5{@���Hsp#+����*m����������QlO������v��T��y���Y��	��n��;��5mk3�������D�4��:]��Fgc�o�	��N������7t��U�g��?�T�?J�T�V��|�����7o�~�W���v�R�?�E _�k���j���?
'�H�^������o��d�������t.3}��p����%��OG���U��t�u��'��];������?���l:��'������ fI�sH����_U���9E���h����/]���e�mPk�#!�QL�z��|�~�!7�:��tJTa��H��L��;/l=��VY�_�cC���q��i�*�w�DOa;e}c;��f�F7?/l/�S�U�X8�7v*�}!�Yerw,t��Na�a��G>��l��0�#OlSzFhu��a�O*|@o{�0�P����a��4�����X�,��������{�M]Y�kZO)3^���pQ�������=�����	�����F���_T���E�i�<��zbD�*�O���w����p����N7q�Q�O�
0��bj�;��`�.�G"8a�w9)��<?""\&�K�i]���PP��*� .�yz�Y��������D����&���XY��?M:�����
"�����/�+�!�
�2��X.f9�u4�ls��x�:�:�7_�J�7C�O%���82���Ch1��F=�@���<#�R��k��1}����V�'�t����]������6�O���e|a�*p|���g��o)	 N���o��3	 @M���wP32@�?nPJl���+�E#����<$�����`7&<tn�q]��'+u�@��F�?�
4h^���/*C=J/rFg��UxW�1Q�������7�L�LYas~cE-��{;g��Z��s6��<�-����m�;�9`��3���xg}�GLV�b2>-,�}X���i�&^�f,��R.��bCV�O���m�@����W����
7<
�����Y��]�Q��i���h���*��R��������Y���j��t�(=c�,�E����pQ��>yG�N7�_Td���xk�7?,�ik�Z[W��8���N���Pm����`���!�G�XaM�L�s���-�X���6����l�E��E����[Di��`kB�L����E���qV���vc�������������w�j�#Bkzs�}Q�h�s�z�.{�fF�Z._E"��:���LEb�L�pI�Mc�Im�KW�v��[0��qQ��P
 ���"e|6z��..*o{��K�v}��]q� d�8��{�-~ajng<�4'�>g����-He����XU����<���<�1��8�������i�ds����8|�!���o�w68B�[��o�V��m-�mI��]�����@�R���L��&��H[�Fhm	����'_����~�O��~#���mx[��{J�������,#�A�����t�|����gzJ��)�6CP���a�c���J[) 0Oa��H����2���p�&d&�6�~}��KN�FhefL�����.y&K���1d���j�+�C�Lb�72jM�1��O�(���s����}���<gD\�0����4��i���������������^�����!��p��8��{�am�3lr�!����LP&��t�7�R%���
@_qY���o;w����*+]VJ�yf�:���OE�=c�9�=:BEy�I��Kh�P���O��$
`����I�w�t�*�����*�@��c%+���	������/���	0�;'�eu1���VZ��c�
�5�t����������F��WRl��T�Y�Q�����1<'t�>����}'e"�-�F�X��=��p��x�J%~E�����! 6w=�h��������G�����M�AP����|�jk��V��\�>�h��J�������7����e��p�E>�L�@V�f�������P��q�'>����nj<@��.U^��������V��~;6s���='u��f������I<����.�N�,kqO��<�{����_������A�L��~��!�!7�����zx��N���I��K�K���-��!h�KGC�t~@�]�r^�(��� �G�5�G�����99���oG]
���c	���cU�z:Hg2 s>��[S�/��Q%�1�E^��-W����|@`�n���W�=:,�p�M�c�0">�@\�]@�(��6��V���/���Z@���whun�r}N�������u��Z��r��O<�/��>�3�@�-�b����*$�-�
�L��;q��b'�8�X�
i2����L��'z����KF���:�� �g|�p�K|�p�klg���URv}�%�S�@|�6���~WOG hM��.��3K�`�Q��oj�;���^�4���������7�Qg������w�fE����-9�CMb��������^"����)�..\����pI��~��:�!���5�y���������a����;����z�8�������4����
o��yuk����d[����B��M�	
������������%LIu�P(���ye%��U�3����R����U�������[��I"�8��t��]Y���tU	�<qW��f����#�������)����N�x?����5.�i/��.I������*K��n@��/9���=�����WWX�Pk����t�,����i���c�y4�#���N��VJ> �������Nq����`&f�Og��������.n�����D���<jVwi������&n���z:;�d��y�~��o2YZ�\]`ZW/��1�SV�K)�S
�_�T��7/QR}��[�A�����7�4��t[C_.~������,�P��<��f�'{���5��R�����>x�R������
�}�(��7�k])o�JvAD�E
��kJ/@�F��G��2~r�jM��|������Ke���7����oZ,#r�Ms(�hEo��NX����@��Y�b�S����?���%������9��9��9����z�`?�AD��WHX�"�u��	$�_��#��w���w���X�ok2�
,���Mq�jC����8�+-S���S�����N\���M$�+������QD���23 P2�I��LP�"9������fU0��gz�g���k_�lfY`��:{�����h�	��g���K<�1V�t��;;����m������:��g:A�Sik�Pn�CT��X��"&d)���$z���j�g�:��Z�q19�2)�Dm�r_����t� �K�YK,���)�\CG��lJe��=��W�����clQ��MG��xT|luW��tD��hm=�C\Q�����xw�zk���pO����5���W���a�<W6��3�t.@{	n�o���bY����!M�L��t�����#����I�Y���+�c�6;&#���Xx�x�a��a�b.����S��m������&&a��3,�WZU���
�����-�%]��]�X�z������9�eRO<��6D!�:����������[uZ����XU>����T���)^bl�a�x��tBnm"����+��Y��U�*VB�.HzZ�o��=!lX�i�s������KT.��4jQp�z%���O51D�����1��J����U�?��N�?�:{D����w���n{3�mU`�S��]�d]�������S�����aW����3!�
sM�������Jp}J�6n��
�7���9%���O���]�\W|���w�j�WYj[����"k����������Zz���^��)����*'Gf��4��m*z�x^��M&t���������
0D�a�;��M�i��z�x���MeF4�M8���=,�P�������f,�B�~r����1��)��-�� ��Ws�Fhi�?X)p2������
qkS������M����L���i��uo-��ue����R�O`i����~�-;�g*{�oS��2	`>���6���V��kV%�i[>N��s"����<5�n�t�@8�^��T�s���t�@�e�o�I���D/m�7�]��3����~��^��!�2���Y@��oZqZCm�������/���1�\�&��	c�vc:����r����G������#���V+�[y����G������&&���CS.��r����T�]�0!�S��^��������lX:���^>R1o��i�&Z[��@�6n������Nu�S���%�_�z���D�{jJC����	n���4/A�k{�&������M���dt"k�_��4%�&�e;��F|�&��a�7��C2o)�U�������Cn�pWg�������h����S��f�����d����[���)��6�CpO���rq�%����_�%�k�������'��&�:p|��(=�r"������#c_���wu�_��)��&��I�G�G!W�s��9$��%A�fZ�GJC���3e9�S��X���\�&�S������'��&������-��I0�����[���7_���Y�?��*�����[���_Q��iH����_���������U���!N!�P����r�����������jZ���������_e:��9�D�/�/Zx{�b��*�����Q�y"���g����(NC�F�-�1,��fY��F��n�Q��wB�s�J@1�L����|;D�{������}.�6�K��z�m�K���#A�_�5���3��[������\��W�����Q�J���������4*��_�w:+i��$��:ip�����g����tV�6T���L�����[���o���u~���o;9�DGQM��Wi��2���(�}~��)'���M.
��C�e)�����F��o�r��ef�����UJ��+#�6qK�@��S�L�<�����m��G�%���f�#1����FF�mU��9�����Cr}�vy�b���Hm���DI����s/`�c}&w�����}�RVgK�����"���.�i�����|�*�Lau����n#k�,�b#.���E�3��1��
��2@�4�Q�M#7ju�>�a�>
qM�@t���1��,fv����9��E>]�$,tq���F<���,@i�;Y'I�x*��k�������[�P��.PBf�y��]V��&W�t#��<��*�5��W�h\�>��N�f��f1QbRk�a�m�B�����L�j��(��Ma�6��2
@`�!w:�,��l��N�G[�u��X��os����U�Mef�X����N�����c�t$���'�C�]Y�p��9Y:/ �=�kr���0qJ]	��������f�L%"����V�$
x(^��Ot�1�5J
@�\Q�}a��T�3@`h����h]��@ �Y��/��V�8��.[<�|Is8?1�f �����M�6�Uj��a=Jk�U��z8���.[�k�l��"r�6��"�:I�5l�c�o0'���6,j���s�bM���C���x�1�t���������S�������N2����76�4��dJ�
�zq	]����?��t�`���jt��������!��dU�'t���:������\X�z�\�/	`A�G�De����>$���,i=��S,�#�������Y�)	 .�������!G��
.���H�4��n�ipS��.P|�t�@�$�'.:sy����n;;��6h��to�:&�x����Y.F@�Y�X��``�9�B�e,��&�1�[���*��3ra-ya��vU�,��2?���n`��z�d��U�"`��^�O��P�
:�D#2nv�	47��Ea'Y��J��9a�$;�*[��5�!���n�b��4��WW8-��Km�v�����M�'�g4���{O,
7I��XC�n���_�_�V���e���Nf��D��^{Fp�H�S�uP,%.���1�����UR@)�'���za��������6��l���]�Cb�A��w�>����N��p*�����d�K��]�om��'�z'�=����O���;���-1'VY��Q���HkuwV���I�L!&�L�������y����ux^������^3aF]�m�b�'�U �@������@L7�����8�����\�]��D��D�*t=�%D�p�/M�w""����WA?�Y[3��/�nc�P�G�r�q���?�?���U���w���X��@���%�����5��h�?g�I:�������w��A�a�����v"��*	�8+�p>OE��S+UD��=+���5,��[\I��'Ow]U~+��
\�Z����L�hO��#^��zW<�pjZ30:L������=�r��,������c�"���c=�g��7��)�����b�L;�"��74�2@|����75^u�q��|�b��u��y�,��<��8��r��v����r��|�L�@_�8�l��T�9��V��E��1����i����b+f*{����`u�	@������!����s��#eP(R*��jeP�����"u��b���
k$�aT��,��oc�<����a��)/��m��Qs\�pN�yn}�=s�@�gK�������c�,�Fj�^d8�����
��������Tl����4!�B�ua���7P����������T�=o���*Jd�PR`OW�~8�o(�~�)A��vz�J.�mh�e��V�i��8�C��2�@�]e�'1������mT�q�V�����	����'�51���=H�T;_�r�c�C��\
�B�+[����;�]A���eH��Q��Q��!`��`V@��dc�������c(4}���n.W �#�������6":O�/��^��F����!"�]��d�>�n�JEf
`�I��mi��K�l��a���c��
k�Y����kQ]�j�Q�Bb�m�ag{>kI{!�K��37�_l%����P���S����p[��s�i�&D1y�7�=b�*�k �xQc#������ym �sv	����
��������W���E��G��4g�0,�7r��+3����F�hr�9���'��!gPT������6���A�jw ��N�
�4�t���(��{����
�����b$�c�A#��bI��"S�=[�!F��`E!�)� �������w��0�����=����z��R&0�������p�������������GL�$:���A��b'^p�t�9����TI ��/py�u|g�"�%��^�,��yJ#@ ����z-�Q�w���"��O�M��	�n���g���q2����o�S{�#t~n�����KW����O�E�k8R3)��P�|��0�����Vb:������cF'@`�����'W��������!���
������>E$��WP�b��j�+��
�}�����70CK96�P������I���k������a�*��r�J���B�
�l[d��xs!{��
��Rc���c�(U�/�����:����x�� �
�%�r���LTx�����8,����|�E�)���Q5���u������c"�!0���XkM}gSO����^��,��$.+�_�%��8�C��2�z�7��Izu|g���7?��k��eDo��q���� �q\:�V�k����}
YF�SpB�����G�"U@���G�I
��vh����lW����������K���D��a�s{�T��~VD��o��YF5�)�KqR��(��x�U3������W��s%�g{5�dl+�lq�����R��w
��o��P/��&�!�+ x���
b�����������@��?�7����p��|�����pP��y�q����L����@8����=n��7~����������������������	cJ�lH#P<i����F�Q�.��tR���P� ������zc%�
���f��$�/�H�N���X-,O�A����H�A&>7�\Cn��$����^_�l����)\��K��-���`)@��J}�����2�n<�!50����A�I���(DJbPR'�D��GK��F�����R%�d���^��S%�`�9�vcT�d,.�~�@����g���b�D3��99>�	O����Y����Z#.`��E��$kS���0��+��������0R
�2�BB~]f��R����@K������r\�m�!�/����8�qK����� /Uo���}U:~�����pP9���5U�(�����H��A#�`v��3����&B2�����{��6J[+���u�Y [IQ������)
{<�6��vHaV��<
����}�) ����DE��)��H�-�pc3�d���9M����vQf������e���_�%C+��xm��l���*k�J�t�T+ ����C�Hb�k����;h��J/��4l���\.N�S�2V��j����(����NY����+�v^}� B'N�c�
anS$c���7l�7�<�V3@GU�X�6�1U��8�@o�JG�-�������_L�0Y���!)# X��U��`����40���EMy�(P������x�h���k7_�s��8IM.CI���-�`�AvhQ�iX?:��Yq^	���E"������D|b����PF���[C���
��2�l_
-���"P��+1y s�V�.�6�1�pG�8�*s��e�|`�����e�.��!�&��Lk<o�u���m�������01����f�I�����W��~3).�-��(��)���XI��R��\�~�ol+N/HL��	��XO�L�
�1s*���������A��r	���9��p]V�*
(1m����,��L��/W�r^�0���\%O�� ��l�,n��h�) "%��uh�O�#,g��[>�p<�v��O��D�NrX����a` ��rE����
�� �>F�7��~�tL��'��-,�|�vc�"�C�t�\E%j��D`I��8�|
�d����L+
�^��:@1�oL%n8���*n�-P�2T���@@�S��'����^�EA��o��R:@Af��.}�i��o���}
/�\�����L�|q�8k��5�����"�Q��^37��$R4�'�o�����H����������
���Y���WF@|7��Y6q��Gl�Q����0��"�qu��\����p	��N<�L)T�1����F�J��H*Rj�X�
o�J&mB@]������p�?9�?|VY�xq����'8�8��������H)k1xM#���p�dU @i�j�hs���|+����&<B�	x8��!��Na����h�l6�Zb�	����X��,{9�����)i�I��������n���T~7Z}hJ����	(H�H��2�����N�V��z��3xE����_'V<�*��W������D"4���W���*�y�1��#���T� >�r���D_V��x�/H{8y�X�Ry�`L[}�y@�wxx�_�$k������_����x��������3���'�7�"
D�#�:x��zC�,����;�6HQ�,���P7dl4�TLe�F4��E�\����cR�z��3
@�n�6y����3��E�\���<��<w��hwF� :������7$��&j�7��xSW�=���@7|����i����F��qYs��*��L�V���i�F�A�pX\�@�k&LT�\��"zZ) "/��&��
|��� 'j�W��b~BO����]���E9�u/���[�*���)�n��K����<*R��"���\�h�R��y�[�c�P#�.��<���r�������
����B���)�0��rE�u�$s2/!��W�S�v0�D���au#�?�kq�'�%d�-���Zi���)*"{8q�Km�b�a[*f�na�R����TvR�<���z�f�Eq�/����d	��R�)�����j��"Ov	{�$��q^���y:�{dY�j������y�1`�~��'5T��1��FR���|M�P���)3 ��{X��H��j�x��P_��F�����6K���EY:�+R�
�����>��!���~��������G�� �$�r����Fg�=����S�P��%����C�S�����:�����
���!� ����~|X���^�5�^��\)`p]�� EU����)���y�E��.���y�H��j�v]XY�f�6���j.��M.J�B�tH:�,�W��IB��v
�����1�a?��".��\6��P�g���]�y��*}��A`a�&���%_�-e
��2��"1�o<X�R*D%a{�����NG
�����/��������
�x�>s_.��M��/
������B���R���UNC0�F���l���<�SY-���������~g�V<yg|8^�&�H���0P7��������!��� k�9	>��G��t��wy����Fc�g.����`���u��!
 �K���F8:� I��}���N����Q"�i�~����j����h;e
�>��)��&Ee�.lx��2#�����x��N\7i�R��>�A�������EB
Y
�p�7?9�V�� �)= �>�d��&�����7�]Z//y �z���/�������I�`����Z�S��������kwU�nm9i������ v��@2���{ �|��G��C����/���H���"�(�Q�+Qa�k���*��+SQ����������#���>b
AlXo�<�qkM�����&=�G��$���8a����5�������V����9��=�S�[���\V � ���8�]��e,�R��1?f���<4�5�������d�f���=8[��+�/2���q(��<��9�PO��7T������,�_.�S�Jqm6K���3�;��o��@��h.��mO���@���B���������0��lx�	��zQX�9���{lq�.���Qy�)	�v����	���U�|�������/z
�����36A�A���b�
$)���2	*)C!��F�1P9�/n]T������(�+�����a E��3�>�j�=������p��_�Cf�NA\��
-p�)��sp�T0 �8�Ud^a���P}�5x�$�UyN�a������
�p0.��G6�k�k�Vrparc�0_��6ZA�kh��YZ�!�����=xH;B��w��_�`]��E����~��������x���=������Be}1"�b���� 0�Xl�b��S���s���~#���FEh��^��g������wa5���>��7�w���QE���G+,��0bD�!�R�q�4���
y�I��_���
�2[T5-~�_�t$�Wi��.w����BD�
�.A$���*�l�\�.%�B�,_�q�I��x�.+������vC��}c��L�S������e�����D��0��@JD$�)W�A6
�����1/�cr����3:B7�-<�����"A��D`V7#g
��Y��r�"*��K��n���y/��FOfVv�f���2!pu�`G�7��Gm���[��\��}��aU����i"�j`�l�/���z�+r4���}�Y�
9�����r(������HM�t!<����N��n������Q��������+4B:z������h��~g`�r?�����b�*�"_>"6��iC���>����E!�uR�n �T)�8]j����T5�p�?\�"/�#�<���:(+-�~��h�A����H��@�/��@:0	�G����#,�%:�Jt��(q������cy��YK�
C���Ti$)2!QQR��X���SdHQ����a~l�A��:x-��Q:�?^������gQ�?�^�/�����W����6El���D���A��}(��8�5�����V��f�D0�������1pr���j��0�9�,C��jf���zUIk���<��?�Y1�����.K����y��9�M��K�p�	f6&��tRD�k�)yC�����6U��e4�1V[9�kM���>Mz�����Q1��S8���x'���G��@4D�N|TGw�]���Lc�
����$�&��T�1tz���>��R%�@A��~�GG�i�o�z�_����>Z���7�,��,��4���)$����>����p��cI���}��3��	74��9��WV��1$P��K�(�GM!d���+�����EL�u,x���X�~�&��1�����7{����K�A�G39<?��Ca�~���]�8si�7i	������z�m�r`�3h����H�����#�{J*�
�Y_}�#%}��BSh[L��"M~I������o-_�G|o��X��TX���+}'��r(��p�+1:e�5?�mY�����!tZ���.^��3/�!<���}��[�6 �>8W�$A:A"N��r���H�d$��|�=�`�T�lX��>d�Nf��w�|��i�8]�!�F����0o/�c�Ga|�s�����\�G[<a��������F�kr�
"���^'2��|44��������9m3��J��R{��|8z�:y?pz��S���|�RlKl�D��h��sX�d�$#��1`��u�c��h�gyC�<������i��N�q�x���G��	����Vy	3���UY�����A"]��A�!��8m��gy���@��}�I��"�|q4�[�����`/���VJ��B���G4�����3d�+����������p����Q�Q�{�?3�G��e���<.g����=(���T�-$����T�x!mWHm3�����(���cB�8'��e|8r2]J��"~/0W��rfd�JH����G�����-y�����N2�}����#�.r&E�"�r����a|���lH�U3���_�BN�#�%7�#.?��b���b2���%~�����[��G��� |���+�{�`cK�����;�����K%�/�=b��%���o��������������?��2.���T8�g�(���=n�X%����?��1:�y�ZS=�����X�o�Wx��?�$��\�fz<k���U�d�x�'J[=���!�+��9�"�_Xr�|n���"BjB����ErQh-4�cH���[F{�),�'�S2�G�\|�(�4}gb�Y!�b��0����9�HEo� LU)I�T�Q��E�a�k^i�I��.�~g��`���$%�M4�#��d*+�����M�/�� #F!�3��NE�}^�7(Z������|�O�L�N�s�*
����E��2�X�g�9xp@
���,y�%���A*4�''L��)&���Y�Y>�
(_���wO) ]F���$�8���]��J���-��(��d��lH���*��~( �:���fV2E��<����vT�y�N-�&�0���XX&7��d�n�C2��tL)2�lK���DU�r@��'��*�!9&MZ����ra��&6<7F��������r�����p@�h!#�Ai^�-jI���^Y�T��!1f�f��:�gP��z�1v:De�v�h�.��}2����A��kb���t2�/>��],��6?�P@�p) A�Y��T��H:%�X������[�U�`L�2���R@�X/�*
-`����x�]y���*W�>�\�?$-gIYbq8T\(v( ��O�����o�X
�/���h�Q���x) ���
[���d��( /��0�pv�~t�����h���p�����v���\$o����%���eU�qJ��O!q�&����n�j�8K��d��r��������t�6��?��l3���r
!|C��R@�r! ~����#��No���UEyZ���{�P@�dy�Wk"���[�P@�p�lj�Fl6E������9���XE�A�( �;O
��RD11�`��Cm�((v����K�3����v����EcmK��������EUv�����/��F44�} ���7h����_w5CI�g��'����eEw'��Q��I�q\6�5���0@@nb�\#O���\���I�S�	���4�)��<�	(;52:�#O�?�1�v�����`�@z�b�D��.����dD�C�n��)�e�C2�y�8�'$�K�m\g����X�X�<�d]�
���5��q� �G��
�@��w;i/)$.�&�7��kdPJ�}�4��K4Hh��Q@��4��1��t'��dt��Ax�x�"$2Xd���.����8��?)9��N���9S�Q%~�����3Y1��~2����a�%q��D����$<	��}�YxL������)���@0x~)8
���C"��aV�}%9�{����nI1��\6���S�0@Vk�u�M��-,DT<��$�$V�\~=�����F��,�� �@��
6�������E�<f	1M"���@.�����bD�%�mP>m����T2�:.�>K��9�J���.(r`P�TG���8�z��"��(����=�9��J�����k���( ���U���d���^]Jl`����gF	W����R�����e���dn1�T1�%��4���o��f!���A���|4T,I�a���5%�,��c���.�����p��B�X2���0s'o0��o�PA�E�p��0Yq��SH���x��W�+�?����dq�'�t0x<c�l����[]�k�#[N�t�y�1���A����t�D��5���q8 ���Ujv]P��t�Hk���$�������NI z6�<��c�,��@�_*�O��udX�6��KT?�+;����@���s�KMt?H {��Z3���p@6�s���������������_Xs�?������?�8������������+(|������3���Z����?�H��.kP�C���"�V�}/�P��+w>��H���WR�2
�����N�i��:$o�-c���YC����������NJ���-S|����������[6�g���E����^�����6IF$SJ����V�w��R�N�m����q]3��9��ZZ���3mpJ8WD�GuKN���p[��X)Yy�79$���������/$^�>�����Yx�8�����?��C���<�#YYRE��B!E��^��)��8�^����8.fx|��V�%3�`������<���r��)��u�LV���>�UV�S����4�/�3��w�p��#�wg��*i&+I�����'��R�<3ne2�	��O�<M+�9�>s�3WF��2~f�W�g�A)<���V�Tk��d��o�����u��r�=I�^S����!��3�����6n�����^���E.>���'��+�0�D�:��S)��*2���r������&�)'b��v��S8��Q�UYY��?t�8fmw�VF�	��K�v��Uc)�-o�5B3���6����7��c{��-�mBwjw��S\�Qc��oB�M1"��FYn��h�����e
�]OTZ�;�����v��AL!EF�	��o=�g��0�bb~o���m����I��L~��e9���e��T��
`���	h��o���m�&>
�"��:5��Mx\&)����+���+ ����z�P��Y�
��fTQ��V��V3��j
b�����Q���>lf��x�^rX��93:M���������qi�hk�����i��2�U5\�����i�'r���e$oc��&��+��l�"�����V��?��3t)M�=]O4Yh�;���5��I�h3N����3g����R�M�3���*���a�@�k�3�_}�2a�Cc�7_�R��a�%9���<����Yxdq���z��L�U��N�g�6�!������P�3z��������^�'rh�g�>4�
�+K���|�e�8�Dq�g��������o
%[��a�C���JK�0����WzF���������<�@�[��I��Y���iE��2�k���QTED�^���q���Lpg����OxD�L�	S������7kF{	W�|D���b�
�����
�:�
��m���B�����O�Y������++/��o+�����YE����qG�q�G��W�
�X��%�[����B��Y���eF�l��L���^A�?W��"�f�~���S���,d�d���k�fA�U��O�0�}�[��5�*,N�~N���A>o��3�
B]i�������-��$�,���-��o��X��+�����R�5a��T���R�EO��d��6����
~��2FD]���7q��G�����]��5������d������P�TD0#���>�����e�;�e���Ob��Y���������`��?�P/uaRoV�/��m�+e�!�1Q��x%G0��kJ���(ti���[s���������,[2\�����IZ.d�������wv�;�����H3)o�?|����}�
��$�s����!��'%H��nG	����%0��Dx�x�*�$8����{���)�����nU�����{���V���?#�1�V�Y/�����zT�����|�L��,����gqr
w�K����x��Sk�����q�q����yLS����L� o�>��c"J����6����Bm"��n�niR�c��#���v~���.�|:@@�Q8�a��G� �%s~[m�-T����|S%��\�N��4.)! >i�L�FJ�0�^��?.]w���&�����Q�}!-)e��������!�C
�������V�L��/�r��I�v�MqJ3�������-�2�����[8����-����LVe��Zj����){^��^@x}��H�W>����4�n�)w�����uJk/9�M�M��#Z��K3$<j<.��hi�'��N������4;���&gz�=��P��|�`!+��R����
��\������7����9_�&uhVA?���G*�f{����n�)-I{�T�#�b����T��<�I����Kz��U~u8�,��kq#��o�[�F1d~�xi�l.�
f�����m�f��B��`����+j�O��jo��vVY�H��(�������1�h���?
���-%	T$��3R�r�
�����]	P������\X���"�������� ��m���E`� i�s
_�k	�z:m%>Nk�|�g�@L�ti��R��\K�)5�VG�h��EL8�����z
��-I����+��j����k�a����5�`����S��.���JJ��f���94�����U:%.a�yZh�#*���00tg��=%8���Fg\���e"��3��q���]�l�.eh�*��%nit-[t��)e���D�����Tb�O�I���WG�6��S�8����X��mb�#������u3w:C%��hT?���1]������|���:4�OO�o�mz�Zw:;�.�-!���)D��P/V^���,�h�=4u�K`	���;�wQ\��f�W���
�����lK�'��W=~�q>9���K	?:�����s~��T3���~�8�rg���5���
��^�@P#�����S���1�7/�w>&e���.��`�������p�$]
ASB<�R�n<����K8��PRKDk{G����|j7D�!�+�L��}2�`��(!]���
x>����[�,|���f�#sK�0^�S%��\�����M��a��R���\�427�:�$��T��:%��������K�K�%��zH`������Ic����=9�������/������d�fUs����.1�6�B�y{�<'I�7�es��'���w5%�.v��Kj�������j���q�u��,��RK��D�He����vR���i�X,�!iV�_#(�3�B-���������?G'��;WF�
�������%�S����v���*��G,0�VK��9N���leX�~�_4���K��a�������1���(���aN
���v=���>�z��=Mwg���Y�W����+{�Y�[U����]����M���t"���bl��c�����Z�nS;|y��f�����aW��0�J����1t��=���2YT���ja�%�����4Qy	����0�K��2����7S����X�m�rp��w���0�N���L���������/�Y�?��&��Z��'�TvBO(37�pCrK��:���GAM�,�X�R�vN��0���b*6��XI����27�g�"6�i����w�|QK;�c������Z������U�/P��.z+������8Z�C���?O�p�4=gE�W��^-K:D���q���������#	a:j���h�������t�6�}��*%-�/c�����nC��������J=���-�?A`����
��Z���G�������i���]��o`z�����L��p+��1� ��������,�����g���mC��NO!8�������(�W
i�XR�$$&[Z�_���r�����|Oe��q����f�vYe?������Q
��w�K����-0o����1T�������m�7o-^��sNU�r���;����fQl-;������~�������Og[F�TT����~'���'��n~s�x�|��M�H=-5+�����f?
sCT��N����0���3����cz	�.�/�8���;<D�����_�e�-�%i�j��,�����i1��&�sr��^$���H��/*2�����X5�x�������*8���E���#�0�"+�[�����{QZ����?P����uj^���Y�Fhc��-_���������h�]_T�[�F�����������;����j��+�3}Ha�}�gE|��]������TT�U?fB�����o�|O�_���u�z������P�����l�!T�����@�s��^�,+�o��X�X�J��E��_�4�3�Yj����,��lQU���rB�n�qknA2�O;����u��^�L�z����:�	��\�3�sO�����6;-��~����4���\�	Qr��{w�������*9�e�2r]Y�>����G���Y�>������Z�4�:T,�-Z"�r*�8g���3
n�a��3y[��G�V�7+{:�"�5-������8U{���gPu����`���������L�������_���f�s��{�>vv=�V��	�q���R�������5���TP�=���oo����������}l�[c):�g#u�i5��T�6��}�M~�q2�<1���*e�������������9���&G��H=�Sf�1���L�����cW���6���������;?���Ul���|����?J�7����U���l{O��K�cK��09)���\�Z�g+��CE�#KZ�S3��?*~��9�=�n8XO��~����=;!�����*de��Wn�})w��yB�q������I�u��4��T�?�gk�F�FJ��������=��lb?��d����C�����)�@�7JRR���=����%);f!�,������f���c��������e�V��e�A��������Yf��1�u���#*�����U�`�KR���������<�g��c����Lf�?��������0�7}[��RJ�����^My���[�0z�����a��N�g��Q���T�x��E���J���]x�D����~��� ��
�����s
Y�M���]��\�7������Fi]}��I*�Gt��m)`:2Fl�����0�_�Mom���j���dt~[)����C�5y��I:�--�X�b�������`:T&�x�-G�2
�l�HS?K����5���X�����*q��������n�"@�Y���[�.�;wF�sfU��\K63
@������
�d��[��W��C�����
g���i����.e�. p�d�5�94����]L��N�K@���!�w�
�������6�>�����,������<����"-��^��L�O��q�]��?�HmA�	yJ�W����,�HVN�D�P=�$T��2
@���^A=k\O�V�+h,P�����B{
@t�"'@�s�&��R]S��RP��=b���c6����f"���_�_���W��2�����3�dxR����e���%W��#U������o7_�.��1�n���U����63
@�Jdi�~9[��M]��Su���2@ ����"*V`�����7�����a�$t����
��xC�r2a�?���hU�;n�!����VkN@*d~N�����EC7	l��6��p\�{	P���) �M���)���:p.y�@����/W�/M��Lmu���K�=��/z����^�{��F.S���4�9�q;��Em�7�'������jy���=�������h�8��\5l�}��,�~��u4=-����X��*�PDR���Y�K���Q����OZ�(����Es��v��h��i���v*�LyK�@�FV�p�Z�����~��K�M�
@|��1��v�������~���mO�T�&9o`��g���3��a,J��-y��l(&1�\bE�o����p0������j-k���dHI�_�w_b��AJ��@'�2`!��1z�7	�������q�����R�c���R#�.����5D%�8�L�Q�2V.J`��J>�dg�5L&��J���J��MS���{r��9SP2���n��s��+��������#��NW8#����-O�����h�������\���9�v�3����%a��K+?s��ln�[%���}9	�OG��0I��SkQ�sW�V�����	��C�����[���T�r��
����6����3�����=�=�m9et+9��r.������l���[���w���IY&�X�SI�a��N>-b���z(W�������g�	u��Wyj�j�������<u����~yi���+�����~����zW����FXL���b#V�hHV�6�w�<��� ��_������I�8<����ao��?���|�a��������������C��S:�^�`J.�U��kF��p��T���d���.]�������������H�X��^`� �o���6�&.�	��t;z�&�:|������X���6�i���^��SI�y�k�]L����"0^���g�H�]��V�
qk��qH����I����+�.Vj���}����%����C�����MU?�OEh�2�@x����H��!��'0^-�#���Cjw8����w;gm'��������%��t�*0^Z���"]\�T�3�z��[�d�����x<UQ�����.��Vo�%�Vl�7���?�}����M&�U��a#�0��c����/njS�7���~}�f���E-���/9�"V�b�d�o��j��6'��3�@�u����y,�,�vGu��p��5b��<
�S�<z��6�^��LG:`��r����K�q����%�����x�kx�B2���&���@���U5#`~��VC~��%��i�����3�B$Sd���.��h�Re�~P�H�q*������Z|�����9�7�F�!�#�=�t�"a�e�I�x5��+�K��h,u�����?��j�7�T�w��q����Q>%��A��K�f,��8��xZ������V?������"
}��+y�����#��e6@�c1v��H�!�E���o���nLg}*V/�O����R���@��R.A`"���C(��	��s��K
B)a�.n�K�kw��=��.����������g����8E���tlMw�w)zIna�������
���J.�������M�	,=|S����k��/n��[{�&�(�7�K��8�U�nqh���F<���.}�a�����7�V�7���%��;c����2'�_���F��]�����o'�0w���}�j�Y�M6�qU����2�X6���D�2��[�./.���zD6������!P��mz�tLX�buQ
86\���[�+e������rYF1�x-N��V�p�����Wp<m���p�u�|8�K����S������d�u
l��8�G�����A����o��d��[���q1��H��Il��?-n7A�JV�oaN"V����j�y�_����2l����3�����w��Q�r�~�������%���e�����b}�XQ1�dm&��`�h����+�h���K�����I��a���������+*��CK��7��q��[�!��2QOO��b�:�Nk����<��h|o��������4.�9\�I�g������k�UH��d�:I��3 �tN����9+���������6��jW�a
# �a���[TM�H?�����3_�+6��r��m��A����+
���X���e���7��aUb�x��X�*�9G�?��vz��ktc���GfQPu��{�.��������g�N�s�(���J����{�SZd�b��w:[Q��+�J�����b{��mo�T:��p�������6<�SGU�_z�WV�P�M��S9�:��06R��������
����R��\y�
^��|^�N���t����"������I�vMR/�e@��o���=�04��(��+��]��8������^qC*��+�������UL�p��M���t��JV���b�M�*���\so@`��|����U�Tic�K�8���_!�6]_Xr����,��?������s�����S�p �����m[��C�t�J��\Q/��%�=�({]����4[����3��j�R�����u�Y������#V��<|S�bMSb����=\��J�P�����<��[�t^�����T��k�����_��T1�V
W���SPqFQD�O-�d@�<�v��p�7)�{��6�u�OL[��������1>Nl�`H��b��8��o���Y�?�^U�o�e����Y56�7�y�C/���C:�/(=���V���Rya��7�C�~��S����z	���,}a����`�d�K��{V�o������@o��q�k����������\�I�Zi���M�XM ���^����>f6zV�o/@.�+@h��r��7���N�$�����z�:��ye�>�R��?���X7��p�J�����~:
z�xi�t*��������Mo)�T�_��Ms�5����CN�7�N���Q��?�V/�������I���e��.i��v�� ����\i�������J4�4���m/z����+Y�?.3�8������8�R�j~�sX����t�l�
�KV�kbmV,��jCN������-����������2�b�����kJ���r]�ji��2#�HE^X�������4��|�)`�x>=ba����t���Xdq��jZNF\����`d&��X�l�8��)Y�j�M����\+���W�����K,��xyDA���%�}���f/�V�����d	��0��7�FD�zE�;��#����V5jV�kj�)������9�[6%Rxxa�1�9��Sk��[c�?n�������]U	�HT����~�K��Q.O�?l�+ ��\ ����&�����e����������[X�CW��������_����#�](G�8��R���.��(���������{������b�?"�����R�?T��O=qr0vV�7Rb\�o
[_�4g��XYd%�'����+`���Y����T�C�Q���S.��IL�~>s��Lb`6�y��NU�����M�I���,��\<���@���c���`s�-a����[��9)]�q�.l�GX���]r\����he�*��t������X�����v;���
u<��wu��S��\y����4�����C���$=���n���G���A�g���,ac���[���}!�C|��8��Y�	���G<�*�ZM������a������X:��m���~�����@���%���d�����[�����pN�����"�t�Wqf\�$�+��M^�g������~E|�����}-�A��;�J��o�rx�E��7�N���2Ah�4>K�\�4Fg���&
������6�!�����_Wm��K��Z����>�?�_@����L�x(��������C�g���z^)�~���8{�[J���5��8��r��K�Sy�����M%f�0?��7y�,�<$��a�;�`c���--58'\��@it,XS/sJ�EJ�
�u�a)1;�0���wm&������Q�X�����!Ouqk��9��8tE1,��N������������Z��p��7����+#�k�0iD,����J���
���W���M2���qQ�O��S��	]����J�.�gk:��� SC���Z�:S��9��]�����������+kb�{���89��o�K��wb���.Q|S]+��#����9;����}����'��������r���������t��"}����o�=�������st;�;���l�(��1������z	�:��Q�������������s�����'V.I������o�t�G4���!�#,e6��M�W�K�z
[���.�J����xa�������
��T�bA��<���&�?�9]C������K|.
`AjM5g�����yN��
=�����_�i�����7
�����wb��g~IT��z��^����O�lI����g����_o���<�K�49���?�!�U����s��%�������)���nN���5~�Y���X�,��x4gO����T���y���B�t�k��C���O�N��t�|�YvFh/
����JF�S�;��7�$dBqQK� �?w�#��S���`}����m2OZ���v.Az�5������ii6���]@Y,L�oz_4����'�
����
�|-F�xMa����K�m�4�	c;�c�x���B��K��vx��0u@��A����N��&eR�
����p���h�������
�e��a�8�C�`��
YE�+�	��=�.`�����+��\�
*�sYcj2{e��A&���b�@����r��#%�p.q7�!�_\��]&6�.�u�y��im�}��m�&�
�x�8����p�qk����7�G���$���[)�����U�/����~�P����w�����?���P�����[y����������M��v���$�{B�lM�����y	�����c"���v�J_W!#���]��	c�m�V�������0[1��f��6�&8�S��4.��m='`)��������k��{ww�w�Mbz����c%���t����FU�-�������g6f���@��;ax]2�� ��\:d�����Rz� �CG��
��:�|B��t��\�3�Hc_isO�������A9dX�t�D����x���f�����N�
��=�e�V��26����!��%��$
=��C��Mcd�q�X{�uH�G:m	���d���hg{������L��.����T��n}~���&��6
0b�+��sYe��k+e��W�@�?��;�*���4�^��g���b����NY�-N�t
^�����P����Yv���s�S@���xt�(�f���m��S�)����XK��Jp��t�������8kY�d�`��Rk�YgF���K����	����xK1���:DU�_��$��������c-�V w���r
�E���L�B���I�$^����x��I���
�����HXF?S�������=~��_���8�\2F3WIts
������BM������-���7�Y�&��Q��]�$	�8zT!��L��,�<����T36�##.��:��G���=C�N�) �L�tP�u�X����b�S;^U�������������"��O����j����7�������O��c��x���%��\ z���*�5������]�1�!>|����X��r�.��{x��,������7���cY
	�b��?9�����uY[:�p�L�����)%�
�)�8jF	���C�W�3�����r���t��j%���d��Q���'^b�I�y���fx�/�) �q�+�&fQ�sHq��t�-�QXTMI�}<��`�G/�?�EQ�U�7�>>��~C<����R�Ji�<�3��\���
��a�S�-����e��[mK�����`/o�y����a$Eq�-W�_�{a`��2��Y��|
`��R=�X��l3�v���*qS��k;��pp��qp�{���*�A^��y�fM��u�BE`����l�\����"��Q���2G�=f���Q��]�V�%e���+|�b�7ar���x<@�2��O4$���mk��� %I$�v�T���B����HJ�^|E,��t@\�$4�f�*���"t��,	�d��#�3�C�_�����ERSS�	�*b�@Xi���[��#�������9[�thf���UsQ�N�0�Nq�?�^����}�[�g�)����!��m�5�Fq��
�q��df��iyJl�rQ/�Pog�n�b�,���u^G ������#P��H�V����������p�Z�L	�@�5��S$�^��Bty�z��\?�
�}g$�,w��"1?�`pY�S����O;.�����,��qc�^�~c�����\�����t3����r�Hu��U������;����i��Q6���@5�?����A���u��;Q���`]�PX���A�/�5�7����&
�����?��?K{������f�_������p�,�w1�;���(x�x����'�@$�@�*2���P�T�1J�/�����S1�X�+b][	���v]��?������'W�������c-�'^��]�l�Q6Q��	
Y��*�<�zM^Kx���9h�9��e�������:�0 ?�Y4�<���%�8bnk��e����B\�3yv6^�0h���`���2p
���_��; ���,�2`��L-E�|W�N.�S�t����O�]~�j��vJ|���7�CT�*{1X��odo�e����r-� }��S�4�trQ�����/�8��P����y���W4�B��q(q�*'�Q������*�v�w�TZ/��C���_J���oL��������{[-������e�&��v��@���n)����!X�u�]�)�[: z���"k�O�J��?>�HV>7ZJ
���I8�*�p��qlb`��*�X�6�V#��R�������]�h�3�1��w:& ?�c�8&�
���8�n,���W���z�"&��Dbm/���_�%�w���3�r+�����C(i-O	�0_p�>������2<����
QJK�l���])����Hl�=��.8p��Hf��eq�����W^i��n�o�0���=VY��������b�|�Z���H
A�����u���i`�I��\���N�>q^;K���A��9E0;fF��IV���0m�x�j<�<,���)�ZS�@iX�A;]+�o��q�,�w6�g�O�_��$|#�b�{]��	�8�8�9k�J�5q�p	:�<i�x�!z��:S�w��������a��'��w��P�bE~���J�M���w7�~��aD��_Jm�9M���7�I��`���OV%�_��T��TF �)�L�����r���%
l�/�.�y��?0��Qq��hk ���*�"�/�,��m9H���(��0���A��{t�1������8���s+U�q .�mr:_��Vg�����$/'+x�!\��vV�v<�������.��3��(�V��C����0"`!��}$�����4��m����O���|��u�(e�!���7kU&��S6�!������	��z�c��7��sP�n�
=�Cb9�"��7�"�*��=��"�d�@��l���Exs���29�n�\o]%f`I�W�a)��dX`0Uw����APq�B:�K,��@������1K*1������[��a���S�q���}l�~`�~!333A���|��T����v=�t�c���M�f�J��q�O����#�.���W�b�T�EaN��s��Y,u�9MAa������sPh������i����n��K���\g��� k����|$��N�3��$�F#|�oL���u�d3���S>A|�:� �&���������5�Ac�P���`
���7:jF(����&��a� �u6����b~����������<?�H#���M�dsNT4�ctI���N���&Wa�oX�_Im��q��iwjg�4V������H�,����(X�((��X�-oU�&)����X���	�Ot�d��JN,�)<�?��]:���@,����r^9���^������,�����w���X����5�vq�Q�i���C��$[B������i/��Z__C�(t|
��l�h��^���L)u���������@��M ���M]���	�\b����elwE{������:)�^IU�:	�N4����r9���4v\R�_7�3��kjZ�xV��	O��1zF���|#fE�6����K����,Q���6E��C�����X��+�N��}�:?q�
��3e��R#�s�� F7�L�^�����v�g��->�M$�+�3P�`��8,�_���^>��FQgl�S���q��``Kn�<��B��5��-Gph�����zS�����5#,������	xI1Z��i!c�))-�aU�p�k�i�
��^�ov��F�_J(uQ����sj���=+;�.���$/)^b@�\���U^��3�.L|�)��p�����\����Z+*����t�.M(����G\M�������[<.K�]r@��"����F�K/;��������� �E��9N�TK����MQ���XF��5qa��W0�i5ex�A�Y�^�h$J^���b����,v_�ns��`�R`���I0��A�X|��!�K�s�
��:3�7C.q�$kL{��">�3���,�0�)�-�����4�Z�,v����=U0�����e��n�_&
��[��]F)\f��������%S=U%S�fx
�oV���&gu�
�����n�K��j�E�g\5e�)>2.n�i��.P;����%K���M��0[��{�Cmr����b���(f�\�
�9M�bej����uy�"�W�3��B�������0�O^��&�����<l{�����H��6P������H \:J�(�t���Z��K0cux��h�s��=,l+��OVW�O�8��~��o���L�t�;�Lp�^�*���"��-6��������e���k�q��;�9�[BVx����({���%{�+��Q_�@\�[�n,��B��K ���a\>U���t �5U�>#���a�B��c�?�HL�x:���J.���m+ 0�!��4P���`�:"��b�S5-N,����h1���"j��qi��N��	�"���\�v9�Wj��HP����mrc�\S&A�"�|���1i����Q]�\���-���U�WV����T� p���[��`���\���V��)L���)��Q%��
�����|�@
M�>���mo~���F��V�}�$G�.�<;�^�d�����p���\a�RYeEl{W���H�	�y6��x������������R�R�t��+E�X�d����Dt3$@�M���x���w�c�X�g:� �6����9rG��.��,���b����&����onrKym�K�-�:��	IL����[`�=A@CCc�^rr�9��p�p2
�i��"~S�U����XA|�nb��]OY|�v�zY���W:��L�2��#I<R��+�,I����W:��'dnt��i��p������S�>'�*�QJ2� F��!SO"��z�m�%����-:4�:�&>�(�������K_{�E'�}cItbpa�.�M�=H�(���^��'�S�L�����}kPh
��y)l�u}rKE�56������-����5d��"�K��{.'������b
T��#�/�
*d��<������?��@��/�����"��n���A��0�H]�����L����P6A?%.S{M�n�����b���.���,��H ��F�f"���@�s6�ID��T�6�Q�����4!P�����:�����<��/����yn���qffo�q|"�Y6�������;�3!�p�F��4������|�����JX��"�2�k��i$N�(������Kz�UXJ����h��`��}�M�C��?���c�	��LA)����\g��&��@Mlc�s��g��6�S�;OQ�?�O&����h�n�5%�@L������S���!�D�<������L���e��pHU�'��FO�DDD��(l��w�3\���\/q�O	 o�gF���IV](���8[JArv��tq=`
��O��*��j�~k��"�����@R�Zb�s������e���CC��_��.kF)0I�L��Kn��kDLE��}N�����)�
�T"��e#q�N6LUN'G��KS��H�7;�k@!���#��C��&�i��k��@b���
|��^���qa�X����G��h���b����.�p��Je���A�]�a�E��&���Q����z����_���4��H��:rC��,#��yV��,�/�zm~��a�;�_��.`�����a�v3�V7v�E��������.��n-#��	iT���J�'K�B������(���1��w �d_���������zG�g�U�'�#�*>������I=�+�O�
�KOvL�!��C�{���ko2����}|�Kw�92�Di�b�$���&�\�
����$��!��3�$�����D�c=n�*����)�t�D,nY���h�`�B*c�wn���P���0=���'��/��T6".�������{����R}0?<��Q�	JG�\������7����9���R�����r��!��-�����\$��m�wq�G��A��Qm�f�������-
�����=2H�
&{���m������2���S�P�en�t��F��r0PN�#�Hz�#���,�
HD ��Q��������"���v��%NU>{"n��J�+d.�����@�7FT#2d�wJ�Pg'4`��'0��SHmP��daFU��S�Z!1(5b���[2��*��M�
*�+��(X��d��n��=b�Z���!8}r���'I�^��f������1���	#����3H�8.���(SL�����X/a��p�y���a���9X�Ta��<d�H�zYZD�
������aP)���7$��T} �C�d2��$r7b�]���V
q�:����_�,�%�1�1����@�F|��T���AT�KF��j����@��u7���6P�*)��n(~s�	 u������~��f*+�(�X����=��J�Gf6��m�X��\����MW(E��@f�S���c����Dmeq���	HM��@�/#�X�
��VL�[w	  S,	� ��YXRH�v�b��g0y���%�ib�s�|#�o,i|��r��}�������|$�CQ�!��a�``��u?���fn���,�d!�t����j�@&���a�~v 5�5!��3$�1�� a�e��\�
��$��|[���j3>	��TU��&�=��r�MG�K;r�����	���o�9+##�D���b�����E9���%g+�?�
�e&�m�2��������M�#�;��S�}�ks| ���qE�������@�|��'���>�;��_Ji)�s:�E>��#���i��m����:|���������6�c���?�����?��1�D�Aw;xj�>:Qy�#�l��E�_e2��QL6DF�::Q��mg�u>>��u����)�s�c�t*�`��������s��(F�Ei������s80��Rp����p�\[�>o�w��/�n~��/���{�k���IlR�]��4�a��Z[��S���2���mK�����CW��X�V�+�	:��Jk�-���0sR�?��7�������i��j�#
��4��$�P����#g��p�<�B�y�Y`��X��b�F�������!���8TT��
U���?Z��{�s�Ea:��K���69�5be��K�h�^�)��Z�'3c���6*�����M����?|,j���vt0!�n��)��\����`����COg�qW>�F�Hnz���qr��{�?�$����6�����2F������L�C��mQr������e}�<6��9H-�t���&�$PX�3��lC������:�]�D3S��x2s���)|I��m;e�W#{��6�R,M������VE���(�������+ ��v:$L�;��d�"3�f*���������\!����:��-CM`nT����N|�C���_�?J��0�VR�����oEu�0���R?|p�����>\Z�/��!Ck|��������K����s������~����6O�zM+�Bw�~�K���N7�rvA�m���_��}#�m|*����X��rgZS�j^��"O�ahMN��Br���	��5#����
�<�d��<�i�q�?0��2\o�����|9�8d  K�T{M�])���N�X<�*@�����)���9��l�]:XS�G`(r��\Y�%������6�1�k�P_���U���^��+/���v��9�x�B��Nf$\��L��t"������c��PP(�y�
�xF�����v9�*.��@i�����7����2��Q�����rj��}��
j��	a~���(8Tk�5gt}G(Ig���/�����/���?h���:��&z����Q�q�2s4�#�S�G�4���3��V����_eIDd����cq��
m���x2�^�u�Hg���<���d��w���S�GE��c�w��$��t��u��r���h���1x���.$�K��B5���s���y�\��-w>��U�����9��aK.��a
�5�*���$E��t��Zu%�RU(���w^�G3�����/>�2�
Q�VG���/�����7�qT��.�_/���N��f��G�\��k/
V/)�����Fp�����GX'�(�cM��3�_G�s���b 8�����k97����rY�	��a�T��Q����a�cOn����`�U�k)���Q��(�CpFXc^���X���!K������TQ83�������ie�4�����Wo=�}��~mxy6��� ���
h�O������U!����1Ki
��
mq��s���
m������0���
�-���:�;l)��������,�th�_*>�`0X'���0�������
�����^�U���g�\6xVF/�G"p���>�/�N���R%�,��A[4�������d*K���?H��?��f��������>Z1��`�b�C���e}x��+x!�����>@E%��^�EW{ECB���e��6�%=�����;���u$2=����u�81�������&�/���#�/�������)�#L�~0���0���Q�c�%��D|1JB��������� ���J�2@���k��2#�M��������������������������<����x�����U n������?��}��������Y��p�7���9�g�Y�)#�v���u��?�'�5+����;�3�fD\�7�+����(P�]D�$���E�X���X��L�����?���c������
�0��m��+��{�;����d��l��0����+-�3�w
D�{�ca�q��
�,|����P:�g�����b	�gGAQ����ug�.>�4��AI�"��G	p-�=,5Ax:���s��,����;?s~�]��pk���D�fb?���S-#��	�L���flh|��F��"�����g��e�d+�����q�Z{��i��g+����)~�������v���L�\����� �������x���J��Y+�e�#�x;����(�L�n:����������;�?�0v�������P2�N���y�\��g�|y�a��i���T=D�a��)�:>��Y�w
�����<sVJ/`���������{���.���ELZ�-����������pSf�m�~�p��Ng�4t�2\g��X�NB�
�a�N���x�����;>a��b)W��_zn�������J��[�t�cxP�*����q���~{����/*�R��p������Q-O�����T;���:RN��Q�����4��I��6\IR��oZy�}��	�!�{����-E8RE��w�Ns&�'W�����	��1��-��X����G��Y;����>��N���he�vY���iu��/�<�);+���R��c��E����:�U��9���wn����ya&n��'��dg��uF����c��c�BZ�qRY��,��/}��!����������a�����T���4���j�Z������R��M97SV*��T�Z�=�UV�~��_����E�x�����\��|�Y;���VjW Z?@����([�K�@�0hF�4��+��g������"C�PDwf�����%��S[s�[�^n%��4.d��b��%;�T1�\�Wr�����6'�0G�$��-�'�9$T�-2Og�_�������9��,'j3(���q�g�0���1"~������++�s���Oo{���]��gZ�Ap�?+:!<�)�h�)����c{�����|��tk���Ue���d\�8S���j�#��
�5�����3�8����`��3���<��{�����R?�a������W��p�/���][V���x�X����%�X1�~V$�7�I7��@���p��cn6p���&���]"�`�.��%|:�f8n��ynE�OT�n��������z�"+{Fp��P���SM�x�
�������5S��?��D�n����zX-��
=,���Gi��1Z�O��e�b�v�hy�"RBK���[�����WE���g��h`'�7������S`���~���������>\r�r��6���B5]�N�S���g�"u0�R)�%����h���,;kY�b25�m���������m��3���Xx���;4J6��dj��3GI���=u�=3���,&uk[������.	��"02�
�5d|z&"�.������Z#����k��k,�D�\_�	��������_���t����'M78�[Mj�,+��?{\��C��
{�"
ED.����z����Zj�z����h`���S�S������ �1��G�Rj�n�T�c�eR��%an��Y.�����T�pX�*7�(�Jf1e���c�eT��3cD�8����O�<-���Q0�hs]]�_\����R9���y��m[��
�d���xn��%���c)�P"�Eg�M�J��z��ej��}i���^�.5I�T��ug�Jo�.a�dL����f)+��%c���Ua�P�O�
�y6`���������+�=���p*��#��4�^������b�n�}j��K��C���t�W)�|d��S�>Ud��k�I8��}U�E���C��lh�+S��sY�aI���}H4^i�Z��c������;�r�.���Ch|6��_u���/�xn�-5d����8�%��
�X�����GN���Qr���en�{M��z#�#X$tI�e��\���[r����+���)������+[/*��_X���j���am�"u�=<�����:�g�k�m3M��C��w����R<���r���Jm������>��z�$Y.�*W��������"e ��iQ�Hi�4�;r���#'8@��|X���n>]j��5���]�<��m��t��
I��������x�-m����K�R������/����e{���+��
���|��lLKfs�rhZ��5|T�
�����j|�Rx����E5��B�[q��Aw�J���+����q5
a����J�4��i�����5@���t��GJZp>Ce��R}���>���+�Kq�{:>���U��RO�<��p�49u!�0F>8���V�����k���>�&�c�a��V������
|(+����s@�lJ3��pkM������n�=Sa�.k"��+M5W��=�.�$�5����pI��Q�P�K��D�H�f�j�����/3�
����dh/|a��<f��������[.���k��>���@�
��p��SQ|�&p�=�WRu�p5w�������5$h?Obi��0yK6���U������SK���GiR~p����P�F�L��������E4	��)(=����bL�k���x:cv���;c	�5�6B�Sj��`X��$��!�vG��)o��}<40l������^��K�o�g�\*Sl�y�m�}T�|�I/�*0v�n)U����Q~~�S��h����1�U`C������
��������-���w��Y�49�:���g�r�g�t�7��E�bi�`C���*�5"�����,�3s/Y���_�b&v��/t�������Ul,����I����dO�&�cY�?����@`�-��^\4�-���W���[H�����V������$�:�k������1��@;uj�JEW#�u���^�����6�g���a��co���"{�k:��1���Jg������@�Ls���C<1�tg�i<��*x�4���M!bS��E�?�L��S/�=Y��0�����S6���r�����V]E_X��Le^v$�(jG��]
@����!K�M��K�^NL�gy������TV>����O�#��DE�����B���|��e��%�A�t{���#e�>u��s��������5�3������%[���E%���U:&��?e�w-k�-��y7�/�����M�B��f���'���cl2���ZR�����U�>�/��
ur�j�FgL�Jy����@F��jw��k��\
?�l���x������N�gO<\����:�%s>w��$�/��<u�1�7�GV<��a���&1�����V���� �l�K�{:�����7�T����S��?��c�F�|Z��^�pM|&G��R],�7��'�3*�t[.�����j�26���q��t��j����v������T�x�A�.<���11y?��&��6��|���F�
��|G����J�,yR�&���'�X��|=�7�~t�\I}d���������4(Z=G�+�������:\f���O�r~�������������4U�1z#����8�8?<S3�o���c7�R���0�4I��R������7�_��?f���zC>���h����������1����
����c�������u�������7����1]�����p�=��95X.��=*oK3�<V�"����L^��i��z��|���0 'u�A
��k��:�9�PX}���+����q�����|��*����n�P����V��0Rcb�������2��J��l��F���y�.T	}�B��!��M�FiLA��h�H����jJ����7��������91���>�����*�#40��I�[�96���<i������������l����q\����?���������!X���/j�{V
]�X�L07��KU�C���x��+7�&�&/%>�N������S���{�A	]��t��N���FQ
��������]���'�	�z�&�����6�E�1teV�#�]�|����I&�f�)U����yKE�K�5�sfY�L�������El
�*�����m|�,���%�BU��Uv�{J
�o�� 5�C"�<�b�����{Y�o$�T?`�9�����fHI?`&1~��������h�
,�k���d�9����b���?�&����7��w�������W����k��`�V�1�>V�NjYY2��Z
s���F|��i�I�?V��s�|�S������U>y�.��ge�B�����T8������������{�
E|���!���0iwx�_�2,�`��!9�_�Z�z����.��M�������"[_����|����(2F���0�zf���[��Y �I��;���iOy[�n��`
����)�������$Vy�*����3�p�w���)�{kS�������Na�e��Ch���%���l���j�uE��J����4���j�y��lGt^.��&���10����2?�=���;j���[��r����^������%�]�ew=4-����G/������!�m��S>�[f��N��I���;�*���\�
��r�����m�������K�m�E�+/T������f�Yxc=v�\�b99l��������iw�j���T�?'���U���Kt�7��.�W����U��p���zdW/!K���Jc/5�!@i���u�
��N�G\�V~�&�.x��YD����3uO����>����\*�	�=��>�*g�+���[�.���U>P�c���Sx���'��1��i�	�6<��������~��pM����m%
��1�U���wA��@�7N�Px�J)q���/,g��>�T��0q�9 �I&p7��N��C���������Mz�f����<�����Qj�����=���NM�HV xx&+�����T��Q����{�������'��,
`�4���7�EH��T�9}�N�/�@N%�����2�I���
���pM{�4�"D�/x�&3�r��&6�����~�����[�998T���M'��]"%p�-����
��1V�,1U��7����]��;��g�9�7�!�/���~����I{���zr$C�S�
����8%e�e����j�\ P���@5rM�:���=5�5.:��.����jM���I\e�rM��#U��Cz�z{x��P���h3%@����6�)i�4�R����������G����G�	Uq��z�) �D1����2�0mP~��,�'a��?5c��k�F �a�t�J��v]B��l��{�����:�{���f�~��p^�?��=��J�%�������08������(|�Ej�o&�M��
���J�5e@HF�7�RR@\����%��<e���4A+�H�rMq��*?.&���7����z*�����
�Z���1d�c��k�!,U�GF�������zC�r-��!M�1���� t-z��y����j�w	��2@����1���� �������������0Z���k��;������
0^rT+�W8X'���A3�|��������^���������W�
��Ae�������:8
��Z��?Ot��(��B��;W4tq7=���I�����I��xb�Z�����7�B��=q ND�IB�Y�����E.^��r���x{�*�����ak3v�W���Y�������u������UQ��o��L��r�U���_����jI*�arEw��BJ���������J����%��g���B��}T���i��N��hM��k����R�����%�k�K��e��5W�3������������]s����U��cU�*��;�d�g��i���>96P�3�K������%oK��)��K�K]���\o?�g���|-��v�u�k���i.�����*��}��s��)�/oc����G���N�?�J[�U�Xs���)�Y/��ZV��}����{���?�Y���%n���~����d�Y�K���k&W�>s���q4�j��e@q��D;S�t�-i����VWe�P1��ymYe��C'�L���S��-*��K��CO]?�Y�	���O?�B �p��,6�����8�Ef��w��g^G�q����Y�:"���E����x����^�JY����XO�^�X{��=Xo.�]5�b�"���{���p���*)�����.�@0���w��G�����e��S�r�z��=���u���O����B<~|&k�]O�l|�as���x�2���^����V]9��Yi��h��P�{Z����^���0~�ED��m1\b5�=�Y�W+"���?�h��o;��s�5|\I��o������)�#�[��>b�����'.�GV�w�Mkq'����O������������[�����EDPO�����S�_,c��[{��{W�sX>�na�}�	�T���y�X[���������P2[�6��q"3�L8y" 2�T�_H4�PSP@���}@�^�u����l�PM�3j
;���^�1�8�:��}��9�pW�Y��}����\����g
A������A�o+n�g�_D����m��^v;�m����\��}��c��\�f�o@�}z�����^f]!FZ��Gj���������S��������g)#���)�e#�>�vQ�����Z,i������t@olV�R�)��������~S�637."�����e����8^��p�uD������X}C��M���!�rj��� o���[�/$B��3T�����%�q|������q��P]y=n��������HQo�{5��	����N�qk�uM
��[Z�_�X%"V�*,������W3�#�*�K���V��0��G���p#�����
��d��)��m�Ecm=�ig~����|����`}�;Y�b�
I*w�L��k;�b�u�?���5��W����=��IM���5���5������1h�R���������~K�����#i�'�����������#���������@s�����K����k9	H~��� �gO9F��RRS�����bT�1I!�K��M���D����C(�3q�O~������g����-�c�.�/� �[+�r�J��oW�}P��S�J#�~�Y��)v���e%L��x�P<��D+�ko�X�n�R�x&Mk��Xc�}._E���{���p�l	[��F��8�Oyf1gC\�w�,��)+�3��;!J�_���w����Xc�G��W,w���s��ei�?�[������A�JK�% l~�o��V>��0��a��.��/�b���/C%�z��\o���	�Z@D&Sv�"�������`~�Qx�)����f���l�����2��aWa�]'M��&������;�&&�,X��wu�o���p?�a�!�Q��m��?^��[&/���f:`,�@����I0=���5���l5�t@\��o��][�(qr��!�)���]p2��]�������3���!6������a	�W�'Q�S��K���VU�����aV���R��	�����U>w��@�p1�6��O��=�����Lb��*6��(�G�t�>u�����b�gWh7?y�h)Bb��C_���.�V�%C�c~|S�S�&qk<����g5�jf 1T����	�������j��Lm.5	�-�m�1M&��_�z�8�%L������4�4W��ag��}�O0J����bi��I�����~�0�tKa&�iOA�����_�T���mZ� �_�dU��;� ��7��h|~a�X�4����%r���>�#N����}}S��.�
�
<vS�Vr��@��N�Z��,3C��v5�7��R�$z��C���C6���]�����7�^��O��I��]���e4DC�ii��3;����aD}*	�"A_���
��\�����aD:]/yaG���E�FW�Q�5��U��9�?]W�K��7g��L��c
��*)� NN�m*oWsJ'(��u=�=��sCsSE�)����Mh����+�����25=�N
�1y|�/��i�s�a�g8��m�gx�2�9�.n2��o�+S�Z��*6�/WF+����F��8���6'�) 0u�%� ��	��"7a&���]Y�&��%d�B��f��Z��������M�J��@�B�C.]�o�5�b��F3�s����p���;���j�2~A���;l��%��O|���������Q�.���3?�J)q5�%K5D��r���Kr(
�##�������T ���x�����W5-g�����tu���@n�_����b�\f@�n��i���o$gq�t���}�Mw@l�+2U��6|q�4
�G�hM�|��t�,i�R�2��]��hZ��t����|�m|o����2E0#���_�8hP����w��W���q�]{�c�Eh��aX��
��6���G�GP�|���%�����b���T�s�m%3��_ ��|qB�H1q���+���3�[6��|=sNn��Ls�g������
��]���L��L���L���j�t}=����jE��1�����6jx�����K��=<"���U?s�H��}.�r�U��w��_E����m��������*{Kb����|��&;D(o�g���������������QE{K��um��p���C$/u�E�=bCS�I����E�i��m����L�.����M?����u�C���r���
c���T�������c�'-b�,�|���@=�4�_��������MF��v���a����~�����.����������d�����S�G��B�.2}��u3����t��_y�83���W�j�hM,�^�Oj}�!��K�S�J���m�<@<��Ixo�[,���S�	 y*��O��3y��5�6���G$9���%)n����}7���r������g�G1��G�����!9��I�-�}���G$�bM�X(�?�������*�L��o�h���w��d��8�<G���siA��|4��^���|�R�������E{����P�r��]����6?�����6�������3sK���=|S��:F����{@7���<�rV�:�i���R~���v}S���g��yf�������������&����QCl�f@,�]<��(O\�T�.�)w+w����Z���&���a�[�S,���;���#ZU�
�ojMlX/IV
:���jY��6��\�,��u��5���Z�@���n�uu��x�!��f��M���0�@���p����*7"���K09��&�ekR�����N�US�b�����h]��1�o��d����u����nqu��&��/��gZ��C��`�������X�,��w����]w�����u���&�J7	\o����@'gQ�)���(.n2Vi�0";�}cW�\�
��=��8]C$�8��������W�>��?t��X������X7]��7����]����&��f���L~��IKp����r�����Nv
�o�]Yt����v=��B�2����{�N
�M1�[V����Bv�k|�����)~��S��%����,p��e��%VM��q^�
Q�i���M�����pZ�����������-����s�
��H�xT��M�+F4MqQ���{��/�s�(������w�l��O�?��wuzm������^W���9����j��*��Y�I#�`e�!�C��Q(�&a,kp}S�%Q��������=5�9����G�����M�g{}���M~�����;�3]���c�����%	�J������^x��F����$�L���_����S����o�,��1�5f: ����$�5���?n�M�wO���aZ�pMZV���-V�����Y���8g���/������%������{������+�~H�y��S��/����cTn�"9�������������?�������~,�?$h��:�_%��T������E:�����q���@���g���"�KP���`r�=��5 qMB~������rSR�!����G�b���R]<v�����6@	�*$��g2�?���"�X�u�fV�oq�~���rZ���W)�c��m�H>�
q������"���A*TC�������go�Sd+	����)�3�3�Y6���8�63���$g�J�_�������a5���{���Yy�6t�������p���wV����jE���k9^a��K����i��uHt��/�2N��sya�����e���������zI���@Yf��2GZ�o���R����WZ�o�����6��0q�6
j���5�;��H��/LQ�c�I���m�<���s������r��DL���������B9�R������d5d$!���������������a��V|3����[G����������s��U|�S�����D���.vMS:Tn���[��I���g��6��O��@�o����u"V�����7�����q���r0=���Syxnd���jV��e�z�������������ZXY�B%p6����#�K�"k��k,�7�'�����r�.(bo}j�������69���{���L�'��N�w:���K��0���c����
	�[�kM'�oe�W�M�w����z�oW3�B���0�Yxi����@����kU�f]Z����� �}��{V��qv����3(�}�����e�L����<n�&�I��d�_��Ul��T��'g���I���t�Xb/�$k�i���8�1�!�_y��M>�d:	���M�A���S|s���G� �d����+�
i��z:A^����|�6,����`��q��i�bU��t�{Z�c�m����t}S5�K������1
�&q0K1�O���c��Y�;>�����7�*��k������1^.�MS�$�o��#�$m���C�bD������XbjZ�S���or�?��g<b:=te���������4Q��������W�8JV���X�7�i����#X��Y8��M�vc�����"~x������r�4�$����4X�`�7����7������;|c��RS
����'���������k��3�oB������� ��vsM?_�i�K�Z�i��M���&����Y�?�Z�r�w��#���3%$������0	f��$�r���JW��1���<��:�*;�����+�H"�������M��������|��^r�'h�o�.Y�����+��&'$-�9��M�{D��]GM���U9�E��M�>�*I#�E�ZV� �p��	�������On���S�����K�Y�?��v�G��#�����y���H%���!��$U�!R����QKi0��_�d��"���+��#���VW��3���W�L����DW7�"'����0����a�_P�7�6�:��?��L��o�������D+�B�W��X@�{]�w������?��?����[�]��G����'���h�}����5�+7�}[���������Ezl I02�����K���������
 `�@s��(�1��9��J�'�
�gW��K]vie_��r �G��(���Rx���r�����S���P��4kB�
T���PbJu�'<_��ix*$	gB�%E����K������[31���P�M,:<�	�-K!�x��^��f���;�r���!ON����Q[�=72����.G���P,��<O�o�6��ij>sF�;�Z���Sl��A/4xA��5a���lC����Nu�w*�Ue�#�5����,������?�brh�����t(@������:7��y��-{�b#0
J�Z��Z��5|��^������;�m��x����?:y������W��������������qG�T�
��&Z{6���U���zMd���6��\�giM�.���������;��H��:�����Rt��|c����.�Bfk������z}^�.����<�6�W$es8>����z~yz�!	x[2�b������gS�\�?Cgnf4�8�����"{��sO ��R�,�����,�?����O��siS�����'��t��lU � w����	��W������_�BjT�v~{�;����gs��X$���J����1��5�g{eXa����|U�^���@f�K`v��� �����{k�;e������������z��v����FS��t:���e�]�����Io_ym�vRy�����
��.��X���sj����W�*�0�{���92��{���M�Hf����o��l���&`����W�O�W����V�@�s-���Tn){��/�)��ax�'�����&����d�~���&�W�U�n�����~C"���.�j2*�H{�0��Q�,��N��q�,� 3�|.
��y�[d�8���+��.v��D�����)��p���t]klVx��UUC�B�����3$��t����^aVz�|�������'��W�H��������
�^~��lz��%����uW�0�C����jXys9���i��] �0T��N�7����J/,!+l���4<*�v�-c�m
qZW���"��
h�kG8�:q�S��v���<0��f��0��+E�����
�K._\]Q���
���|���n������T��9�1�$8�Q���v���Mi�v��f��n�M�v���;/
�[�zu{�-�}^�-�v���}��[~�z��{f��8�u	�z�H�G}|���lkJf��_�P�p�y#6,���K��vK�Z���I��7���i�<�0�aQD8���b�#{��=����d��*lU\����H{De��&��%G�EW6M����m%��{^��}
��f<dd�f�� �N�d�EW�.��]+ �op��m�S�bVB�8�*��&��R2,L�$>T�2���X��n�T��B{�%84��Y��y ��������9gqt2l��������=7��9oSk��o���d�& �5��2��^9����8�
����+�����R���������@�&����������x��0�/r�ST6(��7���~���F��h�a��c�r�vS��/�&��ehY��-���0����V3@��������������VZ���=��c������������CwX���Q����@���
�e���z�/\���Q�-���n����Jx/Lq�	���	.CR�v�Ix�����)c!��H��������/�H��@�@q�j��Dw�.�)��5	Bh"�0_��?v�I���H�2@)������1T����yN�@T��X���0%��Y��'
\/�������9��r�f!��:U ��������F����
�T�;���+��/pnT���Q�%\��������������G��) ~���B',�Z.�Y��;x��g9R@��d]��Tn~����[�/���6�4t9��{�TsA� ��k�s����
��$[r9���5q�V�pkz���Q4s�����*��T��h��|��r�������L�z �]�Q��dYbW��z A��r�����{������:Q"av��}�U��[�q-
e�r�-V��8��j������9�����.����*$�,�T+��Z!6�(Q��Z�*���u:��J��4$�L���������*��{�b@\�,�z9���>����&������$�`���~��p[�������?J9m��
���^U#q�UEV���d����}�>�M1��]���S|T�K�����9-����ga1�������|�A0p���[erx�,���`������!75�`��F��imlG��xBY����]�b���9��t,d~�U��9
�����������3w�x���}n�
��qg-������g�I��]��c�����VO������	�b�Vg���*�����M�3d_�E.jA+�S@�K}�0�W�W�_���r&8����W%.9:�Cx)���v����)��2�r@|�!��r����$����]s!,�xI�M������@���=�)�-��$�:%��tH�
v_.�[K��J�>fN��gbT������TP |���0Q@bI�J�%4�"�$b�fS<%T���MV��I�����Sl\4�K8Z��R��w�*��g�]@��%��g��G��!%�`���i���������cB�@pIm��Go�����%��k{����NI>��s4��v#lvI��,���s����L�$��`-�K����}45;8kJ(���cy��GRzI}�o�X��������[�������x����wJKI]&���&y�����mpJ7���60\�u���������7\?+�_��-.]q�HYbH��y��<M���
�>2���B�9������gK����G�%e��' ����hS����2.`�f�p�O"l=e���7�6��Z��}�G�y���l�C�����"e���4�|.�������W�����j�����}�S.�n���<=+�]@���,4��7����cn��\���;)����Q[[Mb�\@�h�r���a����5<��X����`��c�@��A�.�Wx�.%���;y���?W�� �����w���X��!)��b�D}!�X��4�E�����3��s��D���Z���N��k���|����`�8
4�Z��zMF�@����B��%_S����n�����!����(�Q��U`��eg��S'�k�?�E���}6��c�5��5&����|#��^����
kY"����Y����s�M��$�j���	 ���^�3eq^�jy���V�B�NU��L��:�w0�2�o��}W�U6 ���|_����Az���^$��&yJt�N��}~o_�����D}��{F	��|����c1���	��,��.6��N/Z^��(@v����k�JYfy.��F��j��3Z��4�(g��=Smh�)�a��2��^��Y
�j�Yw���e��~3�<H0}�8��YM�u(����A��`�9a~��P~��=kF�WG���*L�%�a�k��FB�����B�C�ia�?�f������`/����T��o�"f,}g��Tla�����fr��J�(�s����6RU��=�6�Hr�+<6�?$k?s��'3�OvV9>�'�,��!OO3-�	����w�&�s��a�Y��u�L1��E��������s�=�(
�����
�6�HJ��^�-�0�R��Y��p��L��������,`����v�|�I7�a��s���=8u�,��y����Y[~�1W�����|������y��5�0��r��g:c��1$�FW&��(��~(6�S��A�;���3(�s����u�I��pWQA�w��g�X��E��U��?�[_��I�:��:�-��]��L��~���a'�k���t���� ��W,�0��?pX�
c�����������a����������W:{�b��0	���;�G���5����#�?~�%xMk�N��\6v���2���U?3A�v������2F0���C!�	��U����� ��
�K@gX��^}H������MW�����!M����K�Vgf76���{8>���pJ�P%����a����N�qU���8Kl�U�ab$���|:��
U���HrW�0��e�gd��m"�yn]v�[����2��v��a��(����S��������SQ�����H� �P���6?9�1���Q`�
t��|�������r?$����S/���g�j�s����Mw���E���*��9_��� ��xn@�7�Wy2����9�Y0�������l����%a��zY��z�Iq}��-6]�A�~�g,�I���FK��d�z�L/�F��vc���`�����2��<y��"�v�e�����s(�a����<[y;�MFcg��y�n��E��a`�1��;��!N���P�%������(�[oY<+o^���|����I�/WJ�2�;�1�����N������R5���<w{��K����3pj�8D�F&~�����/)� \o��laM":G->���]b��fa��\�4U��-Q�N��7���6����S��%��s�����!n2��I�xO��>Y��9���##���%Ql����Du��|&����k6a�C9�����*��o,	���|�~�H�y���Gc�������U�L�8�\K7�d��$KUL����;�����N�)���S|��u{�:.����X��&���1���?�Q��*
�����&����t�
��0i���<T�G���	^e�Z3�G\,���^mF��p�\r��ib-���h�Y���Y	`&�c[��p��?C��8fG
�.��+��=�jH�t�K�._�1v�	g#���]{�K��ku�����Q����4������p"k��;a��hz�����wM�#�����
	|�g~������J}��,�N����������X	��H@fE.n��
B�2Hc������*8n�c�`��������bH���N��o��^��@n��o}�<G�5�g�������:���k�	
1���,�o����~/����3���@���G,�j����E�1 ��+s�5���p�{���/��H����RRw�����8(�k���o	;ZchdA}7\Rs�G�G@i���h��n)���
/p�&^����p%�@��Nd���:@�6���Mj �X;u}��0v�[�F�+r99�C���\1Z-��j��hC�J
���R��Dw����:D�(��?.�=H{(/�:�����t�Q�D���?b�����Y
��z�W���6�mQN��|�`[`�"����:�ck�fz��z���h������.g�������o����l����m��DD
��= ���T-�x	h��2����@RqtX���0���vH����8�H�!5R�H��u�������k�@V��p��qV0����
m�s��Zdb!�(RT�u�,��@
 Y�9�N`��&2H� �l#�&�GYK������}�����#��/�tjD��
Ho7��^�-�`�G�I���������h�Q�q}i�����L*iO�3p�s��?j�!�Q�h��s�x�y��B����������Qp`&Q
N���aA1P�uXT_R��d2��O��QH����8������?\�R�u��k��G���.�D���a��')��d���+p+���C���O�h�C�W#"���`��)���$$Rr����(����+��X��?��<+�����O����b ��?J���s%�W��n:l��h4<1j1&��G���II���y�a�
���z���`���HQ����(��o�	Wd�
�uw�{:O��������ce��?ZX���>�m&���+$pC�0�g�#4���K��)��k��!�=�&���V��)���:�'���/�
t���=767�����@�Q�?�{n��cd������Or���a�������I&Bu"�@�v~���&�S$������%�
���=�G�3l�s��]��J��@k�Z�I�1�p�R�$��Cx��h����hh�V���<�����p�`���X�:�g}:����
N[���b�s�t�����0!bIt���Y��;7��(��4���?�b.����j"$��a����[��5��e��:��I��1d������pl��=;%�i���%��!�g�����?D����En�h���{���B����G��~B8��x���^����2hX`���\���W##"��YR�G����Y��PM�����I�k:q�}��a���0tH&rbI�}��*>i,���@���cx�}�VY�mV��hg\��j����G�P�|XD|
�:�D7�sb	��+��9����R��������'��B�52�Q����E�-�u�xn6�o��z�S!��x��G�qUWV�d`��<�1D�l#�)������?�/���-��+�l������n��qT
���d�9�G�B����~�?����h����G�<���?�n���R����/�����?�}�e�����_Z+��q����?"�'
+��B~�5�=A���4=��^S���cD�:�T���?V^���+�D����j�){,�S�O�IQ�m��w�SS�Y��r���!~�Y��;���dx�1�A����/g�"L��-D%[���6���61�XX�C���v_8
��A��!y��N�Fl�
������B���1��}��o��+Q@Q���`{L��p���l��i����%A��N��`B��e�S�������S ��t6�'z�
��I+��m$O-����+������.�U�/����3��C3�g9����A�����@XhV���X���_���P�����|+^h%�S$��
~
��X���Oj�V��.THA�t�����r+YR�N�N�z�����	��XIo�G��30�}���t�S������t�������zOF���Jd�*
���JN�B���Ip5���k��Z�H`����2�"�Y���lTN/C��5V��(lH���,��{��g��{��(l0��D���+���5?��tdK/I2bey������F�%�mk\���.��5n���h!���tV�������Sg���7���d��Hp%C���9��-�����B���k�{O)�W���q��?�B�������9����(��������vBs�*L~�lwR�\�\R�H)����|*
.%)������*,��kt)�r�%�VRV��	�p�p�R���|����7��D��}&~�h�`�o��B��4�n��m�`4=�;������x��+����?qB�j�{5Q��`ncgz��Y�t���P3���r�u�:
�����S����q �4��"�����;����1"=P�fx m�&���%�T���2�r����r�=g�������U���!�ld�GA�{����ks��_��1�2��,��Z��}�N��H��j�ZqY ��/��W�����w<	nI����-�;���W�&�&l|�B=�hY��o�HOpFh������%Hc��7�j7-o�+Q��q�?������)�0vh�����3��2����P#!�)0��*|-��),4��;�RGpFz&�m�K$c�0��������������\����P2�����{>B3���4v2Y�t����p�D^r �9v�^s ��g��4?�*P�����Ux�q�g��3jB4��� ��������I������+����R*g5��������f���7�N�h.�LW�����g��+������kw�z��)��(`�V�&uV
����MN�<�
=���3���dZd�|FJ�#�Q�.�}�>���s	P���?������U	N���z�T�����~����3 �~1��t=�R�/��>������O>��"_��?���WX����J������������l������T�\���/�R+g��a�������������������P������\@����Ae=����V>!�sd�^�2[o��"/���c5�_\M�������G����bL=L� ��4��n����j6���N��jtI!��������aH��b8F��QV_���~���|�Zc��	�4|k��}��k�g�nm7�3A����L'���&3�������F{�8�0����~h������K��"�X���U���}F���B���M���h�y���z��;q�eL���85}#V
��ZS�������r���C�t��Z���(�FB���j�{%�o���U&'������j���c�F
���r���X��$erI���$�'U;_�A0;�����h�6 @�E�
�Kwb
��In�j�5&A�J��9:��O�6[o�����%�p=����KK'�D#�/��5�p���Q_�a�|i�y.M):��j���Q��������Z�+>���"r,�(����;���h��g3hW���R���M�^2`�6�X�����mz[8�=r�x3i�V��9�����R>�h��G�����q�j��p���7���Jl���H
����~�$���y`�6:��h\�[��S����;;Y��;���+u{T��>�prPV&'�F��
�Fi�������p�2%
����� �nt�]S����Hp�H����bPa���c�����#Jn�"�����&���/p7H �A�����%�2�w�\U>�Ro�����mzs\
�G%����.��8��xQr��5/ZJ�UiJ�G��7v��D�Pdp���x������)0���#,���na�u�|����N�+4�*4����%���h��i#�����	�<��g�pw_>�X����g��C~]�^ d����h)�@�-D6{�+���q	=��"|ic��Kw=��h��,��3�@����3��c�].�xq��
N���V��TJ����2�@��)�5�")h���0r����S3�����#t��_\J��(5ndoT����X����i����F�7��T����UG�%���.M���n��`����W�4����0��e�k�0l�4Fv����D3��?+��*)a�Bf�%
1��R~W�&Wj�1�)7|`tk���)�a*|�r\k`���(�E3~6����K'3j�vE����Tfa'�wMa2!��d���������g8�?l�"C7�����tSLA��on�,)�;�e�y\$��&u�?�g�a� :���F�G{J#�����R-%zr����SA�r�#�<�D��]����/�HPc����m�������E`��x��~� �yb���" �C]odP������h�;P�+�+�B���3X�kaP�_`�����_��/��������X�_��`���r(F��*�?�:,4�E�;F3N��K���1�8�Xg�����Q�Z�}1��Y��)4H�^w�E�C5w����k�s��G�:�h���������0���Wi�~�C�	�c��F$���V�g[������8b���&u����������c�}g��#���-�}q��4�����@���1��
*jt��I0&�YV�:a��F���(9v���M�I xk�JKk������F����?�j�<������>��S�2q�L�������6��
��;K�=Q�
qR�g�\�j�);�\N�_	��k�	d����<���	�������<*r��i���'4yO:��V��?|cm��N���+��3��(	��]����JX��yuyj���v��5� ����mXv�4\�LJV�_U%N�F�l�R�[���2�%����OY �WV�_n��kJ2��J�js��X(
�v���
��Z^����7�)���J^h�������P	��oL�)�{,�����sOV�Ww��6�!d1^�"�m�O��<N\kG/h�D#[�k���}���Q��.�Qm��^�F�.��;6i�iY���|�d!�3�������t�6�cO����dv��������9�\�Z����(��n��u������_�;qr����l���(n:i��7w����E�K�l�`]vq�WV�de>Yc�b YP!����?W@(��(�65-��;+��Xr5����^I����K�sD�WZ{��v�����o���U�R��@b��xE��p�`hk���1~H��#J�������;3M��}O��y��cJv\H;f�!}b����Ja�G���%}_��=������Q�������[B�R�xK+�����W�f�]o2i��>����ZX���e��|��I���9�Vv5����b,�W������WH����b�*����b�w-I�����GV��������q���������Y!���������{�e�Ia���(�h�!� /.��(�&y[��Es��W��H�����y��]�Ti���ou����.DG�GM:hz�ET��-�F����v>��@���8���+����F�L�zQ~���$X��kF�AzQ�,	�^�h�|if������{7��8|��o�������4���;���4��L���o1q�&��[���}�L]@�WZ�fZ�w�;00�d��8D��S�����C�h��������N5�I��u����1��~'�	�U�VA�{V�_%���W�Iq�CD��7U��+�������*G�'��C4�����P�~��_r_ o��.MBhd��a
�!6!��+�+��N�~Lj��Ye�`��C��F�������8��������V�i���G��A|�U�r���\�������>k��-1��Z��<d�V�\_���
��Q4�I��������X�u�@����R����	Z�l8�%���J5JQ�c���?�5Q3�I���v�����|8VC�+!���F�:�G����-����j���A��K/��������v���t����~�_�JA��U�Xln��+'6T������|8U�D{
���H[��S
K�6�I�tw��y,�dC��PI�������p�nR������*�*�$�����A)�uaz��-�#f\�u4�T�����/�A(�-�G����$'�+��������>U��V���+�DU(�+a&������&w��������100���Z�B��h��U�]����9������?���zp�g���Z����4����EX\x��������aOKB4
H�!)�P���k����A��]�������dVV����h�P*����M��}O$&�=Q)4H���BhOb�!������deak")��;i%�(��;=�x-�]��h���~tB�2�{���@����U�G-�|�	�ON��Z';������U9���7��Nh��L������2-6������U4��d����I�9�����)B���Z��X�����.R�y����b�2�"Qr�zV�w����KI����~+m��J�����	��+�X���J/�l����6��
K(�'u���nz�Y�� X�>F2l]T��3�N�_������d]�N�d����d�_�j����QlP�B�����.l@��E�HVZ�w�d?������U����kYY�\}u��Y����u����=���������lY��uXe?�������=��'���;�#��{L�����~<�%8v��"���K�����n�W���b~�	���](��j��E���+����]��)jaDi%��u���\N9G��J��wP&?m
[����g6n��%n���}R� C����K7���>�!�oQ�7c�'�\3���H)q���������}��hC�����	���+q"��|��9�C>��z|��>{f%m�����<{S�e���&��*���	��������U�OF���#��>��5����,.C@�?��f�
x6
�![gT�4���S�X9�-��G��>����G`��d��������{��}��8[P�b���hv{�k�Y��u���N.����.*T���(�M���}�`e��D�������E	����u�	-�kM�I��{����Qo.����\hG-c���<M`=NQS����Y��6���L5���Q�������\g��YvT��G`�+%C��o\u��$
��gQ��W?1/G�28%Aab^N��!���V��i#<����6C?i+e���^��P��3����oz�cRxV2���ly�"���u�����B��o�V$��6~���g?f��@0���P����_x��w�s
�)��9z@O��
����o�z��M����_��?��o3�E ���*��$W�:�j��8�� oTo���6�����^N�����_��d������FT�R��o����P��Q�$n��[������R������B�}�OT��������%��V�-y���$ �p��H�#�.�+�l	��D?��
d�7#������89%�������z��~B+����Z�
��}�)��V(i�|e���JS�8 ��Eg��lR��PY5�L�b�D�'qBD
���:�.Vd'�����'��-(����L��DWIGM'�4�S����2L�_��������y�V��L���7*��|\���	�s�s}rL@��7e?>���)!�,����"��VI�������XY87�?X�
�I�`�j�|�3	RE����
�������2�jF�L_�;�pA\d�l�v�x�[1������z�]������P�i��j���p�k:��C���,M%E�4=�����A�����Wz�=�j�P��W�5�h=������^@�)G��0��
� �X��@v
gz�M���l6l'�]��c�u�EP�{a����f\���L6�)M��)��Ht��cj%C
�5��]7��(�U8�-�P_K{�����������"G7-���& t����~�k�oO}��EqQ�Y���.��"���,\ �:i���H���M1���YR������,J��H����n2���--�|��P��T����
(X����4��v�%��/13��������������^����`6n��0�TC�	#���M�E3���F���c56��k�)t`���N���K��u���CP3��/��v/�qtScej�+�����x�,�6��k;��+�F���v���,��G��v����Y:C��7KG��l=�z:����S.���o�d��
�$���;����0�'w��D�"�$��g�^�F�CXH7u%�wz��1sg������qtE�ib�����?�W/�����~Y�����'���Z��NW�)��������~����oj�^�4m��n����F2
�m �&��H#���	V�4���ev_Z���po[}�n��P�
Gc��O}�<��^�Z���	��R�j�����
GS�����Z��"���r��T�a��P�8=��A*����
��M�7y�����w��Zb���J,p���HP��'Fr#�-�1]�fl�����U8>u��M3dA���S_J8���������-�k�����$�����{�Z�/`c=sk���d�?&��y����k���TS����������2+=u��L���4��ds���H'4
�Z��@h�{[g�1p�Z����c��<l����g'��[��q�A�@Q2��k�>���8}�#���&v�^N0@�>���
�Ak2�`�'� ��p���\�p�(��pC��g��.�O��:��4����?G����������U������Q�X��*�@�h����������vx<+����0��S����f���y
n��6�`���g��~g����I����B�}x���2���'m4U�K���jR����i4��	MH������5�;iHB�%���JlN������oZ�vX�*<�2k���� ��W�����VVF�'4�$x�\n
�[�+���	����g�&C���Af�W.�H�O�n$��k	�������;(.	X�]�k78���a��K�������������xY�_��R��i�8#��UQ ���!;��G���$|�������
���>�f��~��b�x �L������nL>������N{�wJR8FZ��k�:	��R��F��
��T
����j�w\�#���������d��[Af;���R�k
����&����������
2"D����.������[�����b$�@��/);@0(,|t�jT��������{-����e���Nf��v�_u!J�?=q�`d�����7��]S����?����',�G�������8�	�F��sb�F���C�_�n�9�����������Z�t�
���nUY�Uv�uptSy�s�����b-<�F�q�Y�_V�R��%:dm"���]�w�2�0��{]Y�?���F4���N
P�l�hD�M7!��F��YY���D)�+�9JJ���$�d�Q��02Z=4b!���0�)�P���N��.9}0k	$���_j����>iZ�w7X�^; g�F����$��k����n`n���8�t`�pE�����+��k4��{mt�ER��V�(�t���~�&���+H�F?�������j��o;�G��C�I#R/��:`�	7��Z�5��d���5^��C��:��.��gV�W�&X���8�=ei�K�������M��{� UDX�<v�8c���K�������"�,}q�����J�cc����M"�^��<���=�D�Pk����}�����W{�^�����hXB�:�R���<�E�o�c����������������n����o����k�8��D7��p�w���LvHI�<��Np��#��<:��G�Kj���^�Y�%j����D�����4��wJ���Nib,����^�S��*�&���d����p+�
���&+ds�3
�5��������
F{V�Wi�D����F~���7������Z�%
��I����#\.��x���:��^^2��jV��{��n��B���M7y��P���X����8�#K7W�,`����t��=~S���K\�Y���Y��-B��9v��s.J.��6����[[d�����J��
=utj#)
����7�}1�S�K���f��t�����+����0��="�p~4��� vV��|DD0Z�i~tF�n`��-�����nHS:e �:�DX�!'m'�8�|$>��k��5�D	Wy��������U)���
l���aRh	�����
r~�q4dx��W�w}����F�����I'M��q��q����<�������@=�����i��W�����/Q��P����'��e���[2f����(� ��	
v��������m��$�p�Q���t����|Sk�)N�ui�-H/J+
�B4���=��������(�z�,�% ������F�>��}SC8��������h�E;�h��7
^b�I��>VN$V�xu����}��1q ���
[$�5��b
���~����#�[��R�t�����2Z����kj�$��1Y��b���%��l����J+�+��{<&W���q��m���=���'F�
#�,��5w�S{W�P�����(4���!mD�+9��"��?m���<���2����������S�([�ou �y n�A\|;D�=��om9 8^�h}����x��I�N|�M��-MTR����nH2c[�;��z��cuc�t:��0���Ht~��R�&��8�Q���C+��!G��v&�3��jq�T�"Q��y����V��7�h�R��q��1�?�	� �{�@m8!���P7�
j�
C"�e�
hSJ%��S�+��ie��^����N~0����0���T�:N�m�+{(�a��9r�VD���k�	���B�!��C����}4R��AZ���2��pii�A����5�Q�~u��
h�����Zp�"�������u������6;�v"c�S
�����~+R���M��q�����
hsT�&p��}7����t�S/�R
�i�_d����)G7ie�����k���nrk
(�A1�T%����G�k��K(�-z������A�����4P����tVP�:�5������1z�H����vtS��/E����>2�+���n�{��R��������1��L6���6 ����"c��M���Z[8=[cjBhcb�f:���c�U���H�^C�`�y�&?%���-x0����dd�F'����
���X�D�t8eC<����m�D�@K0�`����+�� .�F����GY��(s��C�^�*�e�?�B��G]%���1D���%#���n�{%-15�#��tj����SR
�V+q���b�_x�u�Z�u�;��n� �}�a�,�R�+�����S[-&�.�34���Zz�krC�E�E
�f}Y�G#��$�D/~��j\f��W=~�t��[�#~��������0������VH7�I�j�A�M�aq#���@����X+��C�%��4Y{5W�]��A\�Hy
"M��p�Z;+�JKi:�>���j@7Ox�"���Ea�
�?�D����E�u.�2��$E���B0�2��MJ<�p�:3�����j4��NLW'��}Q�[N6�.-�Mxt1��NL'����%pt����PL���sp��=<S��G�Rs�kD%#�#��?�N;�f���nh[��J�p#z��M��,W����������-���&�?t���\h_'�
zq=�6���zx�������Y�������&������@�R�TA������}�8��r��RUZH���A~	@����^�`���'��_��_�|��.��=������+����C~��q��\���>������G�����q`j��������������C�Z���i��8!�j��������CaK�
b�ya����!�^-*��lC���IRFQ�X��e�V����O��	@���LQ�=_=(��x'R�P�B]�[��]�?�d�Yc2$"#*A���G�$��r�-�8��
�DEi�4�{W���^�D(W���=��W:a�bc�+4;��+u��������yrs���DY��.�a��j<���0��[Y�Im�k�;����R�&?�o8��� �qN�`������4\��g~���~SO��}_H�����G?�T��4E
	pA�W)A�k{Ii�EZ���E�x��B�A�{��R�����
�N��A�����p���}��k�h~R��8G"s��
�Zp��q��0��Z��Q
��A��Oa���

p+2�t��\�j�0��6��PSu�;�GU��U2������=r!���b��(+�t,W�����h�I#o+5��e�
�Y:�#$1��\�f�_�s���<kIY\&��7c�:�b�@�4��
�{g���z���29�
x��+VXwF�*NK
��;E%�	��P��f#���'`��zg8&Nc�I��)^[qm�on��>t��f����B��U�-Lh�GMy��Jd�����8�Tl�������2��a��vI.@�����h7�����g��~�����4�����}UgE�W�R�9#�4R��kL���q�}$�6d@��c$�kb�*�
�����Y�z}�[_-J�U
���t�3���gL:�����$��$�D�#����}��Vn���]��o!��N�7z��3�k���h$��o4IL�,9t��|�'Q&��C��_u2�l�G�p�W�!�Z���������JB�k0j�e�]

|�u)���K��K����4��5J�3
8���cN:�j�$nC��7����!\��~]�����y�l��������w
"��8a���T|�eE =��c��=�=tMae��B�~��GP�J~�@.�_�3 ��tK��W����DM��K�����L��A�3�
N�c�8w����l�!N	j�|�@+D�p�9�2]8���� �@}��U[)� ��F6�@
 L�J)Z� �sG�bX�l@�\x����.��-C�
-��3Tr;�VR ��@������������6�A��}�,����V�}���O��:g������xr91�-�,��Y�~���*�����*��� �j�X s{�(���=Y������p[��|Z�>�Z���-Jk)��(����!����
.p�yB#�5���Lb��Y����us�)3�0�����.��F�R)� ���v������;��F��W~2�������7S�^�@���~��0��+x�c�Bu�9#+T���d ����
"�W��a�v��29+|���8I�n����������������N<���I���J�8v���e��wP\��Y�7�����~n1J7����B�2�|~A��.w��;1M��KM	<pP�+t�"��}U9(�������7����2)��b'l�}�
X���%E��g�[��$�s?����d�����9���`�(n�gM0a�4�;���.��x �}+�2
?�����}����t�_�}��Q���2�W������Y���<���Z� 
b,����:F0�������3����`4,�F����-��IQ*Ezp�+0��%�����O��n��*3��8��d%���(����XU@�_�qC������{`���Xl������.B@j����gg����DS�b�WK� .��	
��#����Z�����'�S�����u����3���HlQ�+f1��V���6$�I��G��l��v\�q�eP.��Y����}\T����%@d�P��a�(�{�4�z�	�%��?j��H��Du��
|�Qr�#��{�o�W���b�%��������rNA�:����
x�E!�a$���E������C>������b��J������,����7�����o��h�����,=7���W��e ��-����/x�d������w\������NL�)�Q���h�und��+|�P����U��0�����5���p	�9����B~��S@U�F�-u��G{�0J��y��{�X s=0�c�+��I&p�P�{�0����Z"����F�3����q���&�>��s���'�P��)qK�C��V+��E����n8ZA�F��p�.J��QZ�c�"(<�W@*�����.X�M8�^��mX����&z���
�'���I�\��3�b\�3�"��@zA�4����
��uT��_����+�qT�`O�!C>��<	`Q��+i��z��+%��3��}zJ���;p�hD�i	[g��IGC&��7�B��a$�?��
J��Y2q�O��A���C�!-�:(�!��-���*+Z�h_�tY�4��>,��A_��u�*�D*��A
uC\Yc4f�	z��b����Z��N���t�z�-,���AB���o����k#P���@����+F3�!q��A��X���FS��:��-!Tft���5�%EH��E���'���}
�*�<�2�D�A���~G��������Kh
�w�) �����%�u��[e�@�����U��
�Jd����~934��[���������)@�V�3
�
�h�� ����1'
��Fx�R�d�1Q!�����"��W�U�[%#��A�o$2�  *tGHJ��p/���,[�������u����|�t`�u�.3��Y�wA������*u��\MDN}M�uH����h�`����.�pV5`C28�;�	���R���p����B] �����4�t�!������7��+,9��������;"d�
+r�vb6��U�-���b����6������K��V����@#�Id~jK�5�Ai�R.,q��Fq�2��j�8��.jz�������pY���)���`	�,Q��	�����5D!��N��&�C��s<�D����n�%��"�VZ�p-]�!��2,���p�d��"�����Z����iR�I�b7�VX-h\�����F�h�rRhB=e���x��#TX�-��qr��
[���y�
��� s ����@N�8+2JL��J}��wL'����-?\U��(����)�Z����	�|��"��:e�����_2��A��&������v�{����0D?�u!�(�+?]����?��x���W�������t,P��g{����X��0P�~�i�'5�s���d����Q�1���o9��`���Hj/�.��z������]���G�3
�+d����������8��g����a��L%+��l�{_-��1��EkQ<4�����w0����]��N{(�n��=�Ya�v��VD��7#-]|��#:��IH�aVO������ ���-B������EE����Fie����&�R�_�*�g0���!��tu��|.�=K�~T��
~*�^��hm��_��^��^34����D��*z�D��Hu� ����P/�u����t���[����0a�::�!�������w�8�G��a�t+����.X|	,�e��j��������d���4�<'�uH\�P����j�?\M��������#�\����^ #WM�K�e���*8;Z�+���}�]u�!����Qf85�5�Lv���������T�%�I��!#��[{�����-��n����z��b�8 ���!]�s�=�9>*��
}]Vt4X���o^���q|��K#�v�~�E����
���J�J
tA�F:J�6ER��8D	n�): �m�[��/��
�4<�WfA\��CI.An`Dv�f-�i��h7�	��� �����������#�`�d}�!�}m���9�e6h�b����\Hp:�Eu�*��A��Y�;��'l��\�F	����w���F�;��9�$X\Qm�Bn��+��I��������?h �p������m���
������=�	�,�B�Du]�4�*P��j��vA{�'�4�4P�,�d"8��	�rSa��4��.���o��+���a]�����x�����B� f�"����"���s��y�mh���9�����]�7�[�He�hH�98�K��������H��\k:y��E�����s����D�P�C8�����jpx��m;�������X���y�zS�@��d����=��� ��HC�t���X��CR�@]al;�g%�9O6j�-�A/pD�3���2�@5�|������q������
��,���*�p1[Y
	8C9P�"��s���9�uXH���#
�������h���*�����U���dD9z�OG�2�
qx�9��a���a
�P
 ^?��Br��&"�N��]������"n\�C}"IE�N�Dw~-2cA$��79z�j�"�����/r�[���H��!� ���_�?�f ���$k�	�@.�E��9��j��7��4�0Jst�������?����rU.2A\s!#���y������!�!]$�� I�F�y�����$��K��l����(d�	g�5X���X�"��H�p����!?��trA���`Fj)fI���+���1������\X�r�$�������*������"��6���#��J�����f��%�}����B��H����
)�x���|3V������RVzp�3T�V�,U���yBW��\�6h��i^y���53X�����s�����j5���I���9�����	$�=��J�
�x�����F��E���
-�u�"q=pZQ��,M��&�Yb<=g��� �`"9�}���$8����X5�n��Y[d�&:pnNFI���(�P��/��n�W!G�l�5[��~
� ���	� �G�|�ADn�����0d;������X'����?����
������s�C�/������@�<�IT��
�y��p�$�p��d����6
T�=k�(_��57g�"�B�;��C-%�'�!��3��`)�jNI ,�
����;����N��S�1"#c�p��������m`0x�G��uS>:���M[���wH��s��d�1#�q�o�A��
��T�6H���!�Nk/�93�K*�UB�l�]2�������������1��cn�%�J���J���KU�7({<Fd��7���S�Fs@90z��(�}�����b&i�x:�]�rs�F5�������P����-B����N����'V�?��|��q1X�]E5K�eM�p��1�����F����sR��`�;��f��vM9#u7WM�~���J�A,����7�(��g��B��I�]}���	>:eTJ��X����:���TT��+��s�-pz%%����8'�%^c�&������%O����RV�Zgk�U�U�O���,<���E��!��?V���d�'j����-H�mR�it�����
 �B}A�+~ro���9Q�FW�E����!����fI��"n)��j��h�l�i��e6���G��
���ascP�"
�0~��������%z
L)9���1+8�=�Y������'��\��E��@���_�g�|a�b`&�fL���N�h�7.M
�k��������-%JW�dr��
�����XM���hAZ���N0��?�_����!�X��rD�x�������Sm��7���#Hg�X���L%����~�(�5H�!SC��U�iR�d�"��G������
��j���M���Q�v9�!�q�m��2�v�����C��a?V0.�l,��=��h�	��#�y-��=�m�s� p?�����ub�Iu$�"V����
����)J���n�,���?��}(0��Qs��t�m���b�-4��m��>��5��K���5������LQ8�=�P4E~t�$V;"�Cj���l,p��f��7�a~�Q
A��0����f:<�
d��z|���
x����KS��.����#<������0��l�����z�c��v�#�b�E��&D��\��!?�bo`P������k��"�d��.oO��"+����$c�_9������#��T�0����G��"<<(�[���tD�h�z����M�e
 �9���(�����'~vP�B�F�:p���[��g��W�[��9������6 �1���V*2Y��n�d���5~� �����x"������fG*����0�B�6�c�B�Do������a:5''6������8,������&L(
�/�I�����>ZC$j(?tX�;7�j��W0��EI��$"���}�-E�rX������F������8N� ��D0�aS0I:S�����8�mH�"��E&������>J_��FE5����>,�`2�"�sT�
�~�Q-�[��n�:�GCB���$#��m}��OdG�1����+��gt�����7)�RD������O[���
�����!o
��`�;��H|N[���EVU����o��c�>���'s����L�K����"�B��R��j1�h��(`AT������H�Gd�J>`�F������
�Z�`uE2�=2w��>j�8&�/
Y7#2!29��S�1�K�7X�,�}Xx&w,���D�R�G_f����g�J�L����W�"�V�^��FZ�n��1z���'�����+O�GLP��5��o���(TX�9���n��������c��)O������������1���p��0Q�)Q�X�{� ����z/$���g!z�
aupw�L�S�or	�:G�	'�Y�|[;bT&K"&/�c�61���Q#8�
����{�*�BGN6�:�����3��9 �v��B{�Dl�^����T"���6c�������H�U������'��}�w��1������'�����������]��Q��+-�����*��<�i+�������?\G�j����c�%��$��r����
"��Q7��8����V.E�t�H�?�*�k�J���8
��e����z������0� ��#��F����A����X����a�c�&e�{`
px����}`��
��eht����%
2H�t"���@wT *"k��7�c�$���@�3u8�n�?�bGut+a{I���a�L�~\�,5�gj
����9�����h��#�N������a��4���DJ��
�Q��m���F4����������G������C�}�5"��"�nP��&k%����l�1�S���2�� ~��R��\�B������FdGm�z��X6�sQpu�+M��AF��
�m�����c�|�;9���4*�m����o�l�������
��4�'<7cB�_�1'j�P�c��.")��"��U����(A{c�X����!�s��['���'fP���k�?�5VAc�I';x=��r�]��<R�G��0��!
�#)3q��~��kb�_]�C����^����Gx�b����N#�N�x��=L�G���}4�c#~q$�
����4�jc?fG(Cb�����������n�UW����?TW��_XkP^�*���!?f�8rX������};��2:��`2L�1A�G)wwj"��k��3����C~���L���H���o#-����'�F~��q��i�7Wp	�g�}��3�!pU��\	7r�
q��X������~���~b��:b���~D���N>����U��������8D�n�GW��_M�8Z>�d�P_�D0��D����C�_A�nT������;#(��5��bo��;ApNM��x)2��R,�Dh*� �+���P�@��� -)���f�B����R��������"����v�W�g�y��#����$C*���������o���5��F�A:���!�t����H��b��� �E�����5~�9��=&��Ge�^��!������1\����c*�:G����R���},U���8�3E�Q`s���`Q�k�����E�g#\R@i�H�`?b$
�N�[�#��R�����kH�]oP����`N���X���#C~LS�����G����Q��d���+5Y2��,-DT{Uo73��Z`�`9F$B{���v8�&00� �+)�����c"�K�,o��a�����������RNGp�1���m|��Hg���(CY�j7�z1D��<?$ ;���q&F�ud�������B��x��7���2HH�
���M,E}�.z\��]���yP��AF�����i�< �E��B���`
��
U�_E��c	&����g��p�~K�=}�v�.62����S�
+�����
�XK��'�eq>��T��C�����#�1�8�|���~P�(u��R��;���n�q�o��&{��^��Q�F���Mh���!.�/@I��vk7�c��y��i���T��>�/!��hs��$���j�9�G����f��X#��K��?��X��.�<��{|���������(�1��������G	bU���e_���F��@ ���&���5����_��?���E����
���U�����)���R1<}u�c�T��+i��"���l+��r�M���
��{*�L����������OA?=���	��|��l�qBJ_�)��X�5��l{>��xx��9]�;�3�z�Jy���������B)n�B����v�|F��l7\���3s0b
�/���������Zi�fLt�	�GD�i5���S��z�	s/4a�C����#:�O����z��VZI�����c6pk!S�L��x��,�'�d�6��t����=Z�M��!�X��~�8M��@�L�L�
�*���`5��,�����V��������6�)Im%�Ep��
�k�;���=%���N�B��BZ� w��|-�D1(�nT+���=����g�%iO�E8kW�C���(~�������i�o+��3(B������H�`��1Bd�F�H"���>
��BGV�A�V	n:�G�a�{�!S$�#��2>\��� �
�q7�uXQ:���rz�"�x����rz����i�+��9[?��V�����+{���k���L�W��1�]�Q)���P���] �m��E��)�-�������<�f)��T�,�J��3��iYl���7�=����.�o���W2�%E���1�B+-�������:�V��O��������ml-��HI*)��������y����9�mi�:��:.��T\vR~��'�9���su\p	{A�m���qsM:"�7B�v4Q����z�
�h�Pg��d�&jG�����~3����E�����|�����A���|,o.���������q�&�
(G���
��������B���i�
}���"��h�%`m�PsL	��>��a����l�fk���k7M4��x=�� =|���+��/�������K�}���el��,�}��*c��#�����d�>K����Bzh�d�c�XJ�����W+�A+���l��i��RpL��(�1�[2BOp����E�'8�B$/�dcb\�=�'"��l�y��zQo�=�Mp�K����3����X?��n���>.�
#���I9���Kpv@0%|l8\�A�����lTpO*Q�R��/�.���o�o�K��"���������3��3��{���C���R�p������}�h#{�q��6�=�|B���t���"����g5������"�v���(����"0�Np�J������lh�JH�����Y�@������ni"�
����A["�f����Z"��?������[j�u,�6�7����f�Z�y%[�24�?�%,�����6,�Xe���,�7�4��rM�J�,�����=�u%8���Yb]���u_H��������Y�_��=������G����v�q>H����e��+G���C�}�T~��R��/e�X��� ���_�!G�;�G���ve�F+MFV�/��m�'����GE~vtM�q��b?w������6*{�8������O���$���8\���mt�P�=���=q,
N��/I�_,���-1�&p��[�vn�p���	0M6�A�����6
��i6�E��6�����f���x��yC�T"�[7��e���=j�2H�q)?�R�/�dKQ%	��E�o�����t�K�1��}iOq.�}��i�Z�6`��0�B����m6�,*��rQbVW����cJ�x;�3S�.��8�s ����j��F�@aeOG�9��0�+w��\�DL�RB��P��$��jo�o����R4���-u.$�M������ts��������c��"F)�
p���>:��/M9;��w������=�2'����P��m`�i#^�&��A<0-J&����lL���1(��\Z�Y-j"$M�8�Ce�q]y�b�J��x���+^N��C�Q���{�(�4�f�8X����P�tk&qa��L�[5#��]+�+���v0�7z������n�[sh��j{��~������H����\{�.���)6��{�]�X8��:Me��09��rJIt���g#8�f�Vd�}fz������A����� 0�Q&iR~O�2���"E�\W�s�]8���{vM��5�T#k�^��`i�(��[��g�J�.^����~7e�=���a\y�e���2~����5���8�p�7����>��p�35�h4b�8|���C�Q5'15��w�����P�K��&��(yi��	�J����8��1$���.5��o������P�+n�o��e�nO'�����Qf�dN��"�W��j�e��x�@r�!/�(6����Q�PW>Z��h]�V!�,���x���A���U�Yk�=�:��|����q���_pr�A�H)S��?��Rt>����uT� 6U��W��;)d��j�8����-m�@��C���t��r�h������J�u�uzq�����Q�����'^x3'�����c4#�M���W'�M(�Y8e��8YC�����mph���[�n��1�:*�8�*�����.��!�D0�[:�{"	�.�-+�\�4���q�a��Cy��6��|��T-7��SNRH��i:)��`��������|e� �|�D�c����E�R>�������Y�Q_��w��U;9������[�{������t4JY�����R�n7���x��5��rdx�<<��t�F���8/5�K~�E)]:?�A~���(}V~6w5�$�F������QRj�(4n�"�X)� 
����7"tp���I�-��q�l�	�u����>A>��#F��62�|�!��D����.��FfJ,�osii��$���������������b�^��*�B���il>D)��2�<�����F�M�Qb�H���*0�w�2��{R�_.��<~�����J���o�����wl:�T����X5F�!@�m�������2],��0m�wu\�pp�e��'U���t�o���\3+�O���U� M\��6�Y�`��+��w��Tw����xli
�o��o�&g-���i@SlfC�A���aa���o�"����0��}�������*Q�?.��������������z_�B�BU"�����E
2��w|o�����Ni���.y����n�m�G�6<D���'���W	���&�t/G�8\Bjd�����2M
����n��C���v�h�]�_U��,����]Y6����V��;��J�������
�6���*�M���9f!�	��E`�S�Q���,�R�kp��&��W���.�����7_�WnU$1/��eA�2��B�?2G5�!�4��4��}����[�mgZ�w���l<Z�<��@K��d�0gLX��H8�l��X��/?nM���d����GZb�7���6�����p��a��x�E#+�7���#Q��)�1�$������Pty����m���"��.�����+���W���*�3����Ck�.��e���M2�#���5���^\�]�w�;��+�3o����B�87gO�p7�2���a!B�&!n�H�hZ��=��mS*�Ew5�.�{�,���06%��1t�yF�}"F����6
�J~��
m���~p�7��!)��m���}�ABt���gm/����������uI��������=��$f��k�T���"7�z�������&�ftBE���.4�[r1�i��TE����;����wM_�{����^p���G�e���E��X�#Eur�C�ki���h���_�����sEV�QI+���K.�E�Z�_����P!������4���������!�N(��-��H�����l������.��+��=(
;��D����x�Pq���!��q��E����hnGY��c���$��I�A�sf�������e)��k=1Z����'T�J�K35>�j+g"�����]�$�]�w� ���D��M����"y�$y�a��
uy�*��V������]�]���a�o5-�G�Z���������O^�����-�8�����.2v:�]�j���C��%3+��6:��R^,���/������Dwv4�;$��oo{W���d�����"��S��c���T��G-}���/(�
��Wp��s.$"��*
�9S.z��a��!�]�����cM��R��}�<T��<������J�@�3�B
��|�������\ �tv��9����t��ni�.�v�6��.N.���u�:���w�m�c�����ylG*"�W���}����F`�����5sL��O������]������:	��K����P������G�������X����)����V!
X7?�r!�����)�Y��1�]0����x��nDD�Gp)��p�x�R��@�{������
��6��q��3h��D���C.?�aUZ��������L�p�--m���Xg����cd����.j���p��9&0�16Gg}�N1���4�Vp4m��	�����p��fQ�#<�����J���r.�|�9������r�/��������H�Or%��$�� ������h�f%��AS�7`�[��'=��?����r��8�UZ�N��L@�$��"�
����Gd^��G�u:���pN��?�F]�:���e��&M�u���:X`h�f�JX�A��0l
%M����6`�V&}-��c�e�a}�����R�����!W��}z������%����� C����������F��#�t���������V����B'B���u��
D�lG�W�Z�v><���t5!l�8�t��Qw�H_�{b�v�AH��9%��l?��Z����n#��v^IO���!�4!�bO3Z�� !Z�j�6S���@6����(�o�R�k�P��������n_����}�f t'�
<t'��8�����G���0�?|����2�������W�Kd��\�k�<Q����c�;��)`���am��o����!�V
��t��[���.}`]9gk�� h��korbV�*��nu}W5��7`4U���q�T�[�U	�$��u����\��u�����=������!�J�!GU�i�E��	&���O���l�'�$"���A�	��!�.	���.�	;�S�l;y�3m�%�������^o@��$D�w![r/@��P�M�d����g���q:1�'@�l7JQ6�����e��7��V��"�F��B
��Pu
�{�y��0�����@:����FA����,��Q5�vY�l�6���A�u�~7@G�������]	������|+����UM����e����J���A�p���"\�}x��Co����!,����}/�J���!|�`L�ZJ���n�b����
���`������=���<B\9����m����.�0������o&�F�K���������M#��#\�� �u��Q���W�H���5��
�e'c$8�+�����#��W
��yzd6=nQx���G������)N���bG�Q��Qx�9�=����H����A���q�t+=����0�
���LP1L�f�h6V�l�f�����
V)3����w���a���J7����a\�3��tb��-m�4��[4j���
}�"�������c(`G0��J.��w�=�Br%8��,����M��� ��S>�������	 �&�@[CfP�=Q�=����_
Ft�=��t�9����.�K1|��k���o��=�~������'��{S�.�����uk���{3�j����"z�B}]���=1
������(��J���ax��@�L��)�����h�XI{vL���Z��3GJ�P��@��SiO��Qf��1��t��+W�%C��I+��Ri���`����u�	�
S�=&�������@rv�7w��D`HF�Z�p���;K���H�j�����=LL uH<T����1e� �m��!����_����yHV�13<@dR�\LiD���r�R��F���oD���M@�0uD��C�������	�)'�;�HL�b��R?���������1����"���U���Z��,	f6�[���.�?�PiW�mX@T_�d�R`/�g�d_�lj����3��]Oz��O��{��_�'D#����{��;��/�_��6�� a���\Z!��G/�n�^�Oxe��Kg���*����Fa�����G5�Jy��1$��M7����	c�u�&B�
�+f�7>�_�}x9J��E.9nR��&�����7B�����g�"o���Q���$���p�(����H ���39��D�@]�L��,M�����"w;P�IK�Li�������N�nZ8�U����M)L �sY��/T�\���m�r�/�������B�����G��D���d5C������a�0+1��H ��[7�������4�6��p�@H��&���4��H����`:�D�`DK:@��&�������Mn9���/����y9�m��,����/D����M�a��Z"��_;�\�c����������M7!A�pO�������GV��/�2�@
�^�a�Jq��Q +SI�<��
J"Q{:���+K����+e.���h�]1nq��`i*5�����'<�!�!��/2�����<�B���}0�	���pF�/g���Y���4�St�4�=,�H��?�p/�'���d=L��xTn�ia�t�]��$���k���	�M�"���g �?���
��w��C��<������E��
#�%��(��^.f�������*��@�H��nz>�t&�G�F�#w��PJ�nN������	��>�{�����p�V�
\��lC	�cJ2����M#��{]��kgK��	x$YX�="�.�T��	>����7�$���,�7� g�SU����j����`��_��
���A�>��X.��&�Itjky�`��7�Gt��0��������%�r�S�6�=dyD���a�2����N���di�d����������rW�c�/�d?�����U�a������?�����C����oZ���M3��
G�i���,W����X��uy���`����.���V]�J������r*������/����t���_��d:�����~�Jx{����s��#\E���G����������������X��@�kZ�oU���Z�6�J`~����$�
a^����.�)�vV2Z����=�]����&�*/5������+dbp1������i8��'������5$��[i���=�)��gV���U���1}Q����)�+��;'�����!Y��x;�~�����9��fZ���mt�J+;��\v���E�0�d�l��_��J�)�"���J�Q�.��@�J���OD+\���~��6T��x��U"D_Y�_���(
�1e.���4�u@��N�T��U�2!�P�8�������n���2���_�t��,@[��b7���*8t�QwL��RN]A�!�[�kZ��X���I�uA����{��bV/,�����������(D�l�$K*���@8~o����EQ�@���~O�ug�o��Sj��A���YC ��8�������"���Km>��v��[1�H�g�����qR��L��a�������pcE�h)�Jw�_WT9P���u���R��+�k�]���F����1B<sX?��hrE��jM��u�����#�n���k]��<!��GG���?�������|L�.�T��uA���J�@��x9[7]�����tSEZy�Y�F6g�
7YY������0Dd����z3����,OrtS�B�������.l�h�`S"Q����a�!�������bS��v�N���5��[��gV��{�a<�?"���`:��(������ Vz��F
�o�}��*!�����d~|�fP0���
��Fd��KZ��Z������w������%���e��M��{e���|��Mb�����/�|�&��h������v�?�a��-P�q��_���K�CI�6�o�$D����DE���u�+���Y�c)�����`0��?�D������X�����K����Z$M}����u�9�!��hV��G������I��^��E:�����m�C��M�������c�c�
�����V����Lq(��M�u��9��3!�"a�?Z����U&��|X���������Ktj���n2vjY���v���q�	cS�����9�.�1��{��4��q���]��I<�*�������FR+{�d�J�Y��q	{k�^�RG�nZm�{Y+{�%���������k�i��C�Zh)�tHZ�G7Ey��q8X�]��k�C����S7I��e���:���������'�f=~S�d��$�De'���p��-idG7y�K�ecW�����/�Dg~�3"��"a�=S���.�X�d���N����`�����n�K�=��4����~�!�>Xp�I�/#���@�r��p��80����XV���S(�bXK:Z�����{-����[��+'��n_[:���5��~S!�l8,�����!�!��o��>�~��Y����28D�hs
�
vt
�J�����/1K��"Y�_��~�b�zN_�_������z�G�������{����.��_u|7#��s�5����c�5(������{���������U��3���we��v`�H��I���i��IC~?��
-t'�H"kZ�)���|������_B�ztS�����G����V0����C#w��(;��\�0wY��P���������VY�Q_!����}��Q�Yp�Bg�xv�D`����kq����sjt���\�	��|��[P����I�%��eZ���@����q0�����Y{V�W���J�H\+%��k������+�8p'�k�-�-� ��3���:U�i>��>{Z�����-�����~/m������H��u"���(Dw�#��)P��L�AKV�o������o{)Y����8��� h�S����V1�J�����!�&�#.��N���b~�T������]���������<��8;�����]�
�{p��4U���QJ���r/A��A%5��i�+j�xw���c�_�J*��Q����:���EV�3`�%��x��j����Z*N���i��r�j��*����Ai:���|�`��{m+��� �{^�({��jV�wiZ�44b�F���&����F\�rtS�^L#�X{�����(�dR�����)�Bt��[sK��u	
�Y�dx ��Mu-�>0Cr���m�8�&��`�c��#-Y�"�_yW�p�I'����ZkY���ZCA\��1,�����������uU���l�[O�_0�*��MG�
G�l�u�
o=��Zgn&nH����,C.�.g�<���:K�m"'��3�n
^��*����������!C�z4g��������U�q��<��[�x�����S{�������{e���~��~tS�5���I7�
?�s��i�r
�N���>9J!-1up�&�|gh6����b�75�W�������8D�� ^N>7 �#A��V�W�]����d�I�K����@���@������}8=��N���ma��;��`8v���I��*�p�J��M�h�+)�v���C~�>�^��������-vl��&,��!������8����}K��U��#��zt5��G�2���#XiY��������?|	M�������)����M7u�MF"QK�������~\pW������V}p����j
��"=<�8f��}�I#u�RV0%�����"#`v�5��ytSm-Az�t�����L�X�JV��@���G7Z^�����<��3��%Rjl!��e�	���#OUP����+g����������	?2�s��D"]t�HiG7�BY.���	c�y=-D�G4�L�)�N��R�Mz�c�f?���p����YY�_�P�KR0�^Z���u��.��7E;=:?��kM��m�	�{h����e����,��l�A4�e/)M���FJc��t�]i�u���xtF����T����i�c���������������st��'u
�>���l���\���75��*�+"gNL7g�&]�j�tt�������e������r&���q�~_������N��W6^��5�Y���5�|��=b�	[Y?U��������U���G�/��{{����������f�^�t�;'��������:vz�9qkD���5�H��Jh�� =-����h����Ex_`OM������a ������8����djmoZ�+bS<$���?^luY���C����W���������3]t���:2
�}qP�
��}e�i������+]��o���Q�b(������K0�[�W�����+���-jg|S��=�	����� "�8���+�Zl������0O��	^	I0�%gF� ���%����@�����HS�A�1����Pj,>���m�
��b��!M�Qn��[��Q�9>T���3����t�����7�$�:	5�}@w��R2��ZW�������~����3v����#�m</�]!�Tp�+o��$_k���Y��M��G��+�a�OO��N>��c\��+��o|qO�Z+C���Jr��ZC���W�����U���q���~�VQqP$�������zs�mq�]�k��F�a.� ����X�rPg�8�L���Z3d��L�� �p���#7=|���y�t@����$�g�:���&���@�8(�M8ZJ�=y�$����H'O�A���bh���X���9"�|��3`�\tq��Z���S/g�d�W����ZeC�3L��S4�����rq&v����j@"RT��_F
�V5��?n�`����e��-Rm��^_:�E�m�U�^�bk)W�������i��rG���<b��0�ur-(SC�i$*�r�2Z�����N���*M8���r$)?�T���(W��G�gjE� ������n�Z�=�N���{��17
������|X Tp#��d��0�t�����,�|��Gxx='��8�8b	~���VR���vt�P�A��Fn����oQsn���Iv`��t��
����X�V�)����HE�c.#��"a�q�:N~��
����Y��|x�2.: R
t�k���):�]^��!�Hl��5���Z'���==*j��A��.��5������	��h�O2��E*���"���*�7WrL:����JUV��"")=�T��N�ZlD���An�l�,#�=N
��z�P������&�"9��Rur,"���R�Wp����!���J~�vp[��C3���$�YAND>'��h�%���:R-��&��"]K�{t=4�����<:b��a2��	�	��q� ��0�p��E�F�b�<
��u��x����+q�3����_[�B�MO�gX���R������j���t���
4D�,b�5�u�;�:�L<'���6�B{��m<�Lrt��T~=m��$��>4T)���[���+�_\���t?�LhGE��x)dV�%���|�	���uvtT�aT�!P��5eh�sI�)�7�����t�@k{�fhW�,)���dp�pV����(fo��+�^�~���Dr��A���R��(������kKKq�t�sR0a����f���+9�W{�QF.�z$*!�����D5��\SVb��/@x��i�S�#�P�
1������s|~1�Bo���8�����������W��O���R$��>���s����LS����]7��R��c�Q��B�y
6M ��0y��W����+B=[g):�FA��iO r��W�`w�KMpo��
�+}i�]�;v�`bl��p1��Y����R����U������ 1����B�hW`��K[��YFa�������,B�A��+L�&@����%�k���2<:�����1)� dT����B_�{��W7���'q�T�K��^��4��0�1����u�J�u�8��F���'y��+�/�����$����S|u���2"qQa_���i������x��}C�`��]?I�����iv`1T_�h�H
��2Z�s6(�1CI�
(�)U�^���e���)���ey�E�B! ������Ru����C%u�������k!��l������E�>���&�9�LlC\�vL�FFv��Q�WoM����k�A�
:c��-4��H��'�l]�� ����t�3rb�g�}32�������G�m�l����u3~����FU������[ }���[_]��oq�3x�k�;*�s:��L�2�����h��������N����|\d�Ry������R_�$���r�B����5�0te����m|-A7�H���bT�!�P&	*#����W���O���Q'm8@f�#o��yJJ�o�V�#,u����1 ��*�1z���K�[����Q���7����m�C���Z�l�	��Rzm(��
���H1��1��!��|�=���A�<��f^�#3����6���nAI'�Y�@��x���_��_
e���	�edG��<W�gl�����B��)�Xi){@ ����9;6F@�|x�
�B�5	��X����F:K�������}�7��f�����vNA���aqG�d����x�6N��Iy�3����f���:&���O�e�)��#�2_�q���W��'�[i����JHA����\5����@J!�/��
��
���Bw�T�������+��S�����\o�N���$��4��2a�Q�g�!���}�tV8�7HsE2��[}����t�@)u7\ ��!,����0[������7#>� �T�������������
����^�.�9�p�SX����Hh��T�����W�\a�����.O2�I������Ya��b��R^�7����7(�����A8U��Q�JJ
S��U.]?/o��w����������'s���U��)���\&	�yJ�VH"��W�B8v����[l�z��'���o�`�cY_�R�!�7�����w�����Y?��8nv�+E�A�W��>����_�|�/�)#�'�`����!U@=����B:�������)��7#�H�2�
�����7h@�aG_�:i_UJ����W�9L���s�)'���o���
��N<��
�)�cM����I�)���k'�����(7R�{��+-��oP|TW���)�
�\�����'$N��f�+$��T	���1��$�
8���}^���v�+�k9���G�v���O�1�c�+wY�6�u��=(��y����D�/�;P�����~���]��'� �����_p�T�;s7�g`��r��?��#���������~���}�������
�l����Z�i�������hbr(����\�ZL����0���oi�
}
��+��.�Aj�)��6@P��8km;(�\��N��6���P���S��c,�f(�J%���FUae0���[����~�@�oQ���)?j��^���]���!z�~�K2F�:�/��`p���O��w;(MimL�����WF
 ���6fs��8����B�,e���
TP��R�-�^U:��l%<#Z�w|������H��qm��F
�����E��Wx_�u9uC��L[����R��]x�R^�q��xp,�1xC<$�( �����d996*���np��"��WS	�Q�hK$��F]	����LH���1S|
�&�0��=�/��o�����D�o��\�L��~�\�b�*���{�e!��/Kj>�a�F7:0�@?��btU!���6�x���I�����=�)2��;���!������D6�!P*R�F'�ejL�G�������7���3I�b���	��
�=H��	�����%�J�BRIH WB���[�I
�gz��m�Jq~t������\ 8<@�+e�?�I*"/�[q��`%9����Bjp�.z�����L�����4I
���X<R�@�^s���T��:TZ�4$S
�F�t����uX3D�]�2�7{������e��b���L;��uK<m#�����7	YZmF�f"	~?�-B�ib$a
����(HPo����s�����cL��q0�l/���/��T8�X�l���hf��3�m�@���AP��U�JC��')l%%G�J*�����l�t��{��T���}���&]��_&�����e��A�Y��^��^��6�B����0�[�������q��L�3�����uu"eS���l�>X�?:�*�R1���[�"�v�NP{���K<g:���88Z���T�"�rK'9����D��� ����+��3�x�����V��zI9�U�/|L�\�en7fW�lK'��A�@ ���d���B	��}!�������JF�
�EN\��	�@~�K���sC��r":��0���p�+)}��{�C��'�i/��&�hgK%��P�M
��5% �����!��!�B.���<(g+�&��c����F>	����P<:����#o��e���
$b����`�Ha�f��mvOl�>����������d
�v��W�dj�,�+�=-���W���-������y�����������n��(d%��\��=Ex,�)������/p����[�r�[�/pM�07���C��Db���vv���O,3�0�G���N\1����o�)�g��cP
������=+�f�������~�	vb�f��* F��
p�0�i0LX�H���)����%��,���<L@�6��e���H)��uE�C�V��`X�)��$�To_����Xw���*JO��:`�Z*��M� �mPFc��Xb1��=p��YQ�E9g�<#oPP)�jK��|g�����;�`����no@H!UH�~���F�[�;7�|��UN]"�P,�%e.p�����B[
H�
��l�%������`�k`�$�s'��&y�����I����bx�.B��p��:�"������%�G�_�����'�?���o�2��g�:�"_�v���"�lD]���0�}�W��w�7s3����t�j�����Y+}�`X����@�����/�3%��+������Ou@�P��md4�������x��Y�Q�\����
\(����@��
����@���dY2&�������1T��u�����������e�*��u�-W�g�3��dC�D�?�d{������(Z��h��	����
��ji���9|��BbX���};���S:+d���b���\i!���g�8��}NH��g�$�j)����w��xIpZ�Q���D>2A.
�_.f� Ur�D�
��x��mEE.L���5k7��Q�'�MJ�JD���Gm��on���\#��P�y��^$_��������-T/d�����B�$a8�F9�
���|��6�4E��e�]����Hz�6oHaq\@Bi����z��c�g_P� �5�(@��MZ��p�	@��X[:9�On�#��f]D�?a��S�]y�9+[�#�>;��Tv��,��$E(`	!�M2H	���}hqMY}vC�Z�7�������Jn�J���!F�0sVL�H��mpb�V�a'���y5:0��O�������-\3�u���X�<;�'�������P2��Ao�ph�z��)*�����YI�)ev������M��Z�j� u�m����� FG�����A@=2�on�r��hJ��5��d����=~sE$�q���?���8��v@\ocQ�w6��3+��a��:�	� �����h�]����I��Y�^�$�=�~2H<I![a�o\�b���0��B�mm��g��Y��`+�Ll]���Or5T��g��@�Q�q��Ya�LujG�E)t�2�+��b���Y�|gdB���+��i�L+�L����st����Jm����d@<����#,�92H8q���;�l.>A��)$���7�oH��Y?�	������vt��F�,&DS!��Gz�z;�������d����a�Io����g;:,�Z������8%��PrR��8��U�����JJE�s	��y�����.%�x������,X��:���z@t���r%��Uf��9�l�o�^��h���o#�U84��d��M�����
�:�G�-���$J�t`e�K*2$��m�AP�����EJ�X#5��}����3�7�x�b�3��Vt������Y�K!M����J�%������|�2�aW23������!�3�����4R�J9�(j���6����(�:�6����L��rh8��#-n�<��Wc��
��"�~=���"��2�e��2l�
�����0��f��`�_���?�$Eta�Vq�?����w�~;~X�w0CC��@�B&�@.
0LLO����)�^�+�����Bz�����FY�Q�=��`J �=r�X����9����0�a��(S�lc�^Q�_i��@�lU�TC��p�6�����q�,a��}2�FS��p����M\�4\�.&����b�������%t���c�C���
I Z��5�x�����G������"��q�M�z$�3F7%��Q�d?]�hW���'������	����~�������71�D��
����@���?j������P~����h����������������������,�W1�#��$���:���~AP�b7����X�k�8��de#@��u`jb�1�[0\���E`��u
lZ0�T���|s���F�va�F�����#Q��DX+J���ml�8�`��mu�(��5�Y����"�f��P�U����_�9�v��W���
W�������l��N�D�
J�����f�T�R���N���7+����V��%nFh��9��k�����]��_�����:��,�$�Q��:��9\��s�o�u�_�$� �������?,�F�f}0�i�)��i�DPP7r�?�	��QA*��qx��@��������;��nh:��:d�p:�^i����r�z@�:b���sl9��ouj��n�ZR�jq�
W5y�"gZS���x�P1���^l)�C�}F��A+j�3�h�^���a=#R]� �S� 5�([+�h��,X��]����?<��l���B�j"<ik���3�?�~�� yx���*JfbB��"�=�Q-��S����X��(!$����h,V$�R�,@����-����v���*����5))�C
3�1cz�����k��PC��5�TI<
�w�a��@kq�F��]�Cf��i�X }�.����A�!���$�Cq��KRY�#2�F.�#X���-H�5��~M�|q��-H��@���1W����L�.nV�U�������1N���B�a��0FA|���-�I�E7e��5����0Cn�p2�����?\��_�����$�������Z�$#%�������
C�q��2v�RkZHR����W�,�����N��P:�%1�A\�����J�����:��O���t��l1u���?�IB"|�o�������(��`��t`8g��?t"j�OX\x��
��Hn��T�]��-�(��c�bGV �k
�p�m�������\��p����������k�`�p8T���o����a{D1oO���(.�]���[������T�A������v[��W��JG�
k��X���4�0�:�/J:D�?�4Ai-~��)���_��::���I�?��M�g�����Md��������`����?��0��-Fb���?�"_Td:����'��$�,
=u�J��`�����Ob��@8w�!.F��8���	�.'��I7�G;��E$�:		��;���'����@���h�Q�1�3y��"�N
�E����(5N!XC7�r�j��#Ig�TSDJ��Z)�D.��*��GjF��o7�**F��z���
 �
J	�lCJ�~�:�U��9��#N���h�7�0�bq�X!4�-dX����]�)��Ds�@������!1?X�I.�*�����#�2�M��%���:���m��6r=b~���dXGDA$�'�����?�����J�*fr��q�A!�)TC��*
��WN��0����&�W0Vr� 9��G[F�)�^��#�J��v�4xUM�<n����xq�`�������a��Cu=�s���t��XC�2���e%4�z�
��;����J�.�X�(��3h=��tR�
l>��B�X�S��tuC���4���������8~�`�E&��x�Or���A2,\ua�i�z���E�����4g1+'V����U��W���?4�g��	�p,��$��!�<hL���+#D���E�!1�����m���K�?���7&�gd9�#�������p�b��c�O�?��M��j}�?��/�������������'���K���?7���G�(�����/����g��	���>���6��?�z���G���c��M:`K
5z����������L�����++�����a��[����'&1��{���v�����X�h�dC��tQd{f�/~+�����Y�����g����?�3��
�����EX;�~��6����7I8s=��������q���k��g�n�g���?1At}v�5�3jx.?���=W���v_(B(�����u����� xa���&��p�s���>-XY����=1�{�t�\=��j��`_g�V!���!yl�BO��R2O4���SZ�bx<@��{��=u����+I�#�F��4���������
����^W���0Q]t��>7jGkC��BI��'����5�wB�"2+����8�j$�)X��/�#�4T�?F���-�Q����.td0�����Rhk���atz+�M)D��E�[e�mt��r�s�d���d��aCs����l�_�������:|�����
�J�
���O��&\!Q@����q|�����"���� y}��
�h6���k(D8X�P�x�pz4���
#���/@z������^�����2e_�n���z�ar�>W�1��T�\��}h��h���Bd|5��"��;��(�t�����a�E���X����$Eu�t���"���?�\+b3���#6�B�3�����o|[z��Z��R!�_�y"H�)���Cv\������{W��^���3>��CW����uzu���][����P��'.����Q���Q���5.Jf�(�[])��yh8��#��P���3:?t�B����t�lSV�+�2N��4��"�7qZq���C�b	<�(���"i����Pg�,�H���e|DdeT��X�u�{*�a��9����a_x����1���|��9�"�����uM����N:cs�k����GF���.<�x�)h�����v����^���v���������f��y������.�[���^�h�-������?��r��V+�/�U�Z�#j���_�?J�qp9u�v!t�_����G��v�g�����J�
�~��,	x�1����m���"_]�WB�y�bzf��}��!b��sFFKy�~��m*�CE}�T�	�*�U8�C��N����q�3p<���m����l�G����`��R��UJ�����E	?w���o8�o�#�3�['�Kq/�{!+��c�
z�7U:~�r`�����������V��M"���fXw���kI�j��.��y�{V���\��-
�����8�S^��@[�oq����LpG�n�:i�Nn��|��ZB���f:�����Bo*	n�@-6./�My�~4Q������a�
�"��Y���#0KT�f6�&��H�,���ei�A$���SX_x�;�������c
�g�m�Y������9�E�(����e^��r�N
gu����~�����-�����+���T����}����J�X?��6�x|�Lg���W	[�S�9��n=��1��h}�3WwXc��J
�WN8���W�&f>��Xce���*�~$���#O��"jE��\�j���������YJ�QG������e��0��[	��45k�}	y�R%o�C��.�	7.����������C�}O\iTG���)JQ�y0r�qn����.�;N�.���U��*��Z����xV�K�-��_4,����p�z���!���/�H������>�q��2�m�V{Q�%���x(<�5S���5��x��������\r�;Z��`��|x��;y.*x����cF-�bz�8�|�t���ZiT����������>�x�
i�~-v�FT��u����S�����X�jT*��^!5����sg!|Eg�����Yz���x5�����P��t��.����<�C���XUa�L�����N��q��������k��&�7@e�X��������J
{A����#��m*�����5�H��(�����z8�Vb�<�;#'���l�N�7�t��R���d�,O�) �Oc-*���G_cR�Q8�`wn	:*����]�������{%YA�nL�)�J�$�����[���GA�	>�2CDO3��5����-�#��Dc}�����kL�y��F���k:$!�e�|�J��&�����+��X2{��m��zb�:�h� Wd�8A['����'N�f2���/�E���+y�4+�tN�B�3�;f�7"�F�T���e?���5�na�G��^S��f
of�a{�����E���|q!$�E�MF���kT���p\jJ�!U�����9\�XC���Hk{��y����=��]��TcjY-���J�r!>r!���T���Z�P���I��D��lP���h"��[:Ee�����N�������O)>^$��[\���M��A�O��w�yRH�GdQm�@����3����:^|�w���E�(m�����N������7c.c���?jP�����gB��(Hn��K��pUv�|
�nF�
���X���Z�R@�����)�sG��?<n�C��������|�>��#C��~<����0dx�3�L�,� ����m�~{��#���=w���SV~p�����eT6}/��n`�?w��V�	��Ld���P=�	1�f��8#�)���#����H�Mur���T;�h��T:�bSp�+��+'��� ��6+�K�b���^.o���HM����D�w�9��p�Dk
�R�N	'�1"|�m�R�n�J�/,
(JkP�~�z��0�I����T%#�h�����A�i'���.���-�rD�{��A���>*�������Aba�`a���+��������}��G������
�.��]�����pA����+���h5%WGE�J�'�"��3���-�H����+{Z�wvQ�A�/~g���n�;��;�o��
�6��zA�4&����Z�>���f��"q�)�cv���D���Ng}H0�����A�U;��Y �u���0o���Y���`.��z��@�xE+���u%���@�N�4����\����1)��VN��������:��f�=t��a)�C��P��~����7�p�mC[�dW����n�87�8^�zfz���
XZ��N3�������	�A��5�����/�G�����r���)J�;R��n��D�r��1�@�J��������xW����\�+e^�8M����#�Rq��H�t�G��Q��p�����������#�C-�#6ax4p�3`��@��9��J��ro*�N#����j�|[R$�q.�>^���v��l�z�����3E�I��w-��G;����Z��H��}]���:����5��&M[��,��:�:�,%�"Ns�C�1j11�����-��6���5�L&�m��i}ku��e>���5���Y���*�S:���j��������<a���p�J?C*���K)G�p���fe����bT)QI�A(�(�?���p�<��HG�|�G���C/��L��'�p�I	���3�CU������ R[�������-���Z��Z) ��GF���38�W�0	����Zo3^"/m9���6�o��F��W��J����`��*<W/�HW�I�nn&1�
(��
T��n�x	$���&��.��G�����P���4	�M3���L���)����]Vz�#���?���1�x�v���_S�8x�/���e��M5}���{]`�[��
�`oOIJ�Z�]�
��k��o�5�X\����I�
��	������21���e�|���~��w��������N��K
�pA�e����\�s��+��k0���K�K�&�F��=��� `��?I����~2� ������q��h{'�)����� �3L��Vp������.'4u�]�y'�]�h3�o�R�Z9#4<�e�/�)�O�m�8�sY

�(j=d��k��g�*�L�0����ca�"�W

��S&?u����������[���t����?��>�ONX,,{t��~2��	���'��{uC����gZKH�c:��S���F����%�* ��3o�������p����>q���2f@T�5��-E��)�Y�RRT��V��f�3���9l���pma��a�b�F+Ia��o ����D�T�@Y��e��������xQ��z��R/�SX�D�O�Y�^�-����f���F�0�s�;�n��e��^�����?iW�{dbV[?��+��~G��`���E�O����p���~������k6-��`82���3I�t��pJpT,����G�[���J���_{������i��U�0������*Y�?Z������\��5�	�������j���`1S9�����Dc}��*u�n��R�$�2b��)��u���x��q{�H�g#�ZD�*M��1����&�
����nO��@?�Cuo�&dqt�q_)�����-P,|8��6Y�r?�2�jY���q����#;��hJ����s�������&�G|����y1�|p-��!Y�.�O��cm�=b��H��~H����C�9	@��������=��@G� r���������D���z��V]��q-��VXy���a���C(�(�������>��������_4�V�������N��:�::TbL<��R���4�� V)���]+u6����G-���<���"���b��iE��M1
F����P�#-�\GY�IZ:�^=��[��t�.G��u��1����$�!+D=-��U3y}��p��������?��1��E���p��)�����Iq*��$������0����AiOn�iT���HHZ���,M�N+�G7,�d��J�����cE��K-�l�]��|8������9�r��$�c��c�?��<a�t%�����[���<�\�3
�NKo�T�H���Ip#9IR0�~��M����@�-r�������j���&�D�9�"�_����`�zqgO�?,3+���jZ��2�0�VK��nfea��Y3DM��$Z
p���-3����AD�QR6����-M�"���6-���KCK�	�B��Xf���3�1�^�~��� �	Zi��Q�Al�T��n~
�:���o��Ye��>��&a�������n��.N`���!�u"�d�t���y��������>��K�) ������+e�=�>�7$������z����U����P���f
����"�Wo�i��q:=t�!�9M���e��h��'7Q�����u�� 9�l�i��M��RF�HO�G:HG���A,O�GS@�����/gVII�"��%�6� gN���#�ZY���IT��$/I<��s��)�D(�1��jZk��*<`��x��b���	w7?R��Z������`� Gb�|Z�=XZ$�����Ory3e�/��
��+�P=�\�
W�@m�*�d5��",����R����9���#��\iO���|J�#",n�)2�ZX����3��k��
�����f|�l6�=��L��k��~07���S��VY�;M��g��2�e��gZMR@��,�S�f�B��%��X'������p�RS.5��C���P�?�p�D�L0�2�����@��2#h���R
P���^nR=R���������V�Y�/_��?��?���z����hR�y�F��C�c�;���c�
������p���?W��`�P~�n|$����&��}���]��X0��Z�7"�m��1RO�������wl����`a�hp�8��7��M���}�K����gF���a����:������M��C����������
�����O������/(I��GA�/�O��}�4�G:���}a�,���e����P���� b��gG2������������r����XY��)�~%�6������a�W��yzu��C(i�������r�p����[�t��r�E}IZ��/�SQ�V�Y�X�OA�`�}�7Z�2�NL�s���E����s�Q�li���]������v��Y�Cq�Jd_�) v�Ya����OW���-I=m��}
��W�W���_[h��CA�(�%�����e�C����J�
&�b,��������{NEU[VZ��z���rBr����>��J�����������C���PU���������}�q���{�{�hpO{~<�(���M�?.�!e��%���W?���yP�����@ve.:���L�$�kWE�7��~��b���	��E��r��t�l�~���!�J2�l����^PZ����]�N4K�Jk��9��24���.f���8��xCD~���8e�g�����1�:����vY���u���G������n��j(�� 
V�*�\!C�g[i������������*'���G�hu�`B�7o��_�$po������#�����#�����[
��$~#��������(����$��!��[V��d�;'���q�Z���T������Ii�>
tHJ����W(({�8�`+�A5��H�A��.���*�	noi��(��K�V��,������|���aU�xD�����oW�� \["
�������d����xD����ka^����	���������
M���"3����GT�g���
�G"%Y�Y�k-���.<%��	Wb�u{Db����8H��Oh���� �OR�~7g<���ER��D�����I=�(��|M�!��0���W��L�mM���`W����9������4.�
�n����]x�H���Ik��I��D9e��W4�v4Q�e<^V��OT�rFS^r
v�A*s!�N��&*�DQzM{�}O��g{��N��?n�����\])����������|�����7��M���!<�Nl��uY1/7�i{���������-�G�����q��6?/zYZ�6	G#��|8�1�[�8��(�����$w"I;y�Z�{�`�t�!��m/I_K����D8��'d85b��`��D���(?g@��������vT�.�����������/9VZ����G�������A��V��TI>)��O�E�����Y�X��R��&_��?�����@����D]%���{�H��^
B6i��S���v�t$w`f�&�;2@�a�=��WN��'5
��J_����c�c���?~�&0w:����r�Nd���Or���.����-o��z��k-#��]�������5#�B(b��� �}�i:hO�����z3��{B�i�=�V��$�W �����x%I�����e�c�V��C=-p��a�����,�	��t������Bp��U$?���A�����)
�0�'7&���b4�BK�e�?�6����Z�	��(��Fpq�����]S�>�v�N���F�b�UYb/�M����9X~-ep�N)�4�vm���5�E�����[�J���7�g��n��w����~���(%���v>����l$M]�t����N�4��l�@�Zj�����K�r:�0���@1#=:[��iH�����a���QYGK��}kl�q{��3���'�g5�>=���l�@�
!k����J����2]��@#n��;-J&�� ����~I�C�bC};n����t[$Ct[�L2Y�.�9Kl8����[Z�r���}�*"f���c=�R�������2	g%���b�N�n
h)��d�d-
�F��nK2���
�B�$���B�K����70J0�H(I� $h�<���Y�/cr��iBn�:���=�����e��>c�.��uS���7!I�?d�e���������S���D��3=���r�4��7e�N�p
Q:�	�T�&$Qk�RA�i~�}	�@|��Me�C�BdI���a�G�`w��� D��HEF�"p�x�M��Z�F.���y���\�U���������`'���B������I�At�����X��������d�T���9�����`~t8�`�	lo��8��NfP/�������)�p�����N-��z�K��%�DB,��V�M�����!
\!�QYL��oje��8�L�)7�s������
������x�N���� t�7GOoi�>8��%�)ve�:��|	����1{klsj
,�"].B��'���~+�QC��3����h�8To���>b�G')��&�Or��^�n��{�%�%j�[E�C��L{b���^{0��_�	?�KS������������n<�F��#/�#�t�[�\&���M�vB���@�^���0'�dG7�������Oi�r8��p�5��X}.NA*;�+���II���d)��5�0������A
<-F�N�3����oj��!�DJMi\��c�xs���tV;���(���t���a�����q�X������T�M�R�d�����t�4����p4��&�s �W`\HjXK0!�=��O�����u{��vU�O�|�Iv���:�������������]��p{�V��&�W�I��fL������7�}�����b����R��W�[��V�W\9g��o���]+M:��X�lgF�4�Z���������0������=���������irB8`S��K�k�^+kF��R!�{�}��o�>��Tk��M�����
�J(+��g��6�n����c�
��"��i�����8!��	��3g;:�p�`��]�k5��J+��u�=��8[:������2�0�5NG��<��+�/
�`���N/{Ww"�^&�.�H�QEe,��})fmv���>�B������N*������z�[�N�J�����%���8b`w���9	p����+$�w��f|����>��3�4�t��MY�������'�bI���{����C��C������x�bt�
�U��J�&�"Q���v��mVY�����-��[��i)kD����<�$��*�b������C����$��7�������u�5��:��;&Y�?�
�)6��m�d1��+t��F����M�a&/]�s
��_F#����B�K: �FG��U�&$����!�hD�i��/gL���9�t����g'�e��?�o�����(�V�-G7	N�]Y���0��*��������o+�4�����
��8L]����%�z��h��fgl�d1�>�!
��9�!�V
��}�}����7-a�[���8rtSapl�%%���Q�{ml_%����� ]+S����{%��
��r�1M2b,M�f������A�a��?1\��|U0A���]�,r�e�}��/�Dq4�9�QR��M�#�W�8�iN���^v@�����8|t��
�8+������oUV���n�o*�����.����������0h�]��>���Y�"8c����r��&��G#�B���������������������N-;?�QnG7���N�����p��T��ni��5x���a`��Y{Z�o�9�wE�qzb:�W�p$	.��4��p}��]��^����F�]WV��5��0��9�@h����U��-�d��:;?8�g��m�$�V
--�L��t�
ZZ�@O���C����|�/t��/�/g;�����=:z��W��������2|�&u���!XY��e���P�381��IO��<Z�����t��g�
\i=�)�6([��Npe����8�Y���r`VI�7�Y�{�Jz��4��t����{���^;�)|>��p
��V�,�ub���U���+�B��S�Hf~tS83��Q����'���1���kO�D��'�X������c�*�Vv/������L���CNy��m6N�*o9;~SW������oR���p��t���g���Evb�Y9���Z�U��t�R����0������U�:�b����N�K���asH�*��e���m�?}�@���~^8e$�8������	�@�:�\�������/t��[���h�+�����1
���U��������������X�w�sj�s�}SR�������U������2�4���J�*��V��k���l�F�������Y�_��XYx�L���Gi�������?{J��w��1��q��
g'���s�z���D�	�&�~��=W��������lqd�����`��N�����2����������_[������-C�j���������������*��Er�����"�������,��{�������������Nl�	��tB����y�)6�o
y\Lm����c�n
>O|n�Y�_�{���K�m�7����T W�&A��Ek@P'hh`N��`+#U,��1����_�(pnI^���6������OTd��������:R��i����G!Q[���|��Hl��ze�������d��@>���No�TS��>4H-ZV���qve��aw����N;�G���=�G-�YPq���Py���fC���5��QL�P��B"��]���^��.:&Ln����+vlwj���X<����,c�'�o��^*)��H}KI�����d]J����&�������� V�����ao�U�J��N��G)�	j	6r�f����}�u����.�M��-2�e���1v}�����S�n���^'�p�v��-����zG
�1��������N��~��-3����M	JcWz9����Zb�H(������Z�6�~S��������5� ��`��uH�``�u8����Mu�15	��Y����!X�K`6n��5'T����\Q;��?��"�V��z���{�1�}�8~�0H�u�o�i��{0���a��`���&a�Xi	%����G��&=�6g��}i�D^,%���������
y�
y�n�2'>u-��+������b@+�k:C���P
��}���������A��0%���;���=�z��]�w����cO��!���`���.�����7M�����i������$?p�����[d$�RV�-l����9�������1C�	�(*����_N���o������������y�������E�%��2fV�W���eR`V�y�M$� ���OLGM������t��]��D=���-nke�W���c�t���z
����_K�W{����G��A��X��cG��p<�i�o��TGi�`8"��c�n��m~9�L��������J��q^l��W��p����x���(Xa��q��<�)��������Y��wu��.`{�Hz�M������U�����U8j��`����MMH7aw�"�}���f�K?�9����r�������M}	S+��t���j/�v+�����.��H�������K�+�}�e�����t�����&�lq2�f�����S��ii��������h�{L��G|�t3���1���
����b���;?�^w�_�"�����1��d/��)�������Y��h4������a�7Qg���������vb��(�=S�K�����Kp����o��{���n�k���(�����
����_n���������s���G�U���������g�������[�A\�v�6�.�����"���bqM�iw�1=����*��w��68?�w���Kty��J -&-���k\	}0���^���X
�__�}% �v�<&0y1�vu��9pf���m�������cL�c�x93�}�h�IA�����S�&���V:
�������N	��!�����{�t�Xu�����pa*����R���}�b���\"���+,s�������P`�]���a<�K�;S�b�����Xx_
�C�
���Oxt�m/��rW�����
Z�q����3D��q5Z�C�b7���)�Li-���'a[\=���>z<��lW!:�j�JoV�BcQ�HY���AW��n�@��MC�E*��B2�	|��A6������R`@/�U]d�u#B$;+d��Y�

�i	?"���tv3?������Yt�(� �����
c��hqu��^���@7<���0�9T�����<�~� �y���K��

S����2�jFo�&�m-�.�p4h��V��[_�������a�H���x��1���F	�%��z��	���y�k�Z�7��r#�	�Y)�^i����3���FU:gD~��R��b��z��s����f��-�����a��sS2�&)Y@���9�� �����m�
�y���y�t\@���7�s��mJy���u�}5��.�Ql����@�����]@yG���3����5��I]��Aq�=
�������+!���6j�c!5��E���a��kc-t���7����"qV�1
�o}en1�[�Z��s���F�=�Y;�����G_
�c_o��FCf�z�b���W0�V���Z�v��azw���Y�sF�<��n���W�e�~N��3<��:��5�[���/�P�����wdB�w�7�����<q�8���*�aS��2<��O.�wT������~�Qc������8r�*�����Lq�w:��I6:���	�2)��AK�~��?t,��{�y���*�G.����[P�
_��d~G��	U��gh�uu���Ba�t������wd�j�'p�oF:G��G�P���>��}��_�:�3����#�����o_(�H�)p�����=�H��Go �������	{��H�!E�]�%��uAl{��`�c�bM�
�����aS��s`���G��:W
I2d�����w������G_���m�	B�-=�+�x	�0�Q�8J=���G�;�-������(�1uk>��RQ]��2����'{U:[#�2�����T��
�pj�/hk4NiV!OE54�8�24���WG��aP:�pX4!/H�@��-y�8����`MnJ���4Vt�Xa��jE��r`%xE'y�C�oG�}��=(�*!�\$U��,���CWU�o�f�td�<�#��������8�����������8���GW��&������P����Jy���a�)������pl���k���x�r�@�^�[��7N�awafh_;�&�"�8��T6	�$�8Us�
�5n�P!������8�_2p@ZY��pp�qp�e�A�t�� U�j���X=������?����P����}�����J��-j�
��/���BHe�N��f^]�LAU�)������Q9#��gP��P�q��
����@f/������D�����Si�������w�On�9���+��p���w����$�L,�%��\��;��@�4�IK����Y`_�ME����r����G�����[7�T'�m�Q�$�D�V��{Q���O)�5�� ��F�����b����Z��#o���O��m���Ak���! �����F���Mm�xW����F���{Q�b:��n#�5����2�<���`L5�N�&�k�zl0"5��b/��� ��
�#��7Kl���I��D�0f����)�fXf����;`Y��hL2����>��9����{�OFZ����e� ��3L���@�$���_<�#������9�8��7|�XE�f1V6����B�?+������ASE,�^���Q��(�
,_��Rb=�T
f��c`�2�y�c��<��2jCs03H�
����\�.~�T�b1�
�
rv�*&������	��E��pj��Dv���g� �	����3��b���;L^D�8�2��H:�l����b�k8I,��f�����.q�=�3�u�`�U���Z�N�G�7xej.����F���\n�.�
����#�5\��X+��K����v��*R��2���G�2��-�C�$)��b��L0NI��k�4��=�^�	��4&<��
�f
�e��EE��Ev�L06�b:0�x��+RP�X�Hm�N,R�sr�c�������:�H���@d��U��Z!U�#��.��\��g����hG�`��E�8A/>���2�[S3���X_$�ud%�#I��.�-�)��Z��e;������o����K �CG_��'�a�Y\��V)�b�'6Ea����.SL����g��
A�T*
p����172?[��D8��Q�nF
[��(T%
�FD�����ki8���&�s�q
�O;]����S�]���6~V�^	yF�d��Q���b�F�E�E��&4�qx���2@yA�����~,�d
+$a|G/��)���6^��F����d
�e���� %:�g)Sh�H=�;'l�6�D���X3�4��M�]�F�F��`�-��,gq��5b����������p�#���wD�]� �Tg�"oRF'`w�I��"����'�YU,*@`+(A���1uE
����Z�u5��L�\<P�}/�""B�W���m$p��P62^�N�����beB:	c�2#cN�����,e#����|f
�ux�����/��L���A�P8���)d�x���7�Q�W�+�u��wz��_������h�5[���6���jQ��a��`4r
��<���v���������C�AV�p��^�]^G"��g�z��A��f@+��FO �����fj	��H>�x���D�YTF��`#��^I��������F�r�0�C��&�6#������x�jqD)����e��X��u
`����������<]L7@�Rb��Z�W�=��W�� �h_�-0�=�e�G|���������qe0X+����������E�X�a��Sv�"�4Q��r�L��� ��Z	�H�b�j������q�U�(%vRxX��g~9��Yx�+�e�/�6��! 
�2��w������<�������%+���������n�����?�5����z�:GY���X+;?�(�6�jK��6�	��3����'mSa��������)O��KIL�`(��Cbh~���DP|�Y.<���|*�X0���j��{=V�����	����g��R�1P�7x����X�����
���Mm���|+8��6`�IIs�KTC
���"��4�`��~~��qy���Et�7P|D���c��K���T������
���CE2	iXY�
�sM��)��c~���qD���"!��X�u����-2y�`�s8^\�0�bR�-���a�x��W��N<�"��!b���	(\~��i�T:c���T�	�3s3�l-��KG�q�,'�(��M3UC�����������8�����b��x�8�y��D
 	`��OY)��'��\1����1� �3��G��4"'�[b���@�����i�y=�m�����������T1C	��0#��y�������1�
C."xbd~�~�&�f	��&��c9�f8�{L�iH{���c�0���n��,�ptGg#��7q����,��h�l���6��HO S�S��~9S�vR+k/�2��1L<�`���@
f2��(u&�I�;��jL��F
������
��9h-�0��
��y%���ZXg�z��i�$z���Q2[���
	�(
K�}z�5���p^+�!#�Iz�):�W�j�:�%�*�[����d�p�
�~� Eg�Ty/��jU��Ta2c>k�9VtX�*s��=��RhbS[�+�����~6u-�D�~���`R	6��I�d[O0A�n��T4%�=���J3����$�^4H��y����9@�YK��N�y�4�=��1&�JjqP{+RZ��::�%���%�����=�9QA��I�FD�;����T	�0[=}��
�:�=F�[���0/3S�zGbc�@`-�b4����&���Mf�ps�M!a^���v��Y��0+���}�cM��}vx6��U�G
�/�c���X�n�\�.J��+]��G��I�d{�bEcY��
y�����a�2�TEio�($��h��b=��c�T�g%�����[b�(����#�'j��dZ��\6���
c��bupk�h��d#).�ad?
-��H�z�}��O@�76�2�JX�k�l �0�'Av���f���)_����5FW�%	�cXP��k3�Id"�+�C������z���o��
:���5y��6&�
H�A�s"	@��
V�1��:�XV�
�4���, ���
&pI�$�PO-0J�9^��0�_��F��]	����b��A��	��0���)#����� ���^�*���A=��_`�~�@���o�����3����i��=�bWy�]!-L�����yh�"�gf>[��7x�9��TpB�7f��gc�����-c�e@�Di2G��1TO30i�m[<��ZC��������UB<�����m�h@����&�J"|�����a^D��� ���=��V���M~�i�|�{Lk��p�8G`,�
h�<�?�<�z���60�8O���p�)]=���
a��i�f���h��*���a.�1��A�}��{tX�9f�����U�[���G�F��\`���N��>����t@���0���
Y�9Rbpp����D�/X� ���v���T1�[)~8����<�5�L+G�?�w��qy
RV�������I���Y�����'�V#9�@):�
��{�X�%;�pBS��6]�a,����dGA^<v@|�J����j�J��R��f�QA4��`�����7uc@������J��{�Q����D��D9���Nko6j�!>�>8&���������Vv����5?n����k��(���b���Ga��Z k���a���X��a�Z}1�]��b$WxE<�>F�!u)I�2~*��R*��A��#�Qwp�9o��
��\����F�t�)�[�F���F��Uo,��
N3�<>h
��CE,E�U�=��,E������V�����+�������d�e���`���:�fG�V�.��p��2�?�L%�K���	9>����y�!e�ea8�O�!���]� �R
��xS����FsL��h+Hv�K�4��|�;�5��?�2�#�<��0�6)��/�?��p9s�Sma��8���?t*�ca9�S�<$�d�R�k�]x��G�b������|�E!$9Y(a����p����'�g���8��j#�� �m�;[��a=��(��.��"��QRQ@�x0$s�-��f���G����"�����6��aj�[Vk!�
����W����6��3�z���cX���Ir�#���<��f��2x��c�1L�M��� �g�n���S�"��`������A�z�A����]9
�?��u���>�o�j���a��0{8x����T��a4�J�|�2��1-G�����R����%�?tHX9�gS��R���8���a���z6Z 	F�9��(��l�P����:��� ���0�q���7���r���a���y*�����5���F�&�N:�}iz�65<������CE��f�0�P��Lf����2�P��1�l������3��"���H�%�>r!2�M$)f��K������ ���sjd�$`F���H�mPK���E����	��AN1�6M��au�.&��R�kH����B�Dk���b+�� �Y�c�����HA��m#���)�� ��I0��c����a�Ac��RJS
|�����&Xm#u�H�
�
L��v@�����_�h7��r����U�Q�X����5�3��7[����XI���!=���0\gsXd;���x"�����u��a��}�x�0,��v���'&S-���������
|}�T
.��vp<�
W ������P�tU�]�>�i���k�T���C��A�`d���x*�[)�?Y������[#m�f��x1Ux�,������ba(��6A�>V�����~&��P���r^	�)#<w,u��S�g���K5�h�*/����P������0=i�������p2�W0���!�pc���+d;���d8�0�3{?8UM�
�(�uS��)�?�5V�$�;��=�������`#07�3�CE<��FqXl)�?����C3PC��.�?�7��{-*���k3����tP �f���� ��RKZ#d[�Tg_�|&��u#<:t�{�����u����db�%��M�y���6�c��)N��J�Q���*�?L�w�	0��E��e��2J,"�$�"_�����	S����"��<�(�����aL���?t*��������fA���d�������N�Y��.��p�p$���>)(��)'��,�o���
#���5.��s�C��0K���|p�(�?T4����ut���WN:A_a�:�IA�!��u]��d�Sk�f���4?O�	Ss��X��Q��`��0��^��h�p���G���f�q��"��?��������u{�8����f��sk��a��EiG.����K\��K�o���d�8y:����K"qwC�����������b��~UM/��Y���+I}totr����G_O��F_ON������6�J���>�~eNV�'��{�����r�.��7v�g�U�}����z:��no�'�of���Ht	��A�������~�����k��~�yu�����g�8����M�w���{�}~�>7c��>i���i���v.y����n�����.�?�|2�~F�;�wxP���������7������/�����_����������;G��_��v3��PV����q���?�~����:<>~��|��z��/V�o���~�fNR��;,��n���n����[��l}�c��?�36~�������c���W�������������A�//����������C��s�1������_���b~U]���������6���������h������������}Q��R�^�{�z��^����|6����U�����������L����/Wl���{���p�2h����������q��&c��u���:d������q�^��O�����?�X2TI2Z*��jz]
$s� j�Z.�O����	)N�d��i}:}q~�&�x��>9'$2�:�\����t�<]M����_�|����]�l=4�2Nv��������M���1�:�����U����������m�7������:�_?m'GUS�p,�E��G���U�v�v��O�������������]���I���ms~aNN���v|�-���{�>
�[��7��������x�������]m��$m<��G����j��K�������0����?��|����{{7���5������W�������ou�L�Y&�U��0�.���%'U�^�t|�V����������EuMr�����"��%y����|}T-��}_����+V�'����.j������6/�U�13tG��j3H��$9�F����z�9�^Uw�
L��P������Iu�`�x��;#�;��������>}��h���[p�^X�7=D�z�������
2����~~�>�����9�����?����?�����|��g?������n�Z>�!3�����j�x}�`�\xk�*l�a'�{)�����<���.yan�eys�������|�O3��W�������,�������i^��4����d�/A�P$��}}���i�����#�M�$���E�>|�h�Nn��|�b�N�s����;0XO���l�����S��vU���>���Vw�3��E���M~O�q��7~��#��g�����g�'�x�q7�c6!QWF���
�����Vbq2��>9��\��~�+��PnJR��JR���G�����_�����_�,���O����V��RC�r�&d�u5���X����5��'�)-����������/�"���S2�~���'��L����n>��&;�����Ywi�K���Uk�������n��������U���	�������?�`�G�1g#j���f@��U$4Aq�_�C���!e�<_'��d<����_O8 �y�;��*ai��z��������S�������h��,�Q@��G��]�N�7��N}O���B���i��ZA�;G��w�����A�c0I?8�>��
����������a�v6�~��!��59��	�<���?���Gx&�
Aj��9a��`�)�����uM��������&��m���������\O6b�
��T��6�?���F��!�"���n��B��O�
B�
e�J��[��$��<B��yb�f6}�=�?lv�m�u~������oZ1����w��A����+6�i�~}���`I�x[=%�I���O�%A��C�����-�f�j�n�,�����Q�n��?6o���%D-����a#I������`�����_o����;����7���M��Q�9�<&���tu�F�l>�1^�@t��&O���'UE���W�{�<�����Z[Z�����O.�`������|5_�dG:yh��!��������'�[���_��t����;M.������	�X�Q���/�/��QG�����p>��<�[��g��{F������b<N�������C�~�=-0��_�{��-����g�-�i�&�_���G��3����<�d�Y�7�q�.S�:���#���qm���9�P��S�`H ��<3$o&�-��W����gt9|����/������s�:%Tu�������	`I�H�v����	���--���=�,�j�g���t1^����O������d����`������[U���/+�4�����]Ow0GZ�t�~�
�&���jk@�{O��n�]�d�z��|�����8d����������y��g��+�����E��B���7[.�kx\��.�g��������m����s����e�`��N�����7~�v����0iON���&�[ �K���2H�3�
������3��)����Q��N��z����o�y<_�o�Ux@frz�����>L>��!������!����S��o5�N�z�hy���/�����$���y/������bz�V];�qwo�fU�j��O�����z��T�v��
��)_�6=|��A����C=[[�i������ �}������jw~�����=�)�U�?0���-,O��H���:�S�hZg7����Luw�_Iknfo=����F}�`�Tn�-�{#��Y� nX�6&-!!�84�kY������F������h�����;��� �����:����{��GV@{/���z����,�����Au�~�(�Gr5~���N>[�e��ic�&h�����\�e�~��FkR��o�'6m���;�����������1�[�n�F5��������&z"����1��^�o��*��Q���}}��������]�kw�����v���]�kw�����v���]�kw�����v���]�kw���5��I^��
#2Sokolov Yura
funny.falcon@postgrespro.ru
In reply to: Sokolov Yura (#1)
2 attachment(s)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On 2017-07-31 18:56, Sokolov Yura wrote:

Good day, every one.

In attempt to improve performance of YCSB on zipfian distribution,
it were found that significant time is spent in XidInMVCCSnapshot in
scanning snapshot->xip array. While overall CPU time is not too
noticable, it has measurable impact on scaleability.

First I tried to sort snapshot->xip in GetSnapshotData, and search in a
sorted array. But since snapshot->xip is not touched if no transaction
contention occurs, sorting xip always is not best option.

Then I sorted xip array on demand in XidInMVCCSnapshot only if
search in snapshot->xip occurs (ie lazy sorting). It performs much
better, but since it is O(NlogN), sort's execution time is noticable
for large number of clients.

Third approach (present in attached patch) is making hash table lazily
on first search in xip array.

Note: hash table is not built if number of "in-progress" xids is less
than 60. Tests shows, there is no big benefit from doing so (at least
on Intel Xeon).

With regards,

Here is new, more correct, patch version, and results for pgbench with
zipfian distribution (50% read 50% write) (same to Alik's tests at
/messages/by-id/BF3B6F54-68C3-417A-BFAB-FB4D66F2B410@postgrespro.ru
)

clients | master | hashsnap2 | hashsnap2_lwlock
--------+--------+-----------+------------------
10 | 203384 | 203813 | 204852
20 | 334344 | 334268 | 363510
40 | 228496 | 231777 | 383820
70 | 146892 | 148173 | 221326
110 | 99741 | 111580 | 157327
160 | 65257 | 81230 | 112028
230 | 38344 | 56790 | 77514
310 | 22355 | 39249 | 55907
400 | 13402 | 26899 | 39742
500 | 8382 | 17855 | 28362
650 | 5313 | 11450 | 17497
800 | 3352 | 7816 | 11030

(Note: I'm not quite sure, why my numbers for master are lower than
Alik's one. Probably, our test methodology differs a bit. Perhaps, it
is because I don't recreate tables between client number change, but
between branch switch).

With regards
--
Sokolov Yura aka funny_falcon
Postgres Professional: https://postgrespro.ru
The Russian Postgres Company

Attachments:

0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot-v2.patchtext/x-diff; name=0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot-v2.patchDownload
From 80787aee44b7f9b5389476e45f2241073b6c89ee Mon Sep 17 00:00:00 2001
From: Sokolov Yura <funny.falcon@postgrespro.ru>
Date: Mon, 10 Jul 2017 12:34:48 +0000
Subject: [PATCH] Make hash table for xip in XidInMVCCSnapshot

When lot of concurrent transactions attempts to update single
row, then linear scan through running list in XidInMVCCSnapshot
became noticebale bottleneck.

With this change, hash table is built on first search of xid in
snapshot->xip and snapshot->subxip arrays.

If size of array is smaller than 60, then linear scan is still
used, cause there is no much benefits from building hash then.
(at least on Intel Xeon).
---
 src/backend/storage/ipc/procarray.c | 64 +++++++++++++++++++++++------
 src/backend/utils/time/snapmgr.c    | 24 +++++++----
 src/backend/utils/time/tqual.c      | 81 +++++++++++++++++++++++++++----------
 src/include/utils/snapshot.h        | 11 +++++
 4 files changed, 138 insertions(+), 42 deletions(-)

diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index a7e8cf2..18cc233 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1469,6 +1469,49 @@ GetMaxSnapshotSubxidCount(void)
 }
 
 /*
+ * ExtendXipSizeForHash - calculate xip array size with space for hash table
+ */
+int
+ExtendXipSizeForHash(int xipcnt, uint8* plog)
+{
+	int size;
+	uint8 log = 0;
+
+	size = xipcnt;
+	if (xipcnt >= SnapshotMinHash)
+	{
+		log = 1;
+		while (xipcnt) {
+			log++;
+			xipcnt >>= 1;
+		}
+		size += 1<<log;
+	}
+	*plog = log;
+	return size;
+}
+
+/*
+ * AllocateXip - allocate xip array, extended for hash part if needed.
+ *
+ * Hash part will be used in tqual.c in XidInMVCCSnapshot (XidInXip).
+ */
+static TransactionId *
+AllocateXip(int max, uint8* plog)
+{
+	int size;
+	TransactionId *xip;
+
+	size = ExtendXipSizeForHash(max, plog);
+	xip = (TransactionId *) malloc(size * sizeof(TransactionId));
+	if (xip == NULL)
+		ereport(ERROR,
+				(errcode(ERRCODE_OUT_OF_MEMORY),
+				 errmsg("out of memory")));
+	return xip;
+}
+
+/*
  * GetSnapshotData -- returns information about running transactions.
  *
  * The returned snapshot includes xmin (lowest still-running xact ID),
@@ -1537,19 +1580,10 @@ GetSnapshotData(Snapshot snapshot)
 		 * First call for this snapshot. Snapshot is same size whether or not
 		 * we are in recovery, see later comments.
 		 */
-		snapshot->xip = (TransactionId *)
-			malloc(GetMaxSnapshotXidCount() * sizeof(TransactionId));
-		if (snapshot->xip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
-		Assert(snapshot->subxip == NULL);
-		snapshot->subxip = (TransactionId *)
-			malloc(GetMaxSnapshotSubxidCount() * sizeof(TransactionId));
-		if (snapshot->subxip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
+		snapshot->xip = AllocateXip(GetMaxSnapshotXidCount(),
+				&snapshot->xhlog);
+		snapshot->subxip = AllocateXip(GetMaxSnapshotSubxidCount(),
+				&snapshot->subxhlog);
 	}
 
 	/*
@@ -1757,6 +1791,10 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	if (snapshot->xhlog != 0)
+		snapshot->xhlog |= SnapshotHashNotBuilt;
+	if (snapshot->subxhlog != 0)
+		snapshot->subxhlog |= SnapshotHashNotBuilt;
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 08a08c8..56c1583 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -662,13 +662,16 @@ CopySnapshot(Snapshot snapshot)
 	Snapshot	newsnap;
 	Size		subxipoff;
 	Size		size;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	Assert(snapshot != InvalidSnapshot);
 
+	xcnt = ExtendXipSizeForHash(snapshot->xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(snapshot->subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = subxipoff = sizeof(SnapshotData) +
-		snapshot->xcnt * sizeof(TransactionId);
-	if (snapshot->subxcnt > 0)
+	size = subxipoff = sizeof(SnapshotData) + xcnt * sizeof(TransactionId);
+	if (subxcnt > 0)
 		size += snapshot->subxcnt * sizeof(TransactionId);
 
 	newsnap = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -677,6 +680,8 @@ CopySnapshot(Snapshot snapshot)
 	newsnap->regd_count = 0;
 	newsnap->active_count = 0;
 	newsnap->copied = true;
+	newsnap->xhlog = xhlog ? xhlog | SnapshotHashNotBuilt : 0;
+	newsnap->subxhlog = subxhlog ? subxhlog | SnapshotHashNotBuilt : 0;
 
 	/* setup XID array */
 	if (snapshot->xcnt > 0)
@@ -2124,16 +2129,18 @@ RestoreSnapshot(char *start_address)
 	Size		size;
 	Snapshot	snapshot;
 	TransactionId *serialized_xids;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	memcpy(&serialized_snapshot, start_address,
 		   sizeof(SerializedSnapshotData));
 	serialized_xids = (TransactionId *)
 		(start_address + sizeof(SerializedSnapshotData));
 
+	xcnt = ExtendXipSizeForHash(serialized_snapshot.xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(serialized_snapshot.subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = sizeof(SnapshotData)
-		+ serialized_snapshot.xcnt * sizeof(TransactionId)
-		+ serialized_snapshot.subxcnt * sizeof(TransactionId);
+	size = sizeof(SnapshotData) + (xcnt + subxcnt) * sizeof(TransactionId);
 
 	/* Copy all required fields */
 	snapshot = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -2142,8 +2149,10 @@ RestoreSnapshot(char *start_address)
 	snapshot->xmax = serialized_snapshot.xmax;
 	snapshot->xip = NULL;
 	snapshot->xcnt = serialized_snapshot.xcnt;
+	snapshot->xhlog = xhlog ? xhlog | SnapshotHashNotBuilt : 0;
 	snapshot->subxip = NULL;
 	snapshot->subxcnt = serialized_snapshot.subxcnt;
+	snapshot->subxhlog = subxhlog ? subxhlog | SnapshotHashNotBuilt : 0;
 	snapshot->suboverflowed = serialized_snapshot.suboverflowed;
 	snapshot->takenDuringRecovery = serialized_snapshot.takenDuringRecovery;
 	snapshot->curcid = serialized_snapshot.curcid;
@@ -2161,8 +2170,7 @@ RestoreSnapshot(char *start_address)
 	/* Copy SubXIDs, if present. */
 	if (serialized_snapshot.subxcnt > 0)
 	{
-		snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
-			serialized_snapshot.xcnt;
+		snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
 		memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
 			   serialized_snapshot.subxcnt * sizeof(TransactionId));
 	}
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f9da9e1..1c53790 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1450,6 +1450,59 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 	return TransactionIdPrecedes(HeapTupleHeaderGetRawXmax(tuple), OldestXmin);
 }
 
+static bool
+XidInXip(TransactionId xid, TransactionId *xip, uint32 xcnt, uint8 *xhlog)
+{
+	uint32 i;
+	uint32 j, k, d, mask;
+	TransactionId *xiphash;
+	if (!TransactionIdIsNormal(xid))
+		return false;
+	if (xcnt < SnapshotMinHash || *xhlog == 0)
+	{
+		/* full scan for small snapshots and if xiphash is not allocated */
+		for (i = 0; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+	mask = ((uint32)1 << (*xhlog & ~SnapshotHashNotBuilt)) - 1;
+	xiphash = xip + xcnt;
+	if (!(*xhlog & SnapshotHashNotBuilt))
+	{
+		d = xid >> *xhlog;
+		j = k = xid & mask;
+		while (xiphash[j] != InvalidTransactionId)
+		{
+			if (TransactionIdEquals(xiphash[j], xid))
+				return true;
+			j = (k + d) & mask;
+			d = d*5 + 1;
+		}
+		return false;
+	}
+	else
+	{
+		/* build hash */
+		int found = 0;
+		*xhlog &= ~SnapshotHashNotBuilt;
+		memset(xiphash, 0, (mask+1) * sizeof(TransactionId));
+		for (i = 0; i < xcnt; i++)
+		{
+			found |= TransactionIdEquals(xip[i], xid);
+			d = xip[i] >> *xhlog;
+			j = k = xip[i] & mask;
+			while (xiphash[j] != InvalidTransactionId)
+			{
+				j = (k + d) & mask;
+				d = d*5 + 1;
+			}
+			xiphash[j] = xip[i];
+		}
+		return found != 0;
+	}
+}
+
 /*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
@@ -1463,8 +1516,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 static bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1496,13 +1547,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1523,16 +1569,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xcnt, &snapshot->xhlog))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1562,11 +1604,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index 074cc81..9054f16 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -23,6 +23,15 @@
 typedef struct SnapshotData *Snapshot;
 
 #define InvalidSnapshot		((Snapshot) NULL)
+/*
+ * Big running list will be converted into hash table on demand.
+ * SnapshotMinHash is threshold between "linear scan" and "hashtable on demand".
+ * SnapshotHashNotBuilt indicates that hash table not built yet.
+ */
+#define SnapshotMinHash			(60)
+#define SnapshotHashNotBuilt	((uint8)0x80)
+/* Calculate size to hold both array and hash table (if needed) */
+int ExtendXipSizeForHash(int xipcnt, uint8* plog);
 
 /*
  * We use SnapshotData structures to represent both "regular" (MVCC)
@@ -76,6 +85,7 @@ typedef struct SnapshotData
 	 */
 	TransactionId *xip;
 	uint32		xcnt;			/* # of xact ids in xip[] */
+	uint8		xhlog;			/* log2 of allocated xip hash part */
 
 	/*
 	 * For non-historic MVCC snapshots, this contains subxact IDs that are in
@@ -92,6 +102,7 @@ typedef struct SnapshotData
 
 	bool		takenDuringRecovery;	/* recovery-shaped snapshot? */
 	bool		copied;			/* false if it's a static snapshot */
+	uint8		subxhlog;		/* log2 of allocated subxip hash part */
 
 	CommandId	curcid;			/* in my xact, CID < curcid are visible */
 
-- 
1.8.3.1

test_hashsnap_9.tar.gzapplication/x-gzip; name=test_hashsnap_9.tar.gzDownload
�8K�Y����f�q,�ZO�o���YO�����A����(rI6���<�����U��}!�����-�U��dU!�������������_�����O�����������?���~N�o�?�����/?��������������S/��������?��[	��������9Z�j�?O���?��������/����?����������=����?X�������������������?���_���������?~*/��_���b#���������O�%�������/���?�/�����@��/#��R_*�L42�~�:gr�h�e�Hk22�F���r�/�~��G�9c�Q�y;2?��
�Q��7_�{�b�I�VF�vis�6j����!����_+{[o�Y������T�y����##����x6��G�9}��K|��m��/�#s�ZZ|���p����^����:��+��%��k��[�.���ZS�/F#k��1d�	ksm�G��������q��S��.w��K���Q{�����B��"����Q��_���>���>�����y�����P[k��U!������!����*)���vhN4t�p~����uo\J)�T���J���6�]j�z����%�}�����O����Dbi����pn�.�r~z�H$FY"q����k��)�f��C>h�������l%U�X�n�}J9��GW0��Y��Y��2�Zs��V3�>x�������K7�T����n��g�
=�&��H,k)�[����9��Q�3��CO2|}���?M�R�/�w��C��/�z��g���Zk-[��MV��z����)���*km���Txz�&�M�_�������S7���z��6�������h^�)�~ys�\y��5���������������Zk3����O-����������qwo��]n��5uR�g�~\	�U�j=|���r�b��Uky�M��g&��Y7��G��.[�G���n��^��[{��������u�M�`]�;��?W��xw�4/�.B����i�K�����t���'W�>x�t�Z���(S�7(��5k��N�l�����G�.v��B����_��?���������O��tSNwP����J��tw�jyi��\����nr�C
��P
O-���S�����M��}}��_���?������o��O���_~�?����������?������o��������#B��������P�?��������������������������������O��?�������~=��?��_�������O�����s_��/��>��������?��?|�?������O#�����G_����������_�/?����K�����o��};������^�hn������O������5���������������?��/���������K��?���������V���O//��?~��?����������������������������������w������?�=��������e��^��m�o�G��/����|�_2��/��R�1|�e0��{��r��i
i��o�����VQJ*-]WQ��H~��_���^E�7��	��_�~����s�'�c!�����y7���~u<��S�/�s�v��E��a�GVB�����I�s$����i��`�m�9�B8�9|�3��,/c�
�l#H4|D^�k��[���5�Z�l�������������������R��,soG���q��c���^����H#g��Tcsk�t7r�-�����C)�����.������l1�9g�=��4��i��{l����t��������|�1�G>��^$v��X�F�?��|��B-�������_O���:c�]N�7�Z����#�m��"�;�F{\�(Ww�YU�
�&X�(�!�Q��Y�.*�9���;�F������f$��w���Z�����������I��AF;��Z��Vuw/kM��h�W��Z1^��H���=��\9z��U�0��0���v[���Tst��F�z>�����cr1�
n�T��S)W$��|q����?�G�_.���;���&�.���D������*���,��5v������RZ�D\]b����Q�{�&�����Y[���M��d���9�upZ����C���d�<TS����\�c�?�9��q�W�<4���^Z����)�C�y������������,��7���.�/(��Y�
�4SN�r�Dk����V��G���Bk]����D����x�Z����e�����vV���d(��TSi&X�(b��8m��%<�(���T�E;KD8�E��-�3�_V�q����r��S�}aUD8�.U���f
�;���5���fi&�n�Cf����L�+��s��krz\M��'�o�4S�l��V��^FS	E���F��h������B�4����D&���y��V���]�R���~��X�$L�%v�o���IJ��/�"�nH���~ I7X�I\���I��G�`�����3�B�����HjH��t6'�R�w��n�h���ja�]�e4UW��������Ys��"�,L�hrm��{�'2������b3u�pb'����]������C?�6�3��<�	��7��X]���������Mv}����Q���[L2T�?�W[�)���!&8����1��Y��������2Dq@yVk��e5������ke���|�M�9��4
]Z"���o�:	�-�T���b���C?�y��*��|��T[���]����@Z���_bz����T���o�$d��/y�M�6)n:G�x��6jr\�7P�x�������U�;����omxk�5��]�xiG��3����+��������`���=~�����b?�����6pW�/��)���2w/���v~����s�5�i@s��O/�6�u�����]�O���GS���q���?�z�<��!#mW���L���N��������-�*s\gPV�c�Fb��w]'!
����Q�������l�r��#U��x^|i��H�;����M,	%����P���6�����C>����#^C��W>�AI��C�0�6e(1��;4T����so��S)�C�b(}�g��~�d����� D�3'9O2J�+��(��J�c���~.a�>��m��/�Q��&�Y) 1 j���Nn����1�)�����e�D����)T
l,�m_�Sbt�3��Yw
�M�
�b��@��30:��n(*�>���-��q2�6J;<5��u��G�<��Nt^��CY%YQ���:���$W"��)u�u0���������6������m�j�}K���!��9�zi�`r_K��K�(��%H���C3�Q9��2\)��/@��PM�_q�9a�aw�vP�	N6��s�t�D��!���(w�?���?2kN*�����D�UQ��l�zs�J�inq��c�%1��*���M�e��k���4m���Y��#&D'�?! �&=�e������r�����8���M~6�
q\Q����h��T��?2�+?W�E��N.m�H\e��O���(,�(*��I9! L�l!�������s-��)�z�������[�e�C�������iZMp�eV�e{�b@��eh�����L����2|>����c�Y�f��2���j�\�q,��.�������\�U�@��*������Md
[���<��u��Y��<t�0�S��se�vx����C�����c���"�Q��-�������cr����W��m��M�Cf�]�+����E�aj�lO�V�&D��KJ�<t����
q�NP,!�9c�h)�;'�Z	,� ���P������wz���CS���#�'���n�k�7�^
[�-�XE�u�z�V�|���$�V�rK������^;�t.�b��=\i����������0�1��s+����e��g!N���6b%eJ�3.���'�:8 ����3A �ci�(S��d
�[mD9���@3�7G�ZI����d��A����� P�y���7�K��
����B����G�
���@���c�
0�����+|2���X-!B�6�n*g�j���/"�����r�6p���E����v�-����\�?����+�������{�7rkU��"�&�	�x����i	�T�f�~�i�--�WZ��<FZ,��N����t?�}��H�a����Xm�{;�P�����s��<B��;�7_g``���9gq�C�y�Ce���C_[���(W�����}��z�*}g��DfM�6[�/F�v��L�_8/�k�s����R/-#����uWb��$�<��Yp�����Th����K���9��cy"D����R�������������.J�(}����+� u����4�C�qi#�n>��RGn��g��C����=�ml,�TZ�g�O���H�����u�����'�����_��v�RJc�����Z&�����}�����+4�R����K�.����.�7Tv������0ttZkR���Y�jWA��3>�?Wl���8KK 7��P��;i�#����tS#?��������<S�L��fM�>�$O���
�����;i�&��3=���n�F�&�k������sg�'���6.�Z�����u�|����|\���q9��������Z�����U�]��M�eM�����
L<va;���e4�Y�C�u���\�H�2��e���o?x�M(;��Z�[����!\w��?uS��������O���Z��2t4�����s�a&q���w���[����#������7[��W-�&/���t�`��z^�)�����y��M�a+���U�K7����g�e��$nju���Ra~*��nBCe�v��I_������JB����S�#�gom��� �z��.7��\m�M5�~2tYk�?}s(����j�'��-r�=����T��7g���0�*�6�)��=,��/�q�s�^����M3O�[�7��[{74m���V+Qy�o]������:�������-���
�q���V��y�;�t$���8��
8�?�` �D����i����~�N��:�����H���;��/�� _���W��"���
���^��=�}��?��'���.?�������{EY�����Ouo��g�K��1�S��c��*E�c|~���7�3*�	��8O��`��U/�<O�����^ug���H���i/�����X*�_���������A�?���<Osq]N�>��(�&������y��:7��B#s)�@�����n�8(sNI"�9�00!%�=\���A�,�"���:�Y�c��P!cLW���p�EK,	�*>|d���U�eo�J�:DY�}��N1v;���[M�A����!��vL�H~�	���P����+�EI���Q<�4���5����F��6_�N�Gil�7�������R���J������I��<S������]�)�����1Z��2J}�D�R����I��O��m�OU:��h������Ih��f�y�h��g*������}[�S����:DgW���q��3J�%S��oJm��?j'�/5U����-����D�T�p���^[�����6U1��1~N��S��/�b��J;�I�����J�AaG���O����<a_�S��'��eV������Q�2LY�����s���� 6������(~�����vR��1}��g���Ta3��V$�U1 ?�2y��a��g��C�\�R'��c���+DHS�R���5lY�q i���>��C�u:��q�V�	���)d��B��H&^�?���2tPj���h�V.X�1@��i�K��4%�z��l���J��%U��H�5�{� �D������;�P�b&���l[�c���p"lGW��Oi��f(l�M���Tj�j2C�M�u�fS���������B+��?a�D&r�2<B���Fy_����Y�)PQ=�t�b����ST�p?����Ke��[V�=jih!��d7���I�Wh������k���V6�QN��C3���?������������=��0�������� /������m�O���+�P���Z��MX�h�tQ�x�F�Y���VxC�������P�`��OEkJ����������FnU����u9t1���1j��?����K���8��bb���m��|�f*gn����8�q��u��vG�5r'�i7��M�� f�FO���?%Q�U��KL&sn�q�cE���w�?��2��)!���&���b�4SNpJ>���������=/�	����^�Wnji�����YS�O
&������q��,\MVN�J����d	�S?���Q��^���^;P] \�CN^��r��B�w������XJ�E���|
��{�R��Z�����N�M��/��y�Oj6���"�,��io1�W���"��}!��������o����+�������������9��������#���t�f�=�&'���mL�2#�n@������/5�� @y���{�Q�z�@���#�$L�tq����/L�3�=Fk�x�%%�BV����.��N�9{��1��"��%� ��[$��|���"T����r&k�J���a&Orf�������
�S�8�Lkpd�u�Q�������\#	���r�.B%q����(��BOI>[D�C��E�k#
�K����������q��c�DK�s��s&p4l  C.7m$������.X����ID�Z
,��������)b0��.Xk���R�����F�s�~�x{#�*��+���/�������R
��7lq��;������X�"�)d2��Lf�!���?���0k�TI~Pr��2-���� ���2_�B� (i����O"�5n������CQ�L=W��Q�mYw�����_���W���'d)����������[���"A�����Y���H:k���dV�@��D�P<�!���BL ��L�U�[& ���bQ�F=IVPw���82����m �*��N��JF��Yt�bI4
\D��}�,���97���i[�sZ���$ON�4��Y���]���8�d�T�o���cO+a�'���k������B�M���,pHI���sW�v�a8�-�	1�V��I.���H��i�ZDUv0���ZF�:�N���2���Q�$�0��`L����	-@���U.4�s����{���RJ\'�Q�-����"w����I�u���E>��y�����SKT�21�Ei�N�Q�z����rk�	��g/�^�bGW�
?[��l�T���A����R��Mm��{�i;�h���:fp����c[���b��(��{�
�:Z��D�\���@PJ=����������zc����v�)c6���Zd�.s�~�NV�[qyj��s�AVSw����[���.]��^��n��Y��v@��t��>�r�~�f�H��1,�&�O]�B)4���?c�"r{�c�;(��t�R����M�Bs���R\���~J�"g���U\��p,y�y�����
���3����"d��J���E7U��Y��og��V,U����P��;Lzz�q����e���h��
��-�@�,J�P�������zp��8��
r��;ui����
�m�O0��q��Q9)e�Ag�5�,�q���l�:�~B��������A�!�G��'�A�SZ��L��+j����h�����|4������r�	}��~��hP����Q�:�n}T���M0(�V�����b�����NC�oq��Jj�MD��3;��o�����7�i��?������������z���44L��=�����g.��d�������#w2��H��@�17c~����'Nb��{���}zH}0���hV�F&o2���^#s1���m[�.��~*��^v�@~yy�HH��.n����^�9�����M2�p��1e?0;�W������|l���Hz��
Y����D9���5�:�|��s(Q0*����rw&%��5_hh��>0�(=j�$kY��{] +��&���,�6�5��b�]�F���f�����}�)b5Fr��������g/Qd��w�n.���
?������@VJ��qU�)�����!R5-��C��|�Xq��b��q�75�1q�T��T��y��s�g 3��T�M4������`�"	��H�q�����g�l��s^0�����R�������]��-��g*���
u��t���0Q*(Bl4�}HC���EwN)�*:���|Edj��8����
o����\��|�6�1n#���q��Qr�\�e��{����D��;��kX�e���k������{+j`��m$�c[���J�����O!u�W���r1253����b�.�k����o8�\56Y���{���4��wL��Q�g���?���f|�<�l�\�����Qeu�,�-z��]Iu%<��N4��n�#w|��n�������*y���B��E�Z�Vap�����G��D����u0��C�Q��&B��z20��/)�����R���r���l��#��I'���r�:&l5���X����D��E�bg���+l$�r����c�'�����vh�=�G*T.�$
�B=���e����n��vH0���n���D�|7o-la%���<�1EJ!Z�����`#^
�a	K������`��=�\B��Hb�8�8�:m���j���q}[-�9��j\��J2v������N+\���}V��*��%|5��1�QzHuw��=����r]3�Y�Sl�I�A���pp�-6��������=3T��D�JW������A��hpQv�����F�����%�s���� x���s���<RS�-j�V��M�nF*���K&������:1E�.����uz��
�#�Q��])I��I�6Z�D��7�!�H�t�Aj�ur�5��M��+a�r��WA�k�59`c&�y����6�U����d�
rA������Y�q�	|�j#s�?���]�������M����9���N��/ca�j��M�d��D�*�������f�]�'f����;#Q5H�^t�����R1�QH)����>�B�� �P��mHd�i���D�N\ T:(��p���0n�z"�������U���fl��I���o�P�3@(�s3��k@�Vn}���4^�����q�VI������5��������]~�����V�0�
H���_0���S${�����e���R�S���i�Pk�9e����iH��9�H������e���w��=r�;J��L�R��4��]���M[P��3�&��"��0r���a�K}������&��u����L\��l�7�m�$\��|*�s��Wi>k��gjk��K/�HQo|���+�����L7�����������_����r*,	�v�_n���:*�N#��'� ���.4���j�&NW��$~K�F�\Q���:p�/��.wgZ��_�_n1�"�{J����^���Fz;�o�cE�L_�����_>4j���P�@�BB����[T/,w<1T
��-��^Q�|�\��-�B�@SA����XO
bU-:���V9�@Z�fmk�_~���{(�J�]G/�m�T���b�����CK�v�H$�j
C����D<��">����V�:�~����0\M�I_�-~����~{8�M�.[��xiC��:N���~���Z�&�l�-���C���k[�l���#����d$�
W��� ;�^����	�.�'�n�����e����mZ��@���Z��\p
_����90��hnu�
��`�d;����3��5cK#��8�_�-L�G�]f�G�f]�nX?�M���!:��L���-��k	����f��?�o�eV�`�'?[���]>���e7��~�jr�����~w89���>;W��YY���V�9���@�4����)�t�r�$m�)��(�u��h��M�,��E�OU��%���g��r���r������_��^�=��nj��+�ZO�55C���Y�n����7g��)�h&=���kc�����lU0"�m�ET��n�H��/.g��|'�2zw��k,��m���r�����u[�����"�.����������4k\��hj���CF����e.��T���tSD��Q���n2���}�[�?�R���U���us��E�s��J���MwCO�����Y�l�m�����m!������O���8�����r��ji���|����G�M�?���lS�U6HU�G��V���������t��}k����O���U�n����p�&�
~����m��^���?�oW�����/���������y�p�+��(�LM���r9)�1z@I������~��R��P7���L�GJ��AfO�y�(j�@��Qy�����-"6!��<���|;,(���.	v
���F�1���������y�c�	iX�J��-�l�=���*^�+��"��Iw�YQ12C%G1���(��q��,�_�A���tt
�����S=#J��1�D(�rf$'��@�B���>�����4����H�{B(���C�H���,
��������X{1j��s�u�J�r�;�*��A���������&���}!��H�Q�A�/O�"&�{C��
������	��$���~}bE�����Lvv��Q7����8�
��^D`�^v�����
����V�b�f
;���s���{���bF���5��uEy�5��E�D��&$&vsg7n)�@��\6�3S�8v�{�,�(e�>Q��5�_���L}�B��%�qK��*SV.dS���]N�`9s�
���F����Ar��HZ��L����j�>g:�������X=5��(���5��i5�����]����������%���2H���bL�M����C;4�5T�V&Ul��*��:��z:�.<���Y�VEX�����:�~���aJ)E���b.����{T)E&�C����Y������9�5�5WQ�\v<��8�Q^2n_��1|q*��t��	���w�Y��!�x�"�>����\z%K���Q����	��s'"�C�g�����r�c��K~:lF��	X=�����
q���g5�����;~9����gi���5�RS��:Tow�
��('m�M��M�G����iZa)�.�mL��+�I�Iog1�M��}C#��=8%��=������A!�$)�kB�+M���C�o�X�ua�y���X����m�^g�p;}u���=S�
��_��4u`��(@�*�i�U�f�r���p�c��h��jt#�����������p����Z.�� IS��A��(����pC9;��D�h�@Tt��/U��d0z�2B:	���.�'E*���!�q��(����o+�����Q�I/lY����
�
��nBR?r�#�6I��|�R�����`R��EH*���f���QU��C�lS��*5�C���m��S����B��?	�t�:8QuVIm��C�}��
L(Y�2l����@����b�������P��r%%]���<����/��W��
�h�y[aZ�E	P���d�&t�$�uU��s��J�7q3�i��&�>b�Y������)��u�?�=����r�P��X��w.JlK�YRs��J������U��
�jGu������$�nh���BIW[nB��|��8������L��>��C�����
�����r<]�������]�a}���%������	W�bM���?������j�f�_�+��������_��y��>�����wyW�fY���D��~
T�5
 �L���n!�XK���=��F������SPHB����Ih>i�qCjC�ufQy�E'���r�������nI c���`���
!j�0x�
�r����1 Fl8�Z����vz&|���}~X>�r�j�*���R����Z���|�[YN���5ts?���dL���������,R�3�~��
�z��^��V���~�'�?�,UL�-�J��j�sC�5�L��K��i��G�+c^����Vi��BW������a��~'W����k0����!�.��8������%wB1�����%����A���� �<{M����h<����Z2�|��/9������&��HE~��T
^/���XnDv|�`�Ki�6o��P%�����4�5����2�����rn�)	��n"n�PN��%��\i&������J�'��u�l��P��_����<����"I�=cN����JH�6t�l���.s��]Q�$�M�3&�<��c��\���;��G&��
EPJ��m����X����'��L�o�iG�$\�qS���
h��L3�\`��W��(����B1���� N�Z�����������5
�-�/
F+�ti�
��:�HN��L6���0>���)S��)3�[�M�r0�5C���R����E�F����$p����M��{pnFZ_u%2(].v���&�O�b>�T�����O�zf�1���^�ZKo~Za���L��fW�7�����K�_Yz�����:�R�c�?���qP����g�h��k.�V�MbX��[&H�?��E�����+�*���@4�!��|>�M[QEf�F�H�2�����a��h���H���UW�<Y�|et\�S~���/�_l2���u�����p.�T�<�S���\{g��uHk"����+HI5 7t����x|���:�X���W�(���j����(�j3w9|P�lpB��m��������\��J��;��\��*P�iv�$�}���al'7��6�E-m?�yc�W(���e0������=oX�����,��.����8��(c������2�~�����(D��K��������w��d����IM����K}�	p������	y����5yi�ZN����X,������]�6�������I�z�+��r��@����q��4���l�fDGwz�s3�l_d���9[~\�nH8!#{~�hl�P�r�y��&'�>@$�Z��B[2������GG,j����c[���`��J��
�&:e�N�oX���tKn;��������Cf,���P^���Z�5:&fw���e��������^�Y�
x��8��p�ip�����Be�;��3����X_-����8�op�i����c8�A�X\��PaM��qH��$�X_*nO�������s�������#������o���B��]X_i�B�������m�,~}���`�����k�������5������{�?0 0z45������W��9Q�����.�.����`����!Y��������l���er����W��M���L�#m�WIXS>#�r���]���"��P ���J�J��=[��7�5g�BK�iN��5'*��nN�����#1��F����%!�N��D��Vv�H(SeA"[��z��2�'}�r���]���ld�N
�VMAF2���3�)�9���o��R.���������j%�Pn&��1t�P��n�����g�$&Tia�UW(]�!�������
���^s�[H�j��2����nm���8���������nS�m�����r����n(L9g�{�Te�*�{ ��5_DX��w���F�'�D�{\��.L���C��fAx�@��o�6���4~�zst(�j�T����&�w_���?��������q�fr6�Cp�.�I3�U�l�<�&e"R��K=����gc,�������zLNe���9�f�Oc���i��B=Z�����Wa���������z���rXm���6%!�n�F.5�qY��2^��r���]�YZ�����{e���kE�-HW22���3 z�L5'&=VZ�I3�l���2m�ak���;'�k���r�Xw\�w����v�$����syq���*�e3�2�G��l0�������W��mZ����;��\����[��6g+����0�!����R���T�{�X����W�^/0�
�X���7������3Xn�\�q����Yc��\j������
����@���(JBD�������
m����^����������Yc{b�0�<USl��VF_�[(��{�
80�-�V�)���;b�l9s�B�w��������PVo��u��X���b3�}��F,OLp��N_�2�3��@n��
m9?�XVSmY�I:����6���_|A��;YMu�H\�W��L�t�5Z(�e��o����9a���9!�m������Z����C�/�������+�-�&����Di0�
��u_I��v�����>��Z�Bk�������������m�2��N��?I�"�ni�>��
���Z��#k9�Qg|����j�HA�)��6���-��D�ut���>��x�"�����;�o.��7��\d�������R��~�}��w�?!�3u8(��Lh9���s��xUv���c���/9�=��?-�)�C?�a'Q�!��LV��Ye�v����i����w8���]��bR���h/��9�[��x,����uG���� �2���mN�N+��G��1'M��!��u�#Kb k�0L��p#z�D���)��V�(7xP��9����*�Q���G�F�,
"E(�����B_&a�,O����Ht���p���*�8(�8����^h(� �
�|>�v}VNc�9��������'1��;H,eu_~"����������VZ6�-6�;;M���V��j(V;_��x�@-fa���Ps�������!��rX~��e�.�xPh��3��S-qy�F��ZI/�[$>4UM��,7Tp�Ci�w;Q�V���`V//`�H�5a�
'��"��#�~s6�N\C�^�(������x�
�g��� y����`Q�?s��4��g��-\�2B�!��\����W3����`����W�+�Z���H����v�)����UK�5�����e_�K'z)�n^dJ�����,����L���n��|(�b�����)��A������3����������3O
�!\:�>'J>(�l[��PP$�d�`Hl��~����?uR���m�����j�td��m�W��v>hfS�i��r��4�*�g�D���k����VK����Q�����\KPAWj9(���}(������rM|e5�v�Hm*�H����2�����a'�3RXc#�Fo�okg���j�P��4Ed�vb�2����!�@�X�p�q���o�[��i������cf)����
�Pz�y���"2�Y��(�-Zj���������1�Np�C�2m6������Lt����*�.#h�Sf���/�������m��+5�2���>c�F%�q�����	�q����LBz?��)�����-��z�'�Ts�z����	�$�37f�Fs�J\���+�	5�Pkk�:��q�B�$lr7��.�W�t0�s����:��F
�_R��B��*�D���T���p��Q.D����"�-��*xs0Z�a8�@����.���/.+��bae�"��E�Iz�GV�d�Ry���ncC��1������B��
���� Q�1���S���b�fQ!n���pzbm_�G��Q���[�c��e��g���>R��$�v��_Sy%�HO`��[��xl���$����9|2�S'
�Q���|�4��}u, Y���"o���#���/KP_���m�W�!�M���e(�#Xhy�������CP��F�6�n���_k�b6/�05q#e#��N���*}du��������b���`8����6+��m�^�?P3(p��v�������;��x�����u^�)���G��+���_=�
?��xs���T��S�w������|�q����w��W�,5���o
Ka	������P����[K8)�7�����ka������?���������*�R�U~�������hY�ZB�^����������RmM�|�Uz�r/������w#����u������zr��uNf���Ih��2rl;����m�o']�#K�u��k��sh���������{{yj��j}v*;�����#�k�#W�$�Q�������/2�&
��j.�J������E�vA���TV[�.�'�r^�Lt�;�$T�	L��:��$�B��h�u�3`�th\�q��=��� >:��;�1>S�<t�*�l���-��_��������+/� rOg]
)����!�;��Q]v�V7�!�=�6<t�pj��\e8ni���s��c'��.w����Zk�DO��S�����Of����������:O�t=�;��j�9�g��g��
����t�����!��ks��a|d���M��U�l�L��
� ���-��M9?7 ?[���u��k����=�gZ����n��>4t��#���0m��M�@!?p8S7�����������G�?-�T������s�"T�O��L���LO�z��]I�l�������U���)M���(���
��e����t�x�4�-@�����|p^M�J��Mw����,>5Ky��a�>1��T�d7���w;��nj�r��^��O2��z<���>���g�E��_�k�t�Tu�UWC^:B���=�A�x�@M_�U6F����P�x��5�>WO��Y����D!��g����:�:t�����������:��^��x2tE\`<Y�m�*�
�|��,54��sm"��d4���������j���H�y�l�M��*M�����a|l�`�����e�V���_W���u11}�3���n��N�gu����o��-��2|a�b����������"����5P�p��Zi�"�/�yE� �c�l.D����#U�H�1���J����Z���[��O�+R�n��l9������
,�<���ZI=����(�U C`��k{{��*�g�m_���z���k�����?��bEQ�O#3�OJ;�?����z�:,1m�{hE���"p���3qXZ�R���+"� ���~4Hm����4� G�J^@���RNJ���E�=�?�9�@?x�xo#�A��9���S����W��lU��������?��e�F7��H��P��AY�U�����(-��,������Q��r����g���*�d������0�G�[/��w������T��?��|;���ax�d���E��N������ot��o������RY�LE��E����Q�2����EuFM�!S����
NL|��Y���y���*a��2��Q{&�a�t��]Gk,	]��p��Vn��������q��f�m�Uv�>��ZG�a�Q$,~k�Gw ^k���0���Mq�F�����\����e��qD��Qs+��_N��J�"����C���_���(����Y���,����
.��0�2��]�#����]�\��m5t��(���:N�*��uV����V��Y��)1?��M
$�b$�P��Y��(t�a���-�SZW=��h����u��z��UQ��4!�Z���vA��`]Z�j������`8wG�(D�C.�Z��
X5!�Xm����D�G9��b�d���
Q
QND:)�$i�X��Z������%W�b�7Rs�F����������S�����C"<2t����G���]�3��k���Gs���P�
�S�����TSH�b��h�K5��������b���V����JEf#[-QcW��p�_`�U'c��S�<����Gq�$j{
�X��KgbJp���M%\���;l���NN\��v��,'�3Z�*#w,����;i=,��9+
+X�B<����t�}��1��jk�#W5�<%����u�X��u_O�&���!T�����I�It)[����Y�a�����*�g�[]Z��,��P�*	�_pC������
.��D>���I�9yr��m�?�	u���N��������H�C5��R���_8p��Q��1X����?�"�M�p���;xb<�!�:��,�dh���%w�E����Kg�~d�����r�Go0*���-�-�]�x;t����kUo�H;yt�\���>�y����Z�_����C��A^�����.$�GV�E�n���|��V�0��Z�m���V�n��7Uu
��X�
�
n������J�_���$
����:l���E�s�'v��
��~;�G�,�������i�u���L�n��8a��Hk�{1e�w�F����W3����	<0a�;���V)�=��l6��'{�gJ��+����{�9���a�.#�Ta�	Z�@#�o���g��u�"�4��yQE���9CaBq���-s�p�����z�
#��Ec��_�����"�+��C2����Y���u�)4g[2d\��2$�Y����#m����$��H�&�L����L<�'�Af����FP����,���lA��<�������!�O*|-�)����a!J���e&UC/)��Q������-
��dc����Cv#('YvMv)2P�PF��[`��;>�
�0v�q���I����`~��Z�������
 ����C���ZG���K�BB8������A�P��"�Qv������q��(��	r�����h��7n�������*��{��i
�����D�s�6NS�Q��ehk��������J�2�������Vu�������dJ��Cj������P;����)�`0�;uS�����\s��������;�V��?�Mz�mI^r�����W�@��rb���:�0:-�{�([��7B�p��*
��TK���?�M��W���li����-�U��o��	�s�f9�Xy���K��S��	�G(���$Xl�.��$
���|��h�&"Q�H���n��������q[�EF�"��3�'�x-Y��j����Q����Z����6��.�wd-�����l ����������7�b��-4P��b�2k":����y�s��V��t��)��W����w�O��lG�����o���[f-����-�/_?+Ne�������b���"�'��3���hD�[���q��Q[��rB@n�g�;��a��8�L��B+�,���?#��]�V�����	���4�>	!�����6! W��p@� &n�5��F�/A��,�S7��UL�"���	�4],�KP`_�?;�N��n��"��������L"�����x��Ad��Z��?�����.P6�-�.3L_�����������4�2%�����e�	mLY�sf�h���.>u���m�O#�'y�����q���(��G��@������\��F�����A�{�W�qW�y����(l��y��d{��}���OC����_! ������}��g-����8�F@L�7 �s�-������'j?�Tj�����7k���)t{~�s��.P����y��Xh���E�*/���@���O���o���V~�?�����ON]�N�������#����1N��V��>g�)�17#�sv�!\��oG�9�&�:���]�O���8s�U#�Ue���km�3]Ks��is�����*�5��F�~��<��o�~��j	=7Y�sWT
g�9g���<���M�5�����s�����2�P�9g��ZV~7g_r����s���8�>E��vm�\������A_�t���U
a����j�[)���_��q��E�vxr-f9~H�-��9�`
�ix?�����b�K�����~��>2kZ�x]+�fZ��\�z�MK#��x��^*��R�)m����a�-�����Y�`����c���n�.�K��]�n��K��4Z\��He���:����0�&�t�;@-����������{�?.���'��8wd�����)m������y���gS���P�XZ�)�n��f]�Ris��y�<W�}(s�����\�9'h�V
�/�T����1qA��b�sQ��M%�+�O�[��M6�]��t(�����J1vJ\�7��v��e1>��KGC�n�#��� ���7G[�?����?�9zJ���&�����:�&�))Q��/��q��a���8��)�`�hi���n�J|���t����Z�q�?���������O������C�x��;��%�l�&��3������v�����i7����#;|�M]�z�Ci��nj1?u7������su����������p������`�"M� 4aOJ	�d��a����O�Tb����6M��f^�����K7����<�ts������4P�izZk������@�V/A���s��������\�4�������������N��=������	��Fd�m�&�H:�:����2�2��:�T/�o������-���
�q��]m��=�aB����
���d�/�(��!��������Z��nW�$o��RE�q5���@��p�B30��6��@C���M(���@_����������=~���T��o3o��2��"�����M��V(��������B$��C������j�
���_���#�0���FlX�o����8�9�W�4��`�o������n����%R�o�/�����Yo=�403��(��?(`�u2]�����	�nnuI�fI	�����
��2	i�k�@m21g�9)�>�����,Jo���S���a@�i���H�Q����P����J�8>�S������!w���B=��h$7)�{<��R��4��p���]�O.u��}�i$����x�%�H���R���\T�.��@�Y��t���S�&�S�1��r
l�~�����-\
�f��=dwKW���C�(dk��K!�HZ�Q<
,����PG��<�:�?8$.��mPy��U|���.Mh���/�_7�4�q	NU%Xt���M�d���"L��]$��=t�B��Sg
��Nd�?���RrML�8���Q��JD4�e8Q�r?�4�p��}'��hQd�1���bHz8Tu������R�� ���:�xk�?��r�������m���X�6��
}[��WJ��#AQ~c��1k��w�Ui�8FZ��p���&��^��j���zi��@
!;3�1j+,��:~��)
���eJ���)�%�D|�E�����Jk�@��]���tSgj�,��H�#"-��7����NC�P
���[8���.��|p��Z����v����'���?�@.����'�S-1���b�����O)�svq�3��TX��c'����	<`C��;��)I�E������pj�$�a:���B7����A�)�y�a`������eKp�<<�E�W�'O�a��9[��e�`�?��bp������Y�I�o6|��S}�:b%&�Nly9q��a������s�n:����JW��m6�8�i;�k����=a����(����8-�c?������i
vfd�����qA�A��3���9���s���T�7������}��+��W�&v ������73��e���K�ys����j��@�.���s]�k!�4�d}�C�f�O����6�t����s&�C7���H������m��[���*<l�P��������z�M.�r���(�
���=U��LnL`�a�Db;�t��'�v�?����������.k(&	�Y>����(fHm���2.!����c-1��U�W��!���\�E�`��"�g�?�P�K�U�Z�G)7�tSe\?bJ���d�'F��[x�������@�����
�@�Q�F��0���Ui�-E7���k���q�:�y7�����Q��V��Q�����[�oh����UL��7��ykn���I��W�?����i����~�]�S�w��v��8Y��I��v��2gr��P�G��@��� 
��\��A�����������l����#��bn��w���5q�1�M���.��o4)�E���C���o����$_��>����O#����tCf�����#;���:�3k�-2�����)Z���2O�"��N������w%@n�D���b����*�j�������F1iT��<�1���)
����y�����O�	X���LK	-�h�Lnz�=�;8���H�����"�.���)�S��R����=�m�����ca[�����r,���Iq�Y���U�,g
P�i��ZR���i�`�l�
��D�T�S�{GB��� s�$���aiJpj�14���HK)w�m��8%���Vr'��$D�C��|�@�C�F�����D�C*��1
.��(�A GC�0E�u���z�|_��9�~��
�*�b��r��4�vM���X�2��bi���i�>��p���
���p&�}���t�_H�l�F�|�
�3KYx����k��=.m�M�Y����i����Ys������A��
�����hZ"W������TG����A��U����i��|����E�Dp��U���BL�P&��Q��h^B�.BK=q��/�����o�r�E��Z=N\�JIJP�P�-t��^@9
f4q�A=H�)�b�`HW�p��6BS?tLgC�D�tS?P&eJ�lA�	��O�p�i�����d�B����-+f�g�[d����tw!m�����-�O��K�V��:�1R���?5:_bq�0��m%����Y�;�B��<��������=
:��t�'�)����7�85Z��g������aAh�X)�*�87��X����)����pA�|�����D1�M��G+>�����m-��&rH��<4QS��Y���,pKY�)�m�z�`,���[�6��hzu�Q,��!�����{��mN������dp)�J�,0 ��4��_�@�1���:ie�W���Z���DTZ���}G _����X�d�����Y*rS��25j�'�1Xd�v��/b��NW6Jw�����q���KH��i=��lg�<mOg\� �����g���ZK���W���rq/���������m9�3�'ZP�]8�T65�;��*�dQ��	��j���E����x����&�#�A�20���7L�
T[�����8�N��n	�?�%Pt��m�����k��������y��/1��?R��:X�So���6�@$%4&6���o�A1����O�����>�
�5d�[���
��7���`��&p����@��������]~���������Q�w��sr����S�����]Z���!Mj,�����m$O�1�����B	�a(S��|��63�q��|�`��m��:,��"U��R�����
t|<{e�������w(P,!P�2�����j!����%��������	r��x�M�\�'b/��9M :��1m��!=%��:�^�N���6����L���BF����(PR�0�@�5�Zt9�����$9��Mi�v�>w�~1E{] s�������HC������d_J`�8���a�"I���h�H�K�To���p�"9)�l��LV\���-J��.�w�,��9����>�1>(�'L@�8���@�unW���\���dy@n�XK��g��s��$�,�� 
!S3$���$��n��Et���p��^�m��(��}�F0����0NF��.�7s��	�
�d�����|��������#r��;���	�
p�X��}��0��=��p?���p��2�������?(,4���C���Y����/JC�b�V:>qaq���0�N�z�*8�	/2�����9�/J������.\O�m���Q������7���M�(�oL4��W��V�F&Sq��I�����"����AFxn����YYIzO��SH2K��I0��L-� �"]]6�;aM�����=��%��.2w[�S��k�O�q�3*=1?J�K��|R�[3����Os�\�t�AM������&Qh-x�=.(�eaH��!4���P��t����]��$�l�E4��YB�����mI���A5m��b.�kK�9�,AB��C5�����<��������d������jkC�1
��WO\��[��Be�{BJ����W*�n�24���%rP�T`1P�E�����;��5����n,���5��K!j����L'����\sx�������x���b�>65���]K����D�\����8�3��}P�|bKn������A�"rs��RD;��|�v��>Q���g��
���GEn#����,���b]���{�)U\�F�;��-�P���0)l�/}f:�WZ�4��f�Y]�Do���"�k;	��c�c�'���,�Pk#
m[w���>Yq
��6F���*����(�
�-=J9s�
T�F{�m�Q4��:�{�G��������Yqy������������J'��+�M������C��P��	�G2�=Q'��w/�����5"�V�l������x�\U���@D��X�S��+x����c��>��.��W��%�c�����B������k��:�'�`������h��������qE��hO����K�g�O	T�I6X�_��g���t�#P��$������h=~��8��w�Z�?��f`jb����Do2By��F��Tp��/���F���5m��v�kpI�[��Z��_�7$u���}FE������5�����Q��]~����#�� �1�/����e7�]�����&�	b���z�YR����H�����@��]����b�c�ZB_&����6���r.��d$SkN����������0=O�������SNv�Hig����[/�3��eN�����+�M��e��-��O��:R:GQ6��<Y��to����������<KB_{�����B�N��}y�.��~����N���Q%�;�U��~���g
����~%P���7��U.']RdC�\N�!��������>x�"KpS�V���l)�v��q=�\��1�����S��w�r;t���X���6�m�.*�����:pj����������������������K(f�hm��-���4�����s���E������%M����u�������x{8}�������gj&�C����Y�)��������/�Q�����/����	�<S�vr�Z�7G?x��)�vM�I�h���9�C�9�F���mT5����K�2���}���[����M�n��T�e_���P�C�������� ��m�'�#�'�E�K7��m�.�+����������$~s�9Gb�V������IL��&o�L0��/'�������;���M���Y����t_syr��v�@:�B~�`
�{K���|��W&�[F)�r�M���tS���������}YwX�J��n2mEs�u��)��b��aJ��M��z�I���~�I�*�J�����1�U���z�*��u.f
Ba���4�	��!J��x�nko�/
�������/���������\��
"?����7�z�����n���M�\�-�_�R�2n��tSO�q�"M��yk�/]j�����l��6����"x�w��u��������
2���6�-��	�" ����l����s���M����0;]:���0��+}��M��E���Op��M~u��W5���^�`�=�9<t�tG��}8�1u�Zk
�C��Y�k�.�_g-�����6�:�-��BG[������?�vb�s��a���o�G�6D�X�����T���l
���r?�P�JzoG��[���g��U����*l��\@�{x��U��M��% ���O���E�����������)��CH
2N0N/#��������_B%P������$�3k��	���q��1ouk�������?��%[h�H�&����K(��=�i��2�2��'
q5����t@B.6'��*
>�C����v���"�	�c�����9�����N��f�\o��X�/D���^�^�����I�}�D�uTz��6+*
���o�3�M��g��;������XS���L��#fD��x1S���%3��(w]�q��LDP��<��3B�
����M�1E��A�Ow!����<������$qZR�]����?���$j���t&���env�-�:xWI8NJ�{BV^���d�1�v�����>i�S��,�R�r���TZ�
�p�A1S7��2�/Sk���J����kSm���-��t+~I��l�>:�d0
��n��c�F�e�$#�J!���*�����L��x�8��v���Kue�����=*�U��
�1e�G�
RZ�B��*�'��
�O[��`���s�-�����?�L;�����9j2��_!�N�>��%��L����t!Y���A_����`�������$���m�0k�u�mx al�L�;!�}<^��9��9�-��*�q������P���'���V@��y0�n�-����,a��9�x�T7��{��C�K�qY��y�3:��� Jri7���4b�Jipu���F�
����:I����OU����"����A,a��'[�N��U�%q�5j���(,��C=a?2��r"���:-D<���*M�+�F��~�mX>*di�i�Uc�.��	-o�h\8S}����.�������]�3�y���0�b���z�m:�7��s�sd8.�)"��Vv�bC�fT7@�}6s6	7��:��D�$P�aYI��k0h���K��8��&CK��!�0X���v�Y�c������&��o+�����$��"�����[�L�����fR�<���Q~�F\����7��0��<����#j��t�6�rE��>��=�
U"?�Y:��2�\������>�p�s}�IKo�,�]���,�����)��,z;���v��s�El��	�p��,d�Q�8$�u#��d����
�IoKh��dJML*&�����D�@�����������7_�-Y������:���
����'������>����Y#��M�>�K�Xg��}���38r�(�x�n����H�:;�n,-$�y�[U�|v
��VM���*G1�R`��_V��k���n�7����f�2��-�����k9q���%�S�H�Y@������������pt�i�H4�*������$�>��q}�<gP����:�!L�8�C�J��r�u��U��Y�O���
R7�����[u���`��Bt�?�Za�~���7�\��2��J�:�I����XO|��
��}b�|����B�����Zzc	��=j��k���z��5����������~������_?������?0��74�f�����r�����07C����_�"��*{��%�a(�����A��_���M�i�$d����'��3|p���wp����@l�O|����W�L=w������i����0�H$�M�����-`�#�������zf��(w��rL;��'Q��b��p��M��ok�9��a&�E��xxm.�d���a;h����m��)���Q�Kz������B��l��%z���UD�>��#lt�0�K�=a��?x�kC�4aYS���p�1��:�"tw����?\�1
��>4�9J�Wi��9"���^':2���o���4�9I�����7XL�)DP�������Kh�Shp!����	W�LU�C"��:��t�^�g��s~���NGq��������j��������V���~aM�x��2�Z	�G��0�[��UQ�(491��������+���a������5Wr7\��D���������BD4A���:�~
���@��n��Z�t��v����a;!����'�@�U�{y����Yr���zq����M�=Q�B�1��B$Z��3����obEs�d�}�2&R�t����E[x_��2r02�I���-F����V��� ��}Q3��T#$��@�����f�o��f��`�:e�N�d����p�u���\^�P�����$�s�'�8��5��$�U����a��duR^�d�Br���':���������2���fnl]����T^����@��?�wf�}	���^�@�\�m�ug��5���I�R�d)����[�]P
;:�o��a�%��dy�N��9M/���`HC�$n�v����_On����=��K#�}hNz�����G��i�+$���9������&B%�DU�5����@;S��1?���"gJ���@pd����/+��.��:e�g�V��lz������@:�8K��qV�&�%p��T`~H��%3m�A���X��c
VC	�0�1[�o�����]E��q��e{E������k��S�%�+����{���5s#�L<?q��:�us��M�jq}��f!}��0�*j4IqV!h_H������
28H}-���d��_����6�1�e��&6v|!:?m��R
�l+����(P��B�B���#m����@F�"}_$��E��������7��$u�N[#����z��p��9g��\���u�4����GR��p��C}u��N�>q�XWI��~�|�2��(FKS����<g=i�o�)�q��6MN�myX��`�|~);
���D�_u�e^ _F�����]"k����;��cMB{L�
/���'���mD
�'w�; W��>�s/�@������
�E����=v�O��q�8U��@>�� ���A�Tj����+��YSo�|_�7@��) �/���������^��^j�4�R�]:�����������o����n����{����%g�8+�1���f*�	��R����.����������G�nh�QG2��+��j�>������*�Xn�|�&�G��#�n��ZX��LK�
�z�J7nid��K�?�;�	�J���L%�H�������'���������������U��P��C�*
�^!�����7}��>dj +"C�k�<+g����Lo��R��P��������p�����GR�i�i�`N�X���J�|N)�����L�p�*�r\��V���n������T �n���+�
��Z��q
��Qx�*UO�����b���*5�P��O����*�����|�/� �d�M{�G
8��������HH���(�/��1'!��lw�S�4�vY�h��-���+��E$l����MI'������Y�U�e���t����3���H�*�N!T=k��O����Q��i���^����D�.��O���P��:���
(�����n�����V�n�qi����U%���jr��rqD����1�T�������Dl:����A;��7��,������^���e��2p���E!�*�kt������[r�F�g�m����Qy���]�)�(�Xe�l_���}�ha9��/�+Pj���������k���
�.����tV�`����G���9�����UZ���'���el��t�MK5�jBMhB������7�~�/��j�EUDsh�*}��h�F�`�����sGLz�����P�^<��F�]�Y�U\�N�r�sK"��^p\��_48b�<t���z������*���^!n��\�{�z���i[����Qg�*5���|�u������}�]
X7
-Tol��� 87n�(��!��r���r��k���kU�n�XMh/��"�����K7��&U0j���'�4��sqU����;+zs���Kg'�nh���������H�
�~`'�I:|n�r��S�[��|�a�BIm��.���/T�h�I�xx^�r����\GC�I��/�>W��my�i�S��Z3W���=Q(�/C�y#O�U��������z*� �O���bk_���Fu�� ���xE����N��
X���	��0�� ��Nk9�>@r����j�J��o�)�m���b��B:�����yo�W��f�8C��g"l?����cLW����������� ��|���D��5�A�b@��9����H\�f�����.�R�OB�������?��%�h E�<�[OTu�x�GH7�&���4��z���IfhD��
��c3��J�p:,VJ���
Q����Q�Q���V-�$�m�H���4�4��H��l��3�F�BD��km�{����������\
5+�2�C���h>K��;zq��F���/\!�?��DT`m���QYp:6yK�X0�<�QSCc%�P!7(�������YM���#ZMtk���mG?Sr�����"�R*PSt���I4��x�m� B�8z�XqP�pS��l�>�+��97���b��0s����)��@��pM��!Ps>'P������K�CY���&�$�����b��l\��r��
K[���N����D������*��4$_.M�0]�	����
����I^�/L�`&^��G6~U���f�6+V���1��h� Pa����L��x,��l���Z�+Sz���.�[�h�N��H��P2�KK�Cu�fTD
B.����%km�L������x�T�0q�I5�i�g�"}��b8��PE�P^&�e8gzBGM��E48d�	�0���
���U,TJ��:Q��_�(EO����L�+1��{j���;;����4�D�9�9^k��'�T��NM�P�������A�������0?.��
����T�Y� ��g������+yg�zg|���{����9tJ��Y�n�ud5����v�n�����&i���6w{�U��*bt�5#O�
�zI��g�J�6bG�t�5���s��iy:�|[��n�yU���S$Q�_s��m�&��P&Cs@>]h�Ky���F{��x���*��6���nhn��+�����TY
1}k�]��'����U����E;�
C��Y�h��m���4����t�I�}����k��A����3S�y�1������-�TZ"�)�j��=�������BA�<���rN��'�����%��$�r�B�}t�#���.='�T��M���M�R���;����$
�� �`�'6�~l���}�n��A?z��Y�s��T��w�gH���kA�H7����+]�!n�H���Zg6=��� �-H��G�d}u���m
X�
|`C�i�)f�-�cm!����O�2G�s.N�Cf���#�pe	b<�������Qa@u�b���+�AVd��}����-A��(~���L�3K���MQ�D������x�������m72?�����uO��NH���l,���4�
�x��
���6r���3���4��u�d�P�wT�q��T_`���He���c�LuI-�m4�������-�e�U��!�/�4�{��c���@�9>*Q�d>���B���AWm*��-�-Du������b����|X+���PE��@�����
&T(��]6��yuB�x��PJ��S�����T�[m���_81��h}��?j��K����������0`�0`|�>��*'�/�CH%���������Q-I26�q�2��;T��!|�sW��t�#w`	���_{�L���9g����9gsV_f���9W���������?�a���"�y�z��'�~T���u�M��������s�T���uN*��sfD������9��8�IAvs��k�9�����=�g2t9������$�~��,���+��T�����������Z���@!zp��NX���X����
uHn������=�$�'�N]���]�K�.����=�0�����B�c�gedn�4�O��>���2i��'k�
)t��O�i��-���Y�;�k������T����6��_��R<��|`���B�|�'C�Z���;��^*G#�����S��=�����E�B��Pf�������u�o?x������-�����NZ�)�a����n����f=����&�����Kh�u������sMZ��d��Mu��3w?t�:B7���C��t4V�������Pt�D�t�n�b:�e/E��'CO�%{Ss�^�O�)��*����ZS�z�'���Sc�*�����K(G�gF�����)��org?�nlh5��	��C��~�������2�?1���	�Y�������Q(�L��������J>����&��
j�'�n�}
�������{
r���L��Y�����������Q�~+\���%
Z��}U�t���Ca?1ji������;�p;t����{������������W�[8:�M�`~������!��2u�\k�>0tuY�!�6]�r��c����*����G;�M����q��� �x8�^!�����.��Z���c��+��4�4z�|:9Dm������$���V_�������������4�~j!����/�t$��g���[|a��m$���y�}Y�_��_a�*RECw�n����G�D.�[tR�a47���T��S�C G����n������}k����.���Wa�U�H�X{�j7�M�E�����3 ����@������=~���tKF�l���I�W�4��9��ep�g�(�]��`�m����Q��M%^r�U~�	����k�8*��k�q!���#-���O5��Lo����\���n�6/�(��]iy
���������VC+8�["���D��b���L�P�TR��?>2k�~��C�R'i�;�J���L:M��VcB��x��2�f�DG�Dw���������e��e����b�.24�������H������)BV+K|��	���Q��B�c����O�J�*�]�R��"���~s�]z!(�g�����Ol.����k
}K�P1VFQ{��'pk��v���������"�]`x�I�_���BJP��E!�����7���k�2������|��fQf{@�5\�V�,t8��|%�qQ����&��4 ��ge�9���U�X�c�Vr�P�����\�5e��I�&�a.�{h�2�����C8����91�Eij�w�sO��M��E���lLx����C�4�Pe���c��R&��T�����x��E����{�-C�Y��ZDSa�bt�9T�u(�p>=��r��9��l�6�Tu�x����S7����fy��l`�k�$��B0���n���DO��~��^
��{��J-D���&�,<YL��M��p�6o�?S�"��%N�O���"7'�)[L�9��&�`����&��a^/y�l����Y��0�'�T3n�&�L��Q�%@Lz��)d���C��3
_�y��(�ux�Y�R��|8�]�+7�kZ��o��g������mE��q���F��nju�n�!����m*z����d��s�S��M-��l�E��^��ldi��f�C���n�{
���|k���M��|�A������M�'e���s\��(SA.U���*L�i�d�b���fm}OX�4O�xD�v�t�)��)w�:No�5���pM\�>EW��HP���|:�9�����m�-�&4�J�Gx��GMV��{
@�.o��aN��>�hQ�ad
���[�5M�n�Rx��-��z�R���cu��T��������\��$�F�{
���$!2,��'�?o@_���n�f[�Y�*,�U(���jh���RQ�6l���[��s� @;��V�%�o�z������ZwG���j
������j��������������O�z���+���?�����?(���D
�23r��v��av�s-�����)f���AFn@��z����������u�G
��x������<[�>'����g�&�Z4�Jr>��E�YU����j�������J�&�����=��S)<g�;��[b��L��rPb�noU����h%��\�bI���H���9>G��������O�G
�x)A�k��T�)��s&B�������U~?�������Z��$��K_&>�I��@I#�l���?Gc.�������-���<���|w����efx}w�P&�X�R���.-������G5�j9� ����+P6��8��?���!�,�!mI� �)�Ka��\v`���ri�'�j�[��BkM�e�R9��TR�?1��Z���'�;F���Y��7���)�����gu���`�s�%?�����ob�@����8XmO��vb]%q���<ji��6�|�
�������$9�*C�u�Xk-��[e�� ��q|<]�,W�R@�r�V�j��	`���}nX��j_PB��h��67�X�����g��������y��{�42�L��X$,�)x
��PD<���h�>���rr�5�� &3$����U(7��m��01���&5.(_*1q��� ���C��A��gM]^�mPD�����"�� ���#��l���u��n\�_�CNk��R�7'�>"��3�31(�y�
57B
�.������J��i��������C�8����5��0��W'7'�WA���+�����S��Hz�S���Ok�j��./yT�rJ��m
l�2��B�R_�D�R����95��Ih�p����X��&-W�{e-���3]�X]O]���g�se��|VN���iL�w�1�������@!j/�zd5!��RNq�&o3S��6��5u\����C���	;��E%�R���P����C�X��C����e�M�&&�~���v�m��N�fp�Q��j�E��M� 4�g���I c����)�6�Fd&������2�t�w� �_�{:U����S��o�Wk*�bKGzs���U�`%@�	���YG�������������0�����(�U`=���r��oX|$?:�_�
������q�yli�^��_! _��H��AD��TG�P�qQ�[�n�������
��+|RJ���>	�5�oa@�3A�"\Dw��Y� �zL�[\{/���e�;|{�����-�����-�����y/��{�$���l����)U����C�36�L�����|<���r	�|7r�Y�9W�G����i�����H����!��s����:sIEO�v�c��O�rP\Ne���Q<��Tt�h�\'��J���L:dQiq�u2�q���n����:��a[r��t�����fY��F�5���#���)�VFX�w����������@\G��~x
����������=_�o�.UBS���R����fD��Y�2h9�Dm;��tw����r��2`r����QK����/R���������U��.$&i��u�-��G*���^:��R���������~����N
�sUb���K-��%&O>x�%4�P���m�K�5����Z��?�50�?9.�YO
:���]���'�8��nZ�l��X��>��[�
�������X�����O�
��E��n���xf{����5Ue����n�Uy���������wx0�O�~:K7�����=y2#�2v]�����_�^��Uw��-�sm�����S7��2�����l��Z���QM`J�I��������O����>v��n�i\n������&\����,���h��c)����� hq[�������^v�_�����ve��+����O��Mwt����Z.>�����}���s�����;�Jky���n)�3[b��	����'����������4�_k�b�'C����=�S�mz�&���	*�aN����w�u���Q*�������3A�K7u���jz�t��9�����Ap�N�7�]���>�M���g���TP��d���d�uH���6q�ZkO�m�n�����;�����2�����=��GlW=���O�4��� �����.�s;t�������px�<�F~�%��?h���ao#����-���
��D4��=�aC�����"8n}Z���>�` �J��[�X����AM��:��z�U-�o��lP�p���Uq�w��3����U1��Ip_������Q��]~������r���Br�&�����Z�����|�X\�s1��������~5��/��}��)GNz��&�iMI�`��|�N=Q#���������y3��w4]��?���&d��H��=�q�#�������9�&#��Y������f4v�-K�������$�F���H��m[[+2��j��Ay��c8���-/�2W��e;���^;�m�����Zv�O�h�B�9(Y,E?��o��:�����t��A�y���[�<'w�EX�2g�X��N��
��Sn���'^3H_���q�]�\�P��0���r=���D6��6�H��(��0�=u�q2v/���?�7�]5�B�z#e�|�����`Cu�����:�����Z�_e��"���if��:�b;�t�V�m�
	}X�:e�C}V:%��H�Exp��=�3"���r1��\t���g%�������1+|*I����D��q�_�V�E���Sy�?��mLT�<y_kdA�z)�1�g��$��W��:�+(�Kg����m�2��A�@'D��vA���k��W>�A��C9�u�?=��*�H�4	u][���Q�����m��*����"1��m>�V_�����0�9+�cI#6SALL�6g
}�
��LU���imb�dQ�y���`����������7����U$��������	���Y�s�����sT�������n�������,����i��*��|u���-�q�9t�a1$��L��Z��i]tS%2�������2��O������fR�f2��-�[�n4��ELvc���
f65�/\�4��0!��2,URS7
�����t��#s�=tS)�]����<W�Ms����-d6C2	������o�Y�7g�6�.�Y]����-E������0�L'%u[��'��S��L
]n\��o0�E7*����p�Y�5f�[�����WQ�F�������0qsdhL�6����	5Q,��r�����b�������?��RfF����N'�mzs��?�������\��m�Ok9�y9�����i��bK� ���-�[�����-��Z�U5/����;<]�\�(�V���h���u�wmM�ie�i��~���,.R"��?����u�Zo�?���tt8.�L09���b�O��\���a���E��'�SFaO=��>�U���[u���0�L���-�[;���-a��;E3&����(��!7'3���M)=�!Iq�-����C[�����O��g�����Tw�?�Ju�M�R��+��O�r�u���*�9+��������������+r���&��o����
�$��	��-������(-J���yc�0�B��@'7����������
��T��?���=~����^�x~�qAJ��xQ;J6g �����93�g��
��.���;�7���H��J�KJL�����4L6�s�^��#j����4�	L����
�j+���K<���aJW���H+g��aq�����2>��3�SiD_�x�KG�#AT��qK��|�5�wm$IH2g�@�t���g���}�J�CM�I���,	��"���@�-�����. h�919�8��S�$l�e�8&���Z����g��IM+f#����j�}�t�����@v� 4)[��@wP1p���6�N�"^�{'T����I~�)1��q�rm��R@�e������8|�/��u�c)p�0"/��7�-TC2����������{����'O�+=�L 4y��6�T[e�{)���D�B
*5��U�^VPw7�,M~�$��
#���q��
������x�^J�c����WR�	�#M���*}Ri����lT�6Vm���E(�(����m ��O��E^�	�l�e����c34$�8s��������U���\�1���y�<�0��C;�9^��������oB@�gf1,`�����M�����`V%{g��L������4!}n�3��;YE4q��Z<tj����B����a�W������nc�\�����0�������^��"��.��7���vOG���mK�\�Q���:���%@n�0CVN��P���
�g���	9��~�I$|�rm��b�U���m	���*�?�8%���b;�T�6B����C�3����o! ��k��C��B@e�"��\��a)O�*���+����:! 7/;��6,M����apvFA�iO�/��SE���Zn�s���	�ZcbS/4y�
mLGn�JM���`���L���RG����(�42	�>�B�yGp��p�v71 �~����X�:c{S9��X9qp&�;�sM�ZI�e��Q�X_�m���Nu�������8��nk��J��6w��C	��M�.����x�N�\�S)��K&|�-�_(�;�������j���6���0���\�s�m*�����'rN�8c��s(^��4nf�A��U�;x�v����{A.�?L~>A���������!#�(���$���W�;��8Q�/�/@�k�E�����������4�FKC;Q�]�kL4S����i�U�;�f�H7�k*������R�Y{�rc�T�����O��J�m��@���]�,����hNqk^����.@>�@���7@���
��}
�Z�G�<nP�C���}����Q���N�{P _�Vw���r���XVi�q�o
}5�������L�'���{�����V>?���)n��A�9���y�[����x�S�pD4�<.7�%��0	Ru��<���gRM���n���I�H� �a�����-%D�E+*�����c�$��VdQN�yY"w��B����c�3�JCBd�����x��:��������?[Me�����WG�G�9��sN`���-T�_w,p��C��H��O����2���$p�HO<g�~P�5�����x���������lK9qH�hE���'��}��&5"�B_M�j��M����[�>���9��(��	��\�o�+i�+��d	�ziR�Q9�q�����ChE�j����v�?����-d��9�����0���R���Ap�fTHP�h��g���!�M�����0I#YK����;Q6�Kj�/�s��d\*��l�hE�e�3O���-�?�XE���`�A���K)�[��hK��h���+G�t�$��Y��J��$�����5�R2�����$��VLI.A�.\3�Z{���%9�*v�7��jeF������E�0�	Ud�7�}6$<�	�����t:��Z�2��������A)�%I'�t�]��}d�R�_pf����������dJGA�#�S
�k�>�Y}l1!�)+�1��[5�151!W�!�v���\eF��N6�z����o%yLL����@�^����w�$9�����0b���6Kr�x"����3Wp��nEt�>p������4��� F4��Z�	Y�[��-����V2-*�bQ�%����F��(H�G������\�K2w�B�V�Y:��X�\�Px{"C�������3�'2������dnJ>�!3��6�dj�2=�!�^��K������3�!C�o��Q~UM�����
2�9�&)��KC�h�)0����r�V��e��I%��Q0�`���o���sp�������u��eAC<��mY���@@H+����7��j*�����GA��W��W���/c���E���{�"��:���'>�*O��)Jf��->���Q)�rdQh�.���$���G�-���*�kp!��,�T�O|�
-����_���J�����^m����L)�F4ke���k��C>��?QM�����\Y$�����d�@�RQ�*���.�9�t������["��w:3b2U��\����q��Z���#��h�������9q�� o�{!���"��!�L |e�Z���v���?�5�AMs��
\�4=�����p�_x&��A� 7/F���r��'���!�E�B�eJu�De�x@�s���P)3��RI�Pn@z����'`D�uw��M0�������@"7�a��P�O?�7��t+�
�8wBP���(�'Ic��6Q����7)�>�R��.���v}��%��#(�&���!��{}7F�
���������������!�D��12�'W�,b�:L�nD����o>�B�I����Z���(�����-��KH�0��H��{��F%�����=c��A�n�(r�� ?n������25k��+�����������|n�(����p,�����|?r��!qE���O$
e������Cgkf:����;��9����:G�H���X���!�t?���OJ91��C�l.��g��.v*C�f������T�k��	Cu�?�-��E?ie�����s�`j��G?�9�f05d�T�CI�,����g%��@�zk�n���- �\e\v�>x!����~��\cz�U^e1������Z�Q���.�����2w����F��1����	&��\%i�5N1F�]:�R~����e����bBZ~y�����"��\t�p��i���J"����32z���Z�pgQn�Ny3u����X�_))M�<�c�|�U�r�����i���B��V��4]d��1����l��(Z�"��P5��~V�M�nJ��y�L��m=�8����(/�'��%tV�����1��!Qv��Z�*���`��a���#;\N�K�*:�I���������}=a<�F��
w��al��UO�gvX/%v��DY�#������ZKc��g$T��{���x����]�<:�e7�����3qi/�'�H�� �!����[k��'�g��_��9�	������wL^vSi��Z��\5�"}��4?����Mm���Y�'t����^.C	SZ������m���vk�
��	#����H,_Ns3w�J����kq�����e��K������v�05mEr��mY�e$�`��xN7'j'���Nl'�������1a�g���	������vB���O'C���L�������;���v;t�
��#�tS�E����)AO�������w=`�H$*������k�R���m2{�I�E�z���s�D���}��f�"�E�f�Z�tTg��Wb:�Y�zh��?_����?�`�y@3��#!��d�#��LG>��~P�X��k}_���A������9v��6���������[\��O���Z����*��y�g��S�����������{��������N�K���,�G�*6�EG�V����b5Ai.��Hc���z�A@��I^l�/F������pF���v�P3y���7��/�f<���&�}�J�b�2���(r�����(��gB�����������
E���>#O|K��hE�&J��;U��pn�r���j^�E�/mW�3�k*���-j��#��yD�� W���� ([���C&��d�}��\!�ZtF�K6��	�(-@��
z��h&����������*{�l)S���������)����o�ob�z��-D��z��F�;@�n~$B�U��\9���N���X	�q$�����JBG'P���Q��X_����H��BE. �.8�(+)�ghIu!&�C�Y2��6i��1Vsd��,��cH�����s��n	�`/3�M�g��ors�>�
���Sn9��o�;L�J{�P\��o�D����r%0a�X�1�?3O:����Q�RLN<n'�+|�R(��OE�(c�R�^���c���2NN�����t�	��"J���iU1{��+q
rE�Vy��'���E0�s�o6�^D�Z��L�&������:Sf��<�����`�a
�1��b~f|��K�Ck��-�����n���u$c ��G��u�I��21����.����g>#Q�4�����nZ�����bw�9��%"��?{�6������H�L�7UX��xf�����u�������2�2����J�����[F�f�S{F�b��0U��Y���N����6,O���H2�ng����C���K%3���QAj�z�2��&�D���U���x�����.����4~.�&��L<��*�[��jJ�Q�0�f
�Mj�&G�@�.��A���-��c��E�2�,Ol>��,�]��3������;�'�j���-�GM+,���[�"_��aG�
���N���x��u.u<��v[z;�3y��E�}��E���
�P<��+�yl�++\�fr#R��.i�$�)�s|�>e;���K�kv��[(�~7�����Ov�hbV2�!��1�4�g�JX"��.�Ryy��'���
Q�����r!���xrG8�c�o[���4t�����)5���_q@�T�m�(rfi�w$6+`
�gO;, �#[C(���sn9QH6�\wzn&(��
SD������z���4.��GF�T�C�-O2w�cPup��w5:y�U�Ac��w��&:��7����!�~�����A��\og=����0mKN��e����
����PW����pC�&A�����(��&s�:�	T�^�k0Si�
��[���v>g�/Qf�aV�a�9>~�*�C�o��W��)BJ��t�L�������5�	�r;*�v9U��
���k��E�"�!�������n,�U!��~E_:Ck��w��������)���xk
`=|�}�x��F��?�����?����������y/�����V"�4�'v`~�L]��������=�/�6;����B�jv���Kc��2��#��3�uV�y:S��c�� �qT���;
�V�	5[D.���M�4	�&T��-��6���~�"#L�0��	�C����f��(��Z+����r���G���&�N��&������o�qt��$��p����u�z��6$������g��]�yC�`auc�mC�����Yh�H���aL���q�+4�%6��,�]�/rUH��+r��Dgzn��)�l4�"S����I�����h��9�Ev��?B8$�=X��G<�������	�Pr��|\:i��tM�1�$��q���|�S�4�=�����������:j�`�	Zk��u���_D��WN�xh�����!c���,������O83�V��6�H�D��-&��H�
-f���������-����
%?�B%�j�~J�_�c)���@�Z�5u'Ou!��%
[����L!�����8&!�E)G$���Gf�J�Q�@���#��[�h��8i�F�	�C+��M@���!Kg6;��}pT�ZlF�zeh��T2���j��Q�����%������2&�D�2�@c!�9p�1P��%`"�)g�_���h:�1t�O
��*m!m����LI2s���<5����g�]���i���.r=�����C�
Q�����f�:��������1h����k�Dj��]csb"�1�5�l��H���R��l�9S��o�&Qk��}�@�E�7��m[d�O$g��}.|%GR���nU��$8	)��P�H��t��SY�KO�^�	�G`o����J�Ib��o�#�.�<���R�$3�.�������d�0���a`E��� (
m[rk�$�h��� �3a�s��
��u'p'�$�D��k����n������4�\-p��'a�D>$�L#,�����R���em5#���
� 6m���5���I"�� r��HX�\=�v�3��Ky���ah���}L��/ �������g�<��O��aV����G5u�kx��!J��e{��b\�e���
h%�E��Yo#�-
�p�fn�w�P��������8���������n�p��Ut�������nB�,{��'���"����2����_�5Z�� C?(��Ta���&Z���{�A5�-��&���<_g�
&�Y`>�7���Q.U��ES���:?�f't��L[��v;vfmC����
��}A��L�{�*N[M��i������J��U���5K�.b����fy���u�x@���G��i�Y�$C�K�_��6tO���H�u���Dv�b~�Z��v����"#���(��q����x�7H�[e���%����sN�}��ZUar+�=�-XA<\;�����o�_H7\�nT�������r���5��KH8����K���
��h�7k��]�/u	?���?_���o������?�����n����R�d�E�6!x�il�IA|4�`��"�*�3�I�� ��F&r
����;�#��s��5=�<���y$��U
����<LG&��Vk�uD){K���7�n���G	�NS�
m���H���y=�H���C�|$�v?�����r���0yw��y�%����$�(|tI�v���b����3-�>�t��H9O��gp)
e��~��k���?��C��o_�����$D��'�.	^�b$2g��{X����n����k�:�v�����q��C��6�+��!|��CY��hxVthq����V�(?Y����E)+5�U�h��@��'�o�Z>���Y�r�2+��Hh$��/�{�_��C����
�������&|B�j���K���6���5K������� �3��"�Lk�%���2�z���P\j�#&��c]z	����^F��2DYA��~��7��������u��|��_�+�}k����COF���O>������a��X�?���0���������i��p��2����y��tx��X��_��0���2+_�������Y;��S���~8Y��.��h+.4J���������ZMm�����(�QVO5�,\�y]�U�E
�2a9?�P�
�~0������?e�h��	����.qt��D�]:�q����"j����V�8%������^���j�nz��v%��,K��gCI!������X���;]�p�$T��%Z\����7��7*�JPs@D�
S��s���_<�����p�kU���QZ�D�"�m���P����sK5�`gDy^�uw��Z_�M�=�#l�x��j�m{���qQ�2+oS=�]��)�E��\S�HS�Q�k��}��1��8�V/����}�����U���^���$�&�]�c�l(�z8�o��5xAl���`���^A�Ax��4[�6z��jK7�:���"��K��^J�V#<m�]#"�MG��%��i� ]�Hn�t��V>�9yth�Zn���b+����q"a��sP�������-�(�/q-���O��Kk_���n����~���m��G��/�_�*��I�@���J���O�t���:�0�f��7�|��f7����F�|� �����]EL��[��m���������i_���o��/�����������1"E
�P.#����7�8Q
���;4Z�h����r�r&�xTK��)R8�_#�U��;hF��#��f�'���g����H�AM�~<�=1!��6����ve�yJ��Hd,���@��M���8���RWi���vi(� ���T��.}�A~�����7�P��t������;�y��w&��yP�vP/��'�"��������	�z����:��h�9���}���I})��M�(�������\�����7
������D�w cT~Y\�`�9{t^�������c2�����^�E�t���mb�xN�&?Ue�Hn��
�R#��p�����+�M��?FD�)��w�(e����F�0������$���^l�E�����N:�H/�p���BH�D6*���e��hi���1t
-�kH��[�G�#
���ql����� ^%A�e6��_YX�
�G�������kJR��]X=x�w��kHF��|��Q�?������i�B��������� k\;�6�����Syev�:���U2ZlSll�G-rEdr@�3��x���j�<�/|���.���!�/�>��iM'�4���H��o�e�r�����^Q#��~����/X�
Y(a�W~�R�DP9�-���k������������I&`<U��n:���w�0t��&@�zR���&�T%��M<)f��`�"th�&��S}������H��?�/�k����$��D}���k�T_��4���������+'��
-T\)W���_�4tV"���f~%�C�uel�k��Z���x][�7.�-�c����Z@xM��������O
����5�c����f}_*L�m����u(����u_-q�0��Y����>�W+����>"rm�Le
�O���)��!%�bw����b��(��(2h�tB~�/���3�Nc57��v*�B�����7�S�w��G����%����]D�q������+�����o�:L4�e.���P�u�F����+��c����D>[��f��x���gtP��^�%�C~h����� m�C������R���h�s�Ct)�(��[�%"P��B���
%�!z 1�*���/x���G���`t�`n�U�z�;'K��2[��8T#�*�
��\,�,�+#}�wLh#�I�
��'�3�(��S@�H>�!����U��E��$0%�}������@4��$�����L�
�|d��uR'�>&�tR}(,����};2w���>i�� o�{L�%����\�.��n'���Ju����>�$��Z�4yC"{�����n����T��W�	��Mv���2�p���d��4���^=��" ��i[�����M���}� �-��=�"�W�x�?�����h�����@��C�\�����G����0��i}���7����G�����DzO�W�������	�|�����z�����wp��=�^��Q���xc	����&�#��/d=?���K����_��_��_����������^�/w�
/���]��Z0��J�w����j�#�w/sR$^G��P����s��KM���v�|�3����@O����GrC����3�%KD:��v���Hbl����n�g�i�
�BR_�G��A�B�E���v�Z ���$��lk�������s��)�p���6y����~����@����x�G���'#'��;�����-{w��K����n�UJ�4h��P�N����Lty��uh��u�mS7��e{��-��M��Zu��s!���]�U��>�Gt�*����=���B#�����I%�q�����U��!a�Z$��V-����
��.����8�h�~��6��������bj-}D1�
��rk���C�I�C���_`1�s��Y���~�$���(-1�	�tS��|D�jWB�"�Idx[�@t��*���t�_���u;t��l�=;W2��nj%^,���.c)"}���H,k��n��o�:u��������e�a�?p���`����[����Y�i��N����*��:�1-bY�L������������\��!�9�o�m���&L<���v��@�������F)
T7�g]%`!�~	�M����e]���+-�������J���T��[4�r����/7�����g�qV���X���>�M�=uu����d�����e7Ud�|�
_%`n��E$�,�UF���gC�nB]�~��6�q1���U�8���Q�J�|������xs;�.D�u�ti��V8W����X�s��� <�ss��������}M�#v���&��? M'~E�����.��MIS��u���k}��Y�n�/�����5k��z;t�8��:+��8Q6�mz�Li��fCx6�s!����U%`n�a�m	��3�l��'x
��HZG@�c��0�^z����%`	����1�����4Nxc|��K�Jr9�w����6���Xn
�������J���y�����_�����O��_����Jh6�Ot��8:'��[���_-Y���q������9���]����9g�Cj�+�`i����<F�Hb%>7��[����D�+&K:��i.����C��Uie`+f�*^'�����y���\����T�~%��3���,9����m�g�^�%���B�3e�����������+���G!���L�8��hu,;�d���\�Z7��j�[F%|�[�%g	���2������P��m������U�=k�[F_;���>�+J59��dw��
��:�U�U�b|��`���.���C��L�;����w�Ui0t��n��*��U���j���
sy����;�wF%?pE���Y�	}&��[7u(�,M
|(Wc�Y��^Un�2���,A��S21Ho����3�TJ���\�F.U{���-@�U��\�����&�;�vQ.�
�X+*leh��o���]n�o���.���E��m5��{S$�R�|01���]5�*l��� ����r%lJ�V�5q���d�u�X���*�U���W�{1���e,]Z=�l�x���m��h��$7.�rAd�h�pVzF)r�'�l�&C�W�?����+�m����Vs����� ����K#V��SA������^L�I��-��7g(�]-������r�����7��������o��Sc��GR��/]�K��M="������H�,����*������`H$�n�D�H;����p��0���w��V.��
�t����;'�T�� ��h-��h����
���Yk(Q�K��m���U��O�z,�:M�UT8i�S.�	I���mZn\�9��H"��2���R
����2U�d����97��;��<9P��s-'zN��$�2%V.}}�����S�w��f-��$�;�&�����r1C�WI\A�,���\,�}�UK ��m�8D`F�~r"{�K�o����U�7s��OX.](�^
T��O>�u!E����2�"��_�-�U�~sx���)�����B�`6�	�n*�jr
�ak-�_��N���V~8�
�2
���I*!���Y����Vi�@Q>i�vQ�z_)Rd'+<]�`h�O>�)J�&�
��]jM�����g�?o@_�O�]��v�; ��W���t!@.�e06?Ra��\ri���[��*@"��U�b'��������jG^�5��N�gY�""�G�c�^�0x�����7����i�����O�W����������ey���4��w�����	
�_�<��r��z�����;WuW�.��F����O��'k���X�hb�g�0���r}���
*������L>�D/�[�4��/�o�8�U7����Fn����>���_K0����?�G&��.���J-��z��]FiI����5~B��������M1=��i�������W��2��{�_T
	qHID3~�\<
��"��Y��ha,���(D�]�wP�2��6��-~?������R;D!��<q�j��rsO�.�%'f���AJ!�.�<&4���:��st�Hh���{��W[��#�h��TFZR�IB���cy4��=��C�o9�0I�~j����	N�W��^P�����z��x��Yk�.�(�y�*�Id�
�Z��V��K6V[UKA<�R��3��K�`\J�x��IU��
?4�2�����sod��e��$����<iK�oNeLp�&+U����S'����M@AU�E���ne[DxnF
�n
��. �F�� ����Nd=�A�S(W�Ye8�P��J(����s/�K�V_�{��p��Y^E��*��N}Vj�|�����F\Pj/	�g��\P>st@��O@��� ����0��
#�s��0^��`���=�C��F�b���.�	5r��\I���kJj=�f8��Y������eo@nJ0!���-5Tx�z_�<W������j,��>����@=���E�R��+����#�j�4�gA�U��"�8��@a����i��|8���JN!�l@�/���2�y��k��i|hA���,���tlKD�@�������C��(bk���;V���<���:P�2�$�Y�������hS�Nb�v�w���&��h��i�����3X�&6��gDk]�) M��5�` �L���S���6-d_����HX6ty%�@h�i�h>��]�����L�Q�qK���6���?�?�����hC<�e��r�vH�NA������I�Db��}f;9u��]!�l�5�"@���$F��V�o�P1��'!��d9[�LMxb:�����m�����Ee��4��v�2��jB����td	q�g�AL��B����zc��\�g#@�3�J��6B�{(>�dO�<�+|����C${8Pq���[��wI�^�����+nSB���v�/%�oA@�3�@�"\�M��8V)e��d�����vH���6P_���o��V��o���?���@�1�4��1-�����,4avH;������d$'������v��������~���'i����9�Z�����<����'aW(w#s��r<����Y��I;B>9��W�|�<W���V�w^'�yu������?g[��Iy��G��lM��.#����<;�0������>Vw�"	���!�}2���1�,�_n���������v���sZp.�����i<��.Z����2jU���
]�;���l�=��Y�>���k]��-��������)�+���9+
/�I��Y�i�u������JEu9�5��&w�.�C�:n��r,��j�v4�z��y��K��'u�E<S�o���Ck��?�UZM*��n���Z�x#�,S75C�+{��	�����O#!������N1��������MG��eJC�nj)jq�������J�s?�4�\�������th�k�5=�t[�����Qd�	��&fYK����J�ZZoNO�����v=�[i����5���:��kZ�)�pa#��u�&k����:g�;���f���cWn��Y��d%\��v�2����g�����;�����:��B�x���T�[���):~�������	}�T���?���S�������8�bFS{��<.��i��?>+�S�<���-��r�t(7S�;\.�Ovx�&;�4|`��Mns]���Z��d���Z�����������}t�XkB�����%rP��4���On����k%i����/��������������n
�"y����9k!�i�F@�n2>��(u��>R|6+�Lz��A0�����[�W��p��f����	���KS7����������zQ��]��M���T��C�<�E$���Y�����t�!���'2����O�*�'������}����H�z�p�;�Gj�C�UC���`?m�hV7�O�P�5��J)wp7�?_� �5��F#z��"�VQ�O����|S�tC�%��
�������V�?�����O�������w�������%s�p�"[�+��A�9�7��n�(O�#���g�J�<g����n;��^�%���N��:�c����qsCT�#�9�k]�a~ G��y���F����EO���L���2I���>�z���9�4���<��an#Y>2��B�-g:kYd�y:���;���m������'��Y�ca��5�l�������
��K5M����zDow�u���o��?�r����r�9��q-F�[H�t�����h
<g���BY�_���dYj�A�l�^'�����E0a�)��?����}@�)�h���P�+�{d��LlS�L���s%��)1������8�[��&��R?:��N�S>�����fJ�YI�@yv�z�5n��C�H�Q���MMX"����!}�����������w�PI.���K���<��r����5~��P�"Z�2�6kG
rY;PA��q%vk�	UCp]�TK�d��&�X���}=�H��D����qYO�w��(`�<tj`���u���LI���~��u�Z�:vL����\���8����^Z��:{��V2S�di�Z��M�Q7ggNT���,V�T{N�5��Z+R�:��V;+S��C���c�?=��5"U�@����O�
��@�����'���F��[i
\�5uSBb��fq�?=��Vu_��g.'���\Y#��W�wx�K	�)��&�aN��w�|s
����0���MqR�����rs��FK��
}��2�~��[�JbJ���2�]����b��H��l�:h���Hi�{[V�i�&�EE����R9��W�'�	�4�1���B��g����%��|�M<t�pa$Q��=T�������W]d�QY���V��Z�D���u���B5G�9�{�&����L�����v�O�(N!d��#��Z�\���Wf=lm��4��fH���w8�*-,�������\VD�_l	2�W�O�L��;�����A��t�,�����EK��������������W���/&6Q���	M���rPS���������V��t���?��@^/��I���w�OI��w���?�y[���Q�C��\���9�r���k����O���pd�`J��?n�0��_�t4eX�:��jD*�Yv��&�?������d����5G���M�65�.��._�
�,����sg�Y6�_u��t4r3������?���_��"��r\���+�������R?a\�b������[vEN�9�]g[�f�m����?)~��/A��"6L��|�V{����f~�����s�����7��S���?���{��r��dJ�A�>������;YO�m	�e���oX<�����p�u���L�����t�3*��X
8rxN�%{�sG�V��&+����=�w�O���us�x�d�<���E�k��(�������Xk���A������8���j�9S��?vp����n4�=�yg�r�����Z��$D@�i��e()3�E���i����P���g?�������
��0N G,/��E�$�Sp%����G������d���� O�F:����J;�����2��H�:��e��R;�Iw��I����-TQ���ag���EC'��w��6
(���ee��w��X��{�m��X+m�9���[�7Cu�����'y(�������w����vM��@�Y�'����fG�6�h{	�t�+�@��1}&�N$�F~(�4����1$zX��MY2�ED��mP
n��Z#a�x+�����(���s:���m�Z�w~-�+�lF]�^B�&��,�S�D����(=��0��DV�}�����\��uq����"����$�0��nNfq�M��E��7�cI4.��)I�J�@��u�!g=�J���I���T�U��D�O�Tru*oh���L���)#%��]�J�.c�B��vy9�OmZK%3��������&T"�[����4q*��
)Sy��nj�K����.��=�PZ+zKt��"�������^�P�=P��Ze������%��p	�u����DnN���l	��
����PH�X�in�{���>�;nJSe��P+�D��D����r81����,'dMz�W��6��-�����1+�.|F��3Q@�F&���x�l�un��W�������Lr}8caB@��QN�ni��&�Ro��[���?[���A���N7��zh�0�W���c�U���|���zu8�aB@��M����k[�����\��F����,7VN���yV$�1����@	r&��/F�U�&&I\]-T�P%O��l[T
�8�t
%wf�������:1���-o0�5��#2i����TT�1g���������:W��fb@nd��B�J\��Y�1�X�������S�;�k���Y
Y];�:`�
O����m��f�a�[~���L('�D����
=�~u�|e���d�n��<,��e�5Rg�h����k�m
P����]�K���mb@�J���T��AJ��Px���"�:����r*=�G���q��s1��)=�����
�{����
�TT�z/�O���0n�����`u�
u�JGD������^3������o��bd����jH4w3��
 ���M��@���A�������q%����o��n�'Y��:2��)�q����3�����]�,����^>�
�BE��HI��������xzs*,�%���q�D�t����'�a��}��y�'��n^guG2�	uL��{W�;|�3Kjx��)�������S$3d�w��M��ut�42�AE�}���eD&��Rf[
��H	����4����uN���
��`asK�wf���J��.�j`6" ��9��1N6�����S�r��]Q�d4�����l,��w(`:�A�E`I;(v4A1����qh�"���K�E{������DB��d�s^�?����]e?}A�u�"C)�����L (��G�.�`����j�Dk;7��@����L.�CK�V�����(�W�k}�8����!(����:n+��UD����@��j���Ty���W%�����w�/���	�Hp�&U��]��g�rs�r�u����PC��@7 q�T������2����&���,a[Nh��E{d�}�_���������;���.-�Z�W'������Af����4s������k�A�1�pvQ���a]�A���U�j�~@V*����E�5���XA��4k�mB
������s�8��-���r��(�������P��.��KIj��-�R��E��c��$�b���"�����JA���O�l��
�V�2���m��,
�:6�%������t\���u�1�1M(�m��$3�=A!�Cg��4h��������flD��1ag��jR��9��d�-����.f��&Y��%��P��Hq�x����|��M��{*5�}��A��P��
��g��S�x20aE�����$r^�TMb�����8��J2�,���y�J�m�(OA�J�iK�g��%�i��T�����5Yr��zED������F�����ae+���.
�CA�Ei��o_?Yu#�����j��M�U=�����q���n������mF,qf��������%4�<I����kf;���������]��Dkj`C�nq����J���iA�O��`<��r\����#/U����h�����CEq64�;���Q�	v-��Ss�C�0O�".i��:d�|�|��*��Ht�,*	�9��������pQ\r��_�<��z�rA�h����%�f ��QN����@~j���s���G�VX��qs\�����G�"O�������E���qfXZ�%��� ��!���T���J����e�������N���<=�!����DwX�� ���F�M�'���t��#=�u���q�^�.��pa�$������,��Y7���u��,Hd6� ��Kk}%tI��(QEmF�(�%kf�u���C�:�����P��-���I ������1\���	r
$�/�ggO����U���V���P6���H�+�eyH������y�{/?O����u��tv;�S���o<��N����h�E�L���I� �����9=�����q)��ad��+�'�R�4K����|p��c����r�9��>�������
Q���	�����
q��\[�U�ld�,f\�v�Z��\��D��C���'s��=K;���\��DF�9_���p�j����E�9��|lQ�
�I.������9W�?�M�
��G�=��r>���������3�$�=��>� u������
E�j�e����|��������:n*,h�������3s�E���JC�e� J3}x`���9M�9t��.EurW�" �����$�;�/t�N�����c��H���if�b��3�/!;N;��-�2�Y�y��3�S�1�y4B8��g����Z�.jRf�2+�}59yu�z�,��b7#���:�c�]��m�7��qK��3�ldU�����?������@^������������Y����1k�by<]a�p����<G{��H�%T��w�S��iK����{�u������|�3DK��q����1��7�Uf�Sb�[A�������t��AM�W�/�3Ft�-���c���c��q���b���!I�4�A����i���� ��$�q(=����Y�|���Y�f�d��8���\��?��>���=G3nJ1����h^6���Z��&������`���.���zsk��������v����
������K> �l����u�M�LA��C������I��3nr��`�a���o6����,��U������|+�q����?���8������f������3|���S��Cw��>�]GJg��TMJ�a���o��R$q�"�s�YrC�m�@
8�����x���y���L�6"���#*�i`��1k���FP�����z��Cg���J�O�*u<_��?v��|x������
����Vx�M�jz���	��V
����K������+nG0/
��P��A_Z�).��~������6��ox-��ul`����au�I)���i�9��=���I�O>�u���5����l}��v���n�����T9y���&�%�����c'�B����?�����OJ���E^��S0>��}mfB�B�	��B������JM������2{����� P"����;+Q
�����0���X�x���`Q��|c��}����-��1D�����j�z��E�e�A�=?��x���D�v�EXAbE�Ep
�4;�"@��(i��L���U�fp���"���P��`T�g����3�L�t�<
���Z�%���_����2�jg:I�����_]�:��Z��4=$N�m�7�/�����T����{OuH�
6��X��_������I�a�B.����qj�N���f��4HmP����"�d�&��n�[�D!��mT]%,��}��;�������RK�.F#�m���e����Tq��%D-t�+��b&��^g����
�rg�N��8^d�=RV�JM�+R	�@����dr>���At���B��r������5���%>[,�����-����K�28���D�r�M�E���IeM�����)hQe)*��z���jtt�i�q�$�;�a�����j��z��1	����T1������BU1�Q����R9��IP� T�P�/���]+������{��f�<�'7�$)n�V����j�#�����Bg"�67�����s����������yF��
�_�q���m��KD)���*d/>��f'�����T.��D��������NU�W
��T���#b�� �%���,���E�,���.�*���|��jx���8
BD����4R�F�?Ut�M���&����V���1cJ�6|X�%�m3"���d6"���f�����J��-�e����;	W]�����r��y�`���eG����]�f�1\Xv`�43��hcD��E���v��
'
�^�;��=���ZT�87�@7x��eQ����������L���;3����[.5�������Em���F�U��SI���#���.���]�U�n�1k��U��ck@�t����K�����3��^M��tc������m`P!���gNl���+�6F��i�r:�A2�����3i�����[����l��}#��"%��J��EnpG&H�\�KZ�Q�y�u5��Y)�xT�(�o',*c=\�����F�D�ba.��L�%�#�����e�JS���N����]G��V{�=�o3V?�)h�4|����rW���|g�3x�����Yj����������g$�?���}(�p*����~��,��]"�WY�'JK���<X��f��=	h^Ym�T���{Y\D��"��=D�n�S	4�h��d!�I�\�������C�]�d����|9pX�4Z�_�	)���q�T��Tu��9�#�d	K�����0W0��p���+Bz��'Ad����t�9C��{	����
O�\�w@��Z���;��|s��.$K�����^��������������+���yr���C(A(�D����`��]v��U�d��f�����zd��`��(�{��V`�_��z$p���������Q:@���V{�@`%d�i��H��������(tX^�w	��\
[�)�E�>�L�p����t��@�IVd�B;[���L�y�G�?�%�C=���(fC$(���o�5g���d�	)�����J�!]�e/7�#{���,He+h8����E�Q��H�&o���.��	�G�R#����!�&Rc�|�n�=�B��P��k\<�U��O�����w$s�3����}���?t���"��l���8�h�!%q�����K����� ��!d�4�Q�	��Jw��!�H�8�Y�c�J7q[�({��p���kE�H��/�`%�.�|�������]W��
�����5�3�<v��h���%h	c��r�n�t��p��q3U�<3��`;�	�/��2�hiO�d&���Wo��;�p���{G�
������?/=��A�C���L����FOm�h������C.�)��L�UyS�1�a;�������N���������9*��J�3$�����x����Y�&�y������i���&Q��qn�u"D �4s
rM80@$1����*U
sNs,�V���M���FC�>x���RY)-��{�|��peF�A���C�mx'/T��,3�����"���U�={�S[b��TiW�f�2T�G�k�3�\p�@n�kC��?G�\�%Vl�w"M����!������F����p�-�]�&L�\f�*���ql�
�V��������1_��d����@�|WT:�e��w��2\�o"����h`�6����7%�uA�����Fi�)���(D�:@�+�ag%fJ��,9�,W��
�a�27�+R����7�E�E'hVb�|��-���2��9���2���������jF"�.g����V+_��4N/=�q��W�����8�-B6g��Y���h�i��9�D2����)�%��J3.`�Q-o&��`h���p������C3D�����f���P�����6��6E�N.�J��%���:!�a���B���]#�L��d�B����&
��[���
gJ["�zz����j��Z6�W�%�gd��.���a��{������*rf��P��\�x="�""��zW#YDX�e\\Z=�0`i�#t�\�/�����;[��:��)��@���t�&wJ��VMJh��a�1=�1Y(m��������z�lK�A���� �����U��fOTX��'P���C�}�K�!
�����H6?�H��qn�,m�w�6������5�D�Ux`�{D�4�l;;��b�!����*��'�g���Y�]����W���_B�*�b����}�4w
�I��i�|��6����m�������_}������W��}�<��<�F����nGT�f���(�b�h����c����=�,��>f�&N�
D�<����q�3w�Gj;?4�����Pd�V������JY['s2-�x��r������B�K��+����p
� <��O�vVkZ����{���0g��B:�>�.�{�Z��d����1@h��{�W�[�����L2����N�<u�U�������4}O'O�]�=-I�������>��UBQW�����T$g}Q}\n'���&��Y	���^�nF�����~�oZ��eBz�W%c�]/���a����K�`+\�y�y�S�k��`�`���(4^���������ib�^>9����7<�>��	q�.�G%\=�^n��&�ILBJ��?��jWC����yw�+W���+�_���������X:�W�.��������t~���?<��I|wh<k�k�.���n��m(=��/���Bl��~�I�M��^��E0�%�����x8m���	�7�������0}S�������7-�:�J��U������U��aV&q���K��bM�
Jg�hd'~8s�����(�4t!��L9�����]�����
�dV����eD�{R�v�t_�as�F��R�5����?������l���e�����4��r���Y�$�X�K��
 V8����X�vQp8|�3�����8�%�����	���|�����cH����
���K��e��*A[�����21��\?<q83'��6���X"�J� �N�+.��gqJXy�u��&e�<�����);wch[��;��S���!��,��^�[[#ovX�C��Q�w��L����4
q
����2k\w������2I@��
q�~< ��i�7��%�f_��V��HHp�m���|#n"���m���]���}���`����7g��0��V(���n�h�'�u�{�/qB	zL����"��~�f���P�1������S����2-����XW&�w�f��Y��We5Y�����`5'r��%�an��)�}o���dNKH�6�?�z8���s����;��_N�K4�� 0���M�+p��h\�i(��P����1������Lg?�����v��z.%��>@Qe����Vg���|��x���S��������xY����=.�����C��-�B����~0�����_���?���'�?.��	(�����a�b
�KK���F���U���l�������|������a��
R�N����E���s�@3����Y�~
N�.c�;g���������In�P`J����K4�W�����z��w�J�"����C	*e��������q���"4KAK�gEb
�����g�R�q��"K2���m��Z�>��df�������D��*���������J���s�u/�D�����B�D%p`I��]R�bg6��x�VP��Q��j�j�?�yq ���^

�|�daq������aF�K6�3��@��r.��f�������C����wQ� 1c�3�a@�I4�3E
7p����i������r��y�:�(����u*//���k���{��,��)TMQz�c�w�o
�����T������\$l��t����������:V���i0��on+��E���tX���*�"
����F!j���_
I�w��`��bCe-��r������O�_��h��(�98���%|��H��A�-��M�Q���`�x������E��� �;��G
9�'O
�ML~��AAH�`��K
�z���-J�-�;�c^<X�La�fs���Mn_7UtX���i�
�P�{�TZf�^��P��Y���L�b!~cR��X5T��]����+�=�k��aQ�I���*n��Q��l09��l��p�4������|�r�9;�9��<*��@�����t������9����,�K���w���X���er�-������=
���CGz�n�D�\aBAP[v�.,7Wf8l���'{z��y>����
�,�R��\��]���g[�ndr��4�t^�Kk@�G�D�4EOm�}%9[�������k�%���p�a}��g��IY���P��
�$D����w��9r��-Fd�|�}�����j��������h�f���P�$�*�����[�7�����!@�l9.��j�t{���B7Dg�/��*������FXU!=SN^|��O��:>Xq�[��
z48�*:7���r��[�G]�NPd�Ol7�-�RR���:��J�/Sv] 7���p^p��yA�7�,<'r��������UN������,3g~��������B���V�vJd����K�b:�wX���*�v����,�sT~S���6�@(�Ur�)��m�HR����v�g������R�m7�G
U�`�S�����]�8G�SAV9R
�N��0��^H
%����=�X����hj#�_�3���	�oJ$gH������sy3�S�p��E�+P����s&�!��A��T�L�cA���6�LO\*��hWncx�B��@����u�14/�#s�h�E.S����y��IG���l?1�?����b��_�W���h1��{��6Z������>f�\v+y����U�<�A^����7��|E|D�q,�K���P�B�3����EO-���
�<@��d�6�w
O�+�f�I�^�\X'-���
�	��KT|��b����������>?�>����s��k��V�����W��}�<��-�����9E�ML(YJ�\bAe�=�9v�V�&F�o��)�������H���<���NG����p��5rb���t���;���9��Tg��u��2k�������vT���z�9OGN&��n�I�mcNW�
��~��3�6r���B�7��]�Uu���"�����#'9��y���\!|P<���4�(�[9�{��3A+�1���(8���1k;���;bGOt��������u�t���9��A����a��]���C�
r���U*�|h���B�����9*�rs�pH��z�8gf8�����{�
�\��g
6��]-l����|�!������� �#��GC�������[��u���Z��CY�m:	���qL;�����_�kJ��[^b����Ro�n��+���sf��������O��0�Uo�k����oj�Alx	�!(��oZ�u�L+�S�����]��G<:�j	n<�����k����L������%Lg����2��<s���NQ�.`9�3��3c���w=5�2u@�7�2�7���;&�D&�k�������5M�T��q5����XS|������r8��x�Y6���p>:fm ����u�M���w=;8f���������_64E���C�~��_������y������x:t�\��b���p/�VR9�9��:��p�d��;q0���^�a��P���[�����6��3���:}���������������������8_�I��k���C��j���U���^f��������j�m8�`��+�������/����d��.n
�p����_�9�o5����E���K�>��a*��1�f�����Wi�]	��
`.�~��Nx���PNvc������z��>�����2l����|�5�m�#�/���^���X�/}\��(<�=U��0� ����!��E���S�0�f>�D�l+����=G��,W�sRU�+
`f�����\�&��>�	�Vr�����t�I����������'�?vj�Y	Q^n���/lG�U�T���.Y�@�2�V����Ta&V�����l��#�{��/���i�t^=�R���/wz����qE�x���xP$Y�{����8�Jg��|��B�9'�����,����|���*b	����:N�-��V�Y�W#*���#����F_���������r6w��T�^����W�TUy_�R��U(���]�(��5H�@��xN*��$-�	��i&:8��O	�[BA�F��Q�:��
Hm�������;�f��.��>O��-e6t����V�,�LT�����k!���{���c`*���W���	b�<4��.�����7u��r�B@������_7�k��5f���4��
3u���#��?�l�L0�w�!�C�rLP��@:jn����bY���x$pbdve,���K�|L`	;ll��Xf���=���
d_�n����|VvJ�4;���� L��Uq�����z���C�:a�?8��>pT;\Jv�	�������M�?�wM�h�v�6���-Y>�g;d��)�e/�m�*�hg
_a_\S��Kz�����>�Y/�	�24�L��6���?D��A�F��
�1�OIM�g��jL�����g��0���)��t��JJ}!�6N8X�x�@��ZR���"z�0t�j�5�PWz������aE����d��5m�|ld^a���Y���z� A,[��5Yxa+F�]��2h
'����p�u��Lt����~�U�
zU��i	������^�`�3k�4�X��o��������J$���b'a�\�oS��,{�6/,G�!���V,��C*%C�Z�Q�Q�0����U5	�����2M��S�b��3���=X��$\���&Zv��5TH����{6`���1���\���+����a�"������1i�����������e�
���������<i�9��d�A"��~Yv/�/ig+��+s���a(�����:�RfRx�p��&�cY�;d�l���a&��(����P�~,��/�$�]6����������[?K��>+[��A��R�>�uY�T�����,�0=SJ���f$\^vX�$���+����2����'v����H���5D
�F���%�����wa�n�vz��va|���~����Ow�m�~�!??���mF�VJZ������ �t�\������j���[Z
��>@gU(�\^?�&m��������O����y��w�[J�N�������QW^Ms��K����-���V=�)/����V_�����T�������H]3@�v���g�L���T�r9�K��^a�>����}�+���+"�����:�.s��Cw�6����b�+[������
��S���$kk�y��V�O
h�l4��9#]`�1'���_���U�O���l$�g�8o��T�p��g���+�����@+�)�[�����Kw��n"����(�/yC	��LO�)���S�����
�W�������c$]�_���[��	|�������^�n�XB�����,114v��olP$Y��6�;���E�`�b|2 �D���VY$F
�L.��N�������@�r�|���b3�%d��U������k���;J1�>���[�lm�#3��V�����F�JG
��d����I�����&��9>'.���T�1i��In���Y�XS�3f@@�b��!����������pZB@��6#���
�e�OM����	N���=���J�t���g���.�)f���i\�kot\�  ��������q���rJr����h�����zh�MBdG�]�]fm������t�
�,���&�9L�?  �j�8I��O�>W��(��Q�Kl�n�F�a>�2�d��$~���O�e��&;����^7�KK�������"�u�M��D���>R-jH
(^|S�#�x�"���Cq�������0k8���j�Y���NfYL"�����J����fj�w5E�a�������x�d�|
I������[Cd9�aNMdG�<!��}���3�$�z�����(�MG�C0���*.L%��R3����u"']����idn��oJ�=(p�}O�d\��*1�G�|�4���
}&q.7~����Uk�Y\�]���Oe��dn����+�f-�T������C�� �1.8�&�d��Q��
��n�";1�"���>7/��#��%q@`>�X����]b���p<J@n��cI��<k"^ZD�g>�R�e2�.�T�~8UI�&��/p��Z5C�E�r�\��	)�Dk��d�F��#��Aew����]���8S'&� *�i(���F��������e�$�t�����rp�I7`��]�P&*�A��������T��)H�4`���"N��I�������)�3��Qo��]GNg��d�1g��e����{�9�J���7Y�&�I���^*/�:|7�\�zG�_����C��t�^~�qP�*�Q��|��Oa��!E�,���:
���^A�Bx	�^�5t�=�%,*k�R�k�O�����Z�)��-��K��	/��V��o��?�������q-J����$����?i���Qi������6��r>�/b.#J-�Z�]9��Z��+���|k��O���x�	�t��+�����|c�V�o1�#S�a$�8c�\U����1g�^��NGN:�(�;�~���q02K?�-�:'�8�=qJ�{����sm[W����lc�&���9���Q�l	}���rc��#�����9�n?0O�M:���jiJ�t>t�������.���(���5��1I����t�5�c6�
�7x����z>t)���6���N�T���85}?=R���t���K
��x���y7km���8�Y���:N�^�r���2~�����e�w��������O�d�*)����AQ�
kb������*���g'�l2�/I9�t���bN>r�
L;������:�D��c���2�6��Cs��3%`cJ�Gk����7��~�t�w�)(Pn��Z58_��c�qiC�w�rq��"�,��~Wn�����T����YC8�����7e����i�d&����X��!�
��oZ�?�����J="�+���C,q��3j����&qv+\����;�����9w��R}��{�I�P����~X���
�o���������o1g\�=g�0W�W7Vx�da����z�9���bM7="����&�������	�1�[���l�(���75"���7����+����UO:����b�?���>���o� �a���;'�+=]�?�^�L�t��o2K��/��`�
���3}S����ni�M1�����y�83m`�K$.%\��l2��2b�?���P8v+��X"x1	���p�^"�u���a���,��PP��o��O�:w����e�}W\��/��?a	�����liU
u�\��\p�.��&~�`������Pb�p55���h����RB����e9!����GB�w�����'��o�j!
�Okf
[��@���K����Z_�����T��" �������w���	*i��R�^�����g��Z��`�����
�N[(\����=-]��X�'���S���m�Q#�������,�d�Dm�M*�x	2j�h$�~�f�;�gg_,�{���O�����q0o�2YB�zn��<��^r�����Z�������
]R��-V���Yzq��Q��������)�e���X�����{f
]l���C�����������\�n���Fv*�kc���P�|��N��"#dbm.���=��'~��c_"S�5i1)��������,�~k��I�r�6�hZn
��\���h����ce]��A^53ttY_;�����l
�[LF�P����������i�?	0-���G�:!�4�w�UBU=�;�i��cCke+��&�TUu�?��9Y�B����i��[h���j����N�%�G�|Pt*�KA���=�O�XQ�����3f��D'$c����2��f��x�%���)(*����\���c���2��{-�6!z:�2q��-^^@�'��D��&��i���5���������y� �85D-�P���r�Y�_@��,��[pg�pN�7��D���n: ����
��Q+k]q�,�%YwDI���}�s��s?t��_@�U��B%�	�
w���0W�*��T�����p�3���
@�_1U��Q���sr�(,��������C�j���:���I��V�O��{����lxDL1��+�c15'����8���e7�o�N��0qL��4�u�l;9����I�/I�bd����I���6�;:%]2�[��}��\N���#��l��I����[a�PP�P'v��<a���Pr����R
��-Y�R��!9��~�i+�>pj8�&O$�qfq>7�~\���s�8����c��L�������J���CG@l���8���D�KW�jM�]����e��]�K8;M����	O�<Pc����b�T�qN����J�2�K�Yg�L��n������f>�{�
����|��6l����vbS�cP
�h�%rN�)���,$��M='�����c�P��*�?��{���h�a�sr5P�P�.[�N[g*����
r���J���S�=��?e"@���]3������.�%
���J�n"@I>bo��n"@[}���eg��&I�S�R�6�@�,�U"x������Xl�U�a��@)�X$�b��90��k�X���m��i����@�����H@ydu=B@�P������2n��O���l�N��|����v����a�>�p������O�]�?�P�}�;XPl�Dm��;x���.&\�mA�_���������_�����T�'X�E���1cj�����'�0�H[���&�y���������T!�����Xt�n��X�M1��P��z�e�_�-��T���)X��I7X����eZK��rSO�*��Z"A`����\i� �BC�TE	(�pSN�! j.���"�izi5Ds��+��bY��j@v|�K�+���'���@^�$�UUk��V�p>����>q�����lr�ym�X�	5��	���q�������\,�����iR�g��w
��!��Y}�*kKY����^����1�{��Dg�#X}��P�����6�=!��p(XI��8u�[�,W�CI4��@���si	Y�����:�Qf��<U���b���p'�a�Q%�Lk�$�Q����������Q"�=�7��o����y�FZ
�������z���T<��e����@���|����]5;�/Df��Uvt�	/�8Q�}j��-, ����c/>U���&Z���)�f�q[+Z�V�H�E�\
�A/��[�
���'�@�Pq	K�8���a��Z~�RkL�����p�w��i���i�h����6W& lET�lQ"0��c{����T?.�����;����H�����D��Z���4�^�wS[w��j���Z7/��2'��x�L^���c2�V���L@��y,�S�(@��&(��A���m�� ����=�	-u*�"B�1�F�J�:�naV���q���L������+�3g�4iJ����0y]�.$9�*=]�4�
r�����I�,8�XJk�.4����D9���nI�Y}����;����3��^"����8��`�
��p;S�f��'Y����e���V
�J���A�)5���R+��m���&
/nFy^�b�@�"����>��?��"����)�"iG'j���W�m�U|`j8�H�1��������XMp9�z;]6`��A�<�p�f�WX#K�}s���l���_FN�"���:"+G�x�9nJE�G�*1$�o����G�;����gv�+���������%X���geI�a�0�TfE8�&�i���{�"��Sl��C#�W�*�>c��8��z�3�uQ	.;8��3G����j�Mb����
��N��!D[�����OoISa��7%jr�P+;(�����-`*�	1��)�����qY��$��\0�3���v+Hc*A\���+�f;f��� ��\��L�^�[���DN���;�#Nd��i���WzF=��X���/��<������9{�kYBO��]���u��>z`Oa+����)�y��^|�/�B	��"��j��D�?��#�,&��s����0t[��������a�����n���4���n��u�)������_|��q��C��p�p]�(�����d�^>��s�?�������_�����d�/f�@��)���3��^:D�L'���VW�>��f�R�����,S��!��F'zC�B���{�<"Q��[W�@��__#��W�@&D�n���w�5����K-_@����c���Y6�S�WphY���h��es��L K�m����P���{����T(�����M(�L����(���S��vW�V]a>;�3���5�X��G�g1w�vm�)�%
�c����R4A���SQ��~��#k�~E���l��8�K�0xJZ���� �K��Io�o�q�n)�o�I:���#w��;�����4�~���
���X!�qd*�
(2�K�@����3E}4�"S�3����P�|�\�7�@s�����}���y	�grD���h���>�y�7.��t�%$�hH�t��J�sO��Ipz��������k?2k�����m%�HI�Y*�./�U�|
�pH{��O{=���*���HR�j������I=5���_����{V^�I�|�
w���P�;�1QsY��lX���j[*������C<PA{?O�=\��!����`�����_!1��OT0E���*���}�<x|g��5��|�+�+
"��������r��D�gx0����kda�������!qm��:y���X5��s��"�
|��
.h��3h��p�Lw����)t�s�\#��-�����I��25�J���=�{H��HQ�v�E��Y������F�Ufse

Ftg6O� �A5+���!�DA�m����EA�����/Q��H�l����6��9�j�y��^$f3s�`���P\�a}�zt�j7 rd�U�F��a�0g����2�<}�x5��L��� ���1:�g��l7��R����3<�V����8tt�w�0��e���$�.�R��,Y�`��;�m�C���aH�*�s,z�'n�>,��$X
u�z��vaF3���"3j��>�r���L9�au	z�e��*��3?�|���c0���
�F�����*�C���8��=h�&R��
-6�A�
���6�6}�onq�'l�R�����m�~
��i������s����9)�B������a�D���d�@���
�cUj�*�`u%����n���N�����$��������f7��x�p`�'�X#���2��D
q�&�R��������(2�����	����ym����S%�\�L�p`v�T=����),P�/�e!�#p	�V���
q��ur+6>��L�0��������H������z�T����:�]�����q&�N$��dd�oJ�+��w�Ot
r�����e�B���{����-�_iUu.�B��5�	��[�8�,�B��[���>�,��8?,,��v0���j�_�y��q/��+\{?���=���jv$>���w���C�
����|��=��W��}�<��$����L<���b������)r��0�<-{���}a��B-m��&�"�,��%7o����]�3���cN�s��93�������'O;K;���@�qmi��Z\�lN�r�QvG!R?�I@�(SvYb$�A����Bl�n����#�{��8��i��l��[H�D����m��h#s�`d=��Q~�|<X��ItD���y�V;�P[��e����{Q�(q����0���V�>����
���1����m��7��-�q�E��0���� �j�,#W=SG���r��}�_v�}����*L���/&TG�d�%�g�U���Y:l��p�u�����f��qI�fx��A��_��r���]U���K>��5v9�tJ���z�L�+�5���iv���������Y���UEF�}���3[����P;�V�]H�rn��*Y����S���nu�9�9��bO��C��n�kU�v\&:wN������8\����t����u����k`�M�+��mT��[t������f�9X�?
��0���$�1�e�)��F<����
|�3D*.<��];�+����V
��,uz0������>�
��5�#2�pXa�8)���������x���~
����7��g��{����3�:�&D��]E��;��\E?����>��R�>����v=WBx���n����S
�0���R�[{���^=��g�:�i-"�j�����8���"Y&	�	�������,_�]z����5�_�A����T7��;���=��k��6���[�B��kd�;�F�f���U���A�[x#�e�n�M��S]��%�fs���!����7e�_��]�8r�����NCwq�iy�Nc�	����g� �I�)�����c���
j�o��2��X�����I���X��[������n�K�#��R�W������.�L�:�<����e���!"�����J	����%�i�M�u����}t�|�>�w�C���y��Qtz���;��jv�[����V�Z���w���j9�
!z��X������Dd��P,u���;�A	�)���~�C��/����w-v���fg�u��|�����;o��=\�o|x��|��h�����U�/�(]����_���w��z�|/?O�|G�����BbR@��BFLj�J����T���W���1����"-;��__j�+\9�KJ!I������q\i���	8�{�u�C���~�epPNy9��,�
�-��R�����b��"7@9������wu�*��SDU��b)V=C�(���/�(����6��g=�&9e+��"�%h����u�j�ti�Z V���2�K��cf���b�����?t4��I��#e��a�oP��%��5���t�������"T{�+[���#v+H���) �!��\���~�,����������n�Sa�o���M�����*T�	�o
!����k�S�j�,�.+�����j�����*TZ�����zT��V�l*GaA�#��v/�:%[�dU&�U2,���:��:��^��g
�8v.3{f�?M^<T�c���32�w����c��������v9"��J�������r�e^��������?�(GG)�yf,�����+{����yu���1�zqV���h\����G�
�]^�F�GBg���_�U���L���iK��^
kl�S$��6����-�(�IJ�����~���@���26����e�*
5f�Q�6r��v�}�
 ����&��;�"K���E
e�l33F^��X[N�D�#����GLU��
�@�
\e�e�#��A��d����>�DJ^��b��n�d����G3����;0�V����ob�$[�����7���j�(f�i4E4.��P�c����V#�J�%�T#�BC8��(�d�S#p,���/|qY=�*;��A����^\V{p|��PX�����<Oc9���R�[-�
=���(���]�X��Y����t���n��}6�E�Q��9�Lx��rkh�NcT�(�)!�$��@�
���1�>��y,;��,�J&��D�%��m%*��OV�Q�LT;P$pLQt�{v;����;�-��4o�wa����8����%A���lZB3�h�Hj��<�$;�Y��������c^|V������K;8A�z&�{g��;�F9!/���n��?49�_�IS��ak�?�C/�
P2��)�BHN>+�i�����,;aG�F����|`Jv3�8RBO1���*�R/=Rji2w�K��d�������tx��>k�+�y7%I���ZA���w�I���Q8;���`����}4�!	F����Y��m~�y�:��R�,I�j�{�Q�<��C�������o��
\j���H8�aA�#���e�������6��c�='����g�r'<x�K$������j2vD��P���5vw��yI�������Cgt���F��������$���<����i$��������L�E���G�"yK�v7���]�gjqjC]�sP�����~� ��5���)-O��,��Z�B3�����{��1�d���C��W����_����9��\��pw����x�y�?�����s��R��������<�k�H���A�o9i.��q����� (�p�N$.y�DQ%�N|W85����s���ow�������k�/���T���-<6���=�!�����AE�W���Xz�$�6xf��K#H���~l��$lP����*WB?��Xt�;���Ff����n_�[����i����-*za�z��X��%�w<��Y�!l($0!�!����<\�V��z�����N9����r���/������.!�^;�kmd`�L��Bf2�bW�`�� -�.�����_A������gw����P��5I*@R�?.��R.�T�(��c�2om�-Ay����q������,%����4���Ox�u�X��6�����bMKt0A$z�����:|��f����y��;1Q��RW�H��i��1��Ot+:�
�~��P�A���f�u��k�j6��HwW��,AY6����C������K2�����3H�j�.��{@��q�3���*DK^���XV
�t���C�Y$L]��<�E�|�\��ba��e�2���V����p��"x��A=�^Y�HS����������aO���'K���
^��e`��{���2)��l�$�y}F��f���Z7:�%XXz��F�����`]���q���q�*p�D����ZXj����`�C�����3�aQL�.YU�w]�����*�%/��a��D��J]���E�1s�����*�rs���Cby){C���n��2y�Q���l���[�e���������l6K]�������CX��%���:������������o1�vi�K�0��b��#4�^��~��{���%�3OXc��b��������5m�k�u����2�ht�t���������t3]QcF��@+l��:��� �������{{�������3��v4n�)S�=���8��`���l�)4hX���8��zg����!*����P�0��)!Mv��L�wqc���z�:���-ntKB�������B���LHH/s���Z�y_�R�#������80Y=n��QWf�FySY��%)dj\��!�M.��g�<��9�kv�jR
~qe�zj�BM#���I'f�821q�sr�N�IK�#K�CA�
�P�6���~\���������"w�O}qd��(t��
�;�j�*�s�O���`L�9<�%T|{%1�`G�PF4|�����(d��J��Rb����[k��e��R�����Kd�Y
WE����z@Os;��E���te��KbH;�����`CM7����%�3{�j�jF��ZL=y~l[[���(�����R�T��@�����K
rD���T�:�B��v��Q;��ena��{D�3&�>��;M7�^�8Vqs�KK��� #Zc]Z*��xU{D7��ME�.�
���g)�m��%m>����ET/?��@� ���*�X�IX�/�2���Hopmc_��vMF9|�*���_<@���)?����K�?�#�cp�����y2�����;j��F���S��$/�M�&���Ux�nG�/�?�j���+����x��;�H�������`�b���[^?[Z!s�T|���x��5h{D�dk�*��#C���G�U����HVx�"?-[����B�=3KB�g������
wr_�����[v`<�����_|f	�7&�I,�&_e��[fY�{2�W�R�I�CW���%1�A�_b
���m^��A3��K�b	�m
N����.�+�em��g���a�xySB,�4�^F/�0s�\�����]����[����3���/��z�����8����r%V����
����������b�p��q�����`���Ufe�m~W@d����6}��M|�aVB��R�����4)�*����>�Y�[j!�I7���/7��24�PB
�cJ��|�sK�}�v��gj� ��o�jZ��?�	;%�f�{4���N����������f[W*��������b�N�P?��S��|Zo^��c��}dt��&�[����a�]�O�����
�,+����f����Y�<�����*����'��&���=�����5�c�>�y��4��
���e��FkD��L���6�C�5x'��s��mx�>
��������Z�Y��������Q���k\���C�)�S]�?����^X|?��{5��&\x�5�$����U�Z+*�55�;�}�7rD���*��pM6��?����@w�~��[�eCd*�����_=K��&&�\��z�v��tM6y�U��5��}����p�����Ih��{Z�����5K����f�T��(nXc5�����|������YC+�|�=d��2���.�.�Y���V�����]�w\���O���"�L��������z���_"j6kQ���%�d��5U��5������&3���_L8��>,=�If.�n85��CNCw	]t�HBb5.��%t)
��q����pM��`8�5E��Z� O��8�������B9�2�6^�T��������L��CD+C=���n��A������l�x��AH~a��.������J���5��C9�-�`��X��GC�!8�,)5,(i���Zj����3��&���V��5)2��\~���������Eg���/�<^"�z�{(i\�Dzl'A����O{��X�����y?O�x�KF�1����26���Q`>*L�m+_`@]L����]��>��h����*���*��KE��uq���j�o�m�oi);3h=>S��F��Vj`Q*��y0�R��E��+�
��Oi��\�B�rXo���`4��dO5�� �+
!�W�P2,m�z~_�oN�5� QX�S9G3��*m4PD�
U`��T^Q{D�9���u�W4�Ps���a��U�g��^0f+^��������(����6W��r�i
�=�i%�����4�E����"-�%��	�����sR��+���\�S��)��Ex#Z;����Q��;�����n��t=h�3S�l����
�wJ@�zX��h-H��Q.�}v
adb\��%�V�������y��HC����p
��G
�t!��*�6���N%1���vW4��!�~��,T�	Y{�|Gq>�zN��@)?dH!��-1�"avf=��n��j}ZrFx��jx�B�@-���adx���gc
����P��:H�F�Zx��A��q�y�*�r,r�a�
�=6�2jba���LO����mtC,�2[f��8��h�`N���S�"��8���$�v���h�P���(D�A��zn}�7���P�|K'��av��_CC*����hj�I����f08�i�%�P����.y�-!Ag�=�����Tj�������0K��F7�e��'o*�5�|3��e|��]���q����������R��+*�B�P�����g��5�3]O���3zP@�v�V���dg`����	���W��%�9��%
-����c��?��7;m<�w��5��i�����h�
���9��a��E,@3tOA#d��LnF�U+�&��5�D�hh���L����� �S�A-l���A"�*}�E����u�I��$����}�jG��2�z�Q�Lk��Un|�������D#v�W�d�)�s{l=��E���9n1�
�1^H���eq�L��N��<7kgj�c��WdRp����X�l|oGvn�l�J� �O!<t���@$�l���H6�����H�\5���k�+��d����;%
�'�;(+�ds lu�o�P�	4���)����T,���"�6�O��������T�B����fU�G7����f���[2����hoO����.A|��z[*���x-�Jz�I�9z�:#��AC����D*��nv�oIF�8Vt�3����%[(�� r��V9K������g��;��Y��jec�u�� ��HT�_c����_�����gJ�d���4I�����L8�{b�l|��s#��6���L���W���~4��y���k��6q�B���*D��� /�SY����&�%�J<�V��5�mG
����1�,��c!Sdm��8�bH�E=g��i����gr�Jd[CN����V��r�@�wF��v�����P\��Q�@����C+�U�`n����Z��BK�<P������8�Z�d�������Ej5�k���_�>������j*=)�������#�kh �����t�?���6��~�����������G���W��}�<��q�I�J�Y?4�����k�R��m���,�s�6��|���"����Q�a��3�"�L���0r�\(]�a�#�9�qmK/���ied_��Y��5;����M�������#�O;n���*�3���=r[��
K �n�m��Ruc�xOK��~}�U��	��x>'I���D-(�/-a?r�9��s���{��=ArR�n	}�sz����B����t��	����eq>����M�9i��k���������|���P�b��
(�=g��$��?�M���t{(��v��������5�Y}�bL��w�u��Z,~c���\��[{��a��'�LT	��^�0�C��B���6Ttoy�	������.���j��0���Z:���~m���|x���;��BU�v��}�+0����s������Y�4Z�SXN����7�T�����e..�[6����M����1��Vp_.��
�s����6�C�<xG�3tK>�C�v�_��M��3��\�.��a3^�����	�m��R�|=����s��z�]�����������e��X�l��M�����x����������M�m�����4|��:��g�NH
w�]��������g��[g�i�����94������Y~x�h>��&q�L�����u�L"��8���~��m��k:�tgXi`%fg*)`(K���M�-������tx�������-`�4t
/s8�M��n������0�hO���~��Z��99}`����Y�������YQQ��1k��B��>c���pY�>�8#����s��i�M������o
���������k{�2M4��-�9����Fg���y�`�)[W�e���7E��g\,���<�A���A�r�V�W7�N�7��8�7U��7��eq+��!�U��d��
��,���.����	�[���f��� �>je�U	��?�����-^�K']`n�	x��UJ�V������o���v ��1'�G��k/����n�l������A�����������?����v)��Z�5DT���M���Df�	M���9��`�m3��s���#�k2n��?��f�����9��i�<-��c$�Med��T�6Nf
��x)����+�����+�dNj�snp^���W�R5J���H-��L���:��74��H*�9��b���M��F^[O4E#_p1����UjCu�P�U�
�������1g	LJ`##�g��6���K�9ymII���d�`�=I�b�
���e��z�����jE��X_������
E�m9��o�
@1Y$.���.T�/������N�?3� �����	t���oRD4�:g�pW�Os����$j
<rz�&��Y�"��@z�B/����� v�(��
:7x}��N��k�b���x :�	�X�����y(��%d9lT��U���x��z"[��)��SBg����C�����N��0+AN�-5���S����S�&�Z��%��O+�p_�H�AE�>�tL!1��E�y�Y������m)J6;���gMY6k���D�c�%991X�Hd�'��z�+<�>l�u-����{N���^a?���`,e�f���>>0���	����#t��������3R�R�9�v*rya����h� 5�*MC_�B��>������F+;)�D����1��}R�U��d(�p�B���L�%�"8*�)��1�����PV���8��[q!��O�?�[���	�5�c��:p�~W�=Ux��5`K��Fw��Q����ya��/��BC�������H���}T�%�2q���&��*;���&�������GD�492f4��������)�8�tL�M��y#����nmY�w�'[n?H3�r�x����L��Uc&�P�1����[0��*�,8�	)�Ow�>)s��j�1�����2�l���a	�T�.t�4��}Z�������>�>gf���t�+os�� XZz�>������ey<��]���wS���6�.`*�����2r3�>j85���%���=z
��y�5��C�Fx:+�����a��[���7C\�L���^�5��,n����SYb>�� ���7�`������n�]K���'[���|����exB>�w=�t}�~hw�g��hN��4�s
��A�OJ��s)+�,8�%���2A��U�������l�s6�� ����Z�O;�%����tw,���k�m_��$�!!����7���kZY��_��<8��KA>��l�������?�
^�����T��Z�Gu�AP`e��T��Q�/�y$G�;��Lw�W��E��.'uu`�w4ge"�:�B��,�����a��A]�'Z���72��������v���4zE��q�r�=��}v��-.�R��M#c���t�x9�K�4,�#������1'
���~�Y�;���L
�������:�����
�7��1'�ydwbC$�S��Bm���5��E��m��h/���Ts�������$`���1���TF^.��BD���`���~�=��
�x�,�S(l����%T�WR��#��F�22�����(v4fm^��5��(�e�s���f�)cP����B�`{�.26fJ�.Dg @5�{&��L9`��.��Cj�TyW�:(�E+��L�o���ba@@��x�J��>]rK�����6�IY.�bh)UZ��]p����%T����3&���y	��r���\-0 ���v����$�p�[
m� 6�+kG�Y%�\��R��.� C����60 ����q���J���7V�!@ u���j�Y}k�sX�h�I�����W#s�
�&��
W���sl60�dIc�|0(*`4f����%��\���$�+��2��9�)3���,C��s����J�M�v�t"�3|��\(p�!6��?p������T��+�R`�z���2�@��.��#�X������&;'2� �L���iq��*��6���@ie��=���
����.����=/S��:V1��]Q&�.�;��K�TP~�/b����F�T�08Y6"�6�7�or�����]{\�@�G5����%
T:H��$tV���I\M���������K(��V���b��K�b�0�y�%z_���i�fM"�@�T��5�C,n��S�s cB0�"0P�d(�KT��9p����]���V�w���j�t��rr^r�Y����(��Y���wM�e	�m�t>�|.	9�����9��n��I�X<m�M�e����a�sfJ�d�N��R���PvJ0E�:�E��w�h�UVt��x�����!6qkI���]5m��X	��d6��thr��������wk*��
(��T���"9$�o,���T%�`q�,���';^���:SVry�Q~������f���W/�+S������ T��C������`P���pK+��G��m]��D���:��{�,�h�5d\�}� ��\���I�uq#����O��U�:�*�@�l�������A�	g���U�:Kw���@o�)���?�E�����-��?������� ��F���o������1*���D1s�e�Xc��/��9�E^2�t�0�,>([�a$W�]Fn�7�s������yx�����l2��H>_�WiI�OW(������|��9s{�����{T���]���\��v�
��Y�
!x�%��=C���������N���G^�4����l'#������l��+���R������)9 t(CGc������}��+�\��Nv����v	�z��cb�\<���Ri��l��(�����>������Ys��3[���!.���P���G��+�����fmJ2s��K����o�^Z�5����+<�R�.��;�-~�������4�R���
�MCw��	�R��pLJ���d}������ ��QF������2O�In���
R�:f�T���!����6kS7|>t'�=����I��|Q�C��JW���	N��)`����
O�ZU�������I����k������u�c��-��M� 4~\&�5O���]OMb����`���e�p���'�j������}��^�0+��;�)�S�,:��r�z<:����o~�����iSd��s��m��5��iX�k=��[w��jL������������q�O�u���������ZH�9���
�i�4�����O��*M�a��������t��nR������2�����1kz8D��`��7A4<�]�o���^����W��`%���f�D���]��.q��k������O�2^;3��~=}���JrJz���o����l��E�fx��i�����;{�)�dC�u7��Ykv�xKL�7��T�L9��L�?|S��-gJp�w3?\�����M�U�58:|S��@��..��&�}9��S�����o��������V-r��K4�\#�{�a/�C�IR������%Zd!?Z���![�]g�:�K��5w�[<�N����p��
]|�[@e��������P2�������?����+��>~������Zo���},�~9*+Dw#�e(�4��`j��:)'D���x�N(�,#�2R�!m$�����q��8�{G����{�2��~K�*��>��HH��R���#GK������ O��i�6����[�=�'P_fK�����:!�V��Z��;���N�����.��=A���i�B���P�`�������)�nA��zT��*���������:��0T1������\V
@��/�%dd����.��	s*����R������f���P
�Y��� �l�>K�.q�,Y�x����>�z���f���P��C{�����|���(���/�%���b1�;���2���"�f{?V�(�/�K���f���6������N�L�����Z���qz�d�h���&��.�Ef�0o@�,�������#��F�_�eq'�<K,�"�%vL=7;�2�lfNO��\g9�N_q�Ta�T�Jf��
S�1�2xT��)���u�)�P�@"i�@�q�dIk�6���Jv���$����ee����kfg^)s)������g�����(ts�3{DG����R���:�Xx�����0��r�)�
�;
(�z� ����Ckx'3���8g5��\ns�8�
�9�������]�+�>�'�f����Y���
���,6�����I6�kV���h8������.F�S� �+10�9�-@�C�9�Y�.11zt���6m��-��H�a:��z[��D�k��6��%�n����#���W�Q�86�l�9�M������v���Z���S���c,�=!�.:��$�<��y5 ��7q��g����.&�
����bZ�JM�	��=4l�rk��8��%�YGg!�����z���5+��x�r�-(���(6��H;r0v�����Lp���l�I<bb:�q��K����pb�$��y����ZS���O.!�Z#�(a|��&&����5pD�2�'w
�T����0�f�@<�9�tN�2M��3����������	������h���,8�:,�I�m8Q,����b� '�;M����������K�/d�)�I�p��M��y�#�fv4�!NZ�Z$����%���,5�;�w�B$7�5���$7����Hn�M���7�=~FF����a�w����m07�!��~%Y��q?�S(��ufu��9�fE`Ki�����&S""m�/'��%��I��^�6�j�%�p6W�Owq2c�$�,�T9�����K�y��"L���]�l�hR.`N��I�w���q��bO��A8�����<��r	|W��7~;��%$���S��h��d����l��+��-�wW��,�A������O|��?v��S�+��>~���l�J��N��S:���SP������
m�l�dy�H�X�F�i�~��;��q���SA���01$"0+�>�h�����r:;���4S�en�~����5���O
�f�����t�b��t���
��1R*j�G�I��C���I��U&K��C�8"���R�)a!]�[��d�eg�0)���E^
��!"���{Z�D�6����}Y��*,�ny�gQ``%� �b���=����=I=�,��@
;�(��3��mR�@�Q�+L(� �Pf��c1?G|�M����TK���A
�$�C�
����s�xj*���MUf��q��}����R��
[���|��l�Y�_��K
K� �7|��`�J�e�4���2B��CS���J���N\b�R��n D�H9\3���~�<n�u���P�8&�����r�L`/�e�P��D��P���-i��d���h�\,�>���,yb�LP�3qCP%�!��s',���@���%[\�A| �ZV����..\������o���	\d'aP�f��^D�z�E�y��t��8��22�>p��x4^���f7�N��Gj��!�7 ���Eya�����0���[-G��F��V�J�������[���x�8�|;Lt�d��6���*���|-�	��Q�1��k�w��$�3�����J:p3&2�V�5��bE\����N�N��
ppq9��Z}�Q�R��$_i���"GY�BY��]�
�?"��`�a�t,�4��������E_xDZ����je	��_j	���L/�8	��E�hx-���Xj�^��)U�O=��b�������d.��(ka�T0���Nr7����;]q���yjz�q����i)Q�YF�YFf8�����m��:z.y��g��4�����kf?#�J�����L�d�S
�|����q����9���Z�fd|g:.�jI�:�X�����,kL�i@�#q�J��h2��T��2�6��T8Np3S��
[��g �p���L����$� ��S����s9P�E;#b�>�1/�p�sHD��d�`
����cZ#L�1���j[�8o)6dI7�}" �:�_bL����u"����cJ�Y��B�32A�3�HL7����='MP���������7�!�� |�Sw(�Ja�)�4����i���>����5����Z��lY�]RX���}7YD]���L�j6�)��-G!6����6R`������-k����.���E�q�]^�#q N�T��j�M�B9�N3�j"w���{�o�9�����t��D��8@��J�D��	�V�/M=_D���wm�t�p���r�v���NH9���Y�S�%�����x���;�6W����H��������(mW��x�.��D�<��
�+�_k���v)�V"B��V���RD�?�����w���p�r���������V����u���:�<(�(=mR���F��%b������P�`AQ\6���������C�������}���L�kg�z�E������h��P+��6-1�X
S�["������Dq�L�R��,�Q�P�30@�+�����n��
�����2�*�BA����=rG�9�k��P@�{��6",�g_[\�B���:o��2�&�oC�:#���M�F��bo�C�:�~��7
�}�����P��"�~�����!����#_�4���m44Q-�@_����Z����V�������R�iS�������6s�{��gX�+A�0������	�9f������c�z���	�I9T%�F�,�(�1�vMT�/3�����+��!BZ���8�C�68�j���/l���	��:z�����4�o��{RU�wy�2�K0�1�L���bO�����*$�����!������l��v
���[������g������K<���[�=���}1�����n_����Z���N���W�'�++#
<���q[(���t����O�~31�>�����D�g$���["��T���9��gao�Uc%dsB��U��m�G�c
�.������n����eV�i��p��}8��!s�2��u�*�0�"�����qV����f5C	������R3�B`ip�<��g.�,k$b�%U����Vf ���}��^�[:�@W����{��*��j�ugY��>&h��n����
d�;E�U��R5�eoY�|�o�-x	�eZ"��B���p�o���6��}u;��)�A��t�l:�~Gv���|�O`0���S�J�1�������}�O,%�P���L��Q���E\�/���-��c;���]��z�|q��Y0�e�B]
����q����S���(��v�2�H�X�����Z�	���B30�y����s��"�L�+a����%:h��������K]2��I�,q�v���`���$h�@%$��3,�Z����[^����j*%Rq�f��F�{���j^��/B��<S]H$6���d!����1�E�^�3�6"0����3�~$�30B�h}U���������J��������"n�>�bV���\M ��T�=P��;U�l4��o�B��F���&Nl=Bm)I�3.r�y�6��!�1s�c�3����zP�������"M�i���Q�s���1�7o���-�@���pX�M|~�����r��pa��I��W90��>�����EGR
Ns;s�������-A��/��(ph�LK��f��:T���`�q/����ZX\�(,[�Ff�(z���>�~����)>,����/;m>X]H>�'���:p<�A��Xa���+X�C����
Q������ U�T��+�`)e����`�!�x�
���y>�����^�����d��b�vBb��7�������Wf�"�2F�**)��T�����"��������`��l����+����r9Yt�Q%e'�jqy
@P�����9f��9�J�+��_�V�0�zv�8�U�i�����3X4!��,��Z�?��-���a���tTs�m����,V����"O��:���U�<�~mg�L�{���s������H40?!��v�1gO%��.��
������W�N�������ca����6~��YNpXQs��>[��E_��feFKX�����k�Y	������(�*�T:K��Y-)�jII��4[��W���)1�4�Q���>�'�h�������2�������/�f~�����r��<t���d���o�}��4��E�kcp�V)_>�����}����w-l�����;�+_���)��-:]&���ix���J���qW].5���K���2:cy��^iiK�G{W\���wmv�S�ukr��V�}|��^��5����V�7�:�k�]��E7�^������%����7xM�����%�cz���[��lu'�u6����q�����{��|��t(Ae�7���� C��)���..���l���"&5u0K�/�'9jL���mw�Y^�F��m��W�B��3B6��Z��=�V��4�XB�+n�	�79tk*I�$�G�M����n�3Su���+S��Y#�@w�`��<�|Sb���PB�f����q9_&j�����|W	~
���g���IGY���%8*+��V�
;��
eN[�����kI8/�nL�?�B�[�>dU�;������p\-�m�!:
�8���y�����$f�Tr�ou��.f��U<�D�`�CV�9��1/zt��Y��������S]J��o�����]������nM��l����.��i6��/q��+�xF��������Zk��Y��%�#�S�M�X����wS���[�@~��|��J�q7k9d�:+�k��k9�}W:W��CP���n��oj +���T^V[�j���WKY�j�����W����Hg�0����&���W��f��:>D^.)W���}�e���{2Wx]9+��m���	/����i��H�����x(�Zw�=^������r��������'�?�R��fs�a����.Jwp<�d��Xg65t�K@�'�;�j�K\/eG�B���G����h�,����C�~F$C�����wj������l?3����7q�!�%	d�����yZ���w�R���F�x� j��R�rL7�5�j�����P��dq�Z����>���J�.)�yRR�B]�u���}�zI!r�����`����.)���h�&f����V��%��@GZ4��0�����p���0wl��D���j����/�P���u�(��\Y�`�Ej���B����=�;��=L����Z`�{{�BU�	;�o�/I����)`9&(/2%[�
YE��;s��1o�����OZe�1������z�����=A�`
5��8����I&���Q�r�7��4�=%���o���r�%�i���;y�p=���t��D����������0�Dn����#�?��t�n�r���XnY��K�����n���J]��=Jq���S�#Ffy%HP��j��i{���f`���4�����i�3g��{'/��Z�+.'�(~��%���W�9��������(�8
�U5�'���*������~����(���?�a5f^�w��St�������7��5y�!6J���a5��=�v��o#\�����$x�9,{�w
�Ag���������<SF���XT��\�������N�E8O��
=0e���-'��Yl,���5����ph@"���HBW�Q-w�M�J}	�H����#��U�A��]`��<�������J��	�w�9j�g9������a]VM�����2�����Zk������/9���w����d�����*����f�?�2m��e������v!���<$����*��b������P8�W�U�l�����L.����!��i��U*CH�F�����@�t��PK>J]*7�� �7��ECD�-{�������8a�H��9�J!H��-;�Zfjnt��7�8�1�������{J;�
B#a],y������+Il���v���3�T1�l��V!��v�c�;!B�v���@�H-�Oj�s+T���}#V��R\��5�C#��G^<V����\����wI�Xp���
�c�+���������8��S���;������g^�d���%�c�����kN��T[��y�f���^NB��G�G��Fx&]Eey�v�OlW8E#A&~���6o������Z��y<
D�h��/�*72���H�)�sa�K��;�&79��I�.�*7�EEXyc0�g�c�2WK���P�_�1q��i��`����q��
����u��U�/�n����d,�5���S~��-�����H8W�k�����9Q����V|+�bylic���!&$-�Whf���@��s+�:0��Uq1�~�K�K�P�U9��j�R����������������K�?�?���J~����_}�{/?O��,��Q��:s��#�%�itu� ���!�����8��2]�u�+
�5����3��3;���4e)�SaP�S%_��W}`9$��<	��*&3a�����w������/p	�rUd.��tH�Sqh��Y7�7�-�_��Y,�h^x�06r/�e^�o?�	�K���d�,+�7��F���^��\<�F��#�xv�9/i_���~^�;t]��Hj
C��qi)��c�����sT��$<��%�������CuX�6��aW����4o�2<��CJi{�o�h�G��b�1��,�%Q@�R�n`�I�F4SH�L���B���c.��n2���Vw@Nk(�K�	�XY�&n��K=�U�������>�F�CU��Q�
Hp*����o)�
L.��G����m��kH��������m��inOJn���Fj�5�z8H*���O�i�_���&��i_|p���[KNG�:��{�eY�\�[s���	�w��.s�H��f%q���f�pe���-f��*h���L9J��K���Nz��8��LAww�,����:_�Y�X�W�:�^�Du
)(C��^��
,���v"��lg����+�0���tV�(�6P?�����o�&,�����|�[�=)�����^���p���r	�9���%Hn������kR/l��?���D��c$�@J��u����d���������������������&b��F�3uZ/u{�c���u�����dtV1��YGT���
�����W���>
z�&x2�`��dc"A��1o��\�.'��A�X�il80�D���b��;�%�a
�
����b<
�\�]�W����7y6V�����gP�&%���h{���KA��2��Di�+(}qa	$�gn�������[���W�.��y���[������'0��l��cU/7"Q��M:$E�)�����!��T���J���wj�/�@�QW�b���/�`�LK1u�9���4(b����Z���RFa��^��\��\Q��q\�gn"�d��� D���j{����#Z��84%n�/���sc����6���m���)9<hbu(yD����%����AI���?`L~`��8>�<
I���qIY�����4��Fn���SZ	<�*2pB_�h_�]	DN�����z;�D>Y\�,f��0��pb-I�Z��G_*K��-(h��c�>�e�Zn"P�t� r(56�#��E9�"�{.YnD�����muh~�%��������7�ox���������<2��BXw�.�RE�)�G��#��,n:����'��7��bF�F��(�)�:Rp1U��	��"����x�2�p�����u�q��X���f��o8��K~	�p��z��V��Fq���G�0G$����}��
�����!�`�e}O��,�M���L�*�X�u6;��K ��%8�'���h.��Bx[��ujHs�)< ��x������%����/�W��}�<���3U����s���<�������������r�U��X���,`�@tI���cU��H_���%������^����u�&sr�s�3����n�0�R�-'�td���x4��,3.��jb��^�}6g���R���I�_r�6inr���o����,tY��}�7�������3S����q����+�$����i���b<��Ji�Ij�Q���z.��1�B,�J!�0��B$�s������6�-��v���l��Kh����<��"���pc��=	C�r��i��e��6@�h�����r�]��R�o*\�������R	���������I���j�k��h6�[��
N1��qS(.P>+S�M��3O�y��4��1��K�G�CT��s;d	���b�����I6�	����2�4��e/����g�4�R��&�r������kjb�d�S{r�%�Y3��%��%:db���R�W�
V0�������c�n��?��~V9���lz&���gn\o�����Y�7rz���S�$���3���Z��tn1�aR)��v����'��+�{)1&z���"�-��3I�tM�;��2��FN��x`�jot�\2zb
�rh�F@5�+��l�p�,��jb1����yZ�����^��n�\<�D}����>x��l��/���1�4���zNY�Z����Zmz������[�Te���;��K���.���K����f>+���1���t�@b����Y��N�����\���������B��A����{����"��t��h����>�A�
�i�I���Y��!��L	���&���A����\t�Y���)�fGk�zXi����3�N��C,�
w��,3TW*�������������m3��)��Qx�K_�k)������eW���pJ��+m���"���&B��k2#�z0�����Y����_sl�8S.� Q��\��������Ng�l�^��w����X,q���]��bDw��t�1�����P^��@���B��YEnFM��M�I�5���s�^:�+�X�7��F����)!N]��5���e�������+�"D�&�k��P�{:s�����%jV��Z.rK������������*�)P���)=��q��{c���S��xT��s�!���[������B�������Z@7d�O|�������k��&sr�%�D��T_4{.��^����x��{�������$��X��P��'���J�w'�5�$�����j.�	�J����Z|52J?���(�T���Y;
^6U��`�B��~�3���&�n�we���fg���D!x���.
 ���&0;�)���V`-��4<-�UgQd�(��C8��������tx/zlD_�M<(�n���i�	yj�|�8����*j|�0������P��Kv�b4�P���e���"J�`���#����FT+��T��!���/��"Bo_[� ���<�J�"���^�������F
n�)�ASM��*��rm�`��L�~p)��d_���Fzy�M>x?
a���;��nX�0��'�!�hlr��
ah��
s����"������<;���}i����������J<��g����=���*+P��y��-�5����+��x�������bN���>�H����l��uq�[�f��%������W�9b2�h=����/s�LP5��s^s�� �g�3�I������o���6���!���O^A{�B�b��Cl��x�qC�aL��{�pT�S����)��1��=�a.�<w��3ET�������x��o����@+����;9�}�^��-e�{'�c����[_��~-u�L�$���H����"zk�x&�0?7v~��"��_G��~���k�>���n8�9��F��
b��}����X���"�e���m-I�/h�+�������CC���=�mL��5�O�u��).�������1/�_tY���kc5]�
�#S�BGg���raL�#^�4O����K������.m�N��00Gw��z\g{��~
T+��!j���k�'l��K��.�{�5|��
��+����y�0�k<�}@��[��(��w>��,�W�`�^AU1W��>�<re#C��S�o�B�(�����X��"������f��0.�&#|^���pb�3Z���,��Mt�X��-Y��o�5���Q��x\�:�"
������gh�O��L��y�m�9������],�|�Re%��=qeI;c�n	��4�4R}����
Q�7s�z$]h+/�~�~���������xV�]�'l���L�j���Zd��9rf���L�J��A���L����6�9�y��^�N"i:�f=Q���x�����������}b��(MeTy��Io7������]e|������_�*�m@SPf9������vj]<k��<4����!)���33��
�%���xntS3�4��<��ti`gSI�)w��,GRWf���Y�*��j`"-� \�	��Xs>�1�oi�v��c��]�����R������z~�!}X�\�Y��]��T?C��<y�����E��!�f������4���|�5�{���2]����XX�K��Z{$�����=��H�V�������
<B-�4��^�����H��� B���P�<9h��ZD/��a_���
qYD'�����T0sR��h����v�#<��p�p'{�`Z�.���z�V�l�}�
�X���4h�>f��=h�G��/���������w�zws��.�G���Yh�gv�[����������m��������������������W���f?�`�?��W?���7w��W���������Ww�?�`�O���_����n����������������8�y~��������o~����_|���������o�|}����?��'��'���~����~�_���������~�c���:�8����������o�������<�����_~e��\5~��O~��O��������z{������8>>���o�����?�����_\��sL���w���~��6���������8��_���_�k<����?�������>�/�z{���d�����Yl���W�=��o�����(��_��'w�m��������l3�u�������H2��?�����������_?��g�3~����l�a�aA����������`S�����b��_~��x?~�z���������������Hwwo��w������������~������<w����������_�����#n����e�~�{����E}{����~�8����Ow�����������|��|��'��c;��7�|������~�_�}���>����ns�����??[��O?��'�Y������~���~}�X����q�������W;Y<7�����_?��o���������';k�������?z����������q�����'�Pp��_������?�p��o�#��w������>~���}|q���+��;�����w��g���������k����~��������_uw���>���w������78��~��7o�Gzk�������������o����7�}�o�>�0������Ww���/�G�����}��7_��������'������|��������Z6��/���|f����������������������%��o>���kK��|��7�����������)�g���b�u2����t���=���}��'�x\�����o���_|��%=�|{���>��-�w���|x��u�>��7?��������6����������=���}������o�z��[�|���H��������?����E���L���/�j��8�Gm��c�����/�>}���-��l�/��)r�7o��o��G�����;k�'��0���oq���%�����=}<^��7�����~��w�y�����������y������>2��7:�a3|�mw�]rw���Hn!��\�<l��>�����e�����o����0�Z�>�/����a�G��f}�p�����>��w���~������%��?~�g���c������{����������~������~�����>�O6���������v~�?���h;?|��?��Y�����%�������{������>�����~��_~��'~��@��O��%n}��5n�O~�����������}�������/���������,>���o���������?����_�����_���������rD��9n���u�W�����=�<w��_�������o�;�?���)��%�.���������������������������������/���GbZ��
#3Alexander Korotkov
a.korotkov@postgrespro.ru
In reply to: Sokolov Yura (#2)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Thu, Aug 10, 2017 at 3:30 PM, Sokolov Yura <funny.falcon@postgrespro.ru>
wrote:

On 2017-07-31 18:56, Sokolov Yura wrote:

Good day, every one.

In attempt to improve performance of YCSB on zipfian distribution,
it were found that significant time is spent in XidInMVCCSnapshot in
scanning snapshot->xip array. While overall CPU time is not too
noticable, it has measurable impact on scaleability.

First I tried to sort snapshot->xip in GetSnapshotData, and search in a
sorted array. But since snapshot->xip is not touched if no transaction
contention occurs, sorting xip always is not best option.

Then I sorted xip array on demand in XidInMVCCSnapshot only if
search in snapshot->xip occurs (ie lazy sorting). It performs much
better, but since it is O(NlogN), sort's execution time is noticable
for large number of clients.

Third approach (present in attached patch) is making hash table lazily
on first search in xip array.

Note: hash table is not built if number of "in-progress" xids is less
than 60. Tests shows, there is no big benefit from doing so (at least
on Intel Xeon).

With regards,

Here is new, more correct, patch version, and results for pgbench with
zipfian distribution (50% read 50% write) (same to Alik's tests at
/messages/by-id/BF3B6F54-68C3-417A-BFA
B-FB4D66F2B410@postgrespro.ru )

clients | master | hashsnap2 | hashsnap2_lwlock
--------+--------+-----------+------------------
10 | 203384 | 203813 | 204852
20 | 334344 | 334268 | 363510
40 | 228496 | 231777 | 383820
70 | 146892 | 148173 | 221326
110 | 99741 | 111580 | 157327
160 | 65257 | 81230 | 112028
230 | 38344 | 56790 | 77514
310 | 22355 | 39249 | 55907
400 | 13402 | 26899 | 39742
500 | 8382 | 17855 | 28362
650 | 5313 | 11450 | 17497
800 | 3352 | 7816 | 11030

(Note: I'm not quite sure, why my numbers for master are lower than
Alik's one. Probably, our test methodology differs a bit. Perhaps, it
is because I don't recreate tables between client number change, but
between branch switch).

These results look very cool!
I think CSN is eventually inevitable, but it's a long distance feature.
Thus, this optimization could make us a good serve before we would have CSN.
Do you expect there are cases when this patch causes slowdown? What about
case when we scan each xip array only once (not sure how to simulate that
using pgbench)?

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

#4Sokolov Yura
funny.falcon@postgrespro.ru
In reply to: Alexander Korotkov (#3)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

В Thu, 10 Aug 2017 18:12:34 +0300
Alexander Korotkov <a.korotkov@postgrespro.ru> пишет:

On Thu, Aug 10, 2017 at 3:30 PM, Sokolov Yura
<funny.falcon@postgrespro.ru> wrote:

On 2017-07-31 18:56, Sokolov Yura wrote:

Good day, every one.

In attempt to improve performance of YCSB on zipfian distribution,
it were found that significant time is spent in XidInMVCCSnapshot
in scanning snapshot->xip array. While overall CPU time is not too
noticable, it has measurable impact on scaleability.

First I tried to sort snapshot->xip in GetSnapshotData, and search
in a sorted array. But since snapshot->xip is not touched if no
transaction contention occurs, sorting xip always is not best
option.

Then I sorted xip array on demand in XidInMVCCSnapshot only if
search in snapshot->xip occurs (ie lazy sorting). It performs much
better, but since it is O(NlogN), sort's execution time is
noticable for large number of clients.

Third approach (present in attached patch) is making hash table
lazily on first search in xip array.

Note: hash table is not built if number of "in-progress" xids is
less than 60. Tests shows, there is no big benefit from doing so
(at least on Intel Xeon).

With regards,

Here is new, more correct, patch version, and results for pgbench
with zipfian distribution (50% read 50% write) (same to Alik's
tests at
/messages/by-id/BF3B6F54-68C3-417A-BFA
B-FB4D66F2B410@postgrespro.ru )

clients | master | hashsnap2 | hashsnap2_lwlock
--------+--------+-----------+------------------
10 | 203384 | 203813 | 204852
20 | 334344 | 334268 | 363510
40 | 228496 | 231777 | 383820
70 | 146892 | 148173 | 221326
110 | 99741 | 111580 | 157327
160 | 65257 | 81230 | 112028
230 | 38344 | 56790 | 77514
310 | 22355 | 39249 | 55907
400 | 13402 | 26899 | 39742
500 | 8382 | 17855 | 28362
650 | 5313 | 11450 | 17497
800 | 3352 | 7816 | 11030

(Note: I'm not quite sure, why my numbers for master are lower than
Alik's one. Probably, our test methodology differs a bit. Perhaps,
it is because I don't recreate tables between client number change,
but between branch switch).

These results look very cool!
I think CSN is eventually inevitable, but it's a long distance
feature. Thus, this optimization could make us a good serve before we
would have CSN. Do you expect there are cases when this patch causes
slowdown? What about case when we scan each xip array only once (not
sure how to simulate that using pgbench)?

Patched version allocates a bit more memory per process (if number of
backends is greater than 60), and for copied snapshot (if number of
concurrent transactions is greater than 60).

I have no strong evidence patch could cause slowdown. Different
When xip array is scanned only once, then XidInMVCCSnapshot consumes
usually 0.2-0.5% CPU in total, and scanning xip array even less. So
even building hash table slows first scan in three-four times, it could
increase overall CPU usage just on 0.5-1%, and it is not necessary
directly mapped to tps.

--
With regards,
Sokolov Yura aka funny_falcon
Postgres Professional: https://postgrespro.ru
The Russian Postgres Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Robert Haas
robertmhaas@gmail.com
In reply to: Alexander Korotkov (#3)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Thu, Aug 10, 2017 at 11:12 AM, Alexander Korotkov
<a.korotkov@postgrespro.ru> wrote:

These results look very cool!
I think CSN is eventually inevitable, but it's a long distance feature.
Thus, this optimization could make us a good serve before we would have CSN.
Do you expect there are cases when this patch causes slowdown? What about
case when we scan each xip array only once (not sure how to simulate that
using pgbench)?

Just a random thought here:

The statements pgbench executes are pretty simple: they touch one row
in one table. You wouldn't expect them to scan the xip array very
many times. If even those statements touch the array enough for this
to win, it seems like it might be hard to construct an even worse
case. I might be missing something, though.

We're not going to accept code like this, though:

+            d = xip[i] >> 6;
+            j = k = xip[i] & mask;
+            while (xiphash[j] != InvalidTransactionId)
+            {
+                j = (k + d) & mask;
+                d = d*5 + 1;
+            }

Single-character variable names, hard-coded constants, and no comments!

I kind of doubt as a general point that we really want another
open-coded hash table -- I wonder if this could be made to use
simplehash.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#6Sokolov Yura
funny.falcon@postgrespro.ru
In reply to: Robert Haas (#5)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

В Fri, 11 Aug 2017 14:05:08 -0400
Robert Haas <robertmhaas@gmail.com> пишет:

On Thu, Aug 10, 2017 at 11:12 AM, Alexander Korotkov
<a.korotkov@postgrespro.ru> wrote:

These results look very cool!
I think CSN is eventually inevitable, but it's a long distance
feature. Thus, this optimization could make us a good serve before
we would have CSN. Do you expect there are cases when this patch
causes slowdown? What about case when we scan each xip array only
once (not sure how to simulate that using pgbench)?

Just a random thought here:

The statements pgbench executes are pretty simple: they touch one row
in one table. You wouldn't expect them to scan the xip array very
many times. If even those statements touch the array enough for this
to win, it seems like it might be hard to construct an even worse
case. I might be missing something, though.

With zipfian distribution, many concurrent transactions tries to update
the same row. Every transaction eventually updates this row (may be
after waiting), so there are a lot of concurrent row version, and
transaction scans through its snapshot many times.

We're not going to accept code like this, though:

+            d = xip[i] >> 6;
+            j = k = xip[i] & mask;
+            while (xiphash[j] != InvalidTransactionId)
+            {
+                j = (k + d) & mask;
+                d = d*5 + 1;
+            }

Single-character variable names, hard-coded constants, and no
comments!

I totally agree. First version (which you've cited) was clear POC.
Second version (I've sent in Thursday) looks a bit better, but I agree
there is room for improvement. I'll try to make it prettier.

BTW, I have a question: there is CopySnapshot function, so snapshot is
clearly changed after copy. But I could not follow: is xip and subxip
array changes in a copy, or it remains the same to original, but only
other snapshot fields could be changed?

I kind of doubt as a general point that we really want another
open-coded hash table -- I wonder if this could be made to use
simplehash.

I like simplehash very much (although I'm missing couple of features).
Unfortunately, siplehash is not simple enough for this use case:
- it will use at least twice more memory for hash table itself (cause
it have to have 'entry->status' field),
- it has large header (ad-hoc hash-table consumes 1 byte in
SnapshotData structure),
- its allocation will be trickier (custom hash-table is co-allocated
after xip-array itself),
- its insert algorithm looks to be much more expensive (at least, it is
more complex in instructions count).

I thing, using simplehash here will lead to much more invasive patch,
than this ad-hoc table. And I believe it will be slower (and this place
is very performance critical), though I will not bet on.

BTW, ad-hoc hash tables already exist: at least recourse owner uses one.

--
With regards,
Sokolov Yura aka funny_falcon
Postgres Professional: https://postgrespro.ru
The Russian Postgres Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#7Robert Haas
robertmhaas@gmail.com
In reply to: Sokolov Yura (#6)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Sun, Aug 13, 2017 at 11:05 AM, Sokolov Yura
<funny.falcon@postgrespro.ru> wrote:

BTW, ad-hoc hash tables already exist: at least recourse owner uses one.

Yeah. :-(

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#8Sokolov Yura
funny.falcon@postgrespro.ru
In reply to: Robert Haas (#7)
1 attachment(s)
Re: Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Simplified a bit and more commented patch version is in attach.

Algorithm were switched to linear probing, it makes code simpler and
clearer.
Flag usages were toggled: now it indicates that hash table were built,
it also makes code clearer.
XidInXip and some other functions got comments.

--
With regards,
Sokolov Yura aka funny_falcon
Postgres Professional: https://postgrespro.ru
The Russian Postgres Company

Attachments:

0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot-v3.patchtext/x-patchDownload
From 5851f01de6b793be5e682c67db8db339667be92d Mon Sep 17 00:00:00 2001
From: Sokolov Yura <funny.falcon@postgrespro.ru>
Date: Mon, 10 Jul 2017 12:34:48 +0000
Subject: [PATCH] Make hash table for xip in XidInMVCCSnapshot

When lot of concurrent transactions attempts to update single
row, then linear scan through running list in XidInMVCCSnapshot
became noticebale bottleneck.

With this change, hash table is built on first search of xid in
snapshot->xip and snapshot->subxip arrays.

If size of array is smaller than 60, then linear scan is still
used, cause there is no much benefits from building hash then.
(at least on Intel Xeon).
---
 src/backend/storage/ipc/procarray.c | 67 +++++++++++++++++++++------
 src/backend/utils/time/snapmgr.c    | 24 ++++++----
 src/backend/utils/time/tqual.c      | 91 ++++++++++++++++++++++++++++---------
 src/include/utils/snapshot.h        | 11 +++++
 4 files changed, 151 insertions(+), 42 deletions(-)

diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index a7e8cf2d43..2c7e065342 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1469,6 +1469,54 @@ GetMaxSnapshotSubxidCount(void)
 }
 
 /*
+ * ExtendXipSizeForHash - calculate xip array size with space for hash table.
+ *
+ * Hash table should be at least twice larger than array to not depend on
+ * cleverness of algorithm.
+ *
+ * But if xipcnt < SnapshotMinHash, then no need in hash-table at all.
+ */
+int
+ExtendXipSizeForHash(int xipcnt, uint8* plog)
+{
+	int size;
+	uint8 log = 0;
+
+	size = xipcnt;
+	if (xipcnt >= SnapshotMinHash)
+	{
+		log = 1;
+		while (xipcnt) {
+			log++;
+			xipcnt >>= 1;
+		}
+		size += 1<<log;
+	}
+	*plog = log;
+	return size;
+}
+
+/*
+ * AllocateXip - allocate xip array, extended for hash part if needed.
+ *
+ * Hash part will be used in tqual.c in XidInMVCCSnapshot (XidInXip).
+ */
+static TransactionId *
+AllocateXip(int max, uint8* plog)
+{
+	int size;
+	TransactionId *xip;
+
+	size = ExtendXipSizeForHash(max, plog);
+	xip = (TransactionId *) malloc(size * sizeof(TransactionId));
+	if (xip == NULL)
+		ereport(ERROR,
+				(errcode(ERRCODE_OUT_OF_MEMORY),
+				 errmsg("out of memory")));
+	return xip;
+}
+
+/*
  * GetSnapshotData -- returns information about running transactions.
  *
  * The returned snapshot includes xmin (lowest still-running xact ID),
@@ -1537,19 +1585,10 @@ GetSnapshotData(Snapshot snapshot)
 		 * First call for this snapshot. Snapshot is same size whether or not
 		 * we are in recovery, see later comments.
 		 */
-		snapshot->xip = (TransactionId *)
-			malloc(GetMaxSnapshotXidCount() * sizeof(TransactionId));
-		if (snapshot->xip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
-		Assert(snapshot->subxip == NULL);
-		snapshot->subxip = (TransactionId *)
-			malloc(GetMaxSnapshotSubxidCount() * sizeof(TransactionId));
-		if (snapshot->subxip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
+		snapshot->xip = AllocateXip(GetMaxSnapshotXidCount(),
+				&snapshot->xhlog);
+		snapshot->subxip = AllocateXip(GetMaxSnapshotSubxidCount(),
+				&snapshot->subxhlog);
 	}
 
 	/*
@@ -1757,6 +1796,8 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	snapshot->xhlog &= ~SnapshotHashBuilt;
+	snapshot->subxhlog &= ~SnapshotHashBuilt;
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 08a08c8e8f..7c3fe7563e 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -662,13 +662,16 @@ CopySnapshot(Snapshot snapshot)
 	Snapshot	newsnap;
 	Size		subxipoff;
 	Size		size;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	Assert(snapshot != InvalidSnapshot);
 
+	xcnt = ExtendXipSizeForHash(snapshot->xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(snapshot->subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = subxipoff = sizeof(SnapshotData) +
-		snapshot->xcnt * sizeof(TransactionId);
-	if (snapshot->subxcnt > 0)
+	size = subxipoff = sizeof(SnapshotData) + xcnt * sizeof(TransactionId);
+	if (subxcnt > 0)
 		size += snapshot->subxcnt * sizeof(TransactionId);
 
 	newsnap = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -677,6 +680,8 @@ CopySnapshot(Snapshot snapshot)
 	newsnap->regd_count = 0;
 	newsnap->active_count = 0;
 	newsnap->copied = true;
+	newsnap->xhlog = xhlog;
+	newsnap->subxhlog = subxhlog;
 
 	/* setup XID array */
 	if (snapshot->xcnt > 0)
@@ -2124,16 +2129,18 @@ RestoreSnapshot(char *start_address)
 	Size		size;
 	Snapshot	snapshot;
 	TransactionId *serialized_xids;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	memcpy(&serialized_snapshot, start_address,
 		   sizeof(SerializedSnapshotData));
 	serialized_xids = (TransactionId *)
 		(start_address + sizeof(SerializedSnapshotData));
 
+	xcnt = ExtendXipSizeForHash(serialized_snapshot.xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(serialized_snapshot.subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = sizeof(SnapshotData)
-		+ serialized_snapshot.xcnt * sizeof(TransactionId)
-		+ serialized_snapshot.subxcnt * sizeof(TransactionId);
+	size = sizeof(SnapshotData) + (xcnt + subxcnt) * sizeof(TransactionId);
 
 	/* Copy all required fields */
 	snapshot = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -2142,8 +2149,10 @@ RestoreSnapshot(char *start_address)
 	snapshot->xmax = serialized_snapshot.xmax;
 	snapshot->xip = NULL;
 	snapshot->xcnt = serialized_snapshot.xcnt;
+	snapshot->xhlog = xhlog;
 	snapshot->subxip = NULL;
 	snapshot->subxcnt = serialized_snapshot.subxcnt;
+	snapshot->subxhlog = subxhlog;
 	snapshot->suboverflowed = serialized_snapshot.suboverflowed;
 	snapshot->takenDuringRecovery = serialized_snapshot.takenDuringRecovery;
 	snapshot->curcid = serialized_snapshot.curcid;
@@ -2161,8 +2170,7 @@ RestoreSnapshot(char *start_address)
 	/* Copy SubXIDs, if present. */
 	if (serialized_snapshot.subxcnt > 0)
 	{
-		snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
-			serialized_snapshot.xcnt;
+		snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
 		memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
 			   serialized_snapshot.subxcnt * sizeof(TransactionId));
 	}
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f9da9e17f5..a5e7d427b4 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1451,6 +1451,69 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 }
 
 /*
+ * XidInXip searches xid in xip array.
+ *
+ * If xcnt is smaller than SnapshotMinHash (60), or *xhlog is zero, then simple
+ * linear scan of xip array used. Looks like there is no benifit in hash table
+ * for small xip array.
+ *
+ * If xhlog points to non-zero byte, then space for hash table is allocated
+ * after xip array, and logarithm of its size is in xhlog.
+ * Most significant xhlog bit should be set if hash table is already built.
+ *
+ * Hash table is built using simple linear probing. It allows keep both
+ * insertion and lookup loop small.
+ */
+static bool
+XidInXip(TransactionId xid, TransactionId *xip, uint32 xcnt, uint8 *xhlog)
+{
+	TransactionId *xiphash;
+	uint32 i, pos, mask;
+	int found = 0;
+
+	if (!TransactionIdIsNormal(xid))
+		return false;
+
+	if (xcnt < SnapshotMinHash || *xhlog == 0)
+	{
+		/* full scan for small snapshots and if xiphash is not allocated */
+		for (i = 0; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+
+	mask = ((uint32)1 << (*xhlog & ~SnapshotHashBuilt)) - 1;
+	xiphash = xip + xcnt;
+
+	if (*xhlog & SnapshotHashBuilt)
+	{
+		/* Hash table already built. Do lookup */
+		pos = xid & mask;
+		while (xiphash[pos] != InvalidTransactionId)
+		{
+			if (TransactionIdEquals(xiphash[pos], xid))
+				return true;
+			pos = (pos + 1) & mask;
+		}
+		return false;
+	}
+
+	/* Build hash table. */
+	*xhlog |= SnapshotHashBuilt;
+	memset(xiphash, 0, (mask+1) * sizeof(TransactionId));
+	for (i = 0; i < xcnt; i++)
+	{
+		found |= TransactionIdEquals(xip[i], xid);
+		pos = xip[i] & mask;
+		while (xiphash[pos] != InvalidTransactionId)
+			pos = (pos + 1) & mask;
+		xiphash[pos] = xip[i];
+	}
+	return found != 0;
+}
+
+/*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
  *
@@ -1463,8 +1526,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 static bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1496,13 +1557,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1523,16 +1579,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xcnt, &snapshot->xhlog))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1562,11 +1614,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index 074cc81864..c2c77f046c 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -23,6 +23,15 @@
 typedef struct SnapshotData *Snapshot;
 
 #define InvalidSnapshot		((Snapshot) NULL)
+/*
+ * Big running list will be converted into hash table on demand.
+ * SnapshotMinHash is threshold between "linear scan" and "hashtable on demand".
+ * SnapshotHashBuilt indicates that hash table was already built.
+ */
+#define SnapshotMinHash			(60)
+#define SnapshotHashBuilt		((uint8)0x80)
+/* Calculate size to hold both array and hash table (if needed) */
+int ExtendXipSizeForHash(int xipcnt, uint8* plog);
 
 /*
  * We use SnapshotData structures to represent both "regular" (MVCC)
@@ -76,6 +85,7 @@ typedef struct SnapshotData
 	 */
 	TransactionId *xip;
 	uint32		xcnt;			/* # of xact ids in xip[] */
+	uint8		xhlog;			/* log2 of allocated xip hash part */
 
 	/*
 	 * For non-historic MVCC snapshots, this contains subxact IDs that are in
@@ -92,6 +102,7 @@ typedef struct SnapshotData
 
 	bool		takenDuringRecovery;	/* recovery-shaped snapshot? */
 	bool		copied;			/* false if it's a static snapshot */
+	uint8		subxhlog;		/* log2 of allocated subxip hash part */
 
 	CommandId	curcid;			/* in my xact, CID < curcid are visible */
 
-- 
2.11.0

#9Michael Paquier
michael.paquier@gmail.com
In reply to: Sokolov Yura (#8)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Tue, Aug 22, 2017 at 9:17 PM, Sokolov Yura
<funny.falcon@postgrespro.ru> wrote:

Simplified a bit and more commented patch version is in attach.

Algorithm were switched to linear probing, it makes code simpler and
clearer.
Flag usages were toggled: now it indicates that hash table were built,
it also makes code clearer.
XidInXip and some other functions got comments.

This patch still applies but nobody seems interested in it. So moved to next CF.
--
Michael

#10Stephen Frost
sfrost@snowman.net
In reply to: Sokolov Yura (#8)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Greetings,

* Sokolov Yura (funny.falcon@postgrespro.ru) wrote:

diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 08a08c8e8f..7c3fe7563e 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -662,13 +662,16 @@ CopySnapshot(Snapshot snapshot)
Snapshot	newsnap;
Size		subxipoff;
Size		size;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;

Assert(snapshot != InvalidSnapshot);

+	xcnt = ExtendXipSizeForHash(snapshot->xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(snapshot->subxcnt, &subxhlog);
/* We allocate any XID arrays needed in the same palloc block. */
-	size = subxipoff = sizeof(SnapshotData) +
-		snapshot->xcnt * sizeof(TransactionId);
-	if (snapshot->subxcnt > 0)
+	size = subxipoff = sizeof(SnapshotData) + xcnt * sizeof(TransactionId);
+	if (subxcnt > 0)
size += snapshot->subxcnt * sizeof(TransactionId);

Here you've changed to use xcnt instead of snapshot->xcnt for
calculating size, but when it comes to adding in the subxcnt, you
calculate a subxcnt but still use snapshot->subxcnt...? That doesn't
seem like what you intended to do here.

diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f9da9e17f5..a5e7d427b4 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1451,6 +1451,69 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
}
/*
+ * XidInXip searches xid in xip array.
+ *
+ * If xcnt is smaller than SnapshotMinHash (60), or *xhlog is zero, then simple
+ * linear scan of xip array used. Looks like there is no benifit in hash table
+ * for small xip array.

I wouldn't write '60' in there, anyone who is interested could go look
up whatever it ends up being set to.

I tend to agree with Robert that it'd be nice if simplehash could be
used here instead. The insertion is definitely more expensive but
that's specifically to try and improve lookup performance, so it might
end up not being so bad. I do understand that it would end up using
more memory, so that's a fair concern.

I do think this could use with more comments and perhaps having some
Assert()'s thrown in (and it looks like you're removing one..?).

I haven't got a whole lot else to say on this patch, would be good if
someone could spend some more time reviewing it more carefully and
testing it to see what kind of performance they get. The improvements
that you've posted definitely look nice, especially with the lwlock
performance work.

Thanks!

Stephen

#11Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Stephen Frost (#10)
6 attachment(s)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Hi,

I've done a bit of benchmarking on the last patch version (from 22/8),
using a simple workload:

1) 8 clients doing

SELECT SUM(abalance) FROM pgbench_accounts

with the table truncated to only 10k rows

2) variable number (8, 16, 32, ..., 512) of write clients, doing this

\set aid random(1, 10000 * :scale)
BEGIN;
UPDATE pgbench_accounts SET abalance = abalance + 1 WHERE aid = :aid;
SELECT pg_sleep(0.005);
COMMIT;

The idea is to measure tps of the read-only clients, with many throttled
write clients (idle in transaction for 5ms after each update). This
should generate snapshots with many XIDs. Scripts attached, of course.

The results look really promising (see the attached chart and .ods):

write clients master patched
8 7048 7089
16 6601 6614
32 5862 5944
64 5327 5349
128 4574 4952
256 4132 4956
512 2196 4930

That being said, I think Stephen is right that there's a bug in
CopySnapshot, and I agree with his other comments too. I think the patch
should have been in WoA, so I'll mark it like that.

simplehash is great, but I'm not sure it's a good fit for this use case.
Seems a bit overkill to me in this case, but maybe I'm wrong.

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachments:

xid-select.sqlapplication/sql; name=xid-select.sqlDownload
xid-update.sqlapplication/sql; name=xid-update.sqlDownload
xid-tests.shapplication/x-shellscript; name=xid-tests.shDownload
xid-hash.odsapplication/vnd.oasis.opendocument.spreadsheet; name=xid-hash.odsDownload
PK!seL�l9�..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPK!seLx���
�
Thumbnails/thumbnail.png�PNG


IHDR����'efPLTE$$$+++333<<<@@@KKKTTT[[[ccckkksss{{{���������������������������������������������������Q���
IDATx����r�8���I$�A��~������1�"��57`\)UP�~7�"H��v}����3�//_/��6���r}j�]��^�������������P���/��7����_�������AG\�A%���BY�u��Fz�V�0��������k7����tv��g���I�+��C4��K�d���b���|�4�����X`=����5�[7I������hY�Z�\���)>�����@x~��D�q��]��K����f9>��������N�����:� ��7��y�n]%d���� �����34]4�����c,S�����;@���_��#
�9ML����.��sk�
���f�����X�O���<�1����S���O������><������5�'>��g9A)G�����r7��V���
-����N�i�Gi���_�o���z_{���&��0q��F��1�S��&}�+S����u�Z���Do��X��0��C	�&d��[���Y�:�>��0i�vYN{�
���X�*b�U���}��Ge���G���G���~�vH�nu���0������l�������y��������|�S���|���,P�te�~{��������]�a�f�����aV`^�r�����N@������~��=P�YG�{X{M$�F�r������)�):w��Y�[]�q��O�S�C�E�.�k�/E����u�������#KH#��0�����Th��<^���z��R���w!J�3W)�������(��:vyS��>���\����^���T���Vm<�}*���V��Ny_{�4))��8���X{�T���m	2�y*�*���U��{Z�W$�N�!�K��}���[�V�����`h��`�����_V?J�����V��`<�R�~���'K[����t\{���*-(���Ny�#������Uc�TG��>dl���k?NRe���S��v�-�8����2������}�c�z\��t�������������h���i��E/�U�z
�s2`^a�d�>ds_{�>��.q�){�oFJ�k��$_c� E����hd�+9����>�
�s���]�P��#��j�N���+�����P!��E/�	y�����d]��HF�x����2�Ty^�@�E�k�FT�q���d���3�����c&�!k��u�}������y���$hpT{:A�����>�n5��7����=�6^(�q�;�����k��	h��j�k|`9��)C��Y�e���trm:o����+Y�ICv9�4����4��
X���zo'�������������
7�5���9io��M�jwD�S�i/�U�NA��F.T��������k���`��Z�P�[�����>�����������H�B�N�I���}u�AO�����{�D�.jd�Q�}2�E]vdE�M�l�� �x�wT��\�d=/rE��Q������Q��Zt�O3�������<�Cz��6��$p�}XNB�:h����[Va\KhRm�xO{�%��c7'o�G�_��:F^Wm�����9��S_����WT?�t�T��<����]um0���*����\��F_�� �}��7��`Lb�9�If����%
�P~��ti��EnX��~`�@��H�Q�t��]�a����������.�:��?�!������c�r�1Wc:V��:�,����AF��=������&J3��=��p:�9]�rL{��Ms��������tq}A����r�����T��>���/��U�A~�qKI�=�����hEo�������_5n��+}�����S���adAb/���]�q����QS�J<
*�������K�%����l�N�KV����Mi},�	Z�����"����c����>PR����sw<������?�;�?��|�����O����I���%�]�L~J�P{��
�.P�~:z�J��#���)����5�&�����=�4����N��H��Q~\��s�O�I?�'�����~�O�I?�w��������^y	QY�,08=�q�)T�6����K�y��b���w�2��c7����M�]��N��1'�����~�O�I?�'������W�7Jh�0(>�qw�IM��E�tU�U)�~���:"��R��9����"�j�VN�	,.�������1'�����~�O�I?�'�����~�A�U���=�]0hopIg�k
���s�p�����k��]������lrg���]��e�����J��WmT���cZ!�y���sVz��M���w�������i1H��������9�����~�O�I?�
z�4vE��W���(�Y���*��yw� ���X:��V�$^���;�-�ZFv=cv��I?�'�����~�O�I?�'��8����m/Nw��]z�#w�|�
U�����t���?�������y��l�����	��(5=�����~�O�I?�'�����~����v<EwL����F���6V�����O���x�.�q���Vo��}.�.
�5+`���,���K��}�(~;�w,M?�'�����~�O�I?�'����������>���O����~�O�_����P�e�IEND�B`�PK!seLcontent.xml�][s���~�_�R��M�g���N���g653��[��(�IT�T��_�R"!��>j[2\�<�X���|������/�������r}3b��������������������~(��b�_���v�����\7��+������7�m��.������*����u����\�!����K���%:{s7����c�f���[p�{Ve���N
��Kl�/�r</���M�����,������fs=�����{A�j1a��I{�7x��6�j��f�I��}e��6�cWy�a������vu�Wh�dM���*���WP���}^�{���7O��
��Z�aW3|W�0�*k���k'?�����>
��Za���WM�b�nf���e���3t��5�S*'��}�,��*��
��g��l9�=^��r�������� ����d���r�gG���O�~����l���u�d��3�'�hK���7e�����'_`����5�����_�C�l�$��F`�?����������p>}6����$�=L���_���v=������M^�R�l�]���e�E�������������7��b�r���3@�/7�A��u�Z}��;z9�?.������h����_&���/��0�j
�|�a�7���z�'�a�0�g�|<�������'_u���7�O,�{�~��0�`"�CW���f��������%������"_�#`�����>@l�f
���*��7y��?�����}���1��n��Kl�T�������:[@���z��u���
��7�H�����/�b����v��jO���]z�mJXj���-����������l��v���r�Z��9����_^5E^_����*�~��0�@_�������U_KB��i��y�6~)��&�4���L���D���l3�}�m���V���������O�����������o�|\n�b�-�a����x���i���+����x�-��~��g�e��QA��lV��e���gW��*B�5^�3(iY����M��]|2�������j����P�4��",��:�*��'.����~�]@u�bQ4p��v=a�3�3?6������&�|l���9�����������������
y���jf��M����8NWu�,fW�������=x;WGU]/�VaM�9R~8��f�S��1���a�����Y~�'{s]���z�I�	�;6Q�gx���o[:b�������S����������o�v��_ej�����e�a�����W������k�?�u�K��p3�[����^�t3�o���V�������;}�-�7F��|���r���6w���q�;���PXU�����6i^,�	^d��g���*�Uzs�-���;o��8�}�5L�������Jh��c���|���.TC��U;���m�����4hV������[���_�89�N�.����A���cf�]�7~��e/qo��d:������8z(s^�g�ev�/!>�g����C���rt����U��{��>��3�w�����������,������1�v������:�p��pE��Z�O�K�b�>*aN����o�����t�����?��I�
��|\��U�^�p~�^�?�z�������O�q��8`�?������8`?ZOG��o�	�����{}W�����_���������Xm��+mZ}������|�O����z3*���l��Q��E�d������-~�Z'C���'��;���n�*��.�	*�W�&��f�3��Y�2ucX�^~:��^{�J��=��{�6���o���{�sTS�X]��A=q
�o������.�t��N*F��^lJ���`�&k�w��$S&�P��+���l�|Yf�����}���o�}��5�&C�%�8g�F��3\�B����J��ZY'��2
L����JkJ���Q�P�Ava� VS!9���A��n"8���_�e5���T�J�}���:)�S�Z��M �;�&G�>��/&ApM��\����-��H�`U4H�{^t8��]�	�����.k�S�Ra����>���(\�W�]�&Q�*&p�2\v��5�Z8��]�����wy��p�p/������S�
�8�������	J'(�N:��]2\���.���w�gd�s������j�Q���K���K�Y��(�c�����;%�[*�����%�^]��2����~�B��������l�o�+�7U2��
.T9O��P�U���H�a����H�0���C�O$�"$N�<O��iC�gqB�O$��.�8��i����O>����`�L$R���Z(\_
���pY�-F�"��F�R�p�z�O$�~�y�\$
J4U��|�/Eb��L��Nh�Z!�S857���T���i��N�}pJ$�a��Db�S\H~�L}B8���R(���c��LO��iEYA�0�"7B>����� R8���x"1qEk!	l)2���x���&�X��4��Dc<��
hq�$�=>������X�tB�O4�#���S�AN�>�O��5��8�|R-�'��p�C���|�1*�O�JIq����c#�L/���r�e9R����xT��#�sN�o��Dc<:���@(��c�O4���(�,1�Q�}���'��q�S�:'n����xt]����Rb�O4���(�8a�j4�=>����g�k�,�M��h�G�Q�0���C9��'c�q������|�9��F�����.t%4%�!��q�'#�q���
c��OO$F��H*	5�!?����8\+b93��d|�1"G���(-�������T��Z+��8�DcD*����N��<�DcD*�d�@��KcO$F��H����b��h�J�����DJY>6"��i�w����2DMq{��h�I��
z.�C~u(�'"cRr��V<m������I���r����/�����I���9��Da��'"c�s`�)U�a�������"�Q��g��1i:RiAu
}�DdL��0G��������K���s��2�G�|lT��,���������qI��ODF��P��0� |�����j(�Lj�s>�������Z�4c�'"��veDZ��^������P���4��Qi;�Z"�
���DdT���	���5��Qi;����q+�k��ODF��P��r�!?$�c��l�G�m�{�FS&����DdL��T)$����h�I��B3��1��=|"2&e�e��RK��>��1);��A���]G��<��1);\
�*
S�%��'"cRv�9�DX������I���Y��tM�DdL���s��s�OD���0�O��\i��D*������tn�fz��FO0�d_1}��y�/��y��}��K�a:�>�B�@���1a
n�>������i�ZK�G}|"1i�Pg���Z���=>��,h��������Db,�����H�����������6*H|"1)v��p����~)
���=��Xn��#>
�XT:��&�a�/���x�9��%Ne�������>��Me�(�J[����h�GX��:��0��|�1iEkF	�i���=>������D[�|Q`�'�W�����Q,�=>����������}j�O4F$�h.�n�G�����x�V���0��=>������(�Z��8k�O4���h-5��� ?s�c#����{KG9�3�Hy�O4���(���-��|�1GY��#)�A�>���C�"�n����h�G�Q��Z!���(�G�Q�X���������x4�� �R�|�;�'��p���p%)�[�>���+L��2,�>�����T�9������|�#��T��e����V�O4F��H%��e�B��DcD��+��7�Dc<��+��^�������5�BI���i8�B����|�1"
�oW�`�����h�H���w)�+3>�����!���Jg�O4F����\"���o����8�������q�'"c�q���h��D��9��1)9������H{x�1&%G�3�s������I��N1�(���S<|"2&E�a�R�
9��1i:�1M���?�����I�����V�3|"2*]�J���+�w�|"2.eG:��y�U�����?l�-�i�#FI���|"2.e��	���|"2*e�)E(uZ`%����I�Q�Yb4����>��c�$B*�|9�'"��v�w6��5r�'"c�v��(�
��>���(�)���t�OD���H��3���|"2.mGQJ	�\#?��c�����{Sm��>�	�|
-�'"��v�15Tbb�����k���v���1i;�)C�R��@�ODF��8�c�i��u�ODF��8����*���������9'FY�pm�OD������!�pLaw�=>���(SDke��G�OD������{O���He��7�S8�_6U^�E��'��XCb6����o����kVN��|��������7PK�A��3PK!seL
styles.xml�Z[o��~�����W���f���!A�I$i_Z��l(Q �]���CR��n�iNO��E~3~s�P�����G"$��M�^�a@�����o��?��^�����y����R��)����p)wv�&�E��XR�+qA�N%;^��	����Y��eK�
�-���Z*��Y|�|enK���
k,p���R�{�P�Q��
+�������MxP��E��tZ�.V\��z��Ff��x\UfPiF�b2Z����D���il���.��XL
Vx��J	����e��2��:�����O���Xg�
��ty�\�m����_Do`��x��W�X���v�J�o�����so���n����ed�[��,�$�"�Of�	f�g�c�n��y�z����"A*.�7$[^����O��*�t��Y�E��B�����)9=���y��������:�4���{.�"��A��2�ig� �TOaf�v
��a�	*�3���SX)a.���F�p�
�h	A��]K���R^�1W||�9�O���:��t����q853��������x~8������5��i6|�%)�%-({�	�����pv0:�5���]C�������J����&6�y�^���/��Y-���"������
^�#.q2�|����>�Z����:)x�6xO��a1i���_fq4���m���R���5m����lJ
Jc��WX�\���*�+"�^�N��
�T*\����y��$�d�3'�#�;����9���$P>��~��U �������8=����4
����C��o`�~^�h_��������K�a���wF����N*�?i{�N�����+|��C	d��|��fIfX=�*�+�����FDp�O�G�`/VW����7-��V\VXM	�P��vVu���D��
��j6=��$�N�2��&���sT��W���gi�}��K�Q��0��3I<�.���sc����Z���Y�q�51�?r@�g
��.g��_K�����F{ra�1��4E��(
M���)��u������5������5�N����6{��y*hi��R�S%�D���N�#�������R���]�vq��H_���F<w�9k�����h����S1�?8~h���9�
�f�����L���fs����-���,�+��_��^fY_z�F����_�<�[������Q���G�j���_���v��XC6��������A�l����p�?y��pEd�s��F��;8�h��s��j=Y�F�������`�`��4�-7N��=��.u�?��$���L���o�>R�B��n;�J�=�-FrF�	����5�nU&M�8���s�Dh~�;&�o�g��<��.��mB?��<\�G��+���1^h��c4/�4)��{�\@k�5�P�J�Z���(?+�	�/����^'�����"����0�~��K(��!Ep�h���r#��#W�n�_?��//�(���p��3�����]���e&�v��O�������U?�wK�[��}y�^b8��xX������Ra����^4����5	rn%�U�V��T�:
7��~2���y#H�sK��8����u�vh��f���jU`��#L��Aa���;��~���*�Vm��Ljl������]{��xo�o�����"��mV�0�N&x�/�pj?��WWk'��O��/S�6(��?�N7��e��@$���xTG����(��*���f����T;F��5m>a����������^G��f�������b�dT|��_���K�����������TuH�5!�����Og���uG_�{7m��$;���U�
�������2�[nn���\Q<���X���/P|��82�q�X�����`�>�w��=>]����
�6����o�m��B��g{4�7<�?PK����$PK!seLmeta.xml��Oo� �������� �H{�SW[������iJ�@��~�b;N�U=��7����W�X'��Q���FH�����g�@+vW��W��
��=h��7Qh�����VS�8��n�����@O-��������k����b�u]����;�.�K<T'T�3wh�(�1(�N�Ol����z�2�1�l��c��.#���y�wVu���qH��&������t���g�M��c�Jp:�e$]�$��|��iZ�<KH������
OX5�!}x�X���a2{Z���
��^7�\�c��I�h���G���{H��I�<$��Q�����(7e]��5��}X��G+�������q��g9":/y4���*��i��Q�F��R�V��I5��j�S�Y��6�o�b�	PK��@�PK!seLsettings.xml�Z�s�8~����;�WJO�Chr�5�f0I{}���Z�$C�_2�Lp������`I�.��oW+�}z�YmBR�=�u��j�]�(�����e�������S������U]�Rz����\��p�
��H*mN|��rm�o���g�ka��GF�C��+���r�<Zv�P������zt;�E>�������E!���hA��ZX��<n����F�g�i[�������?�Mm�8R�gi������jV���5�T�	��2����U�)WV�y�x	��
L����S�4�N���=�
�l��z������_�IP���G���`����k��U�ay�%��Jh���C��i��sL�E�Rtw�O������(nQR��G�����O��W(�/��0'`T��$�?Gq���P�5���~k�2C������X���e��]|�o����eq��������B�D����X�����=aa5��fQ�D��*z� �3����&i{���p��D��)_�Y����8�����+��8�r�}��U9�*�%�A�����+��X�b��Kg
�$yCk�:���l��`�q26!"��:���r�C�,p.�<�
��jY7%Lfx\1?A�Z��G�����t�0|9B"C��fQ�����
�6;���U�����>��
���g�4�@���B�(g�O�I�I�!k���)�Ei]����3����k�p�q������%�0��+��o,HwI����Px'�xtAe��%��+_�ub��#����s����������9R�	*�Qa� $z���^����OgN���A��4]"g+��4��"L���!�.��)�.���K�(������/ �@R�oC���������?�R���	�����-M����-I�k-s�����TW��d��
�o|�P�(yLn�l�l�����
h�wu���z�����U�����$7��B��	�iW/�>�0���z�����^2X^3���s�Q~��0��^]h������!.2���wX���=��]� T8$�
�Tu��� Lv�'DB�����P(������$��D��5}"�!��z�va�N���d#��h�_PKnfQb*PK!seLObject 1/content.xml�ZKo�8���0<�����d$L7���=��{e$Z�6%
$����H�(Ev� �����XdU}��X����SIW/�����g���2���x\����[�����<���dx���P�JZ�$�^��Jl�����W[��
�Xle�e5��Y[S{�m5!�t�t�l���$�NV����y�e�l��9:.��tTs��-�|��1@���$/N�T��{)����G��������G{��^�>p�����+c��l��tK,�R����Ru(�1_
������b1#^��d{�sC+��7��oo��sK$��$q��������^.��tGPe����l������U5�IP������<����GN$��zvU=C4�g�h��9�a�E���
qa��4����/.��o��+��
��me�TB�j@��M�i�p\3.{`v�&������%���j�S-x����;���g�|�iT��!u��(����\G+�U��	J��J</�Sh��'W>��5�����`r��w,��\�
�rN0��E��2�Y��@��zk���<-[N��w�'e""�sl����������d4�����A2�m$�t�OM�oK~#]5�\�������(����T����� r�[;O���y��8#%�VMQ��@����`f�}�5���+�{�V�C%�g%R��M)8���h
{��$X��a)�����6kX�f��nN?����O��U3A��u��[�3�s�BU��%Wy�)��k��DA��^P���NlA�C��Au�S|j�o�:�<Q{�����n�:��������������A���s�~����P����^��g1��5@g@����(�2z���'y�++��B��!* �+L3��PM��I��<w+R�^�U�����������N��u��4�x>�V�{��e���`�D@1=[=c:��A{�/I6��cu�`(�g
D�����-[���^��p���*�H����.�diu��8����	��D��A����L�O����)����g�����BNn$��'��`�N�M�����so�$���b�:����[���y�a�n%�	�-�lqu���5��~FB{��O�n�.�C���5�-$�$���w��o��7%��G����#����xf���>==4�����#���P?��M��
z{�:W����DI�����������gy��D�ww�e	�B�}F�����n��+�H�(X���7a��H�v��yn��C������{$��a�J$$�N;���:���<2���(6�zv�E����dBn���W%�
��V/�q��p������N0�����N����_����W��qB>���uZ�Om�E����k��.�O5���G��x>�P��)�k:�����u
�8�P��cEq(K���/����k�l��.z�^��	�~���������'j�����`���N]%l�`�m3�8T@$�����v�#+qN���8zm���?=Z������@����jN�i��+�u��d��t3�\"2D�3�N���*�K����N�C3��`\U�4�{����6`v��<~��P����$�8 ���%8�Y�B�I>_��I],����|�&�x�:/������e@�K�l:��i�'����X�;7u���T��I�X��FdM4Kb�o���?SH�����<w���(��,���B���
���Z����?��jfPo5_����=�E����PVb<����f�
;�w���5`����fk�sv��db��K�WK7cI�U��T[?����w��i��{��6(9��l�@��?8����F2��|�K#^/u�y�f�c��E�Gr=y\'F� �������:�q���6i�	��OS��1f
�\NR���a�.�%�2K���q,��=��D.�]�N��s]o�fJ�e������M�����{�����O�Q{v�Q���5Sz'�i�i��o$�)�a��������B�So�lJ�e7L����vnL��������pBR]]?0���Nv����(H���jS����#���������$��y��n��vi��#�{�>�*��}��4���O}�����^����a�y�����J�X������[��c�.�{��_���PK�~�
j�-PK!seLObject 1/styles.xml��K�� ��9�KYc,+��)���LM� $SA�
�#� KA��PYJ����/�/c#w=�F��d�����bP
U_�����[�r�t����X�pe��?%7;'V�L�K�iE�a��
7�2-W���4	��?�Y�<�������=����������C���.����T�h$�1hZj���P?.����`<�~(��k��N'���������*���`���������G-��2��������nT'�7��ez��ru|�E�z�c=,�����C����<}G����\G8{�3*��h��q9v��/�Lk����b�[�v9H�>�.;��mo�����[g��e�������k>�>|^�����p�Vm�T�p������3KW���J��2��S�
n�����k�MTYy�{L���o���j-	.��Y���5	��Z�W�kLa������
�����=N�����L�
����Ct�PK�P���PK!seLObject 1/meta.xml��AO�0��~
Rw���[,��i�M�-�}cUhI)c_(��1�c�~��_���.U��6����4"ja��EF^��
��7�9�@&�h+�.����o�
Ki�f�7�a�W�0'��QO-lN34�\J�?2rr�f]��nI�- �n���*���[[zJ
���b��������1�4����K�h�z�+e��zv	�!w<<+�n�q���G�!|=�lD	��y�y���h�36��7�O�;��{�,�J����f}X��p��yG����C�J&)�8/�oi��_�?PK�u�!IPK!seLmanifest.rdf���n�0��<�e��@/r(��j��5�X/������VQ�������F3�����a�����T4c)%�Hh��+:�.���:���+��j���*�wn*9_��-7l���(x��<O�"��8qH���	�Bi��|9��	fWQt���y� =��:���
a�R��� ��@�	L��t��NK�3��Q9�����`����<`�+�������^����\��|�hz�czu����#�`�2�O��;y���.�����vDl@��g�����UG�PK��h��PK!seLConfigurations2/toolbar/PK!seLConfigurations2/progressbar/PK!seLConfigurations2/floater/PK!seLConfigurations2/menubar/PK!seLConfigurations2/accelerator/PK!seLConfigurations2/statusbar/PK!seLConfigurations2/toolpanel/PK!seLConfigurations2/popupmenu/PK!seLConfigurations2/images/Bitmaps/PK!seLMETA-INF/manifest.xml�T�n�0����T��*8�����T�se�up?ox�}m��B"n�z<3k�w4Y�*YB��59�����P����l�>���7��(	��"	��o�9ij�Y�����3�u`
+
���l���������� 
���-��J�EN�)�CYC�x�9��UJp0�4���>�w5��/��.Vf�F�
W�g�_Rg�V��%�x�IEX��fx��kd����M����_�+ �|^����~������v��F��i��R	H�B����p�B�V�K�Zs��#��i,_�_�h@��%v�>�U(Z�����ILZ����X�����h]�3���sgO�HU6����m�7&>2m�Q|�����/PK9L��pPK!seLObjectReplacements/Object 1�][lU��--�-�~��
����,������J�[P�-)J�mQC�p�w
����'I�&��
F���b���O���3�3���mw��0K��;�;s����3gfg��J���Z���� �������g,���[��|J8���<������8�f7�������Q��}�Z:_��-Y+��6X{W#T�mu������8~��I��uL]��lQ���
��7�GZP����k�^Q���d�����J"�6U��7�ln�P��\�p����u�?���K/.���\.X��'����YV/�����q�X��q�{p���D�����"M�()j6��-'!g��r6r/��e<c���{0|��c�X[������&����r���2k�zk�q�#<e�49�$��#>Cx��ir�I�-����SfM�CObm9|��SfM�CObm9c�s`��r�I�-��(�)����'����'�L��I9l"��I�SfM��H��a9*s����&�����&r|�Lx��irI9l"G�j�)���a$q���W�����&�����&rt<"<e�49�$�6��]{3O��S�0�8r�Dy�m�F��q&2��I9l$��?JI9l$����I9l$���?YI9l$����I9l$��4I9l$���wI9l$����I9l$��O�I9l"��#c�F����'j`�w+�8�8���{L�qxa����w���pw��a~�f���60���D��h�T*�zic�^"z�]�Yo�zich�=-���JV/m`�SD�eh��8����P-z����i<�zi'b�Y3��@�Af��m��;Yd���1�,����_�E�J���K����,�V��d��X���$���� ��|�f����60���Y�='�V��d����������d`�M������5U����\_�T��T��%l_�=Y��Xh����m�����4�w��F�.��;!H�"��r�ssJ�%�T�b��)w�����������bq��M��+���{�Nq���5��0�(������M-���dU����e�X����x��Iv���x�T�S\$�`hz~���J����:�NAS_��i���)�u4���l��WM��%��>��S��0V�bA�V	#�C��7j��B9t��]���#������<���]���3#�6��H���a��������
 z�@��(A���l|]�����v������;����DdJ'�L���F��GD�;ad�NdB�72Dd�&�L���F&;ED�|���;�	id>����02NdB��X��Ff���F��(����9��#s9x�9��i1^��V���s�;`�C.=�m�=��:�XK��_5IZ���b���T���������ru$�wX6�X
�j��X��h�e�M���f�AC3h�MC3I�OC�,���(�����4MwHC����X����$d���X��l����������P'L;�z����X�m�w�!�K����-�p��X'�t�><;�!��mw���^����X�Xw�o����/��y��*���E{�!�',gq_�W�����=,?b��`R�a�b��1��C��X�1�n��������X��?����/���1�L� `��d�y5N�Sa���4��t�,'���.����c�G5�|��{��,���De\�R�����!������Cb>�X^]���1�����������qu���?�q�"��2����]�!%���iHI��dJ��TJ��t���Lz�iH�OCh�CCY4�MC94�K�
)y4�OCi.R�P
-��%4���
i�����P1
������R��P
��P
-���!�GC+hh%
����4TICU$���d����.��\9��71l[�j���vS�M2�KE�K4��.�,������[-��������J�������:-���_S��n�_[�b+��e��^_6�������.>)gu�V����=^�r9���%3���0����-�U�K�Ch��y�Jl�>����B�:����������|����n����w�L�����"n�+5[��1��?�U�[��)������Z�A���}�p�������8w���##7��PK^�je�fPK!seL�l9�..mimetypePK!seLx���
�
TThumbnails/thumbnail.pngPK!seL�A��3<content.xmlPK!seL����$
)styles.xmlPK!seL��@��$meta.xmlPK!seLnfQb*�&settings.xmlPK!seL�~�
j�-3+Object 1/content.xmlPK!seL�P����3Object 1/styles.xmlPK!seL�u�!I�5Object 1/meta.xmlPK!seL��h��W7manifest.rdfPK!seL�8Configurations2/toolbar/PK!seL�8Configurations2/progressbar/PK!seL9Configurations2/floater/PK!seL<9Configurations2/menubar/PK!seLr9Configurations2/accelerator/PK!seL�9Configurations2/statusbar/PK!seL�9Configurations2/toolpanel/PK!seL:Configurations2/popupmenu/PK!seLT:Configurations2/images/Bitmaps/PK!seL9L��p�:META-INF/manifest.xmlPK!seL^�je�fD<ObjectReplacements/Object 1PKp�D
tests.odsapplication/vnd.oasis.opendocument.spreadsheet; name=tests.odsDownload
PKseL�l9�..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPKseLx���
�
Thumbnails/thumbnail.png�PNG


IHDR����'efPLTE$$$+++333<<<@@@KKKTTT[[[ccckkksss{{{���������������������������������������������������Q���
IDATx����r�8���I$�A��~������1�"��57`\)UP�~7�"H��v}����3�//_/��6���r}j�]��^�������������P���/��7����_�������AG\�A%���BY�u��Fz�V�0��������k7����tv��g���I�+��C4��K�d���b���|�4�����X`=����5�[7I������hY�Z�\���)>�����@x~��D�q��]��K����f9>��������N�����:� ��7��y�n]%d���� �����34]4�����c,S�����;@���_��#
�9ML����.��sk�
���f�����X�O���<�1����S���O������><������5�'>��g9A)G�����r7��V���
-����N�i�Gi���_�o���z_{���&��0q��F��1�S��&}�+S����u�Z���Do��X��0��C	�&d��[���Y�:�>��0i�vYN{�
���X�*b�U���}��Ge���G���G���~�vH�nu���0������l�������y��������|�S���|���,P�te�~{��������]�a�f�����aV`^�r�����N@������~��=P�YG�{X{M$�F�r������)�):w��Y�[]�q��O�S�C�E�.�k�/E����u�������#KH#��0�����Th��<^���z��R���w!J�3W)�������(��:vyS��>���\����^���T���Vm<�}*���V��Ny_{�4))��8���X{�T���m	2�y*�*���U��{Z�W$�N�!�K��}���[�V�����`h��`�����_V?J�����V��`<�R�~���'K[����t\{���*-(���Ny�#������Uc�TG��>dl���k?NRe���S��v�-�8����2������}�c�z\��t�������������h���i��E/�U�z
�s2`^a�d�>ds_{�>��.q�){�oFJ�k��$_c� E����hd�+9����>�
�s���]�P��#��j�N���+�����P!��E/�	y�����d]��HF�x����2�Ty^�@�E�k�FT�q���d���3�����c&�!k��u�}������y���$hpT{:A�����>�n5��7����=�6^(�q�;�����k��	h��j�k|`9��)C��Y�e���trm:o����+Y�ICv9�4����4��
X���zo'�������������
7�5���9io��M�jwD�S�i/�U�NA��F.T��������k���`��Z�P�[�����>�����������H�B�N�I���}u�AO�����{�D�.jd�Q�}2�E]vdE�M�l�� �x�wT��\�d=/rE��Q������Q��Zt�O3�������<�Cz��6��$p�}XNB�:h����[Va\KhRm�xO{�%��c7'o�G�_��:F^Wm�����9��S_����WT?�t�T��<����]um0���*����\��F_�� �}��7��`Lb�9�If����%
�P~��ti��EnX��~`�@��H�Q�t��]�a����������.�:��?�!������c�r�1Wc:V��:�,����AF��=������&J3��=��p:�9]�rL{��Ms��������tq}A����r�����T��>���/��U�A~�qKI�=�����hEo�������_5n��+}�����S���adAb/���]�q����QS�J<
*�������K�%����l�N�KV����Mi},�	Z�����"����c����>PR����sw<������?�;�?��|�����O����I���%�]�L~J�P{��
�.P�~:z�J��#���)����5�&�����=�4����N��H��Q~\��s�O�I?�'�����~�O�I?�w��������^y	QY�,08=�q�)T�6����K�y��b���w�2��c7����M�]��N��1'�����~�O�I?�'������W�7Jh�0(>�qw�IM��E�tU�U)�~���:"��R��9����"�j�VN�	,.�������1'�����~�O�I?�'�����~�A�U���=�]0hopIg�k
���s�p�����k��]������lrg���]��e�����J��WmT���cZ!�y���sVz��M���w�������i1H��������9�����~�O�I?�
z�4vE��W���(�Y���*��yw� ���X:��V�$^���;�-�ZFv=cv��I?�'�����~�O�I?�'��8����m/Nw��]z�#w�|�
U�����t���?�������y��l�����	��(5=�����~�O�I?�'�����~����v<EwL����F���6V�����O���x�.�q���Vo��}.�.
�5+`���,���K��}�(~;�w,M?�'�����~�O�I?�'����������>���O����~�O�_����P�e�IEND�B`�PKseLcontent.xml�][s���~�_�R��M�g���N���g653��[��(�IT�T��_�R"!��>j[2\�<�X���|������/�������r}3b��������������������~(��b�_���v�����\7��+������7�m��.������*����u����\�!����K���%:{s7����c�f���[p�{Ve���N
��Kl�/�r</���M�����,������fs=�����{A�j1a��I{�7x��6�j��f�I��}e��6�cWy�a������vu�Wh�dM���*���WP���}^�{���7O��
��Z�aW3|W�0�*k���k'?�����>
��Za���WM�b�nf���e���3t��5�S*'��}�,��*��
��g��l9�=^��r�������� ����d���r�gG���O�~����l���u�d��3�'�hK���7e�����'_`����5�����_�C�l�$��F`�?����������p>}6����$�=L���_���v=������M^�R�l�]���e�E�������������7��b�r���3@�/7�A��u�Z}��;z9�?.������h����_&���/��0�j
�|�a�7���z�'�a�0�g�|<�������'_u���7�O,�{�~��0�`"�CW���f��������%������"_�#`�����>@l�f
���*��7y��?�����}���1��n��Kl�T�������:[@���z��u���
��7�H�����/�b����v��jO���]z�mJXj���-����������l��v���r�Z��9����_^5E^_����*�~��0�@_�������U_KB��i��y�6~)��&�4���L���D���l3�}�m���V���������O�����������o�|\n�b�-�a����x���i���+����x�-��~��g�e��QA��lV��e���gW��*B�5^�3(iY����M��]|2�������j����P�4��",��:�*��'.����~�]@u�bQ4p��v=a�3�3?6������&�|l���9�����������������
y���jf��M����8NWu�,fW�������=x;WGU]/�VaM�9R~8��f�S��1���a�����Y~�'{s]���z�I�	�;6Q�gx���o[:b�������S����������o�v��_ej�����e�a�����W������k�?�u�K��p3�[����^�t3�o���V�������;}�-�7F��|���r���6w���q�;���PXU�����6i^,�	^d��g���*�Uzs�-���;o��8�}�5L�������Jh��c���|���.TC��U;���m�����4hV������[���_�89�N�.����A���cf�]�7~��e/qo��d:������8z(s^�g�ev�/!>�g����C���rt����U��{��>��3�w�����������,������1�v������:�p��pE��Z�O�K�b�>*aN����o�����t�����?��I�
��|\��U�^�p~�^�?�z�������O�q��8`�?������8`?ZOG��o�	�����{}W�����_���������Xm��+mZ}������|�O����z3*���l��Q��E�d������-~�Z'C���'��;���n�*��.�	*�W�&��f�3��Y�2ucX�^~:��^{�J��=��{�6���o���{�sTS�X]��A=q
�o������.�t��N*F��^lJ���`�&k�w��$S&�P��+���l�|Yf�����}���o�}��5�&C�%�8g�F��3\�B����J��ZY'��2
L����JkJ���Q�P�Ava� VS!9���A��n"8���_�e5���T�J�}���:)�S�Z��M �;�&G�>��/&ApM��\����-��H�`U4H�{^t8��]�	�����.k�S�Ra����>���(\�W�]�&Q�*&p�2\v��5�Z8��]�����wy��p�p/������S�
�8�������	J'(�N:��]2\���.���w�gd�s������j�Q���K���K�Y��(�c�����;%�[*�����%�^]��2����~�B��������l�o�+�7U2��
.T9O��P�U���H�a����H�0���C�O$�"$N�<O��iC�gqB�O$��.�8��i����O>����`�L$R���Z(\_
���pY�-F�"��F�R�p�z�O$�~�y�\$
J4U��|�/Eb��L��Nh�Z!�S857���T���i��N�}pJ$�a��Db�S\H~�L}B8���R(���c��LO��iEYA�0�"7B>����� R8���x"1qEk!	l)2���x���&�X��4��Dc<��
hq�$�=>������X�tB�O4�#���S�AN�>�O��5��8�|R-�'��p�C���|�1*�O�JIq����c#�L/���r�e9R����xT��#�sN�o��Dc<:���@(��c�O4���(�,1�Q�}���'��q�S�:'n����xt]����Rb�O4���(�8a�j4�=>����g�k�,�M��h�G�Q�0���C9��'c�q������|�9��F�����.t%4%�!��q�'#�q���
c��OO$F��H*	5�!?����8\+b93��d|�1"G���(-�������T��Z+��8�DcD*����N��<�DcD*�d�@��KcO$F��H����b��h�J�����DJY>6"��i�w����2DMq{��h�I��
z.�C~u(�'"cRr��V<m������I���r����/�����I���9��Da��'"c�s`�)U�a�������"�Q��g��1i:RiAu
}�DdL��0G��������K���s��2�G�|lT��,���������qI��ODF��P��0� |�����j(�Lj�s>�������Z�4c�'"��veDZ��^������P���4��Qi;�Z"�
���DdT���	���5��Qi;����q+�k��ODF��P��r�!?$�c��l�G�m�{�FS&����DdL��T)$����h�I��B3��1��=|"2&e�e��RK��>��1);��A���]G��<��1);\
�*
S�%��'"cRv�9�DX������I���Y��tM�DdL���s��s�OD���0�O��\i��D*������tn�fz��FO0�d_1}��y�/��y��}��K�a:�>�B�@���1a
n�>������i�ZK�G}|"1i�Pg���Z���=>��,h��������Db,�����H�����������6*H|"1)v��p����~)
���=��Xn��#>
�XT:��&�a�/���x�9��%Ne�������>��Me�(�J[����h�GX��:��0��|�1iEkF	�i���=>������D[�|Q`�'�W�����Q,�=>����������}j�O4F$�h.�n�G�����x�V���0��=>������(�Z��8k�O4���h-5��� ?s�c#����{KG9�3�Hy�O4���(���-��|�1GY��#)�A�>���C�"�n����h�G�Q��Z!���(�G�Q�X���������x4�� �R�|�;�'��p���p%)�[�>���+L��2,�>�����T�9������|�#��T��e����V�O4F��H%��e�B��DcD��+��7�Dc<��+��^�������5�BI���i8�B����|�1"
�oW�`�����h�H���w)�+3>�����!���Jg�O4F����\"���o����8�������q�'"c�q���h��D��9��1)9������H{x�1&%G�3�s������I��N1�(���S<|"2&E�a�R�
9��1i:�1M���?�����I�����V�3|"2*]�J���+�w�|"2.eG:��y�U�����?l�-�i�#FI���|"2.e��	���|"2*e�)E(uZ`%����I�Q�Yb4����>��c�$B*�|9�'"��v�w6��5r�'"c�v��(�
��>���(�)���t�OD���H��3���|"2.mGQJ	�\#?��c�����{Sm��>�	�|
-�'"��v�15Tbb�����k���v���1i;�)C�R��@�ODF��8�c�i��u�ODF��8����*���������9'FY�pm�OD������!�pLaw�=>���(SDke��G�OD������{O���He��7�S8�_6U^�E��'��XCb6����o����kVN��|��������7PK�A��3PKseL
styles.xml�Z[o��~�����W���f���!A�I$i_Z��l(Q �]���CR��n�iNO��E~3~s�P�����G"$��M�^�a@�����o��?��^�����y����R��)����p)wv�&�E��XR�+qA�N%;^��	����Y��eK�
�-���Z*��Y|�|enK���
k,p���R�{�P�Q��
+�������MxP��E��tZ�.V\��z��Ff��x\UfPiF�b2Z����D���il���.��XL
Vx��J	����e��2��:�����O���Xg�
��ty�\�m����_Do`��x��W�X���v�J�o�����so���n����ed�[��,�$�"�Of�	f�g�c�n��y�z����"A*.�7$[^����O��*�t��Y�E��B�����)9=���y��������:�4���{.�"��A��2�ig� �TOaf�v
��a�	*�3���SX)a.���F�p�
�h	A��]K���R^�1W||�9�O���:��t����q853��������x~8������5��i6|�%)�%-({�	�����pv0:�5���]C�������J����&6�y�^���/��Y-���"������
^�#.q2�|����>�Z����:)x�6xO��a1i���_fq4���m���R���5m����lJ
Jc��WX�\���*�+"�^�N��
�T*\����y��$�d�3'�#�;����9���$P>��~��U �������8=����4
����C��o`�~^�h_��������K�a���wF����N*�?i{�N�����+|��C	d��|��fIfX=�*�+�����FDp�O�G�`/VW����7-��V\VXM	�P��vVu���D��
��j6=��$�N�2��&���sT��W���gi�}��K�Q��0��3I<�.���sc����Z���Y�q�51�?r@�g
��.g��_K�����F{ra�1��4E��(
M���)��u������5������5�N����6{��y*hi��R�S%�D���N�#�������R���]�vq��H_���F<w�9k�����h����S1�?8~h���9�
�f�����L���fs����-���,�+��_��^fY_z�F����_�<�[������Q���G�j���_���v��XC6��������A�l����p�?y��pEd�s��F��;8�h��s��j=Y�F�������`�`��4�-7N��=��.u�?��$���L���o�>R�B��n;�J�=�-FrF�	����5�nU&M�8���s�Dh~�;&�o�g��<��.��mB?��<\�G��+���1^h��c4/�4)��{�\@k�5�P�J�Z���(?+�	�/����^'�����"����0�~��K(��!Ep�h���r#��#W�n�_?��//�(���p��3�����]���e&�v��O�������U?�wK�[��}y�^b8��xX������Ra����^4����5	rn%�U�V��T�:
7��~2���y#H�sK��8����u�vh��f���jU`��#L��Aa���;��~���*�Vm��Ljl������]{��xo�o�����"��mV�0�N&x�/�pj?��WWk'��O��/S�6(��?�N7��e��@$���xTG����(��*���f����T;F��5m>a����������^G��f�������b�dT|��_���K�����������TuH�5!�����Og���uG_�{7m��$;���U�
�������2�[nn���\Q<���X���/P|��82�q�X�����`�>�w��=>]����
�6����o�m��B��g{4�7<�?PK����$PKseLmeta.xml��Oo� �������� �H{�SW[������iJ�@��~�b;N�U=��7����W�X'��Q���FH�����g�@+vW��W��
��=h��7Qh�����VS�8��n�����@O-��������k����b�u]����;�.�K<T'T�3wh�(�1(�N�Ol����z�2�1�l��c��.#���y�wVu���qH��&������t���g�M��c�Jp:�e$]�$��|��iZ�<KH������
OX5�!}x�X���a2{Z���
��^7�\�c��I�h���G���{H��I�<$��Q�����(7e]��5��}X��G+�������q��g9":/y4���*��i��Q�F��R�V��I5��j�S�Y��6�o�b�	PK��@�PKseLsettings.xml�Z�s�8~����;�WJO�Chr�5�f0I{}���Z�$C�_2�Lp������`I�.��oW+�}z�YmBR�=�u��j�]�(�����e�������S������U]�Rz����\��p�
��H*mN|��rm�o���g�ka��GF�C��+���r�<Zv�P������zt;�E>�������E!���hA��ZX��<n����F�g�i[�������?�Mm�8R�gi������jV���5�T�	��2����U�)WV�y�x	��
L����S�4�N���=�
�l��z������_�IP���G���`����k��U�ay�%��Jh���C��i��sL�E�Rtw�O������(nQR��G�����O��W(�/��0'`T��$�?Gq���P�5���~k�2C������X���e��]|�o����eq��������B�D����X�����=aa5��fQ�D��*z� �3����&i{���p��D��)_�Y����8�����+��8�r�}��U9�*�%�A�����+��X�b��Kg
�$yCk�:���l��`�q26!"��:���r�C�,p.�<�
��jY7%Lfx\1?A�Z��G�����t�0|9B"C��fQ�����
�6;���U�����>��
���g�4�@���B�(g�O�I�I�!k���)�Ei]����3����k�p�q������%�0��+��o,HwI����Px'�xtAe��%��+_�ub��#����s����������9R�	*�Qa� $z���^����OgN���A��4]"g+��4��"L���!�.��)�.���K�(������/ �@R�oC���������?�R���	�����-M����-I�k-s�����TW��d��
�o|�P�(yLn�l�l�����
h�wu���z�����U�����$7��B��	�iW/�>�0���z�����^2X^3���s�Q~��0��^]h������!.2���wX���=��]� T8$�
�Tu��� Lv�'DB�����P(������$��D��5}"�!��z�va�N���d#��h�_PKnfQb*PKseLObject 1/content.xml�ZKo�8���0<�����d$L7���=��{e$Z�6%
$����H�(Ev� �����XdU}��X����SIW/�����g���2���x\����[�����<���dx���P�JZ�$�^��Jl�����W[��
�Xle�e5��Y[S{�m5!�t�t�l���$�NV����y�e�l��9:.��tTs��-�|��1@���$/N�T��{)����G��������G{��^�>p�����+c��l��tK,�R����Ru(�1_
������b1#^��d{�sC+��7��oo��sK$��$q��������^.��tGPe����l������U5�IP������<����GN$��zvU=C4�g�h��9�a�E���
qa��4����/.��o��+��
��me�TB�j@��M�i�p\3.{`v�&������%���j�S-x����;���g�|�iT��!u��(����\G+�U��	J��J</�Sh��'W>��5�����`r��w,��\�
�rN0��E��2�Y��@��zk���<-[N��w�'e""�sl����������d4�����A2�m$�t�OM�oK~#]5�\�������(����T����� r�[;O���y��8#%�VMQ��@����`f�}�5���+�{�V�C%�g%R��M)8���h
{��$X��a)�����6kX�f��nN?����O��U3A��u��[�3�s�BU��%Wy�)��k��DA��^P���NlA�C��Au�S|j�o�:�<Q{�����n�:��������������A���s�~����P����^��g1��5@g@����(�2z���'y�++��B��!* �+L3��PM��I��<w+R�^�U�����������N��u��4�x>�V�{��e���`�D@1=[=c:��A{�/I6��cu�`(�g
D�����-[���^��p���*�H����.�diu��8����	��D��A����L�O����)����g�����BNn$��'��`�N�M�����so�$���b�:����[���y�a�n%�	�-�lqu���5��~FB{��O�n�.�C���5�-$�$���w��o��7%��G����#����xf���>==4�����#���P?��M��
z{�:W����DI�����������gy��D�ww�e	�B�}F�����n��+�H�(X���7a��H�v��yn��C������{$��a�J$$�N;���:���<2���(6�zv�E����dBn���W%�
��V/�q��p������N0�����N����_����W��qB>���uZ�Om�E����k��.�O5���G��x>�P��)�k:�����u
�8�P��cEq(K���/����k�l��.z�^��	�~���������'j�����`���N]%l�`�m3�8T@$�����v�#+qN���8zm���?=Z������@����jN�i��+�u��d��t3�\"2D�3�N���*�K����N�C3��`\U�4�{����6`v��<~��P����$�8 ���%8�Y�B�I>_��I],����|�&�x�:/������e@�K�l:��i�'����X�;7u���T��I�X��FdM4Kb�o���?SH�����<w���(��,���B���
���Z����?��jfPo5_����=�E����PVb<����f�
;�w���5`����fk�sv��db��K�WK7cI�U��T[?����w��i��{��6(9��l�@��?8����F2��|�K#^/u�y�f�c��E�Gr=y\'F� �������:�q���6i�	��OS��1f
�\NR���a�.�%�2K���q,��=��D.�]�N��s]o�fJ�e������M�����{�����O�Q{v�Q���5Sz'�i�i��o$�)�a��������B�So�lJ�e7L����vnL��������pBR]]?0���Nv����(H���jS����#���������$��y��n��vi��#�{�>�*��}��4���O}�����^����a�y�����J�X������[��c�.�{��_���PK�~�
j�-PKseLObject 1/styles.xml��K�� ��9�KYc,+��)���LM� $SA�
�#� KA��PYJ����/�/c#w=�F��d�����bP
U_�����[�r�t����X�pe��?%7;'V�L�K�iE�a��
7�2-W���4	��?�Y�<�������=����������C���.����T�h$�1hZj���P?.����`<�~(��k��N'���������*���`���������G-��2��������nT'�7��ez��ru|�E�z�c=,�����C����<}G����\G8{�3*��h��q9v��/�Lk����b�[�v9H�>�.;��mo�����[g��e�������k>�>|^�����p�Vm�T�p������3KW���J��2��S�
n�����k�MTYy�{L���o���j-	.��Y���5	��Z�W�kLa������
�����=N�����L�
����Ct�PK�P���PKseLObject 1/meta.xml��AO�0��~
Rw���[,��i�M�-�}cUhI)c_(��1�c�~��_���.U��6����4"ja��EF^��
��7�9�@&�h+�.����o�
Ki�f�7�a�W�0'��QO-lN34�\J�?2rr�f]��nI�- �n���*���[[zJ
���b��������1�4����K�h�z�+e��zv	�!w<<+�n�q���G�!|=�lD	��y�y���h�36��7�O�;��{�,�J����f}X��p��yG����C�J&)�8/�oi��_�?PK�u�!IPKseLmanifest.rdf���n�0��<�e��@/r(��j��5�X/������VQ�������F3�����a�����T4c)%�Hh��+:�.���:���+��j���*�wn*9_��-7l���(x��<O�"��8qH���	�Bi��|9��	fWQt���y� =��:���
a�R��� ��@�	L��t��NK�3��Q9�����`����<`�+�������^����\��|�hz�czu����#�`�2�O��;y���.�����vDl@��g�����UG�PK��h��PKseLConfigurations2/toolbar/PKseLConfigurations2/progressbar/PKseLConfigurations2/floater/PKseLConfigurations2/menubar/PKseLConfigurations2/accelerator/PKseLConfigurations2/statusbar/PKseLConfigurations2/toolpanel/PKseLConfigurations2/popupmenu/PKseLConfigurations2/images/Bitmaps/PKseLMETA-INF/manifest.xml�T�n�0����T��*8�����T�se�up?ox�}m��B"n�z<3k�w4Y�*YB��59�����P����l�>���7��(	��"	��o�9ij�Y�����3�u`
+
���l���������� 
���-��J�EN�)�CYC�x�9��UJp0�4���>�w5��/��.Vf�F�
W�g�_Rg�V��%�x�IEX��fx��kd����M����_�+ �|^����~������v��F��i��R	H�B����p�B�V�K�Zs��#��i,_�_�h@��%v�>�U(Z�����ILZ����X�����h]�3���sgO�HU6����m�7&>2m�Q|�����/PK9L��pPKseLObjectReplacements/Object 1�][lU��--�-�~��
����,������J�[P�-)J�mQC�p�w
����'I�&��
F���b���O���3�3���mw��0K��;�;s����3gfg��J���Z���� �������g,���[��|J8���<������8�f7�������Q��}�Z:_��-Y+��6X{W#T�mu������8~��I��uL]��lQ���
��7�GZP����k�^Q���d�����J"�6U��7�ln�P��\�p����u�?���K/.���\.X��'����YV/�����q�X��q�{p���D�����"M�()j6��-'!g��r6r/��e<c���{0|��c�X[������&����r���2k�zk�q�#<e�49�$��#>Cx��ir�I�-����SfM�CObm9|��SfM�CObm9c�s`��r�I�-��(�)����'����'�L��I9l"��I�SfM��H��a9*s����&�����&r|�Lx��irI9l"G�j�)���a$q���W�����&�����&rt<"<e�49�$�6��]{3O��S�0�8r�Dy�m�F��q&2��I9l$��?JI9l$����I9l$���?YI9l$����I9l$��4I9l$���wI9l$����I9l$��O�I9l"��#c�F����'j`�w+�8�8���{L�qxa����w���pw��a~�f���60���D��h�T*�zic�^"z�]�Yo�zich�=-���JV/m`�SD�eh��8����P-z����i<�zi'b�Y3��@�Af��m��;Yd���1�,����_�E�J���K����,�V��d��X���$���� ��|�f����60���Y�='�V��d����������d`�M������5U����\_�T��T��%l_�=Y��Xh����m�����4�w��F�.��;!H�"��r�ssJ�%�T�b��)w�����������bq��M��+���{�Nq���5��0�(������M-���dU����e�X����x��Iv���x�T�S\$�`hz~���J����:�NAS_��i���)�u4���l��WM��%��>��S��0V�bA�V	#�C��7j��B9t��]���#������<���]���3#�6��H���a��������
 z�@��(A���l|]�����v������;����DdJ'�L���F��GD�;ad�NdB�72Dd�&�L���F&;ED�|���;�	id>����02NdB��X��Ff���F��(����9��#s9x�9��i1^��V���s�;`�C.=�m�=��:�XK��_5IZ���b���T���������ru$�wX6�X
�j��X��h�e�M���f�AC3h�MC3I�OC�,���(�����4MwHC����X����$d���X��l����������P'L;�z����X�m�w�!�K����-�p��X'�t�><;�!��mw���^����X�Xw�o����/��y��*���E{�!�',gq_�W�����=,?b��`R�a�b��1��C��X�1�n��������X��?����/���1�L� `��d�y5N�Sa���4��t�,'���.����c�G5�|��{��,���De\�R�����!������Cb>�X^]���1�����������qu���?�q�"��2����]�!%���iHI��dJ��TJ��t���Lz�iH�OCh�CCY4�MC94�K�
)y4�OCi.R�P
-��%4���
i�����P1
������R��P
��P
-���!�GC+hh%
����4TICU$���d����.��\9��71l[�j���vS�M2�KE�K4��.�,������[-��������J�������:-���_S��n�_[�b+��e��^_6�������.>)gu�V����=^�r9���%3���0����-�U�K�Ch��y�Jl�>����B�:����������|����n����w�L�����"n�+5[��1��?�U�[��)������Z�A���}�p�������8w���##7��PK^�je�fPKseL�l9�..mimetypePKseLx���
�
TThumbnails/thumbnail.pngPKseL�A��3<content.xmlPKseL����$
)styles.xmlPKseL��@��$meta.xmlPKseLnfQb*�&settings.xmlPKseL�~�
j�-3+Object 1/content.xmlPKseL�P����3Object 1/styles.xmlPKseL�u�!I�5Object 1/meta.xmlPKseL��h��W7manifest.rdfPKseL�8Configurations2/toolbar/PKseL�8Configurations2/progressbar/PKseL9Configurations2/floater/PKseL<9Configurations2/menubar/PKseLr9Configurations2/accelerator/PKseL�9Configurations2/statusbar/PKseL�9Configurations2/toolpanel/PKseL:Configurations2/popupmenu/PKseLT:Configurations2/images/Bitmaps/PKseL9L��p�:META-INF/manifest.xmlPKseL^�je�fD<ObjectReplacements/Object 1PKp�D
xid-hash.pngimage/png; name=xid-hash.pngDownload
#12Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tomas Vondra (#11)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

regards, tom lane

#13Yura Sokolov
funny.falcon@gmail.com
In reply to: Tom Lane (#12)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

05.03.2018 18:00, Tom Lane пишет:

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

Sorting - is the first thing I've tried. Unfortunately, sorting itself
eats too much cpu. Filling hash table is much faster.

Can I rely on snapshots being static? May be then there is no need in
separate raw representation and hash table. I may try to fill hash table
directly in GetSnapshotData instead of lazy filling. Though it will
increase time under lock, so it is debatable and should be carefully
measured.

I'll look at a bug in CopySnapshot soon. Excuse me for delaying.

With regards,
Sokolov Yura

#14Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Yura Sokolov (#13)
3 attachment(s)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On 03/06/2018 06:23 AM, Yura Sokolov wrote:

05.03.2018 18:00, Tom Lane пишет:

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

Sorting - is the first thing I've tried. Unfortunately, sorting
itself eats too much cpu. Filling hash table is much faster.

I've been interested in the sort-based approach, so I've spent a bit of
time hacking on it (patch attached). It's much less invasive compared to
the hash-table, but Yura is right the hashtable gives better results.

I've tried to measure the benefits using the same script I shared on
Tuesday, but I kept getting really strange numbers. In fact, I've been
unable to even reproduce the results I shared back then. And after a bit
of head-scratching I think the script is useless - it can't possibly
generate snapshots with many XIDs because all the update threads sleep
for exactly the same time. And first one to sleep is first one to wake
up and commit, so most of the other XIDs are above xmax (and thus not
included in the snapshot). I have no idea why I got the numbers :-/

But with this insight, I quickly modified the script to also consume
XIDs by another thread (which simply calls txid_current). With that I'm
getting snapshots with as many XIDs as there are UPDATE clients (this
time I actually checked that using gdb).

And for a 60-second run the tps results look like this (see the attached
chart, showing the same data):

writers master hash sort
-----------------------------------------
16 1068 1057 1070
32 1005 995 1033
64 1064 1042 1117
128 1058 1021 1051
256 977 1004 928
512 773 935 808
768 576 815 670
1000 413 752 573

The sort certainly does improve performance compared to master, but it's
only about half of the hashtable improvement.

I don't know how much this simple workload resembles the YCSB benchmark,
but I seem to recall it's touching individual rows. In which case it's
likely worse due to the pg_qsort being more expensive than building the
hash table.

So I agree with Yura the sort is not a viable alternative to the hash
table, in this case.

Can I rely on snapshots being static? May be then there is no need
in separate raw representation and hash table. I may try to fill hash
table directly in GetSnapshotData instead of lazy filling. Though it
will increase time under lock, so it is debatable and should be
carefully measured.

Yes, I think you can rely on snapshots not being modified later. That's
pretty much the definition of a snapshot.

You may do that in GetSnapshotData, but you certainly can't do that in
the for loop there. Not only we don't want to add more work there, but
you don't know the number of XIDs in that loop. And we don't want to
build hash tables for small number of XIDs.

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachments:

xid-sorted.patchtext/x-patch; name=xid-sorted.patchDownload
diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index afe1c03..b2dae85 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1758,6 +1758,8 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	snapshot->xip_sorted = false;
+	snapshot->subxip_sorted = false;
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f7c4c91..f155267 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1461,6 +1461,45 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 	return TransactionIdPrecedes(HeapTupleHeaderGetRawXmax(tuple), OldestXmin);
 }
 
+static int
+cmp_transaction_id(const void *a, const void *b)
+{
+	return memcmp(a, b, sizeof(TransactionId));
+}
+
+/*
+ * XidInXip searches xid in xip array.
+ *
+ * When xcnt is smaller than SnapshotSortThreshold, then the array is unsorted
+ * and we can simply do a linear search. If there are more elements, the array
+ * is sorted, and we can do a bsearch.
+ */
+static bool
+XidInXip(TransactionId xid, TransactionId *xip, uint32 xcnt, bool *sorted)
+{
+	if (!TransactionIdIsNormal(xid))
+		return false;
+
+	if (xcnt < SnapshotSortThreshold)
+	{
+		uint32 i;
+
+		/* linear scan for small snapshots */
+		for (i = 0; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+
+	if (!(*sorted))
+	{
+		pg_qsort(xip, xcnt, sizeof(TransactionId), cmp_transaction_id);
+		*sorted = true;
+	}
+
+	return (bsearch(&xid, xip, xcnt, sizeof(TransactionId), cmp_transaction_id) != NULL);
+}
+
 /*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
@@ -1474,8 +1513,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1507,13 +1544,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxip_sorted))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1534,16 +1566,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xcnt, &snapshot->xip_sorted))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1573,11 +1601,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxip_sorted))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index a8a5a8f..85301c7 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -25,6 +25,11 @@ typedef struct SnapshotData *Snapshot;
 #define InvalidSnapshot		((Snapshot) NULL)
 
 /*
+ * SnapshotSortThreshold ... TODO comment
+ */
+#define SnapshotSortThreshold	60
+
+/*
  * We use SnapshotData structures to represent both "regular" (MVCC)
  * snapshots and "special" snapshots that have non-MVCC semantics.
  * The specific semantics of a snapshot are encoded by the "satisfies"
@@ -78,6 +83,7 @@ typedef struct SnapshotData
 	 */
 	TransactionId *xip;
 	uint32		xcnt;			/* # of xact ids in xip[] */
+	bool		xip_sorted;		/* is xip array sorted */
 
 	/*
 	 * For non-historic MVCC snapshots, this contains subxact IDs that are in
@@ -94,6 +100,7 @@ typedef struct SnapshotData
 
 	bool		takenDuringRecovery;	/* recovery-shaped snapshot? */
 	bool		copied;			/* false if it's a static snapshot */
+	bool		subxip_sorted;	/* is subxip array sorted */
 
 	CommandId	curcid;			/* in my xact, CID < curcid are visible */
 
xid-stats.tgzapplication/x-compressed-tar; name=xid-stats.tgzDownload
xid-results.pngimage/png; name=xid-results.pngDownload
#15Yura Sokolov
funny.falcon@gmail.com
In reply to: Tomas Vondra (#14)
1 attachment(s)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

08.03.2018 03:42, Tomas Vondra пишет:

On 03/06/2018 06:23 AM, Yura Sokolov wrote:

05.03.2018 18:00, Tom Lane пишет:

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

Sorting - is the first thing I've tried. Unfortunately, sorting
itself eats too much cpu. Filling hash table is much faster.

I've been interested in the sort-based approach, so I've spent a bit of
time hacking on it (patch attached). It's much less invasive compared to
the hash-table, but Yura is right the hashtable gives better results.

I've tried to measure the benefits using the same script I shared on
Tuesday, but I kept getting really strange numbers. In fact, I've been
unable to even reproduce the results I shared back then. And after a bit
of head-scratching I think the script is useless - it can't possibly
generate snapshots with many XIDs because all the update threads sleep
for exactly the same time. And first one to sleep is first one to wake
up and commit, so most of the other XIDs are above xmax (and thus not
included in the snapshot). I have no idea why I got the numbers :-/

But with this insight, I quickly modified the script to also consume
XIDs by another thread (which simply calls txid_current). With that I'm
getting snapshots with as many XIDs as there are UPDATE clients (this
time I actually checked that using gdb).

And for a 60-second run the tps results look like this (see the attached
chart, showing the same data):

writers master hash sort
-----------------------------------------
16 1068 1057 1070
32 1005 995 1033
64 1064 1042 1117
128 1058 1021 1051
256 977 1004 928
512 773 935 808
768 576 815 670
1000 413 752 573

The sort certainly does improve performance compared to master, but it's
only about half of the hashtable improvement.

I don't know how much this simple workload resembles the YCSB benchmark,
but I seem to recall it's touching individual rows. In which case it's
likely worse due to the pg_qsort being more expensive than building the
hash table.

So I agree with Yura the sort is not a viable alternative to the hash
table, in this case.

Can I rely on snapshots being static? May be then there is no need
in separate raw representation and hash table. I may try to fill hash
table directly in GetSnapshotData instead of lazy filling. Though it
will increase time under lock, so it is debatable and should be
carefully measured.

Yes, I think you can rely on snapshots not being modified later. That's
pretty much the definition of a snapshot.

You may do that in GetSnapshotData, but you certainly can't do that in
the for loop there. Not only we don't want to add more work there, but
you don't know the number of XIDs in that loop. And we don't want to
build hash tables for small number of XIDs.

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

Thank you for analyze, Tomas.

Stephen is right about bug in snapmgr.c
Attached version fixes bug, and also simplifies XidInXip a bit.

With regards,
Sokolov Yura.

Attachments:

0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot_v4.patchtext/x-patch; name=0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot_v4.patchDownload
From 8484ae3f2c2f8af20ae8ce2f6d7960b6519e65c0 Mon Sep 17 00:00:00 2001
From: Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
Date: Fri, 9 Mar 2018 22:49:01 +0300
Subject: [PATCH] Make hash table for xip in XidInMVCCSnapshot

When lot of concurrent transactions attempts to update single
row, then linear scan through running list in XidInMVCCSnapshot
became noticebale bottleneck.

With this change, hash table is built on first search of xid in
snapshot->xip and snapshot->subxip arrays.

If size of array is smaller than 60, then linear scan is still
used, cause there is no much benefits from building hash then.
(at least on Intel Xeon).
---
 src/backend/storage/ipc/procarray.c | 67 ++++++++++++++++++++++------
 src/backend/utils/time/snapmgr.c    | 25 +++++++----
 src/backend/utils/time/tqual.c      | 88 ++++++++++++++++++++++++++++---------
 src/include/utils/snapshot.h        | 11 +++++
 4 files changed, 148 insertions(+), 43 deletions(-)

diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index afe1c03aa3..2020b7482a 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1469,6 +1469,54 @@ GetMaxSnapshotSubxidCount(void)
 	return TOTAL_MAX_CACHED_SUBXIDS;
 }
 
+/*
+ * ExtendXipSizeForHash - calculate xip array size with space for hash table.
+ *
+ * Hash table should be at least twice larger than array to not depend on
+ * cleverness of algorithm.
+ *
+ * But if xipcnt < SnapshotMinHash, then no need in hash-table at all.
+ */
+int
+ExtendXipSizeForHash(int xipcnt, uint8* plog)
+{
+	int size;
+	uint8 log = 0;
+
+	size = xipcnt;
+	if (xipcnt >= SnapshotMinHash)
+	{
+		log = 1;
+		while (xipcnt) {
+			log++;
+			xipcnt >>= 1;
+		}
+		size += 1<<log;
+	}
+	*plog = log;
+	return size;
+}
+
+/*
+ * AllocateXip - allocate xip array, extended for hash part if needed.
+ *
+ * Hash part will be used in tqual.c in XidInMVCCSnapshot (XidInXip).
+ */
+static TransactionId *
+AllocateXip(int max, uint8* plog)
+{
+	int size;
+	TransactionId *xip;
+
+	size = ExtendXipSizeForHash(max, plog);
+	xip = (TransactionId *) malloc(size * sizeof(TransactionId));
+	if (xip == NULL)
+		ereport(ERROR,
+				(errcode(ERRCODE_OUT_OF_MEMORY),
+				 errmsg("out of memory")));
+	return xip;
+}
+
 /*
  * GetSnapshotData -- returns information about running transactions.
  *
@@ -1538,19 +1586,10 @@ GetSnapshotData(Snapshot snapshot)
 		 * First call for this snapshot. Snapshot is same size whether or not
 		 * we are in recovery, see later comments.
 		 */
-		snapshot->xip = (TransactionId *)
-			malloc(GetMaxSnapshotXidCount() * sizeof(TransactionId));
-		if (snapshot->xip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
-		Assert(snapshot->subxip == NULL);
-		snapshot->subxip = (TransactionId *)
-			malloc(GetMaxSnapshotSubxidCount() * sizeof(TransactionId));
-		if (snapshot->subxip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
+		snapshot->xip = AllocateXip(GetMaxSnapshotXidCount(),
+				&snapshot->xhlog);
+		snapshot->subxip = AllocateXip(GetMaxSnapshotSubxidCount(),
+				&snapshot->subxhlog);
 	}
 
 	/*
@@ -1758,6 +1797,8 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	snapshot->xhlog &= ~SnapshotHashBuilt;
+	snapshot->subxhlog &= ~SnapshotHashBuilt;
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index e58c69dbd7..f8212bdd60 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -662,14 +662,16 @@ CopySnapshot(Snapshot snapshot)
 	Snapshot	newsnap;
 	Size		subxipoff;
 	Size		size;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	Assert(snapshot != InvalidSnapshot);
 
+	xcnt = ExtendXipSizeForHash(snapshot->xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(snapshot->subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = subxipoff = sizeof(SnapshotData) +
-		snapshot->xcnt * sizeof(TransactionId);
-	if (snapshot->subxcnt > 0)
-		size += snapshot->subxcnt * sizeof(TransactionId);
+	size = subxipoff = sizeof(SnapshotData) + xcnt * sizeof(TransactionId);
+	size += subxcnt * sizeof(TransactionId);
 
 	newsnap = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
 	memcpy(newsnap, snapshot, sizeof(SnapshotData));
@@ -677,6 +679,8 @@ CopySnapshot(Snapshot snapshot)
 	newsnap->regd_count = 0;
 	newsnap->active_count = 0;
 	newsnap->copied = true;
+	newsnap->xhlog = xhlog;
+	newsnap->subxhlog = subxhlog;
 
 	/* setup XID array */
 	if (snapshot->xcnt > 0)
@@ -2130,16 +2134,18 @@ RestoreSnapshot(char *start_address)
 	Size		size;
 	Snapshot	snapshot;
 	TransactionId *serialized_xids;
+	int			xcnt, subxcnt;
+	uint8		xhlog, subxhlog;
 
 	memcpy(&serialized_snapshot, start_address,
 		   sizeof(SerializedSnapshotData));
 	serialized_xids = (TransactionId *)
 		(start_address + sizeof(SerializedSnapshotData));
 
+	xcnt = ExtendXipSizeForHash(serialized_snapshot.xcnt, &xhlog);
+	subxcnt = ExtendXipSizeForHash(serialized_snapshot.subxcnt, &subxhlog);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = sizeof(SnapshotData)
-		+ serialized_snapshot.xcnt * sizeof(TransactionId)
-		+ serialized_snapshot.subxcnt * sizeof(TransactionId);
+	size = sizeof(SnapshotData) + (xcnt + subxcnt) * sizeof(TransactionId);
 
 	/* Copy all required fields */
 	snapshot = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -2148,8 +2154,10 @@ RestoreSnapshot(char *start_address)
 	snapshot->xmax = serialized_snapshot.xmax;
 	snapshot->xip = NULL;
 	snapshot->xcnt = serialized_snapshot.xcnt;
+	snapshot->xhlog = xhlog;
 	snapshot->subxip = NULL;
 	snapshot->subxcnt = serialized_snapshot.subxcnt;
+	snapshot->subxhlog = subxhlog;
 	snapshot->suboverflowed = serialized_snapshot.suboverflowed;
 	snapshot->takenDuringRecovery = serialized_snapshot.takenDuringRecovery;
 	snapshot->curcid = serialized_snapshot.curcid;
@@ -2167,8 +2175,7 @@ RestoreSnapshot(char *start_address)
 	/* Copy SubXIDs, if present. */
 	if (serialized_snapshot.subxcnt > 0)
 	{
-		snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
-			serialized_snapshot.xcnt;
+		snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
 		memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
 			   serialized_snapshot.subxcnt * sizeof(TransactionId));
 	}
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f7c4c9188c..3fbd9327b3 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1461,6 +1461,66 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 	return TransactionIdPrecedes(HeapTupleHeaderGetRawXmax(tuple), OldestXmin);
 }
 
+/*
+ * XidInXip searches xid in xip array.
+ *
+ * If xcnt is smaller than SnapshotMinHash (60), or *xhlog is zero, then simple
+ * linear scan of xip array used. Looks like there is no benifit in hash table
+ * for small xip array.
+ *
+ * If xhlog points to non-zero byte, then space for hash table is allocated
+ * after xip array, and logarithm of its size is in xhlog.
+ * Most significant xhlog bit should be set if hash table is already built.
+ *
+ * Hash table is built using simple linear probing. It allows keep both
+ * insertion and lookup loop small.
+ */
+static inline bool
+XidInXip(TransactionId xid, TransactionId *xip, uint32 xcnt, uint8 *xhlog)
+{
+	TransactionId *xiphash;
+	uint32 i, pos, mask;
+	int found = 0;
+
+	if (*xhlog == 0)
+	{
+		/* full scan for small snapshots and if xiphash is not allocated */
+		for (i = 0; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+
+	mask = ((uint32)1 << (*xhlog & ~SnapshotHashBuilt)) - 1;
+	xiphash = xip + xcnt;
+
+	if (*xhlog & SnapshotHashBuilt)
+	{
+		/* Hash table already built. Do lookup */
+		pos = xid & mask;
+		while (xiphash[pos] != InvalidTransactionId)
+		{
+			if (TransactionIdEquals(xiphash[pos], xid))
+				return true;
+			pos = (pos + 1) & mask;
+		}
+		return false;
+	}
+
+	/* Build hash table. */
+	*xhlog |= SnapshotHashBuilt;
+	memset(xiphash, 0, (mask+1) * sizeof(TransactionId));
+	for (i = 0; i < xcnt; i++)
+	{
+		found |= TransactionIdEquals(xip[i], xid);
+		pos = xip[i] & mask;
+		while (xiphash[pos] != InvalidTransactionId)
+			pos = (pos + 1) & mask;
+		xiphash[pos] = xip[i];
+	}
+	return found != 0;
+}
+
 /*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
@@ -1474,8 +1534,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1507,13 +1565,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1534,16 +1587,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xcnt, &snapshot->xhlog))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1573,11 +1622,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, &snapshot->subxhlog))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index a8a5a8f4c0..332561e82b 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -23,6 +23,15 @@
 typedef struct SnapshotData *Snapshot;
 
 #define InvalidSnapshot		((Snapshot) NULL)
+/*
+ * Big running list will be converted into hash table on demand.
+ * SnapshotMinHash is threshold between "linear scan" and "hashtable on demand".
+ * SnapshotHashBuilt indicates that hash table was already built.
+ */
+#define SnapshotMinHash			(60)
+#define SnapshotHashBuilt		((uint8)0x80)
+/* Calculate size to hold both array and hash table (if needed) */
+int ExtendXipSizeForHash(int xipcnt, uint8* plog);
 
 /*
  * We use SnapshotData structures to represent both "regular" (MVCC)
@@ -78,6 +87,7 @@ typedef struct SnapshotData
 	 */
 	TransactionId *xip;
 	uint32		xcnt;			/* # of xact ids in xip[] */
+	uint8		xhlog;			/* log2 of allocated xip hash part */
 
 	/*
 	 * For non-historic MVCC snapshots, this contains subxact IDs that are in
@@ -90,6 +100,7 @@ typedef struct SnapshotData
 	 */
 	TransactionId *subxip;
 	int32		subxcnt;		/* # of xact ids in subxip[] */
+	uint8		subxhlog;		/* log2 of allocated subxip hash part */
 	bool		suboverflowed;	/* has the subxip array overflowed? */
 
 	bool		takenDuringRecovery;	/* recovery-shaped snapshot? */
-- 
2.14.1

#16Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Yura Sokolov (#15)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On 03/10/2018 03:11 AM, Yura Sokolov wrote:

08.03.2018 03:42, Tomas Vondra пишет:

On 03/06/2018 06:23 AM, Yura Sokolov wrote:

05.03.2018 18:00, Tom Lane пишет:

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

Sorting - is the first thing I've tried. Unfortunately, sorting
itself eats too much cpu. Filling hash table is much faster.

I've been interested in the sort-based approach, so I've spent a bit of
time hacking on it (patch attached). It's much less invasive compared to
the hash-table, but Yura is right the hashtable gives better results.

I've tried to measure the benefits using the same script I shared on
Tuesday, but I kept getting really strange numbers. In fact, I've been
unable to even reproduce the results I shared back then. And after a bit
of head-scratching I think the script is useless - it can't possibly
generate snapshots with many XIDs because all the update threads sleep
for exactly the same time. And first one to sleep is first one to wake
up and commit, so most of the other XIDs are above xmax (and thus not
included in the snapshot). I have no idea why I got the numbers :-/

But with this insight, I quickly modified the script to also consume
XIDs by another thread (which simply calls txid_current). With that I'm
getting snapshots with as many XIDs as there are UPDATE clients (this
time I actually checked that using gdb).

And for a 60-second run the tps results look like this (see the attached
chart, showing the same data):

writers master hash sort
-----------------------------------------
16 1068 1057 1070
32 1005 995 1033
64 1064 1042 1117
128 1058 1021 1051
256 977 1004 928
512 773 935 808
768 576 815 670
1000 413 752 573

The sort certainly does improve performance compared to master, but it's
only about half of the hashtable improvement.

I don't know how much this simple workload resembles the YCSB benchmark,
but I seem to recall it's touching individual rows. In which case it's
likely worse due to the pg_qsort being more expensive than building the
hash table.

So I agree with Yura the sort is not a viable alternative to the hash
table, in this case.

Can I rely on snapshots being static? May be then there is no need
in separate raw representation and hash table. I may try to fill hash
table directly in GetSnapshotData instead of lazy filling. Though it
will increase time under lock, so it is debatable and should be
carefully measured.

Yes, I think you can rely on snapshots not being modified later. That's
pretty much the definition of a snapshot.

You may do that in GetSnapshotData, but you certainly can't do that in
the for loop there. Not only we don't want to add more work there, but
you don't know the number of XIDs in that loop. And we don't want to
build hash tables for small number of XIDs.

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

Thank you for analyze, Tomas.

Stephen is right about bug in snapmgr.c
Attached version fixes bug, and also simplifies XidInXip a bit.

OK, a few more comments.

1) The code in ExtendXipSizeForHash seems somewhat redundant with
my_log2 (that is, we could just call the existing function).

2) Apparently xhlog/subxhlog fields are used for two purposes - to store
log2 of the two XID counts, and to remember if the hash table is built.
That's a bit confusing (at least it should be explained in a comment)
but most importantly it seems a bit unnecessary.

I assume it was done to save space, but I very much doubt that makes any
difference. So we could easily keep a separate flag. I'm pretty sure
there are holes in the SnapshotData struct, so we could squeeze it the
flags in one of those.

But do we even need a separate flag? We could just as easily keep the
log2 fields set to 0 and only set them after actually building the hash
table. Or even better, why not to store the mask so that XidInXip does
not need to compute it over and over (granted, that's uint32 instead of
just uint8, but I don't think SnapshotData is particularly sensitive to
this, especially considering how much larger the xid hash table is).

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#17Yura Sokolov
funny.falcon@gmail.com
In reply to: Tomas Vondra (#16)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

16.03.2018 04:23, Tomas Vondra пишет:

On 03/10/2018 03:11 AM, Yura Sokolov wrote:

08.03.2018 03:42, Tomas Vondra пишет:

On 03/06/2018 06:23 AM, Yura Sokolov wrote:

05.03.2018 18:00, Tom Lane пишет:

Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:

Snapshots are static (we don't really add new XIDs into existing ones,
right?), so why don't we simply sort the XIDs and then use bsearch to
lookup values? That should fix the linear search, without need for any
local hash table.

+1 for looking into that, since it would avoid adding any complication
to snapshot copying. In principle, with enough XIDs in the snap, an
O(1) hash probe would be quicker than an O(log N) bsearch ... but I'm
dubious that we are often in the range where that would matter.
We do need to worry about the cost of snapshot copying, too.

Sorting - is the first thing I've tried. Unfortunately, sorting
itself eats too much cpu. Filling hash table is much faster.

I've been interested in the sort-based approach, so I've spent a bit of
time hacking on it (patch attached). It's much less invasive compared to
the hash-table, but Yura is right the hashtable gives better results.

I've tried to measure the benefits using the same script I shared on
Tuesday, but I kept getting really strange numbers. In fact, I've been
unable to even reproduce the results I shared back then. And after a bit
of head-scratching I think the script is useless - it can't possibly
generate snapshots with many XIDs because all the update threads sleep
for exactly the same time. And first one to sleep is first one to wake
up and commit, so most of the other XIDs are above xmax (and thus not
included in the snapshot). I have no idea why I got the numbers :-/

But with this insight, I quickly modified the script to also consume
XIDs by another thread (which simply calls txid_current). With that I'm
getting snapshots with as many XIDs as there are UPDATE clients (this
time I actually checked that using gdb).

And for a 60-second run the tps results look like this (see the attached
chart, showing the same data):

writers master hash sort
-----------------------------------------
16 1068 1057 1070
32 1005 995 1033
64 1064 1042 1117
128 1058 1021 1051
256 977 1004 928
512 773 935 808
768 576 815 670
1000 413 752 573

The sort certainly does improve performance compared to master, but it's
only about half of the hashtable improvement.

I don't know how much this simple workload resembles the YCSB benchmark,
but I seem to recall it's touching individual rows. In which case it's
likely worse due to the pg_qsort being more expensive than building the
hash table.

So I agree with Yura the sort is not a viable alternative to the hash
table, in this case.

Can I rely on snapshots being static? May be then there is no need
in separate raw representation and hash table. I may try to fill hash
table directly in GetSnapshotData instead of lazy filling. Though it
will increase time under lock, so it is debatable and should be
carefully measured.

Yes, I think you can rely on snapshots not being modified later. That's
pretty much the definition of a snapshot.

You may do that in GetSnapshotData, but you certainly can't do that in
the for loop there. Not only we don't want to add more work there, but
you don't know the number of XIDs in that loop. And we don't want to
build hash tables for small number of XIDs.

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

Thank you for analyze, Tomas.

Stephen is right about bug in snapmgr.c
Attached version fixes bug, and also simplifies XidInXip a bit.

OK, a few more comments.

1) The code in ExtendXipSizeForHash seems somewhat redundant with
my_log2 (that is, we could just call the existing function).

Yes, I could call my_log2 from ExtendXipSizeForHash. But wouldn't one
more call be more expensive than loop itself?

2) Apparently xhlog/subxhlog fields are used for two purposes - to store
log2 of the two XID counts, and to remember if the hash table is built.
That's a bit confusing (at least it should be explained in a comment)
but most importantly it seems a bit unnecessary.

Ok, I'll add comment.

I assume it was done to save space, but I very much doubt that makes any
difference. So we could easily keep a separate flag. I'm pretty sure
there are holes in the SnapshotData struct, so we could squeeze it the
flags in one of those.

There's hole just right after xhlog. But it will be a bit strange to
move fields around.

But do we even need a separate flag? We could just as easily keep the
log2 fields set to 0 and only set them after actually building the hash
table.

There is a need to signal that there is space for hash. It is not always
allocated. iirc, I didn't cover the case where snapshot were restored
from file, and some other place or two.
Only if all places where snapshot is allocated are properly modified to
allocate space for hash, then flag could be omitted, and log2 itself
used as a flag.

Or even better, why not to store the mask so that XidInXip does
not need to compute it over and over (granted, that's uint32 instead of
just uint8, but I don't think SnapshotData is particularly sensitive to
this, especially considering how much larger the xid hash table is).

I don't like unnecessary sizeof struct increase. And I doubt that
computation matters. I could be mistaken though, because it is hot place.
Do you think it will significantly improve readability?

With regards,
Sokolov Yura aka funny_falcon.

#18Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Yura Sokolov (#17)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On 03/17/2018 12:03 AM, Yura Sokolov wrote:

16.03.2018 04:23, Tomas Vondra пишет:

...

OK, a few more comments.

1) The code in ExtendXipSizeForHash seems somewhat redundant with
my_log2 (that is, we could just call the existing function).

Yes, I could call my_log2 from ExtendXipSizeForHash. But wouldn't one
more call be more expensive than loop itself?

I very much doubt it there would be a measurable difference. Firstly,
function calls are not that expensive, otherwise we'd be running around
and removing function calls from the hot paths. Secondly, the call only
happens with many XIDs, and in that case the cost should be out-weighted
by faster lookups. And finally, the function does stuff that seems far
more expensive than a single function call (for example allocation,
which may easily trigger a malloc).

In fact, in the interesting cases it's pretty much guaranteed to hit a
malloc, because the number of backend processes needs to be high enough
(say, 256 or more), which means

GetMaxSnapshotSubxidCount()

will translate to something like

((PGPROC_MAX_CACHED_SUBXIDS + 1) * PROCARRAY_MAXPROCS)
= (64 + 1) * 256
= 16640

and because XIDs are 4B each, that's ~65kB of memory (even ignoring the
ExtendXipSizeForHash business). And aset.c treats chunks larger than 8kB
as separate blocks, that are always malloc-ed independently.

But I may be missing something, and the extra call actually makes a
difference. But I think the onus of proving that is on you, and the
default should be not to duplicate code.

2) Apparently xhlog/subxhlog fields are used for two purposes - to
store log2 of the two XID counts, and to remember if the hash table
is built. That's a bit confusing (at least it should be explained
in a comment) but most importantly it seems a bit unnecessary.

Ok, I'll add comment.

I assume it was done to save space, but I very much doubt that
makes any difference. So we could easily keep a separate flag. I'm
pretty sure there are holes in the SnapshotData struct, so we could
squeeze it the flags in one of those.

There's hole just right after xhlog. But it will be a bit strange to
move fields around.

Is SnapshotData really that sensitive to size increase? I have my doubts
about that, TBH. The default stance should be to make the code easy to
understand. That is, we should only move fields around if it actually
makes a difference.

But do we even need a separate flag? We could just as easily keep
the log2 fields set to 0 and only set them after actually building
the hash table.

There is a need to signal that there is space for hash. It is not
always allocated. iirc, I didn't cover the case where snapshot were
restored from file, and some other place or two.
Only if all places where snapshot is allocated are properly modified
to allocate space for hash, then flag could be omitted, and log2
itself used as a flag.

Hmmm, that makes it a bit inconsistent, I guess ... why not to do the
same thing on all those places?

Or even better, why not to store the mask so that XidInXip does not
need to compute it over and over (granted, that's uint32 instead
of just uint8, but I don't think SnapshotData is particularly
sensitive to this, especially considering how much larger the xid
hash table is).

I don't like unnecessary sizeof struct increase. And I doubt that
computation matters. I could be mistaken though, because it is hot
place. Do you think it will significantly improve readability?

IMHO the primary goal is to make the code easy to read and understand,
and only optimize struct size if it actually makes a difference. We have
no such proof here, and I very much doubt you'll be able to show any
difference because even with separate flags pahole says this:

struct SnapshotData {
SnapshotSatisfiesFunc satisfies; /* 0 8 */
TransactionId xmin; /* 8 4 */
TransactionId xmax; /* 12 4 */
TransactionId * xip; /* 16 8 */
uint32 xcnt; /* 24 4 */
uint8 xhlog; /* 28 1 */

/* XXX 3 bytes hole, try to pack */

TransactionId * subxip; /* 32 8 */
int32 subxcnt; /* 40 4 */
uint8 subxhlog; /* 44 1 */
bool suboverflowed; /* 45 1 */
bool takenDuringRecovery; /* 46 1 */
bool copied; /* 47 1 */
CommandId curcid; /* 48 4 */
uint32 speculativeToken; /* 52 4 */
uint32 active_count; /* 56 4 */
uint32 regd_count; /* 60 4 */
/* --- cacheline 1 boundary (64 bytes) --- */
pairingheap_node ph_node; /* 64 24 */
TimestampTz whenTaken; /* 88 8 */
XLogRecPtr lsn; /* 96 8 */

/* size: 104, cachelines: 2, members: 19 */
/* sum members: 101, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
};

That is, the whole structure is only 104B - had it got over 128B, it
might have made a difference due to extra cacheline. In fact, even if
you make the xhlog and subxhlog uint32 (which would be enough to store
the mask, which is what simplehash does), it'd be only 120B.

Based on this I'd dare to say neither of those changes would have
negative impact.

So I suggest to split each of the "combined" fields into a simple bool
flag ("hash table built") and a uint32 mask, and see if it simplifies
the code (I believe it will) and what impact it has (I believe there
will be none).

Sorry if this seems like a bikeshedding ...

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#19Amit Kapila
amit.kapila16@gmail.com
In reply to: Yura Sokolov (#15)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Sat, Mar 10, 2018 at 7:41 AM, Yura Sokolov <funny.falcon@gmail.com> wrote:

08.03.2018 03:42, Tomas Vondra пишет:

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

Thank you for analyze, Tomas.

Stephen is right about bug in snapmgr.c
Attached version fixes bug, and also simplifies XidInXip a bit.

@@ -2167,8 +2175,7 @@ RestoreSnapshot(char *start_address)
  /* Copy SubXIDs, if present. */
  if (serialized_snapshot.subxcnt > 0)
  {
- snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
- serialized_snapshot.xcnt;
+ snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
  memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
    serialized_snapshot.subxcnt * sizeof(TransactionId));
  }

It is not clear why you want to change this in RestoreSnapshot when
nothing related is changed in SerializeSnapshot? Can you please add
some comments to clarify it?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

#20Yura Sokolov
funny.falcon@gmail.com
In reply to: Tomas Vondra (#18)
1 attachment(s)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

17.03.2018 03:36, Tomas Vondra пишет:

On 03/17/2018 12:03 AM, Yura Sokolov wrote:

16.03.2018 04:23, Tomas Vondra пишет:

...

OK, a few more comments.

1) The code in ExtendXipSizeForHash seems somewhat redundant with
my_log2 (that is, we could just call the existing function).

Yes, I could call my_log2 from ExtendXipSizeForHash. But wouldn't one
more call be more expensive than loop itself?

I very much doubt it there would be a measurable difference. Firstly,
function calls are not that expensive, otherwise we'd be running around
and removing function calls from the hot paths. Secondly, the call only
happens with many XIDs, and in that case the cost should be out-weighted
by faster lookups. And finally, the function does stuff that seems far
more expensive than a single function call (for example allocation,
which may easily trigger a malloc).

In fact, in the interesting cases it's pretty much guaranteed to hit a
malloc, because the number of backend processes needs to be high enough
(say, 256 or more), which means

GetMaxSnapshotSubxidCount()

will translate to something like

((PGPROC_MAX_CACHED_SUBXIDS + 1) * PROCARRAY_MAXPROCS)
= (64 + 1) * 256
= 16640

and because XIDs are 4B each, that's ~65kB of memory (even ignoring the
ExtendXipSizeForHash business). And aset.c treats chunks larger than 8kB
as separate blocks, that are always malloc-ed independently.

But I may be missing something, and the extra call actually makes a
difference. But I think the onus of proving that is on you, and the
default should be not to duplicate code.

2) Apparently xhlog/subxhlog fields are used for two purposes - to
store log2 of the two XID counts, and to remember if the hash table
is built. That's a bit confusing (at least it should be explained
in a comment) but most importantly it seems a bit unnecessary.

Ok, I'll add comment.

I assume it was done to save space, but I very much doubt that
makes any difference. So we could easily keep a separate flag. I'm
pretty sure there are holes in the SnapshotData struct, so we could
squeeze it the flags in one of those.

There's hole just right after xhlog. But it will be a bit strange to
move fields around.

Is SnapshotData really that sensitive to size increase? I have my doubts
about that, TBH. The default stance should be to make the code easy to
understand. That is, we should only move fields around if it actually
makes a difference.

But do we even need a separate flag? We could just as easily keep
the log2 fields set to 0 and only set them after actually building
the hash table.

There is a need to signal that there is space for hash. It is not
always allocated. iirc, I didn't cover the case where snapshot were
restored from file, and some other place or two.
Only if all places where snapshot is allocated are properly modified
to allocate space for hash, then flag could be omitted, and log2
itself used as a flag.

Hmmm, that makes it a bit inconsistent, I guess ... why not to do the
same thing on all those places?

Or even better, why not to store the mask so that XidInXip does not
need to compute it over and over (granted, that's uint32 instead
of just uint8, but I don't think SnapshotData is particularly
sensitive to this, especially considering how much larger the xid
hash table is).

I don't like unnecessary sizeof struct increase. And I doubt that
computation matters. I could be mistaken though, because it is hot
place. Do you think it will significantly improve readability?

IMHO the primary goal is to make the code easy to read and understand,
and only optimize struct size if it actually makes a difference. We have
no such proof here, and I very much doubt you'll be able to show any
difference because even with separate flags pahole says this:

struct SnapshotData {
SnapshotSatisfiesFunc satisfies; /* 0 8 */
TransactionId xmin; /* 8 4 */
TransactionId xmax; /* 12 4 */
TransactionId * xip; /* 16 8 */
uint32 xcnt; /* 24 4 */
uint8 xhlog; /* 28 1 */

/* XXX 3 bytes hole, try to pack */

TransactionId * subxip; /* 32 8 */
int32 subxcnt; /* 40 4 */
uint8 subxhlog; /* 44 1 */
bool suboverflowed; /* 45 1 */
bool takenDuringRecovery; /* 46 1 */
bool copied; /* 47 1 */
CommandId curcid; /* 48 4 */
uint32 speculativeToken; /* 52 4 */
uint32 active_count; /* 56 4 */
uint32 regd_count; /* 60 4 */
/* --- cacheline 1 boundary (64 bytes) --- */
pairingheap_node ph_node; /* 64 24 */
TimestampTz whenTaken; /* 88 8 */
XLogRecPtr lsn; /* 96 8 */

/* size: 104, cachelines: 2, members: 19 */
/* sum members: 101, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
};

That is, the whole structure is only 104B - had it got over 128B, it
might have made a difference due to extra cacheline. In fact, even if
you make the xhlog and subxhlog uint32 (which would be enough to store
the mask, which is what simplehash does), it'd be only 120B.

Based on this I'd dare to say neither of those changes would have
negative impact.

So I suggest to split each of the "combined" fields into a simple bool
flag ("hash table built") and a uint32 mask, and see if it simplifies
the code (I believe it will) and what impact it has (I believe there
will be none).

Sorry if this seems like a bikeshedding ...

regards

I've made version "without bit magic" as you suggested (in attach).
I can't reliably say is there any performance difference with previous
version.

With regards,
Yura.

Attachments:

0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot_v5.patchtext/x-patch; name=0001-Make-hash-table-for-xip-in-XidInMVCCSnapshot_v5.patchDownload
From 0dc50e4e72963da772269873ca5e2abab2a70a2c Mon Sep 17 00:00:00 2001
From: Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
Date: Fri, 9 Mar 2018 22:49:01 +0300
Subject: [PATCH] Make hash table for xip in XidInMVCCSnapshot

When lot of concurrent transactions attempts to update single
row, then linear scan through running list in XidInMVCCSnapshot
became noticebale bottleneck.

With this change, hash table is built on first search of xid in
snapshot->xip and snapshot->subxip arrays.

If size of array is smaller than 60, then linear scan is still
used, cause there is no much benefits from building hash then.
(at least on Intel Xeon).
---
 src/backend/storage/ipc/procarray.c | 68 +++++++++++++++++++++++------
 src/backend/utils/time/snapmgr.c    | 29 +++++++++----
 src/backend/utils/time/tqual.c      | 85 ++++++++++++++++++++++++++++---------
 src/include/utils/snapshot.h        | 11 +++++
 4 files changed, 150 insertions(+), 43 deletions(-)

diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index afe1c03aa3..b3bd2deb6a 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1469,6 +1469,55 @@ GetMaxSnapshotSubxidCount(void)
 	return TOTAL_MAX_CACHED_SUBXIDS;
 }
 
+/*
+ * ExtendXipSizeForHash - calculate xip array size with space for hash table.
+ *
+ * Hash table should be at least twice larger than array to not depend on
+ * cleverness of algorithm.
+ *
+ * But if xipcnt < SnapshotMinHash, then no need in hash-table at all.
+ */
+int
+ExtendXipSizeForHash(int xipcnt, uint32* pmask)
+{
+	int size;
+	uint32 mask = 0;
+
+	size = xipcnt;
+	if (xipcnt >= SnapshotMinHash)
+	{
+		mask = xipcnt * 2;
+		mask |= mask>>1;
+		mask |= mask>>2;
+		mask |= mask>>4;
+		mask |= mask>>8;
+		mask |= mask>>16;
+		size += mask + 1;
+	}
+	*pmask = mask;
+	return size;
+}
+
+/*
+ * AllocateXip - allocate xip array, extended for hash part if needed.
+ *
+ * Hash part will be used in tqual.c in XidInMVCCSnapshot (XidInXip).
+ */
+static TransactionId *
+AllocateXip(int max, uint32* pmask)
+{
+	int size;
+	TransactionId *xip;
+
+	size = ExtendXipSizeForHash(max, pmask);
+	xip = (TransactionId *) malloc(size * sizeof(TransactionId));
+	if (xip == NULL)
+		ereport(ERROR,
+				(errcode(ERRCODE_OUT_OF_MEMORY),
+				 errmsg("out of memory")));
+	return xip;
+}
+
 /*
  * GetSnapshotData -- returns information about running transactions.
  *
@@ -1538,19 +1587,10 @@ GetSnapshotData(Snapshot snapshot)
 		 * First call for this snapshot. Snapshot is same size whether or not
 		 * we are in recovery, see later comments.
 		 */
-		snapshot->xip = (TransactionId *)
-			malloc(GetMaxSnapshotXidCount() * sizeof(TransactionId));
-		if (snapshot->xip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
-		Assert(snapshot->subxip == NULL);
-		snapshot->subxip = (TransactionId *)
-			malloc(GetMaxSnapshotSubxidCount() * sizeof(TransactionId));
-		if (snapshot->subxip == NULL)
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
+		snapshot->xip = AllocateXip(GetMaxSnapshotXidCount(),
+				&snapshot->xhmask);
+		snapshot->subxip = AllocateXip(GetMaxSnapshotSubxidCount(),
+				&snapshot->subxhmask);
 	}
 
 	/*
@@ -1758,6 +1798,8 @@ GetSnapshotData(Snapshot snapshot)
 	snapshot->active_count = 0;
 	snapshot->regd_count = 0;
 	snapshot->copied = false;
+	snapshot->xhbuilt = false;
+	snapshot->subxhbuilt = false;
 
 	if (old_snapshot_threshold < 0)
 	{
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 4b45d3cccd..2b1c3fa2e0 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -662,14 +662,16 @@ CopySnapshot(Snapshot snapshot)
 	Snapshot	newsnap;
 	Size		subxipoff;
 	Size		size;
+	int			xcnt, subxcnt;
+	uint32		xhmask, subxhmask;
 
 	Assert(snapshot != InvalidSnapshot);
 
+	xcnt = ExtendXipSizeForHash(snapshot->xcnt, &xhmask);
+	subxcnt = ExtendXipSizeForHash(snapshot->subxcnt, &subxhmask);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = subxipoff = sizeof(SnapshotData) +
-		snapshot->xcnt * sizeof(TransactionId);
-	if (snapshot->subxcnt > 0)
-		size += snapshot->subxcnt * sizeof(TransactionId);
+	size = subxipoff = sizeof(SnapshotData) + xcnt * sizeof(TransactionId);
+	size += subxcnt * sizeof(TransactionId);
 
 	newsnap = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
 	memcpy(newsnap, snapshot, sizeof(SnapshotData));
@@ -677,6 +679,10 @@ CopySnapshot(Snapshot snapshot)
 	newsnap->regd_count = 0;
 	newsnap->active_count = 0;
 	newsnap->copied = true;
+	newsnap->xhmask = xhmask;
+	newsnap->subxhmask = subxhmask;
+	newsnap->xhbuilt = false;
+	newsnap->subxhbuilt = false;
 
 	/* setup XID array */
 	if (snapshot->xcnt > 0)
@@ -2130,16 +2136,18 @@ RestoreSnapshot(char *start_address)
 	Size		size;
 	Snapshot	snapshot;
 	TransactionId *serialized_xids;
+	int			xcnt, subxcnt;
+	uint32		xhmask, subxhmask;
 
 	memcpy(&serialized_snapshot, start_address,
 		   sizeof(SerializedSnapshotData));
 	serialized_xids = (TransactionId *)
 		(start_address + sizeof(SerializedSnapshotData));
 
+	xcnt = ExtendXipSizeForHash(serialized_snapshot.xcnt, &xhmask);
+	subxcnt = ExtendXipSizeForHash(serialized_snapshot.subxcnt, &subxhmask);
 	/* We allocate any XID arrays needed in the same palloc block. */
-	size = sizeof(SnapshotData)
-		+ serialized_snapshot.xcnt * sizeof(TransactionId)
-		+ serialized_snapshot.subxcnt * sizeof(TransactionId);
+	size = sizeof(SnapshotData) + (xcnt + subxcnt) * sizeof(TransactionId);
 
 	/* Copy all required fields */
 	snapshot = (Snapshot) MemoryContextAlloc(TopTransactionContext, size);
@@ -2148,8 +2156,12 @@ RestoreSnapshot(char *start_address)
 	snapshot->xmax = serialized_snapshot.xmax;
 	snapshot->xip = NULL;
 	snapshot->xcnt = serialized_snapshot.xcnt;
+	snapshot->xhmask = xhmask;
+	snapshot->xhbuilt = false;
 	snapshot->subxip = NULL;
 	snapshot->subxcnt = serialized_snapshot.subxcnt;
+	snapshot->subxhmask = subxhmask;
+	snapshot->subxhbuilt = false;
 	snapshot->suboverflowed = serialized_snapshot.suboverflowed;
 	snapshot->takenDuringRecovery = serialized_snapshot.takenDuringRecovery;
 	snapshot->curcid = serialized_snapshot.curcid;
@@ -2167,8 +2179,7 @@ RestoreSnapshot(char *start_address)
 	/* Copy SubXIDs, if present. */
 	if (serialized_snapshot.subxcnt > 0)
 	{
-		snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
-			serialized_snapshot.xcnt;
+		snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
 		memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
 			   serialized_snapshot.subxcnt * sizeof(TransactionId));
 	}
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index f7c4c9188c..074c56e91e 100644
--- a/src/backend/utils/time/tqual.c
+++ b/src/backend/utils/time/tqual.c
@@ -1461,6 +1461,63 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 	return TransactionIdPrecedes(HeapTupleHeaderGetRawXmax(tuple), OldestXmin);
 }
 
+/*
+ * XidInXip searches xid in xip array.
+ *
+ * If xhmask is zero, then simple linear scan of xip array used. Looks like
+ * there is no benifit in hash table for small xip array.
+ *
+ * If xhmask is non-zero, then space for hash table is allocated after xip
+ * array. *xhbuilt should be set if hash table is already built.
+ *
+ * Hash table is built using simple linear probing. It allows keep both
+ * insertion and lookup loop small.
+ */
+static inline bool
+XidInXip(TransactionId xid, TransactionId *xip, uint32 xcnt, uint32 xhmask, bool *xhbuilt)
+{
+	TransactionId *xiphash;
+	uint32 i, pos;
+	int found = 0;
+
+	if (xhmask == 0)
+	{
+		/* full scan for small snapshots and if xiphash is not allocated */
+		for (i = 0; i < xcnt; i++)
+			if (TransactionIdEquals(xid, xip[i]))
+				return true;
+		return false;
+	}
+
+	xiphash = xip + xcnt;
+
+	if (*xhbuilt)
+	{
+		/* Hash table already built. Do lookup */
+		pos = xid & xhmask;
+		while (xiphash[pos] != InvalidTransactionId)
+		{
+			if (TransactionIdEquals(xiphash[pos], xid))
+				return true;
+			pos = (pos + 1) & xhmask;
+		}
+		return false;
+	}
+
+	/* Build hash table. */
+	*xhbuilt = true;
+	memset(xiphash, 0, (xhmask+1) * sizeof(TransactionId));
+	for (i = 0; i < xcnt; i++)
+	{
+		found |= TransactionIdEquals(xip[i], xid);
+		pos = xip[i] & xhmask;
+		while (xiphash[pos] != InvalidTransactionId)
+			pos = (pos + 1) & xhmask;
+		xiphash[pos] = xip[i];
+	}
+	return found != 0;
+}
+
 /*
  * XidInMVCCSnapshot
  *		Is the given XID still-in-progress according to the snapshot?
@@ -1474,8 +1531,6 @@ HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin)
 bool
 XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 {
-	uint32		i;
-
 	/*
 	 * Make a quick range check to eliminate most XIDs without looking at the
 	 * xip arrays.  Note that this is OK even if we convert a subxact XID to
@@ -1507,13 +1562,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		if (!snapshot->suboverflowed)
 		{
 			/* we have full data, so search subxip */
-			int32		j;
-
-			for (j = 0; j < snapshot->subxcnt; j++)
-			{
-				if (TransactionIdEquals(xid, snapshot->subxip[j]))
-					return true;
-			}
+			if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, snapshot->subxhmask, &snapshot->subxhbuilt))
+				return true;
 
 			/* not there, fall through to search xip[] */
 		}
@@ -1534,16 +1584,12 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 				return false;
 		}
 
-		for (i = 0; i < snapshot->xcnt; i++)
-		{
-			if (TransactionIdEquals(xid, snapshot->xip[i]))
-				return true;
-		}
+
+		if (XidInXip(xid, snapshot->xip, snapshot->xcnt, snapshot->xhmask, &snapshot->xhbuilt))
+			return true;
 	}
 	else
 	{
-		int32		j;
-
 		/*
 		 * In recovery we store all xids in the subxact array because it is by
 		 * far the bigger array, and we mostly don't know which xids are
@@ -1573,11 +1619,8 @@ XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
 		 * indeterminate xid. We don't know whether it's top level or subxact
 		 * but it doesn't matter. If it's present, the xid is visible.
 		 */
-		for (j = 0; j < snapshot->subxcnt; j++)
-		{
-			if (TransactionIdEquals(xid, snapshot->subxip[j]))
-				return true;
-		}
+		if (XidInXip(xid, snapshot->subxip, snapshot->subxcnt, snapshot->subxhmask, &snapshot->subxhbuilt))
+			return true;
 	}
 
 	return false;
diff --git a/src/include/utils/snapshot.h b/src/include/utils/snapshot.h
index a8a5a8f4c0..87d1445cb3 100644
--- a/src/include/utils/snapshot.h
+++ b/src/include/utils/snapshot.h
@@ -23,6 +23,13 @@
 typedef struct SnapshotData *Snapshot;
 
 #define InvalidSnapshot		((Snapshot) NULL)
+/*
+ * Big running list will be converted into hash table on demand.
+ * SnapshotMinHash is threshold between "linear scan" and "hashtable on demand".
+ */
+#define SnapshotMinHash			(60)
+/* Calculate size to hold both array and hash table (if needed) */
+int ExtendXipSizeForHash(int xipcnt, uint32* plog);
 
 /*
  * We use SnapshotData structures to represent both "regular" (MVCC)
@@ -78,6 +85,8 @@ typedef struct SnapshotData
 	 */
 	TransactionId *xip;
 	uint32		xcnt;			/* # of xact ids in xip[] */
+	uint32		xhmask;			/* mask of allocated xip hash part */
+	bool		xhbuilt;		/* was hash table built */
 
 	/*
 	 * For non-historic MVCC snapshots, this contains subxact IDs that are in
@@ -90,6 +99,8 @@ typedef struct SnapshotData
 	 */
 	TransactionId *subxip;
 	int32		subxcnt;		/* # of xact ids in subxip[] */
+	uint32		subxhmask;		/* mask of allocated subxip hash part */
+	bool		subxhbuilt;		/* was hash table built */
 	bool		suboverflowed;	/* has the subxip array overflowed? */
 
 	bool		takenDuringRecovery;	/* recovery-shaped snapshot? */
-- 
2.14.1

#21Yura Sokolov
funny.falcon@gmail.com
In reply to: Amit Kapila (#19)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

23.03.2018 17:59, Amit Kapila пишет:

On Sat, Mar 10, 2018 at 7:41 AM, Yura Sokolov <funny.falcon@gmail.com> wrote:

08.03.2018 03:42, Tomas Vondra пишет:

One reason against building the hash table in GetSnapshotData is that
we'd build it even when the snapshot is never queried. Or when it is
queried, but we only need to check xmin/xmax.

Thank you for analyze, Tomas.

Stephen is right about bug in snapmgr.c
Attached version fixes bug, and also simplifies XidInXip a bit.

@@ -2167,8 +2175,7 @@ RestoreSnapshot(char *start_address)
/* Copy SubXIDs, if present. */
if (serialized_snapshot.subxcnt > 0)
{
- snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
- serialized_snapshot.xcnt;
+ snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
serialized_snapshot.subxcnt * sizeof(TransactionId));
}

It is not clear why you want to change this in RestoreSnapshot when
nothing related is changed in SerializeSnapshot? Can you please add
some comments to clarify it?

I didn't change serialized format. Therefore is no need to change
SerializeSnapshot.
But in-memory representation were changed, so RestoreSnapshot is changed.

With regards,
Sokolov Yura.

#22Dmitry Dolgov
9erthalion6@gmail.com
In reply to: Yura Sokolov (#21)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Sun, 1 Apr 2018 at 19:58, Yura Sokolov <funny.falcon@gmail.com> wrote:

I didn't change serialized format. Therefore is no need to change
SerializeSnapshot.
But in-memory representation were changed, so RestoreSnapshot is changed.

This patch went through the last tree commit fests without any noticeable
activity, but cfbot says it still applies and doesn't break any tests. Taking
into account potential performance improvements, I believe it would be a pity
to stop at this point.

Yura, what're your plans about it? If I understand correctly, there are still
some commentaries, that were not answered from the last few messages. At the
same time can anyone from active reviewers (Tomas, Amit) look at it to agree on
what should be done to push it forward?

#23Dmitry Dolgov
9erthalion6@gmail.com
In reply to: Dmitry Dolgov (#22)
Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

On Sun, Nov 4, 2018 at 1:27 PM Dmitry Dolgov <9erthalion6@gmail.com> wrote:

On Sun, 1 Apr 2018 at 19:58, Yura Sokolov <funny.falcon@gmail.com> wrote:

I didn't change serialized format. Therefore is no need to change
SerializeSnapshot.
But in-memory representation were changed, so RestoreSnapshot is changed.

This patch went through the last tree commit fests without any noticeable
activity, but cfbot says it still applies and doesn't break any tests. Taking
into account potential performance improvements, I believe it would be a pity
to stop at this point.

Yura, what're your plans about it? If I understand correctly, there are still
some commentaries, that were not answered from the last few messages. At the
same time can anyone from active reviewers (Tomas, Amit) look at it to agree on
what should be done to push it forward?

Due to lack of response I'm marking it as "Returned with feedback". Feel free
to resubmit a new version though.