From 8babb3bca6f206ea463d125e2e8ab174d94818a0 Mon Sep 17 00:00:00 2001 From: Darian Leung Date: Thu, 14 Oct 2021 01:31:05 +0800 Subject: [PATCH] freertos: Fix SMP round robin scheduling The previous SMP freertos round robin would skip over tasks when time slicing. This commit implements a Best Effort Round Robin where selected tasks are put to the back of the list, thus makes the time slicing more fair. - Documentation has been updated accordingly. - Tidy up vTaskSwitchContext() to match v10.4.3 more - Increased esp_ipc task stack size to avoid overflow Closes https://github.com/espressif/esp-idf/issues/7256 --- components/esp_ipc/Kconfig | 2 +- components/freertos/FreeRTOS-Kernel/tasks.c | 252 ++++++++++-------- .../test_freertos_scheduling_round_robin.c | 169 ++++++++++++ .../freertos-ready-task-list-smp-pxIndex.png | Bin 29564 -> 0 bytes docs/_static/freertos-ready-task-list-smp.png | Bin 61732 -> 0 bytes docs/_static/freertos-ready-task-list.png | Bin 49709 -> 0 bytes docs/en/api-guides/freertos-smp.rst | 146 +++++----- 7 files changed, 376 insertions(+), 193 deletions(-) create mode 100644 components/freertos/test/test_freertos_scheduling_round_robin.c delete mode 100644 docs/_static/freertos-ready-task-list-smp-pxIndex.png delete mode 100644 docs/_static/freertos-ready-task-list-smp.png delete mode 100644 docs/_static/freertos-ready-task-list.png diff --git a/components/esp_ipc/Kconfig b/components/esp_ipc/Kconfig index b97f978007..44ed96996f 100644 --- a/components/esp_ipc/Kconfig +++ b/components/esp_ipc/Kconfig @@ -5,7 +5,7 @@ menu "IPC (Inter-Processor Call)" range 512 65536 if !APPTRACE_ENABLE range 2048 65536 if APPTRACE_ENABLE default 2048 if APPTRACE_ENABLE - default 1024 + default 1536 help Configure the IPC tasks stack size. One IPC task runs on each core (in dual core mode), and allows for cross-core function calls. diff --git a/components/freertos/FreeRTOS-Kernel/tasks.c b/components/freertos/FreeRTOS-Kernel/tasks.c index 572556f2cf..9d144cb3a7 100644 --- a/components/freertos/FreeRTOS-Kernel/tasks.c +++ b/components/freertos/FreeRTOS-Kernel/tasks.c @@ -143,6 +143,9 @@ /*-----------------------------------------------------------*/ +#ifdef ESP_PLATFORM + #define taskSELECT_HIGHEST_PRIORITY_TASK() taskSelectHighestPriorityTaskSMP() +#else //ESP_PLATFORM #define taskSELECT_HIGHEST_PRIORITY_TASK() \ { \ UBaseType_t uxTopPriority = uxTopReadyPriority; \ @@ -159,6 +162,7 @@ listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB[xPortGetCoreID()], &( pxReadyTasksLists[ uxTopPriority ] ) ); \ uxTopReadyPriority = uxTopPriority; \ } /* taskSELECT_HIGHEST_PRIORITY_TASK */ +#endif //ESP_PLATFORM /*-----------------------------------------------------------*/ @@ -3358,12 +3362,102 @@ BaseType_t xTaskIncrementTick( void ) #endif /* configUSE_APPLICATION_TASK_TAG */ /*-----------------------------------------------------------*/ +#ifdef ESP_PLATFORM +#if ( configUSE_PORT_OPTIMISED_TASK_SELECTION == 0 ) +static void taskSelectHighestPriorityTaskSMP( void ) +{ + /* This function is called from a critical section. So some optimizations are made */ + BaseType_t uxCurPriority; + BaseType_t xTaskScheduled = pdFALSE; + BaseType_t xNewTopPrioritySet = pdFALSE; + BaseType_t xCoreID = xPortGetCoreID(); /* Optimization: Read once */ + + /* Search for tasks, starting form the highest ready priority. If nothing is + * found, we eventually default to the IDLE tasks at priority 0 */ + for ( uxCurPriority = uxTopReadyPriority; uxCurPriority >= 0 && xTaskScheduled == pdFALSE; uxCurPriority-- ) + { + /* Check if current priority has one or more ready tasks. Skip if none */ + if( listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxCurPriority ] ) ) ) + { + continue; + } + + /* Save a copy of highest priority that has a ready state task */ + if( xNewTopPrioritySet == pdFALSE ) + { + xNewTopPrioritySet = pdTRUE; + uxTopReadyPriority = uxCurPriority; + } + + /* We now search this priority's ready task list for a runnable task. + * We always start searching from the head of the list, so we reset + * pxIndex to point to the tail so that we start walking the list from + * the first item */ + pxReadyTasksLists[ uxCurPriority ].pxIndex = ( ListItem_t * ) &( pxReadyTasksLists[ uxCurPriority ].xListEnd ); + + /* Get the first item on the list */ + TCB_t * pxTCBCur; + TCB_t * pxTCBFirst; + listGET_OWNER_OF_NEXT_ENTRY( pxTCBCur, &( pxReadyTasksLists[ uxCurPriority ] ) ); + pxTCBFirst = pxTCBCur; + do + { + /* Check if the current task is currently being executed. However, if + * it's being executed by the current core, we can still schedule it. + * Todo: Each task can store a xTaskRunState, instead of needing to + * check each core */ + UBaseType_t ux; + for( ux = 0; ux < ( UBaseType_t )configNUM_CORES; ux++ ) + { + if ( ux == xCoreID ) + { + continue; + } + else if ( pxCurrentTCB[ux] == pxTCBCur ) + { + /* Current task is already being executed. Get the next task */ + goto get_next_task; + } + } + + /* Check if the current task has a compatible affinity */ + if ( ( pxTCBCur->xCoreID != xCoreID ) && ( pxTCBCur->xCoreID != tskNO_AFFINITY ) ) + { + goto get_next_task; + } + + /* The current task is runnable. Schedule it */ + pxCurrentTCB[ xCoreID ] = pxTCBCur; + xTaskScheduled = pdTRUE; + + /* Move the current tasks list item to the back of the list in order + * to implement best effort round robin. To do this, we need to reset + * the pxIndex to point to the tail again. */ + pxReadyTasksLists[ uxCurPriority ].pxIndex = ( ListItem_t * ) &( pxReadyTasksLists[ uxCurPriority ].xListEnd ); + uxListRemove( &( pxTCBCur->xStateListItem ) ); + vListInsertEnd( &( pxReadyTasksLists[ uxCurPriority ] ), &( pxTCBCur->xStateListItem ) ); + break; + +get_next_task: + /* The current task cannot be scheduled. Get the next task in the list */ + listGET_OWNER_OF_NEXT_ENTRY( pxTCBCur, &( pxReadyTasksLists[ uxCurPriority ] ) ); + } while( pxTCBCur != pxTCBFirst); /* Check to see if we've walked the entire list */ + } + + assert( xTaskScheduled == pdTRUE ); /* At this point, a task MUST have been scheduled */ +} +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ +#endif //ESP_PLATFORM + void vTaskSwitchContext( void ) { - //Theoretically, this is only called from either the tick interrupt or the crosscore interrupt, so disabling - //interrupts shouldn't be necessary anymore. Still, for safety we'll leave it in for now. - int irqstate = portSET_INTERRUPT_MASK_FROM_ISR(); - +#ifdef ESP_PLATFORM + /* vTaskSwitchContext is called either from: + * - ISR dispatcher when return from an ISR (interrupts will already be disabled) + * - vTaskSuspend() which is not in a critical section + * Therefore, we enter a critical section ISR version to ensure safety */ + taskENTER_CRITICAL_ISR(); +#endif // ESP_PLATFORM if( uxSchedulerSuspended[ xPortGetCoreID() ] != ( UBaseType_t ) pdFALSE ) { /* The scheduler is currently suspended - do not allow a context @@ -3373,7 +3467,9 @@ void vTaskSwitchContext( void ) else { xYieldPending[ xPortGetCoreID() ] = pdFALSE; +#ifdef ESP_PLATFORM xSwitchingContext[ xPortGetCoreID() ] = pdTRUE; +#endif // ESP_PLATFORM traceTASK_SWITCHED_OUT(); #if ( configGENERATE_RUN_TIME_STATS == 1 ) @@ -3391,7 +3487,6 @@ void vTaskSwitchContext( void ) * overflows. The guard against negative values is to protect * against suspect run time stat counter implementations - which * are provided by the application, not the kernel. */ - taskENTER_CRITICAL_ISR(); if( ulTotalRunTime > ulTaskSwitchedInTime[ xPortGetCoreID() ] ) { pxCurrentTCB[ xPortGetCoreID() ]->ulRunTimeCounter += ( ulTotalRunTime - ulTaskSwitchedInTime[ xPortGetCoreID() ] ); @@ -3400,134 +3495,59 @@ void vTaskSwitchContext( void ) { mtCOVERAGE_TEST_MARKER(); } - taskEXIT_CRITICAL_ISR(); + ulTaskSwitchedInTime[ xPortGetCoreID() ] = ulTotalRunTime; } #endif /* configGENERATE_RUN_TIME_STATS */ /* Check for stack overflow, if configured. */ +#ifdef ESP_PLATFORM taskFIRST_CHECK_FOR_STACK_OVERFLOW(); taskSECOND_CHECK_FOR_STACK_OVERFLOW(); +#else + taskCHECK_FOR_STACK_OVERFLOW(); - /* Select a new task to run */ - - /* - We cannot do taskENTER_CRITICAL_ISR(); here because it saves the interrupt context to the task tcb, and we're - swapping that out here. Instead, we're going to do the work here ourselves. Because interrupts are already disabled, we only - need to acquire the mutex. - */ - vPortCPUAcquireMutex( &xTaskQueueMutex ); - - #if !configUSE_PORT_OPTIMISED_TASK_SELECTION - unsigned portBASE_TYPE foundNonExecutingWaiter = pdFALSE, ableToSchedule = pdFALSE, resetListHead; - unsigned portBASE_TYPE holdTop=pdFALSE; - tskTCB * pxTCB; - - portBASE_TYPE uxDynamicTopReady = uxTopReadyPriority; - /* - * ToDo: This scheduler doesn't correctly implement the round-robin scheduling as done in the single-core - * FreeRTOS stack when multiple tasks have the same priority and are all ready; it just keeps grabbing the - * first one. ToDo: fix this. - * (Is this still true? if any, there's the issue with one core skipping over the processes for the other - * core, potentially not giving the skipped-over processes any time.) - */ - - while ( ableToSchedule == pdFALSE && uxDynamicTopReady >= 0 ) - { - resetListHead = pdFALSE; - // Nothing to do for empty lists - if (!listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxDynamicTopReady ] ) )) { - - ableToSchedule = pdFALSE; - tskTCB * pxRefTCB; - - /* Remember the current list item so that we - can detect if all items have been inspected. - Once this happens, we move on to a lower - priority list (assuming nothing is suitable - for scheduling). Note: This can return NULL if - the list index is at the listItem */ - pxRefTCB = pxReadyTasksLists[ uxDynamicTopReady ].pxIndex->pvOwner; - - if ((void*)pxReadyTasksLists[ uxDynamicTopReady ].pxIndex==(void*)&pxReadyTasksLists[ uxDynamicTopReady ].xListEnd) { - //pxIndex points to the list end marker. Skip that and just get the next item. - listGET_OWNER_OF_NEXT_ENTRY( pxRefTCB, &( pxReadyTasksLists[ uxDynamicTopReady ] ) ); - } - - do { - listGET_OWNER_OF_NEXT_ENTRY( pxTCB, &( pxReadyTasksLists[ uxDynamicTopReady ] ) ); - /* Find out if the next task in the list is - already being executed by another core */ - foundNonExecutingWaiter = pdTRUE; - portBASE_TYPE i = 0; - for ( i=0; ixCoreID == tskNO_AFFINITY) { - pxCurrentTCB[xPortGetCoreID()] = pxTCB; - ableToSchedule = pdTRUE; - } else if (pxTCB->xCoreID == xPortGetCoreID()) { - pxCurrentTCB[xPortGetCoreID()] = pxTCB; - ableToSchedule = pdTRUE; - } else { - ableToSchedule = pdFALSE; - holdTop=pdTRUE; //keep this as the top prio, for the other CPU - } - } else { - ableToSchedule = pdFALSE; - } - - if (ableToSchedule == pdFALSE) { - resetListHead = pdTRUE; - } else if ((ableToSchedule == pdTRUE) && (resetListHead == pdTRUE)) { - tskTCB * pxResetTCB; - do { - listGET_OWNER_OF_NEXT_ENTRY( pxResetTCB, &( pxReadyTasksLists[ uxDynamicTopReady ] ) ); - } while(pxResetTCB != pxRefTCB); - } - } while ((ableToSchedule == pdFALSE) && (pxTCB != pxRefTCB)); - } else { - if (!holdTop) --uxTopReadyPriority; + /* Before the currently running task is switched out, save its errno. */ + #if ( configUSE_POSIX_ERRNO == 1 ) + { + pxCurrentTCB->iTaskErrno = FreeRTOS_errno; } - --uxDynamicTopReady; - } - - #else - //For Unicore targets we can keep the current FreeRTOS O(1) - //Scheduler. I hope to optimize better the scheduler for - //Multicore settings -- This will involve to create a per - //affinity ready task list which will impact hugely on - //tasks module - taskSELECT_HIGHEST_PRIORITY_TASK(); #endif - - traceTASK_SWITCHED_IN(); - xSwitchingContext[ xPortGetCoreID() ] = pdFALSE; - -#ifdef ESP_PLATFORM - //Exit critical region manually as well: release the mux now, interrupts will be re-enabled when we - //exit the function. - vPortCPUReleaseMutex( &xTaskQueueMutex ); #endif // ESP_PLATFORM + /* Select a new task to run using either the generic C or port + * optimised asm code. */ + taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ + traceTASK_SWITCHED_IN(); + +#ifdef ESP_PLATFORM + xSwitchingContext[ xPortGetCoreID() ] = pdFALSE; #if CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK vPortSetStackWatchpoint(pxCurrentTCB[xPortGetCoreID()]->pxStack); #endif +#else + /* After the new task is switched in, update the global errno. */ + #if ( configUSE_POSIX_ERRNO == 1 ) + { + FreeRTOS_errno = pxCurrentTCB->iTaskErrno; + } + #endif + #if ( configUSE_NEWLIB_REENTRANT == 1 ) + { + /* Switch Newlib's _impure_ptr variable to point to the _reent + * structure specific to this task. + * See the third party link http://www.nadler.com/embedded/newlibAndFreeRTOS.html + * for additional information. */ + _impure_ptr = &( pxCurrentTCB->xNewLib_reent ); + } + #endif /* configUSE_NEWLIB_REENTRANT */ +#endif // ESP_PLATFORM } - portCLEAR_INTERRUPT_MASK_FROM_ISR(irqstate); +#ifdef ESP_PLATFORM + /* Exit the critical section previously entered */ + taskEXIT_CRITICAL_ISR(); +#endif // ESP_PLATFORM } /*-----------------------------------------------------------*/ diff --git a/components/freertos/test/test_freertos_scheduling_round_robin.c b/components/freertos/test/test_freertos_scheduling_round_robin.c new file mode 100644 index 0000000000..15d8787410 --- /dev/null +++ b/components/freertos/test/test_freertos_scheduling_round_robin.c @@ -0,0 +1,169 @@ +/* + * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "esp_rom_sys.h" +#include "hal/interrupt_controller_hal.h" +#include "unity.h" +#include "test_utils.h" + +/* +Test Best Effort Round Robin Scheduling: + +The following test case tests the "Best Effort Round Robin Scheduling" that fixes the skipping behavior found in older +versions of the ESP-IDF SMP FreeRTOS (see docs for more details about Best Effort Round Robin Scheduling). + +This test... +- Only runs under dual core configuration +- Will disable the tick interrupts of both cores + +Test flow as follows: + +1. Stop preemption on core 0 by raising the priority of the unity task +2. Stop preemption on core 0 by creating a blocker task +3. Disable tick interrupts on both cores +4. Create N spin tasks on each core, each with a sequential task_code +5. Unblock those spin tasks in a sequential order +6. Lower priority of unity task and stop the blocker task so that spin tasks are run +7. Each time a spin task is run (i.e., an iteration) it will send its task code to a queue +8. Spin tasks will clean themselves up +9. The queue should contain the task codes of the spin tasks in the order they were started in, thus showing that round + robin schedules the tasks in a sequential order. +*/ + +#if !defined(CONFIG_FREERTOS_UNICORE) && (defined(CONFIG_FREERTOS_CORETIMER_0) || defined(CONFIG_FREERTOS_CORETIMER_1)) + +#define SPIN_TASK_PRIO (CONFIG_UNITY_FREERTOS_PRIORITY + 1) +#define SPIN_TASK_NUM_ITER 3 +#define TASK_STACK_SIZE 1024 +#define NUM_PINNED_SPIN_TASK_PER_CORE 3 +#if defined(CONFIG_FREERTOS_CORETIMER_0) +#define TICK_INTR_IDX 6 +#else //defined(CONFIG_FREERTOS_CORETIMER_1) +#define TICK_INTR_IDX 15 +#endif + +static QueueHandle_t core0_run_order_queue; +static QueueHandle_t core1_run_order_queue; +static uint32_t total_iter_count[configNUM_CORES] = {0}; + +static void spin_task(void *arg) +{ + uint32_t task_code = (uint32_t)arg; + QueueHandle_t run_order_queue = ((task_code >> 4) == 0) ? core0_run_order_queue : core1_run_order_queue; + + //Wait to be started + ulTaskNotifyTake(pdTRUE, portMAX_DELAY); + + for (int i = 0; i < SPIN_TASK_NUM_ITER; i++) { + xQueueSend(run_order_queue, &task_code, 0); + //No need for critical sections as tick interrupt is disabled + total_iter_count[xPortGetCoreID()]++; + taskYIELD(); + } + + //Last iteration of the last spin task on this core. Reenable this core's tick interrupt + if (total_iter_count[xPortGetCoreID()] == (NUM_PINNED_SPIN_TASK_PER_CORE * SPIN_TASK_NUM_ITER)) { + interrupt_controller_hal_enable_interrupts(1 <zo6-5pD(bhC7WurzmlzwvwT zx%ZEI_Y9n8IK$2}Pkw5`l@uh=UlYBCgM&ktmJ<5{2loO3D;FZaf`fy9PwCx6)!Fs_uHn znJ5`JeGAW~hFY4S?U3#HZOx=@ZDHGhm6tfGwmfP$lVM2B<&=8GvZ|4r0klI#6iBQM ztguhGIRFMsWWc;_Y#@u;D(LqU3 zY4crz$|i|ClTC#@6H?3+E<#}ath?!`SD%!yWj%erH@;{VvG!t8%55Yb2WlHZ#2R40 zKUk0%^KDcthkm@-e!Iw&mkoi%Nu=-#ygPZr_wOMepBXpoka?n=k%UAMyxCU*FcRTH zUw-&KHTA^>0tU2BKQl2gNjd2ics<@-Z4@q)?{ji;+R5qEYB%xVaA(Z<=*G~do@dEA z+l{2KW*N@S&Z^s`=oGbPC^XDHx?4o!+va+mPccIK`-hzqt9-5v23V5Qx`Ut;QUuE2hE4Z-7|(j z*TI#8jQbAjl|zB@Pei~>LbLh!%wXT`a(H!KC=)42(D8)sa9K-O)XODWuLk}TuYuP2 z-tKi}`Iq5C`Wfo!d!2C?`u#W9J2OL$bzYNi4i_cIiAmdb0XvD`awxF6}Tmdjt01)t~#_c8pgCi7u5mmiIh#8#Sa>|#Xz^|O}oZcR~M z(vWI|aCgm8pa>}0f9|(Bd;jbEv5hjEcDA*@9Ut|A)*f<;&Mwx~&Cr2)KqcAQ5@T4( z=Sw*AzC6^&HY-U@!{Zb#y21&Kg^e-7)vu2x1Mjc;<>S?2s-wp~+a-UinV1v2iNL+~ zXPqwRcca@co)vg-`BhSGg|<7zypsDIU$LJ^q}TcxbMd{bQPzd|YBD1FaDljkO_TaK z=*N;btz}5fWUHcns~|OJnstt(S17!Ey%>EU)G16@^fKpwL14g~>y)Ml(*#<~`; zz&TPoxh)X5Q(u&yq+#;8iU0`(hXkG@u~1gyRnKd#ulvK5_8&7+`*VzoRx^$To+tCAS=NnhS)`$LbumrpaH5j+i2Z zdlofixE3;rBEB-ABa?6%`Y`L+=S(&@b0)tpC;Y0XnIh0(+gerhd*KLKmnGLZIY$QC zy?$Ijph1qhjndfST054jxOtYSIm|Mpl6 zm1JurCV9spzR>+*zS{H$8JX)<{1IjNvxBTs>o0~Mt|SVLX*~?_C7_6|2=&S;>z9Csyf!<37?Y#^~t1eZgC2uc}zrSg6tR znVE%2*^`vyVIQGpdeJtgutpeQ#%TR8vco!Cv)1m}YDq9jMU%yDrPyzU@7`kn7DyZu zF3a*`$8F(wT%w6;m3z2*d1$iEny^i*k`taJVxu* zGIXEu%$4wHwqeQ>;|FntxG$;9V#OW@`$17BCJ3b7(dJQ2G?S+)Pozs$)A{!0Opz7s zRm<1-U*VbYs#--@W&xOv7xsAESt4m!Ygix7qDhT3nza)h*#IeA!Y#MvQ)$-`TIm zEwxx3v5Jk`Hj}NS5UaEbW;=Be{-j1s_Uq(17 z%2W5sWPLb`3`LacqJ{01SwW~p9$jksC^xfS;_hd8;(*RPrJ zP6}4eYl-}mxsH|hHD=?{2ygeLZph*_xb^s+J*6{l6g?!@O)ih-C3uwzq)ZzO&p3&H ziT$`*IibD$qQiEce@W;;Y~n}(-t^d6NRLYrZ3!Bp=e6?ut~~(#3yKfgm$Psr}wxNyjxe~ zl_BE`W*Ci6(%(BZ7c|kJoD&Vqp1vO zQrj{6^ov^qzAsBF;-8FUrZYdtF@fPZDd$eKiBai;|n~fJDP}f{0MW~j3v~a z?zm#8{BlVCSa`c>(Gs!l-S6!?v+QKlNuYly%sn1%_1j*ZUk_;8g)iXDKX#++asKng zS7|Q(Yk5xVgWMG7^&jMo9nMhp$wR9n7JqJH+?F`WU=dX1R{e(Y?!5@_-*MV?CUPvl zDs^aG9!k&E8yn}!WJi!lb@j`|P18Bcy?(F8W&tWAygi+)gKL5@Ss3=62euiXR$a@$ zH?L7ZZa>#1dz(Pn4UEOLtM@bG8{%Ix?1XF#eiOBS`EHdw7UtcDsL;Xj5NKs2lxeKt zcx1Z4H5%9|Xd1|pkxk--5#g=WlQ8HY%N(7=)9$%hC?@y3!-EsBzm^xL1N`Jj;#=ua z4-W=+#8p6io2mCN;xXj2K(#mMw4`bLnJd~thSYh64?)C*KxYfbj_ouIzd?HiiFkcR zOaX}Zglzo4{b#-0DBUk@K*l%x$(GB5fK37*opIpu`HZA*N|#Af`)qB_|Ns^371Ef^X1Z zfBuFNW;E8&#>tKv_7eby68q25`)<8y?|sz$VSX7LKbKt+vZJS(PBYxcjAiOKH3+CW zb$oHn%1;`LbLzZ^*J$^575!J=dRP<~zJQz8WPH=#J}>n1Tzo%&XO>kZIpyp?d*pR> z;nlL$ls$N@Gx$?uTIjg*{OwSHYwLWAMHTnaoC%o}A3;)tm&&r$^=Q$t{wE3%*;0bX z)8(dVT|w^|gEK!z(A;MOry3|Ru3>$~vx07F&1^(@VLj9n}R8niXDlqePKxZ zQ{OAy1Rc~7AN>+H@J03x2USTr5=nrCjjPe9iMr&)5Zh1%RPN{gvuxtP^_G@=O*-!k z#3|`cJ8DIdhME4V__&89WN2-hRj#aT=x?Qe^0=v_E3C6vbHt*ZvskxRECzC#(%K>i(4S)HzoHV z(az0QyEQ@k+0&pm+x+Zm@tql!@eyS+SX)t(Qz z67iQCJ)utDopMi_S#SoA4BIWH3tbbJ$J=KLfzmZ;2}if>T^f|=igByuCuLvN)DmZG z8`d*M1R>f#2E6mEY`hoBbL zsW0*-inrrMRQ|jsWmUHEe&A!ZP|%>}nm$(lV87P7TElp8F0I=W3Qvo1V9E2?CE`tp zvuln9%HZrg{!tvj&Bx#|@!Rqln!z(8GrY?JQZv4H``O-II*lf@W|d`7K&WrRd6^E9 z$tv~!O{RxWHQq)qsdX`-4{0j*5+AzAC{}8v=W*Tt&B?o0IOrnYe_Hk72ae!j#ObF) z#m3F)_U7-5^S+(D17^ONiGEv8TgRXch7#r|#0!t)%x{(aR6rAm<&YSv2~)tnv>fIeZ$G56pYgTN3Qz)z{P5P#Yxn0f+Q0$i}C$ zRS0n{7g@HZIgW9vH^Y!*KX{;e33vs&d1Ikm3%L8aIe)DJ&HfmFY!^091Vc-ObVx4u zjkrW2H3o;9q3Tq-<*H@Z?b!!-`uWYjkBCX@xSAJ_LHk}iT)?Zk5Sy4rwTr}0h(W;! zE>65zdFS*V9(}?Lqr<1(3QANz3&rq(%waOrj*Oq^!CZA=v7&JY$mM7a&8TO_3xQdht z)aNk-5w+OI7kS_8Z&rHG?LL}2GP19o7W=h8p7jRmVuqf7`O@<|EJM_D9@Q`66f!G< z<}!b3B|^!H#{hQDqR9Bxb}HJ~`d{~? z(n`9Kex4_yU0HG%myLI;Zkf;Ib5()@N#A<+hUS=;rlLQ5q7hO?#<<1m}Z7o?3 z?YyAOdBRDE{q~enwu8T`B*EU;z&=RF;(|NZ*sINnNP!iA)?ySK4;eNZ-h z?^ie zETutp7iLqY)u}~Y8QSSD8Hl+{ZxfS~jn}SBVk`y)_pV47JetGVT65nU*sg{-1!V6k zBoE$xBOY>mF&5<*{e1I1TCi%$A@Ond^L<0!17&1BCNPo20)z!kokzCeT8h=#vRh-{-uem&pu2qPAZiw*GT%PMgubsZr zSXyh7?%59P6YVUBBd>O@lbUUToIIaj$(N3AH2m{=W zn#q&qqZ`ZDxMK``KI3?we8$Tm6M~IT7!Jjdoy!TO0R2nOTcl#h9V_Wtpv1CmS@Q@w zlLWDYZIYAfH9%y$vxw$7HmF4eTzYq@<)`))?c~ABVUWgZe zEy=;_apbaw*cV~c@xzGYVEofZ&7}DLJ!uM4gmJ!w%wPk9)vN2H>?MoX!ig6wFv*+c#$kHab6R;76hyjp!fVD#Zxi6_?2+ zCnbF@QM|^N+ql2Tb21|$@EmG#)x0|Pyg`{c?pj=2?Em;xT6!=Bda`o3FfZ~muM3qO zo%hILtKYOjc~tDlkviI1V?)ltf0>uBkQtbVsa9Xp$EyX8Ziq zRNSw6-lg)uUUIQrUj>AIv%OFPW>ay&ZzCyN=;^jf=YqQFAg{7hAL$(0-Cye!`W<># z#9BZ=?H<4MlN#(J9{X9gpJj8Q@!4JCG701;%b9`OA_RK>?7l=vg{0ZxFl~Z+%CNKF z-te zxWtkJOnXvEOiawWK$C4Vw$R!;Uf9=IEi%dfv;ne6rT^hfJnk?}n(qepPP#4!B~#cVMJLFKC^D|_3@G!y6oq6hhrz5eiONU)6at(awVghzEe5g)1>_?W&I3b?fHw0 zhkh0D;6CUCDAu+jDBBfKZ~ zvJQUPY*aj7=-N_L*(JU4Rj4OVjop=FaP$@~kkf6e0P{6cQ%Ie5R#HlO zvvbw;|c_`5z{OZqv9U&Am-Hdc@Gg2QDrI>np0`8u}GxyN`dLQns0OtDY5 z$EoJi+S?89X_e!Ub9r@cA(zK1Pg2iF zrR}_QV5X58e}IXPJi=QPE779*GL-_)W9h(hxcMXT3ArAh@`~T}$CsuydVco%_E)Vo zYNzo|kIR^qsm0NHSXP;11dB{G%j0?w+oqw)F5G}kB1WdkjuQ?D0PDyq``CrA%e}tQ&(|bLHCnXdCplL3HIME z$K+5y2cI?<@{O(MGL3qT2cZ_*xHN4ovZ&pLsh^Hp4~y3*teG`p8C!H0wXCm>C~S}p zD5re>D3&wgwH;0@ZCpEx-;?UiTaLWPEZ$@|ttFS+V-w0L2*JR5i3_Gr#fnp5hpi8T z@gipfHv*kwM`d5Z(%J{u+IQ;8ER`*Sb6aw_$n|tcejB0&{)2x@&9az8Azx=;;5iD9 z>?A79E4nC-`EXKFUb}tt0#jVi?JhVA!T2>?P}$r%0OY%YDKHXXY*su4TETvuZ37T8 z;Bwq4^BvgMwi4d;Ry$)-W|n-wsGvem3;i&Yc6q@ERN+KFRFf|HQU}wPFviLR7)ZLA z4p(*De^)(la0+dJz~jM`9ekdc=Z$L2k+o<9?4z5J8x0{0TZ*KObdDolspXwKdmAPK zJYkevxYZ?Zp6~lTUHZ!5OZ7d9ioY!I_$jFpt~bSD6cta!VH|vw4XLjo0#tg96D3Wg zap2ziOnEe#iWD5On`X+WZh^^?K9?S^Q5!Z&^b{pV#H*CDReYzrcw{JBEVxb14XR_4 zSoKVBQC(}c^qwIUy-(_nGnof-+}D3|AI!9|xl~#oM=Md=Es4CF?Gc z#8)+jh%HKpC&XbApa8R(C?K?7^P-WBP`rI7pt5&n!3lT+(r!83HeZ5sg^|daJ4wAL z3!xC8XUM^-oq5Y02-m{{C{o%A6|OVzN;hjcoSW$WeURO}@OsF1YilihN#b4=QW!a4 zCHejCz6dBW7&G?RL^{EKVb!eYDZWmt^k`ijLDKEtr&Cqs(C&FUS?uUv-Nm^wo$l8c zSh^M_eVl;CD0PhKTURAw(ewdxn&m`vFx#x;QQ>O?J5f>lC(l(PP8g-$dL3bG?o*Is z5cd;YmrcS+aGymbxm-v&@LY#UR^z$At^aekW|F_M9ok1QR?~3wlb1z7p_#;>4@N#N z@ft270@`tSHbqUR`2k5Tm~BQ{5OWIqufxKvWGz1^D?f2ljVdvVVAg!G9q1{cyWqt3 zEb9`Gsdz<#?$KfUR{Y7w0#cXgZlG3Y%0qd4wWa$D`7WpwLT>j4=^ zrfZb)xkNKo+u>OMt+IcQXJ#!J$(2P-X!Wfhy1#5sC>KZ7ywasi5_@;m>a~1;z}y zN2bLpslFK-&6*GkGqkZ1I>*SA{rdID!!>dNyJpW0H9NyM2`-gk7VH}x&wC$OZ35LH z=6vc$w;8`eZY+Q;Q1a43o7N8p_<26fOjF}qiz)q4`$`ZIQ{IZFz&%|YFf&wD}k8JC@dU%uP$f>cuLO2)oEHFA&P z*Wg8WkI}^$AujnO7oN521qps6^Ps;H$Q;L;@`Bt%e6edW+PHKOl2#r3PUpy8E_Y0n zfO>9k)?n{;K5d#IrQXvHM6FIL;RqU?VtA0-X2IVa#4{$fWBv$MC8{3fm3r`XwrxVx z+~2I~Nk816ouCNM*Z+rq1Y9E$X=B)$FFu*Dq2_IES)22GEGxMc-s`bqRQ>xRx^DiNea*=JTtrqAIe)*FDJ3=H`N`@WHDyj_dnp#>QxWLuI8D zL@}Vc;J=Xk?K#R z$tO^CsB7!fRLKiuCv#k^h527%{kLMUS5_1 zKe7c?RJaTr)I>)L8ZGzqYYBM!yEmMV^wj&2BDHJzbof-%{4f&ZoxKU8Qe!csyXa_w z?0N+Dac%4RC1NvjUgGx?9D^x`0T3S~Op* zQzcxqiCoZ|Ac_bl%407?fh*+nr`_fquY>*@XsN@o#1@HfyAhYOIikb*VrAdsitT(Y z<-nCrpU>3wi;j-BP#uS!NUIOm&x1$xBfLJ7TolF3Z9^olfdvx28@pjX zk7W25-}HQG{holbJMGMK6h+)SM1~J)W20?Kv7Z!B5CIr>)bLpL)b`e}NJ7?7Yi%tK zUXSKLyt((M`8nHnAj4kjk;l;BEzJxrpDH{t0=0_cfBl%nh)5%MRqDAO1$@vD`LuNYs z>b@#u<;Ypo(5M#PqtmR`K^Tx1co)G9P8Ota>cEFqHx6S#@LgVPaAVS4_{|%x*)9iB zJ~y5}+w#d1b`H_O23M zP5xNBiVX4w!Y)O{d);Jg-$QIjeexC|TESLljSKU5`}78R9%Cx^R0%jUGe*!gs}li_ z-DEoImK~nW5~Gi*J$loZVvHvun1Zh{A)Rar^9^+yOk0l?K0vJccv3qPIC%I5_P^68 z-Kr;d-iEwX$UNoF^cT+5zoI^b_D+i@Z~QSrgp-gBAQW23Lz`WUrd-C8G{ZRK=l`uj zfRW)3srF_EzF?3QP`!XLS%0=abJQIyeA%^|%>pw6~*R@`k~$!#a`1=B^te{7n|pX?ILsN?ON%mos~0;nYy<>L4P^^_+q<`1rpZAmOJsu~%k_#;m%FDv{zg1RaWA zooKQDEHxA%!f$#Ay@rf{+XrH3__ZXhKb*G0>CXS<$qFz;{+ukfysR+Gy zT)LoCa?cpg97@cNb%GcFSyACo{Qb$rG5p31U37J5Pddy2DzX1GhZo`ly<`5Hq^8Q# z%_+)py#Tgv|9R+uP0BZ7fP0#FvxwF}lkzFIojm~JMQA69^g;21G_#5fOs+r+Fw%f{ zy-dscBo#sqd>5emequD%3JgteN|7oIM?`qzk9Jt^De1o((QWlc+&AqF;eMzLnHIz* z4oGVae;&_y_b$MjLdod;1yaJPHyv9cD+YXI+E~qLhn$D4B7GR8B#RU@Optb$s>7B>@8p0TPjk+%41Z!VA4L=%!2u_o)_4f?#8Kr~qArHlPdR!jU zNJPi)opr7P#~IiqhLlni9ta&Zri7LJigJP}-QH})l;rOTvK#A6pK3Fn<(HF-!Kf<2 zDP^tHRsEnM-J_%iad1$}n@(s$j^B{SZRs^`F|+n8lDOOLE0|5E@MpESI>&OKPmlICWl3{=r5W%Qr)q_-po^+pzE}+CFzeaTu=mfQ~R@6q#a*9 zd5=nI?q8RIkz^3au%U6>-i$9nK#klB1M{zcm^&$t`YlugxJ_jSd#^BOBTb6arbG}tq$ohvHSuYo)Y{9^(G26; z+uIo!b=y5Llq}dCFVH-?cUTrT^cHbE{zwltHa5m77*VMf0es_z6>cZXxArL(6NYAG z(cdWTcyJ`u`Apf$1sJdyL(mAT7l%D3*#y0=t$)Fy4qpum%$6G+=FKR#kT%g76r1pv zAs@E{bdX>c9W3~uUm&z!lt^ZfPESJQl7i`S{VPg_?4Z%&$j=`H!@DB_lGc+ah^IKSx;sAd zj)zU9X|D?-lM2k`yRtr`;7^r7-Q;;3x=(N>QwU+uS5EYUL`F9b~=j zgYLV@edew5aWW6BB_4m5rK?(l}WzZji(>bW|_Wt%6bQ*W)ja)&V}rQ-v$ zHS><$={XD)L_1-V^K|dKCZtMYZq<#0>SZqR^Dk(-2@3KKjz*_Taz2(E3)6ML5ymv^e=Nai^s$*<|S?W82UGWg{tr=kOzAKxwSTn3A$P}5!N zd1V*qH5%M|zLgU{Sl5%9$G;m_T8`cQ+TvQGH)ZR_dt2)G%MZUYeRB>3%GDEHPAi(#(W=JYxu5+| z_*_&Cvg}ORS0_NW>R!-Mi-GS^gIUwFb+FDM;Chl%1&c*^!`w}UaHlP`n7-|0vzx}0 zGng;jN*W)LW1Mgus{eqrbrs_~?djT?V!_6uZt=Lu3kq;38v8nPR#HT3jmXxuP)W%p zQJ2{)K+-uqzLPPYFUQt`oC=x+mGR%J#ksK%5^+`ju=4B+ zT2pM~>3L;5>JgU_co_rAG{1cz`M{OBx#+whXe*p=ja9&D-7kXU0h1~})RDiiRH$2& zt8~4CnR-UuFaqzS-0>%bS2vi#&T>38%1h2_mFnVml#6;)Pc1yQC6P^CpY$va$oO`+CeD&lSVRYP{{A)zM;`Pufj{gGw zO37H`)8j0s3ZO>_CrL$9Y2K%7Kxd<;`Zrdg1+lHFQ^P8LTgO>iU=l*ix!?MIQk=f~ zaZAPF?lP46m){J;1ji#df0v1?9R)<1cweC)6pqt0)FF=E6VEIRU$`^`S3^208P2Mwzl#b?YOWAeOq{Mexpv)bqC*IhV_B4 zCP1P&$9dF>oX@V-bNy)Jz^#Qwva;hQ`sZxj+A2xYH~Ncl8$#?YDCYGe>E$bNAS~}? z!q*2Ueqq&Pq|cty;Ay{q=K2((;T)~kvK9I6V8itIkvma=WHxsEz`uNhd|Vu}BNCuq z#WoG?v7#xxA15mm^in=5h5E!n$Ms3}CsHCvRB$DOI|%zr&)d{2q(k@WsuieNpXECW zg>=c6I%GM>iWv8v>3*;*W-_n@lYKHqU$R>YX#P}et6rOR*xYawtyl(&{uU;!-KLtS zS3LnVDy$ezBIrz10KkTt19Rvc9BcbS?!l?mdl$=%0gu)Pq_z+W%?uR zA8WH^3qcES+g3};`89BxP8BhcGN}gWU24o`cvK>mEwn0|cVDVa{fsZ=GpdOx``rc}zeb#*2Cn^}r%v6uomt;^cy%_GPCAu4fNH;@(8gdrNAn z=*8gOvQi6K9QuM1u!G%LQp@6pi?J0?tyTjIC^73`3)Chu+ZvXvC>52K)acOmFg`a* z&ho)lmxu|$e9f;lOM7GnRFD`n54NUP3~F$;4xYjzf6(Qz@;{hu5Wt@Ztn zA}ixua?C38?NqDBTgzDq($V?^nP^ejuy|=ifAO@!`$4GZin(0ANlpT$3svJZ>x-Y% zmg_e=mme@QcH!I#)O=#|j=oH4dhv@gwc4KEarwTtaMA(yR#~}O?;#^%c^K%?mN(P% zp7ElVO+f-+Tw4xHY1A^$GPO%F9@DF}tn>dEUzUZ^JO6gTFkN&qa8U)goeIfiuH4nS zU`iyb0HEXoYD_JUTEk6sMIY(k0NXWq470vFy4{Hrht`wK6=gU@@w%*Bp)6sLHN}h0vk!c}2G@;o^da8jRVCuLeYQLuf z{mYP!Lk-RbhAJ0KKLJb9tR@Dw)}sRF%!p;#u9?c#AtFjLe&6Wt7cjB44u<_-Mz;ly zMq`cXyx^_S9kJJrSA(RzBDSN`%s(xf zldn$T#knn8QWy*0S`AjYFHs0lD+ac8tA7c{3D6gh#yv%+@+^K?O-Uy60Z_1~dGw7Q zpD7*_F~Q;{rUc)Y&#42ujLY+5{)TfF#+!Nr-C;oIq?R7g##pbQPaIx*R=1^ZPS ze;JA(Q5PWSdAB-OuNYP~g6@G4{PUv_XqzYNozbcjy`v9irVoKk-fqQPtNTm5G7p{8 zm{~1N$e;Ahoc!=tp%~YfUj7MCGIJiG2oljFn5@2D3Z85dUJ7tEhh!xF>7WSj!gqP* zHEq!~=zf}3J1!}eUNKTLA8(Z*P+1BBi2$0RQqw(!SY#u2 zU1_4R;o^ivjOhZ@cBdmCS_JnepHspuz+_%Td8)>v{f^WYuZc{1PG-DFJUU`aPBBjx zbyK$orhFPRzqa^%TCe!aU2W<^HOh-ZG$j=0zUhcouZ|q`V3(aa674y;kCCVSFAWb4 zJs&?)`t5~}FM5XpF|ft1V^Mcq9b@x>Tn~S`Wi_unkN$98#3uIFP8fLv$rE$tlAOHAVNcyjSB_hIE*Y&Yu`j5(^`P)0A@-3Nz9l6Xf`)87=x1v_wpZo~Cobz+?;L zpx|I@P1KL`>X5znhPCie-&W&X&RPudXp9*gE%I0?zyR?}>3*2a6kdK&MTm-;@HHC> z&Ws=_8||v~?AJ{jo-Gfg>0WW@G_C3nzQlj1!ZSDp&D!7BUI_Jdw7*3WP9>nZmU9r>)ZRume zhDP=@*?Og-i0e&P3GxQLFa_Z@W$B1)jBuYOxr!cof_3l-9#VUbH77!X-`Ku9P=)OA zSoXbowj$@J>5Iu~WJ9x{Hx}A9zhm{GMts#r|OOkVzL`mrBCK zw~5_6we1F8I%uLWWm&;M25}pKh5%hUKii=rU&XA>;69*OKN5|bPs$weW5Z5OPySDC zTu-Ih;z;eT^QRN8_J6mGFSh7x9 zMuhiv;`Cjyhc^%D!9F`*S+&d<1X#hnAMlh2ahitnnR$;B^ z9)%o!)1Ci-G54_?v;|~eUOTZz(bPafM1M{~z#O{yiL1ssjcK>cv5-b4>|3=iAM?qX ziRmXuJ}L1Qd?{Kjg)wLEdtM7R57R14F_v5~L~d2*RUx0B@MX=pj&XDzdJ%HPsUqO4 zztY0!DL=k~qzWOz)GQd8HzBQjWIIKN#V5ZFaMCGcj-Q+98C8^ZIj6RNavXbIwrbRi zi5l$?{myk)l~6)xvOW9JfBFYxq!EA3zSq+j+!`|07A?!d8v?V6CDND9TG%@TnJ)Z| zG6hdz?qm;^&7x3RTvR43GH6=(V7keP)e*t3;xQ({pSm7dO4v&YEjzm$)t@gPY;^w= zG$^5?432nkw#a+3fSNo}ci8JY9;yTx0(L(eh9rhm5ero4cFXv+2c@HosX_pleSb5W zK~2c*6dt0y**h)BWq|>dcUhhOVy0se&oxg{oa{rMoP8l>5#{*Io;1xiPw^%L$1{wD zXh>7Jlme9>De!pOee2ibdN0$1X$Zdg!syfwAM-YXcHg8AFXQOQd>VAHuSgb4f4%WkIn9cz0eN7C;6u4~WgJNgx#W2PnAnytVXxrE)nMYVq@u!x z5igl(kPffiRj{n4kMMkGd9mDRgR~y^L@he3L6blcxG^ha~q7Km=sSiIk8?T{2iham+Bp5$f$i>+pfa@t1`H%Gz5#(RctFxG7!q|efF)1~^(FutZ9}4?hR?F^0=CJX* zh_wmVFypuKG$qCIAG|G0dZ9S14*G9nDZriW4Qt2-UMeJy1^z8Hd%vAu zuG0|Wta9}1}jw|Ka?9^BLt;$#>a zAu#P%X&vzsEQj>Rh15k;T|bqvaSpa6$uU2(<&HU| zuz<~7#cOuIgte2+lTY0@0U4N8Js$GD9p8dHY(s{q(Zu!4iXOKle0d3OpUN^$t4`I3 z=KNT84}I(fzVSOnAM3k)e`bDGj^=*V@-e7G#iv(<<<$281Jtfx!Ba|<3Jxos)AoT(bsR zrMeDt&A(gT*rW-&2OOi!NkoVWbluW8^ym_7u8w>RV6%q3gV9ZEZw?b!MR0E&yDmCh z^GrU)#t@?8647xa6;gKSJ;CH{VBh1?8EOH>GqB#zCGbA~;aSLGktnG9^DaCzXYc79 zh+0-0CxmiNOXMjV2WJ1d*oaWB?agy*wEGQir-knr#@uTIdRTChFdAZE#2(u>r`W+< zJX)Wmv0<&ewkwm z=u=D41j{&0WG5kgQDz35n`d7jxDr&z&s_6QyL=!ax@Wt$NaDfn4*Ul9w@yPmih}+h zad;AL?jzq@h=X?3yATEj&?FXHmN?nn^zis_ZvA=<1Ku?rY!x{=F5mct%VrEtU;47G zh#tCMBJ`{nKr;YH72ru8Z#|L(MvMxuGM?fOhM4%lL05O%2r{-u7Y86d*CNJ?p3^Y^ z&I1tll~jl{Yy#>c+V1@-oAb*kn}r4aen|8$ocTwpLo~omS$yI>VIIOab58YVhmru` z8$V5)pkQ?+`a*GxLu@3*8|`}%sEeq#XHo<`n)t~`1W)Y~M&K~Vy?4SnTnax~=u1Yq zn=bDvL7L%ko?2VMrw>$ux_)XT5+dD#FdrANo8D)rz01p|ST$Amz@1p74)MJVKhtO9 z*Ea!fHP>KI3`Xm-e48QV5I{WTQuvd4rhwN#s48aa`wFu`aT}+x<}fYApAsHNwy&c) zz;=N?(S{?R9IC3G4fF%mLU~+B%v-A*waGnSeoCnGcnozV@k?5JyJ?{2)8~sUI{M5a zyPc{a?%SRzX{KH!(Rn1b@j$Z_-;@P6_j8DUa>M&o(s~V<0~I3^(jERGHmuGi;1#?* z!>=!A-S!^#c^orY7$=+$TRpdlNu}ebe@M&==#udso!Lcq28||dz^px-w*iAF7Y8KT zER-CR<%KGMqV7s3EX*FZkzZ7q5&ZEUGj`ZFQS7OXm&BhQ|FfumMsTM-+74=ey(9{v zbEGvLLE&TCr@;GGFUy3F+oYGW4~ck7N%q&)=^;a*f$NdA8A-#3kL%ISZhH4uyjB<4 zKpq}%lll<(S7zr9PRcJyZa9SE>E4nB@8<9gXk#st1gg;S_@6tvB7HGz829A-Ya7pi&K{*BTeo{>a7Xy+1nx6j_a9+W)_S16J zk+`Gwd%#|bP4viQ7z9txMmDxmWz7*9ZvGui{;$0>B1G6ky5)-O`Mh=5*<|Q>-N8yV zXL~)Qbr=p??*C{_r5VI3_$JeY;dV2Rt09;8);EgAt;MFvskHwcqlc9PT50X4=!9-O z^-Nx|ZvvEq0>`(-zo$z5Z;$ww>wQMyFF#m;vU_a9mH%Q&4h15x>HGeK$zjOVZuqpa zukF2UXyenM*lg|Npyi_;g0lGBV9m-iUME65Iem|p*lDF|CZY&+# ze%!bCJPJ~MSH9*PiNic2W<_`G$lv=bX8vEDAw@xsoZmw+ce_kYyEEm|D*B}3pusKN zY2c^4yhGt{9*dMC-tq4v|66EMpvZjXQS4D5LPoFmznXi`sHWEL-CIFJ2NBUw0zm`| zy-PPB0Rcrtn$#Go^xi`Ul>k9{S7|D}_YNV_d+&rAdKCz8;@;1*_y0ZT{d&eY-!cYS zSy_v@<~{E@f7g|ND!YIF{D-_2#t2bLwSSX*KCmxh@8*4_0EGNibRZ!9_nT;mgj&7j zrqWv13gYqdJ%+cm)c!Nz*Wq}{R+Pp=%@sV$LCxjgZYrXHl(Hr51NSC?50?$COzMDx4Gi?c28({*H1C`BkqOhRq#{ z1?teV@O1Cg_?R~W1GQ{7f+69cVYcW?F6uOi8oepZn~!$CJbqq-r}7D0)b*MRo1?Pn zg^2%rh~G;xuTJv@u@FW&;=eaX(;xkxySL$@CtM`)KPWRT_?M z?&J1CHJ(c;fqDJ-DIF?EYdRIUv(J9?`|-z3%;SsP9ujVQ;=MsI4HXYD=b!IZO80oS zFI_fvpUon|@9G~yet7>qBhl&uEN0v}e( zCs$p4UWT9L*+RRmTA)HW<4M9Cep2$>2K@abqR6jW-9F%}sY9=q$o#m5Hv2nxiCCA_4xt!q)E% zX(KRV)D-8L%%c`0m`0$6zh8aPb~&-tF7y~+zP$E#ghiYP>a)c z8=|Xa*UnX|j?L^@DTopQ?l;~Z{BMaDb(KgPMt(-J9pTedZf}&_+x=t;`Rxj6Mklx( zYBSji8$VfTgFRjKT(G&}TJpG7?P>^Utig8nvJQWA(1`+68NMbvccx`!YK4_&d6Nix={GHWNJVXKa7NGXS?MCM3=VS&ft`XTG&EYn_1Am!ipy%>50ee77hiMA!ENfSk_6MyF9 zIP${US$H#;N7{f&R+7aj8>8?}K1z@OEQtwhSLB&N zkIM+Nb;~~CS2baxOq;dSHe#ln3CN&7dz??78`(*-DyS<{TPCn z&56?e?=>b+%}8=$x}!tcFu1a0Gga27-ln1-hW!imyN8k?qQ7}d6ZHr<4mlgi(JC0( z+%G!d_{c_2`}FGKr$NmX0fAm}BQpWXw@#P!o?*=uWxyYy|;y1tp<6V-Zl6zyXsaf_84H_zONsia1m(TuY0#wjpBZ7>gydv0(M~f3s)o; z9ZHZID;}RHm3N~ZSGm7UZ;cih&XiBS?y*&3kQK3+ddxk`S4n&#cd_BMY%NazPMVTU zt-a5NKKVwC@%O$n&}p4r9f`W&rtp!S+}Tu(>vnD4aa&(VkCQi53)qL*pOd=gM_dM% zJd6=L@bU$VP}Y%8KPkav#vpIC9cR;-tH*0E{^)1QZs6f>-&Xg3)#Mg)?TvUv=Yu?aC29K}y?NpZJW zZF(zGyof!IHYqx@nDPpZUGjJL852bh2UZKL>vkVrx2^Ts^JmQIhMwWfO2C7__GMd- zs#5|hK_0BpxnO@?VC)|Hw|<`ph9+#dnfYa?R=#;dU-(DLTKxx5cYz~Gz{rb=3G-SS z7N=qrKCJ=^Z9{(VQn@vGvl=zlU`YK-!9zQu;}25}5=zT0f*1t|OOU@F0vAG&Du-9a%8pf;c53S<$ig&sEJkikK3D% z^T6M^kZ5)|V{4Cmm zCyxV8J{m6x-ARp-VwRJ+Ehekyw6v0q3~lQTv~bL$POA-ml|tc=@Sf2rWV>!fja!+0 zIdVyZ99mwt(6#S+W8Oqopu*ZnRHf}ZM!(V1xw;ql3`c``*<`Il~PRorx9K|DH!<(?6;%*v(YW|h?q zdO7&(jZXq`OI%SF=@5ftA=@=!Mh5|IMr<@rFS_%K#WzS#y%pyfal)sZ8>fBsR0Alf zU>J(EC~P;vBZEO@SfJxl$UYOXACm((>8NS=^5}k#R=~PxyYnAGPN=QNqs??UK`HRD zCq9{AsP!-?q7V?C@)a`h6X>K{>u)n;dWww! z4ubY;ChJJ1@ZaRN&Es(=pG`J;=Tv8>@{V;jAxLi9_hFGsgt@zEX8%vV;k%vboH>z> znvaG8zMMGks|8F=+no@=mLdOF(i$xvSnTx)Qj_&g-S#Z++xw|PAyAVuVkRgj=pttl z{Uc|E@{Lfii#l<2+)vuN&Y^^|x}l304FZcW!54HfFG4qLp)oxi-LdyQNecwyAFg!y z$sOslHZbPZFe3<=*FSg`&^f&Gspn_8&z&;FYu3Y!AQ6GJ5Y|9(9XwlVLQD0J&=;H8 zGNtx!22Pw9C4@2A-wO;hvlE}n(EZ}aGuPDeT5mY(Y#0dNd(=WuGC0lcu%&-DlsH#f zAqd3YHMq3VXyPXeYU!67!PLvd*DTAx2!rc4FH zM2XVl!nZ2*ogN2d%rZw`e(Kxho1OO4=n!a*d<*F85&w^n2AxsV8Dy zMD6F#H8Y)(gXuG>veUW4oW$V?Z$8EI{IPv;k&OEO^$6Yb722p=88LhwK?*@p1uqBJT7>~4=7|Z{f z=sHdu3#K`Yeu1scD*KDwjcTZkVLws~pEiqxpy=bg&Gdw|g0eFiCTymx`SKjU;om-1-8 zYlci?q(3CwWkQQ7u`u%RXikMSquLncV9~*k)ZtMlxaqw!2JW%Efzq8cc>ekY$utvf zqwcupar;;+Y}-1s0vSY_;qh)3M<3r@FS)n!DNz z8Yn4|lNLPpRyPJYTU>s6ggdot1|s@7<1gwT5MTW+G@W7an994sBBQ$x4!YOsWbqY4TE6I6KIgr%m~5VRksANf!m`2xqR{7a9XNSsO9HcUc60-iN{A;^fdyJ3ce zP-jxWHDq38E9Of^JH5%-a&IchErWy~#B*_X#oPmKklp3d4)Qzj$b0f5vAnf9qV$YR ziwWD~@dLLvimdz++ z68}5^wjOQWbq$Wzm)+k_i5e0V_>g?j*FTEr`YmI{gynx5@{uic<-eK zw_21ZDakuyh{ATd_Z0C;id~UEAzN5WMohf7%gkjAFefSdsH9`!VUjkjpWmJHF0~~( z_ZKa|-ejS#u0s(Fv-d?6Off}%b8{@2n!jVDRp=KE1YedxsEJP}wJK)a3UxFQt4?w* zcwjYuI4z55@ig8?Sb-q<_1wno6kk zK~3=%y=KG6kNuwdO$*E0;}0h}Qj~`YQZ)hS;hN;ECBwvv22b6K{X`#Sti8!X zL1_9!8WC48wRuCQwA$((Y!NSva76u<6Tk>?1yk2MmV040=ryn7-e|H|yOrAeEzO!< zZ_KS_sS~2w8!V9IW)Im$in5q1;otCb$0=@iO_gy#5k>6 zQ4yKTbH9=h5d2hX)LN>wWUe8Q!TJ7LHBW%rtEs-3zwHFGM-0~vzfsT!l;t*&VIiti?_UJ}reQhc=2Muz6}xdM(QwmCp|8wQ6j zoixGo0pbg2aMUtQg7TaE>Yh0U;PwYY+1b2aqdx*!vKBiuZ7ry z^u3M+=EE%#hCaS7BXE;`gDa{9Y5`s)cJ9;i|gq^w+)Sin!6i;&-{uj+G$T#~}SaQ{#n9aww(C#LBOQl7s3DSz8M za69w9-Ff9>99_=Z)DTZ3g!-grr3=;}u8XL~JRG2qf9pd6S_-yA*{U0;GKemob&N<@ zDtzpzaO4O|LUIaXeB3r$R{_Cpn@thP_XROUiNqFCwVW=QAzEYnm>Q=?MSul#2N&a< zKZHNf4}x?frbY}fwS#+^#6@whf#=i>0C7##cVDKGyAA4&zdzc%c_MdRGnXxwL(J## zqim{4mXGV&2eRGt))U}%EKrl;Tfs-WFFAD2tr7rLy1F-vuUp;?VD9XpC5ioZf1Pf= zeyiPibC_?!2kJu#`*OK`ANdq9V2tYBF;}!zDL$7OWUuXvqTKdXar<3*{NY|ps5|$c z0+Z3m%T+)QUFBlpFr&ka=*DqC1YbS?hzEL{r1btMq7c&o*$XqTesEpA!O(=h)bL~% z@>Oy5dF{MO|BBOYCxl}+YnM(0V=_Vu<;6GM5MMk!KKW_9ELo$S7`jxeVsn9#xU3EQ$}z*F1P~hyd%C5>yja<&N^^QIYpzOY zzZ88YX1Cat&=mKy#h}<4l#Y3EA1NJnS{!~<3yJEMj6G0SPqn9Z50QO9Q+Mro=R*VC z$2Es*-*Xd%u>7y{if@eDyhk+0Nhz9POrC;1xu2)cmfm_8TiIj>b<^hpT$^wOrxKEO zm=qjLC3J!?e$k7PlzsTY;|^Jl<(G3NFGg$<$M*fbm*r_JGG4zIQ8=gV;#Bis<`i7q zQp#Xx_F)C3s#71#Dc0#jDb2Ytl&R#?&apqY+2-IOc1|t9X?67Z2HpON0Ejgfcb7Tv z)ku+i&2jm(#NlWc=$5ss%`J9}TDxp&nj7E*UhH(oV)E{`?^zg03Eu9-rQ%3LX)_}m z;Q3F!pKS1D2! zCouxnM5kriuWfjTM*!kZg(ER;X_FBKVuWMda)a9fgIo~JeTbV3Shtj0Yc15MFo07MochQzKfgcqi&?BDFhpZ+ ztV?Q%ozUbu-ne!#{h~X7h z7KgjmN8YKugUudLjLYqmgub}c{uEeP=rpFLZG(`49&0LBwl8A#zk&smGiKB67uxHf zARFK(fk;UHEWFtWC9eH#sZSX5eCy>k^$|TLjbx96atqXAErCl<-;;X3wH~;HD>DY! zFGe8}IRMG{4&`qgI3V&#<@ZTM^AO-foVVcfoVRP>lGkXbTIGaVGQ-|`GA6+!jJCz| z*O~!RvF3JjRAg2)mAvDLZ0)ZN3;n-Z^S)}6tgWYJ4A-^gvkUE7w8^1--+a`n&z(tJv0HFvfo;u@c>xbtO z&BgM}l+Qdy9#Wcr3K zQR7|w*@%KDo3I(C2r^+!!Cp|^wE6z0s(D5tKwOkbcrkE8F5Jn@aHq=eEg|}FgzIW< zeNR;z{8{N@fk&sk#Dl|c^7GkKm@Z|VtY@s4gOz3m|0(EgT$^rjxJ=Ou6MFm@HzPYx zo(QP=Azw5EO8VYJ6WaoxV>vE^%;Y#kH~UtlvW0w&AS-tBcpRlNqE>@t;o2N49Z{Qo za=h5L;&9sjNh2`mqCTy#7N21etQUG)6pzOBYTr!_C#GvAEwGdzisFB?u`_T>?_NBi z!%0e#Ky`?@6QHMci?lLnCkY?~oq5kVqNCDQc2lmcy^AG~WfZn*RgY=8%@2H^o-TbCYo9-}a%}MMnB-k8KY=@l&>ac;4@Xe?WX+-D)Cx8{Te*Dbaj4;=DFgFt)FQ ztCDGH*GV7cN3!*vPNrysh^~{#W?juUtZH1g_gE7*aJ2J`Q_ZHR*~T4!c`Zw)Rv)-> zZ!Vna+k!Ze@Ib$69EUne7o>LBm3iMp2auYp!C&lT(EA1F5z<775x_D8SXYC-OP zyk0CHF1j07D;fSml#-=3yXKu94XRss}K6Im6ZJ}>ox{R&(M-rleeza&q zpU=+~H`cP#XllhN23+wd2aS%tkUFWim0G-_VlNr$w|&@inp8ZVgfP4v+(oTZAD-aI z-@naZ_&~~u+0BQ!q+l$Af|!bbYDfQ|{@ob6zFSX3(al~pUsudDwpzkC0s6bz>KmX^ zsK<#3JD0cU{l?{?>t4;Y8xK(pN6)5xL5l+Q947?wf8QvMcP7G|)_E7*dtzK6^z&^ zYLNik1oygGU$YRMyt0Awz0`hnMI4&C8yX|{f#mRcgKQd7mBcMX%4}&Y8b^3GUU-Mc zzb9tng_V$>n@7M_)vNYwf%zWYO zHiE1^P@kGw_cTQ2H<#cgk2)Z%Mkgt0yP1=_*O>xoZA%u~iuDZnx$h-*h3P0ClK z!L*xNzXZJlLq?bQn|x)cIJ*xxhqSAJwze#?-WF-ztEi-TJhhBIpz7JYg09={fagTG zmjGs$mm+qjne<~t7gJK?y#8(O=l#L=^5=!#FW+RWXm3`o)CjHY6ye;j4DG@703OD8w4^Fe2F0OdS_B~4i&bsXsucOXgsui zeg#lf;ynUtWEvQ;^CSt>k}nSxGIVx01QDuNwLotb(TwH|*V^t*J655Cm0qwnA7 z!c!9Z?ZqUqZkLBqcZRePMXF=sx=2@N+S{fzDaSWhwyLa)mq*sxIURmKWuWx*`b1_= zB0z0q#0Em7Hs#)p-GZZU3N0u4op8_OD7a zH0OjFj(pm?HAz{MlNJ%Fl?^VVyA)j8x2Blq{8-1Wv>1vc6>@+(+F0b((=|~{i)qi!ARmtKzK^Y3T*u?vO1V*?UuR#Fdavfb z0kaSMnFH&uPVlIF7RHMzEnA>U213Ta6B^8NZ5RoE3Aq5N^AvMN&T%v40I4&RMh}z+ zLmxOhmAZs4DX);?D-EcXld8oQ2yh3kMaNA~z5o}kQR|r+hRdO1XRtm5TQ4%HMXGEz z*_Ex8LrLs!$~QAC9-Kum^@ZMmSFz2JnR;^)e+>k3e*S#4rx_m>sA5pgE?dEUSkamY zm0yR-=L_IZ4x@MyZXavPbP5kdc!6cB(D7@(RO=v;rk#67Ua=-AE=Q8&6@2p*vg!}K zSFJ|dofxr_96~Q+m#rSlY#F45s|K5(R9eivnVj~f+UjRrkGL`p;#jGM587}Pa**aL z0o)NFF@wB1zG4BezP*6?Uo#f@HFH--Hp)mGFA7KI3?HgUq}%?i+HzMYSbOy~WVRLwP(z49aV8}w z@f^NEbm&h4$*ZaXb)0v9;O<3nvslVPGwN;8*`jbqsFBgTzouW#kqL2LVsEF`Bdw!Z z6)#?-iE7q4DHyvtRyUjYKHu5WrcHSssAt;~Bq};AtRy44x^#?T-Fqg^t0xW}|5hhg zW5S2?u6v2J*S|Bijp;?$JvvhPdh}J@dRE#l4(}y6uN34uIQ_oPo2Zg!<%j5%4T?i zWt{Hns2!gZ3KWgc-+ev>KrXJ^r`-zCA4#J<{%oCl`5Yl@ZP+foQC}~qWP0ywd*oQ~ zvivY4HT@rVn!l#&f73b`1tQu2{1fG~jDuL@eA1#1?Xj#32;b~>?EM!EY=Wv_o|-#j z^Z4JrH3^^L$9%7^&%r2GS{@-x5_KmjBY3$S%2m`&60zj*?QM#Xs!RpBKIXzQB2|O|q4hJ@W9}0v`#%yxEaN zEi$ur|0m}2DfNnJ>t^P9`~FSnqKGxkYS|Hiw|ex!R(#n6!r%WdJ@a3Pte$MuWIf*e z==>$GN2?8vU`smV3#VJDdEwR>jeHEh^5wx5p{Re4d_uH! zO%$_K(+Z*|?8Ki*aW2v1$&nbb)2vk*+FIuq}>I-lm=@WYQZva1#ArdoR^gLMY ze~%l%d{f>6OFn|QVe zoIGj6n17c^K9i{<*8N2Bf4zYBJBzIeCIO4+ZB+mz!^y+_P$#a3J_ zBwCHP@m(Z^2(gwqlql;dMkodUI`puQv9DA`dD6AfH$TzO!Ll31=4z?D%^usRX`{V~ z5yt9vo&v>LncFX)wD6@u>Q?EVl6s#ic)#VK-u(T>K83kArY6JlgW?znd-_0E^VR57 zc)loCp&fcj=+^=C-z)q<_Z>M{ZUm(DvrL=~eE3y^m z?5sBJF;F+7#BD{cy(p4xlmD?_=~tlk|&F zre=XbO0)oV3v=hhW;hikSphNN3O?lqiTu(i)Qohrfst6pyOFs^mNOSbk_&m z(RLm6<+d2U;Q2Sz2w*R~;bsM~1f=59u;To(0xx&_un0{`0$XTQ4sVzk6=7-2Hw9=>p@NUVsnn*_hG?YQl%4fgsQ7jT4U);@4^9DiJFULk< zxk)L!+;zhtagh4K58F8o;cj+TwAoZt(`2ny*aEA|)s3%0A;c=;MYjyH2|Y3Xj#{Kx z*MkKXq_ejXozy1l+CWLpDi99-5+B}e6uAhf61Vfutg@Y03Nf_4mjpOraHxxW%w1(I z)Nz^uZF(2`g5V0+({SP?$R${B)k-YS(@)@fmW!7h!|Z0PNr-d^{NSDq4siU`B;@P? zo%EH1`13{`D6m3;h=7TfYAhG^x={;_K2{CD7q-X(RLWH0oYEM-%)@F>xERVZ_y?5( z<#M88P9(Lou3CVUl0_fie^-bnnq-YT8s}%nY7=0?O1rOH(bf@Bbc0~o*?AhF&k~gT z($)m46Jnj&7S(Ry_7Vi8!{8PF`2$@^RcXfoqgMMmb}vWtD<&mVl9$=tCufHC17r>H z&OB(ikoHO?WJ@!P|9dxsNYSG}fV&L?mc+`vDTihm)^m|)on?Wl`6aIDJSPJ3jt5jF`IN$k zpJCRB&_B8kufy4h#&$>krdeuLryKaB*>+ z0~axw7AVQt!;8{>@s`|D8GfPgoubw|)GOK^HZE7rf!O6UKl;5|gyJsT<>|8L=Ma#> zyL!4DDu?~Lb~khk_50%FRg<(2`?f9yc$cS+^2!5IpSm%g;Y`?Wnd0}1*sLZvW9t~V zGHd*gA?GDg!cP3Pe8KIeni8NCxrdZdYryE;o1kUNlMmNYcRz&~T-{R<7c)HRi||kB zF%u*v|2UAec9w@x3+L4tEx77VMZS)Uhm3OB6S`Wia7#jL{7ie(c{M=ScC6Unk5zW_ zdzG<%1J_ne_*DmDs07ex_`{?h{q@9G-ai=@_WxNb?xCoOLYzoUF7PM$=#!Z`&%C8g z{u%2AZJX5o6AulW^K+~v!d>vTQerZh{NJTN2F!eSH}{2@BFLT75%R~ zM=B9j^Q`tpCsK%Ama5eA)?#<>c%cOCx0l~43qG7hofFc4MSW84tf%6N+6r;!i28UV z7icN<7r!X`wzv(-aFO_f1uBVH2E~V=?6^~Gw6%k0OP_)vH)u&td~=`NE>oRL9pzn? z`Rvl67*<%Q*aWkeY=ymi(mS*$Le888v7rujZ!2k~6@3h*(O$OgF_M@SJBr%UI~e?g zU;YB2uJY*Q4UKT~mG}Hju9HV2w6$}CE?dZ1KaNGDZq^; z%crPe?*#-b+ps{je=i8aRZzehZ!u|#Wp&%E;1~ zdS&0!-DhXr@VM(IiMVQj9@C8W>(FDplq9WrS&8H^uMT%3p+{3flEzAWlx+J?+UbJp zbla)s3GE0<)@Jmw{VMl5F%!J0VMY&wBc1T+>|+Uj_oWG<}V-7$jo}S)Ov= zSkz%(nRkGcojkZJqRksJRnxk5&a}fUx+fXy3k8U~6oz=g;35?+uZ4nk$$U`O(imcf#xlvasxk{xcO$h3nlV8Kn9}v2 zItrVcA@uSVMbew@Hr3d;*aLDj~gycolOoFh3&X}dr{;ZpwhftFUGxPXGX_$@6atmbKO;)j%q zGtk%t`{@~c!u$2))5@o3x)_GwioQ-{aylBaPrP*T&W1`o@SK=wRuQZcJ^lUoSfs3x zR8uWt`CeX;Uc)|1*PM=HKFrLe0k7UidPjFRDr?Q>9e(G(o;sf#HqKOw6<&|jGI<(Z z4V|FFSH+ChBJbhFwS%KdWG;(E^WnsY>*m4)y*@1#4-9YW5fp%5nc4?R zRg1-pjY$hfeLFlG;M96alEhM$=%53#6EB~k>9?}kytk#Bm5{P}YABVyNG8_>?gxxK z)Wld4gSi4_Cat|ZUb80DI(4)j zovzn1CpAcdKLT6VReGZ~6`=N>V$0XWdl9WN%y4Iru0faGXH7`6bIxw;K78EtrTcL! z#{wRd&XOSr4p(WKCxXYFa9TVGzxk4mPZ>eNPQB!){%}$!eWR^v3zvM;7um-eagRvD%G>f2+AO z(LKAvMk|l^B)jZizw31B%B}e}({!}R#2D0SW?xawZ!gxGYEb5ky1-&W_bnHtzrbtKDb{1aUyHH=E$`zlRZzrk^g%;%H^dRw(*D1p{H z-X^%je}`iE<$C4+>{SoH`_lI`=th>eene@?nxaA8m_)1}mPqjSj> z+-P|0V&z>?zFg(*(`t(Nv{|J7t2hAbZ^~)F&_YgX8X+aj za$Ybo68F?00j{3X#Rk=QUbLa;X0aX;9MiDHLf)J*4j0Wb(+wrH!Y_1FpC(L3WFks# z3-K``YHnL4!f)#bIzxnoiij%r`e&Wn1ebqr&nbLU)68W7^u;pWaFoH{_wx<# z?VM_nNcwupDl6xRiI1OTi4f_D9`pa?mk!(4fa16REj<04krih zD^?#GPWa4+<;ZX~?Zv<|3As-{MN3v=BWeo%y7^m-sX}L~A}bV>QF;i4eYCKU5}kcc zoJO;Fj`nkbzQCWEQu-HGKJOE#Y+gDUy+}5y6|;tWw2~Kj?cKk|#ZwJIr5bgVs>I^U zpaS=B5?ywZJq!moj*oh997i#%RW(B?=Je#yQEkOf4+SE#q;Hgq*8pT2D&e4twDE}? zRF!OA5vuc|NlY+Mrs#T9i}HZLS(Ymf;`eZ-L7Lzyd0sGy8LW{WX)!QBl{!KwP3hSL zSMe<@Qfr)zQ5>pOs*RkXr>I6_d#?hXMuoU^p+OveaB>GhJtA#S_I8GOo}CV{t1s%0 zwB)`$Yk}r({AJ4+1w1YMY&d0&;Kt=}nN&lU!Kf$XyqUWFP+8lGMjXEAZ?Q{`u4d{m z1B0=Iy02z4RAUuB_lCFP6LWPXwxE$I3=0?~B!x<7bJub>@1Kn_fFtdqTuht1U2DS@ zv}tzhWGApp+DUts3TLl(((IVHHPHw;ol_E6oI=H+CKp)>r#lJ|txNDja}&G?(odaN zB32Pn7zFgAL9^*|kw5I=qrz6OAe{Mc7b7zy@QLMgs0gok{RFe!4WuOz$RP0IZY1os ziS>NN<%Hnybl?C{9Wzdk z4!S&CDnt{kS5S2s5F-0MG75(jD3W{XHk(npj{23(c|5;a)jAmE7GQX&*slM17J!g(u8XTpSCG#v8Gk6COM zI}cnm?$-9G>)wYZ*gCMAeVE|fgvD%64{F7D=@OSX`O?FCpHA~-g7>1%gZj?R{q-F= z&A)IYeErsvCX0S)NsT~>(pS+y2sVIf$9Ul8j3!mGzposAdo1~LU5t=|x=4v8-6s1d z_xKP8%$klV)}AWu#9;50OZnyz+qFz}Bw^e;Sh+R0dFIzZsgC|6R)g|Qii>G-%gX0` z%`;iPY>xw!$WyX@^h86ywqzZ@`}p;IOw}=R87hj*q~G7pfH2PcKiU{{P7CBjnh^1D zbd!}9hkk<(9#hH@bokz!oRSv7o%P8U^4f?h-^D0nbUl>Fw1Th=%5yqrZpq!_MWXcM>lLHrMpv>BLV7lb(lCQ$tVEc0k_r5Br07B1=~N_wG&SQ zF*i1mPlDHIm;2RUXmK_-X(Me%lp`Z0vN3`4gJ{+6xE7!tHB{hU~eydQ6{ z>b_!Mb>5o4K+|q$pPAc4cE%rY_{fRANDs{xXYkw@8h3TUZrE5Q=&>n(Is3-R@P&BU zRr92G3Scu^jJ zd$fHD>cm!?bK>xq3&mkBHrAEi8DYuW8Yeegp!F)whB(+wF7cTZiKqP3f)(n|@`w-l z!qg1+i{vvbGR;WG{7;WsJv2dY5}gJ;)yW02Nk5xps z-uNl1j!`btLJhz9y(pezMcPyy$=@i{yAVd<>6vx>>ROA@5vC%*4K{Re+_N%xhRfS% zA|Y~tZu0PLN4HC)+&F>P7DHpT{31xBQfKdR-jm@%P478g>-nI~WbTqPa~+=~SBj}( zyh|ZBGL_fDEsrdV_o4In7#laHi_MZQXx(1eAF)FQ`rSIr{^%e1RXv>B@rbva;1gYV zjzNJvA!wYj=ZHx@1^l`mL6Rpz7g7+}n;$bGAT~fP_4sPFaYgRrb=FvT4buV1qhYID zEo@C_rZF?l{DD!eHfmYtfT3ge>-((e;yk)eAfKX^y-sJG98ww+I!x|5$#)GUa#Q#} zllZ@WE|Pv5B8Mv)t!o*m6L)B&pdEZceiI=R5xoO2^;KZzY zxU0^>T}U+hwFgnPJ43Vrtg+=jmmk+2;cetIxYN$6xRE4FK~uw9LZC^7L_te58K^q` z4oo*;Q5H4w9PLz8N`OgpfF=)rq;HW;8c=m1bC%g1x=D2b-{f|xD!lC2>xgqm4YmVs z*gESU5~V6p<@#l&b*Khd#Z;fX`YnwYq;=ResWSNFHxker_4XlbDhKvU8ortXF}Xhl&sv zQu$Hf;k0yCT`&UrnH`i4xk|g}27QjxdnLx?YL_aZ@7J}{w!0jy&St62)1S-sj5Dzyij6VBke0~5R!r&%fFd`yT z(7#Z2DQ%19?39}Zf_L&kE#aCmWRsFM0i|y%$Ab-3FA6ljhs8+tyRQY8&AM&1F>V?* zRPF_?V5J2(b6Jf{#kLnBdBLpk3sNw!WW^psgcQ+?k%po}kWGIeDG}Jbjx?0cu!u;6 zhSc=e&^kJcS}zy7>Xfxe&pNsdmQ9QZID^`S!vh>Zsh$pw4erUgR|O4Mq;{gAE$a`6-;MClhqoz>oBPFS2hnWzmM>C z{@iRl$#UEi6TKibL399=rpwLT7>MShgpYanEs4^Jl5{l~h?4unWsNvdOX(n{-Q-T` z7I{ia?}Jns7+?rR+G=on%5fg~%I{SEVLuGgTKAF_fM%`3RMk*il>ZVY)2AtgD~D>a zh5FY~JXHKty=Vl`=Ann>70`(2Buc7x(j1dUL7*n{l4#3;#))*FxJ6dc^Bl2O(f_iH z*@y;4Xm#8?m6#+|t|R>@!5;W@_E%M0xwAh;UTj;^7$ff|?J+P{DVSGB;@L~DmoF2z zRT(j6E9Q+!n?XY;GTRsb-w|xyL3)7LE((kd{%a&AO&`V>r)ECW$1sJS$KZo*fSM_v zN2({V-&*mv%2;Cpp;=nA+n>FSS@)lky-Tl}`2nQHYAUb)7k{_Jo>7A3pWUkMY_ue9 z|J4xOxDv9BRgQ*r7bNP$r$K4`V zRaVNY0sO8GQl3XKW&HL0D)6!ebvWAnRQ9H*AurzCK0LHW3T&bFD@~LVzgG>q#ci&4Z|&vR_BvFZeAR4SybIDr`YLQg#HpvHW?tA%zzdkPUp!Jl%p{<7f)_uqGjv9&^R61<-lv%6SIwAsoKq?0y^z&--(1RC2 z*YWh~i*IQ3D>j$@gi9eQdX?fbgI=ps?e#4o;a2&se{|@fr@>;s&51V)0b$`9nWy>Y z0=fzgQ<-?4+Mbl=(+^ixg&=0$QKn7f?1YTo;(F5fB{u%kWRW#XM(a+FP{P8m53yus zYh;thH>=2rPRD?(ByAExVIJ(E(@~W}JHQZcHj%I%W7ZlOMG;prQ^9lB z+Y_-3v9=??laW*BRwU)_XaQYjnzh5CS9QdPEpMGB)6T>m!^w(nh#Qut5tkws%l?DO zcyapa7;7#M#-?kz%*bc3;km|U6`dJ;ohtKMx&A};r;0u6&zEVRq*txoVOJX`v3AoX z^po;6dEF*y9s%1-skYtL8>%7h|>3O)_PCMR^UY&{K;9$1fTEvfcU+K-Lv}{XRC)boGauJOv zax<|?S|m`?(D-MIqakqNXP6GsAj2aHUU(L-v|%L}EC`XXuzy!GcVqjw&G5Q%%?r{9 zz%%AiYCZBqAxSgWwtpad0NH=L`S_RLWbio)^TmHRbfK;SYIik71`AmaP*RrE#CSu+ zA*qAGe=EVzR!tWEEN}i}@WeyBoP9&WUziK4l_oATN}&WtWU1It`6deFZtNT7jN^a$ zf|0azkh|rGC}2p6%V#~S{molbzZyz_VBogF6tOupe}n&LLx9i^Bs2VEAvj;*^on;r z|NFiJYTZdtNzweEhUhCo$cV$Wz_jI*u_TM8 z!n#FRK>8AwlqSG@t9X_EuL*jc61?ows&Tdc41N=yG9f(MCtS-QWdWFASpA`_dn}Jx z7>=0W5+2Vmdr4vpSnbkSd#w^`KdFO;2d->)&G!tsy`5|y|5vQJ&}Q13;p_wi6IOOqev@J?|rgdyhmY-C%nwGP2CIH35HX47W2&66zZJf zh|fc(uB7-gfi3~@`|>?ln#?bR!l|3OC;na+{3gZ9U3`|?7lPAsjY%+tF6G}Ij?n8eZbop|-x^B~T4LAM~7%gz6I2 z0fY%*%!8U?e%d^4$p<+=i}Jzw@+H7j{HX}M`j|HUI4DM`%eJAtb#eDg{#!mDo9`iQ z^^_?&cIk$|k%t7-?=^1+w$R}yv^_LA(2A5>SM`&)w$#5{opp2Q-63S_c!&|1k)?Df zv&-}XxBN6*F47Eo`$J-d!p(reXqBDLbUjmt35U4|vBec5c>){U1DwK^DQuxU=diUd!cv7E<{o*5 zoO3r4+2IH};xEw5>7fRCY{1C*w=ySmTq*&kpmk5Ylo5C)2i@WNNCIu?=I@Ldb>?*E zBQ*rS8yAO&<7;3>Tys%UM6#%)qvaxCCgp%a#}deb)pQ_|>dXdzbGD_hjA2xU26ZRQ zX@{rN7M@d44|;|*kL8)TuZW%s&&M4{Xo&LdFsS9&w)~BeOkBfqD?Rdb6QM;q$X6(M z#s{B;BYzO@!#S}4d>(yx3wpMwx{S!MJOiuJVz}@E4MS1E%M;3*1XjY~U*RLLoeJhD zW>eA4Gm3hJp#)hDADgkIW?7ubj#j{L#W4qI2X70rx9_T6OW`>FkECfNKtdQoB89ZW z7auFH?N*h+SPpK4r3Z5U@1LIF1=Hf+;t0?E2}M=%q8sa{_vJ~Br-oSpI*tf!w zz$u2kt2*Tt@cte+I4w0wLc;q}AGGNYKK#Sy#%vD=op3j{>#W(Cm3~DPH$$!QSPkjL|#~(3^hP6E_DJy7cBmqOsf=Yx0VM zR1=0NqD`>Kh~(`f*oveFGcYaEnCiSEV-jFN#%Sinszo)oxRPnpOX$7ZNr$cpbFyYJ zWMYBlVAw>W;76K1JY@|Y!w3c#UWHWnz6Z9%sj~qzaB0JI4sHE2GBwGFLVM)HW9g?**KpPr! zyc49c{?5r|&R=o7v8KfI zMicPg-lgT6p5^g+r}f&8>2!|J%VX5YTH7klv&HmACd`?p^=z@Oo1vwCORLhVOY5a9 za~x?`=v&4kiES$k1Js0QQ&FXk2KCJ_&MqTbV3p6OY&sb#2K3l;Y@K(@(^C0B7@iL2 zzw5g9c2|2I6la*5|B09L<7YLV+tb<(M2K$}$tp(qjmBv=L{r&e zTLEOL>}6=a7N+srcy&Oom;5#qTkk)t9&)&&;EH+P`z=H7ub@**@U*{Jf_d`Fz_R29&S;$fN-e2e+f!%% ztNDHBk=az_kAj=RUe~O=dv; zm;~?ZXo}8+MUuKsmnvi&C;v&&*&gngxeV77QA2Cu*^P+qyS)H$E9uL15LhF}zIzAXW!R!hH{DFl})o5v9n4ScPc89n~^_&|$4_ z`{Owa(OtqoDO-iXo^$ck}2R`o~W%q9?5IM(&nP`1SE4cSSlXzC$4&-wl&tCw- z71u*7F5n*NUQ>2<)2JG)^|%Gs@^dUG)mwXK=E_)YU+@QE@F9A4P?g?#xdN#lN1}u} z^B~dI3o=ofP}5erVP~567xhOg08!YgGJ7bEc~qXBuqW62D031fd}#xy!2u?ZGZOPJ zjTtgb5t2PNcne5iwj_6TlOLH!YNRC!Hot=EG+dI)_L)Z!7&0czD>2%=O|XU_xGE2u z#V4~$fBqPe6dx8{RpgI%Ph_PF7y+854EY}<-b)@yWg;zw=_~jAj3Hq<9C4nLC`)-w zi4%BqEGCL5c$CBL7j9n``RB&3KxK6nT{zYL{QMor<}|ufcRHhpYgCa-R9;{AEbW{k zwrYtoTj)3WqN5w36pbq7*=R~5?3i`rDX5OgNRgtFsW_RU9O7h6?mR0%0jzQ|v(4)3 z1NVqLXr=30Hd3MJ`hk8Pz_}u+#Egd!UMNaZ4G67Tl8iBuEUi%mgeD0@Rk3zouGcwt z@aUeod}l|T4Iav-olG?Iww}p}aj5Rr_}(-|wBjsn0~jru&8!?U`^>-DYqy}@@zRG} zP(13nmlxdD(A4C5Olqe+y+l*@J#iUQnWF3nU{AAyYC1i_Ar0KviXS{&PZnq=CJJ6R z%^3M<#MWdfy93E_Bvx?SNn7sA#sV652SP`xx-8FIq1;C!Ho5gXDqAPKCZ&m2lT7!# zZ|E61tOdA@#*6VU*EXt`nTk#_wyN%QyJV12E1Yb-LDJeVA7`Wm3V!d@P3YWbFTX?h z{Zb*Dvr9|o#>R`)sxh-<6nAgcI*lV`ITO{VjyO+;?61W1DRe5D2%lMB{{17Brf$4w zFF(1w)a5TM-zhEsYy-GOMNxh{G(x4_n%F&?eIw4$-jfiWyj&K1eK}<3b6jre&dXRW zc7tgd+L(aD9WlcU*fYaI3D^*rg#1ww64V z++S33x}NZ-wVxP>#G?K|*P@*$5xE|Pnz4zO%v;z}Raeq`+L34AtoDfavq9SC^PNNz zJ6WDi)h#4eZ)o^0I;T&Iv>$&aT!;)%|eQ)Yu}pKFsCXy-2Tie#AV8hIFi z(m_{;55NW~3Qm`pU5!!?U2~0Ki;Dt+g+E&pA5+e03KXd*eUQGK4Z^o7t??8-#-5c0e(LWRRny@QWj|ayE9_>NUD}Q7-eJIc*dhgwd@yrtahe|~r zNyuV}i+0PA$h#&<(i=#$%*`139z0h>?ZZT%i;HrV1rdO3HK%FJqC`+LCI6>}IWfxP z58|nIrZ3->c+wCZ2DrBQUU5glZDq$O9RK)2mS^~^#SDuzprvKY7kCL2U9gz4(CEKd77j4K?GT`b zY+@<7XRY9EI52QzkXgQQMk+?-#hzmc+4w@Fc4wDF0 z3_aX1&~-j(+s->hi(c{(JiR$AS!9R%`tYOlGZBnm$fqvFlDJ!bzcpQx7B#yVQOh_T zV_Gi1{7?5MK*-tQ!~r2+WEPP~s!jcLHyH&nNo6Jfd$KAG*pDSXsZ}|#2uVE4_bnT1=59`G3@-TI!I3Sz1@ukKjs zZ*#FBhg6h{r*fG!6;`N*k73DD8cuUjp{13(Y*qlg17;knx!U6VIuk3bLc^Tvk#C~i#syNrwxUC`zcs%Q zhE@G(Zb)K3RB;vTY=S5ew6bksZjY7+^{J!My8dCKua|K7Q(X-z$+1F6GTyEHu`l#ayQ z{z6(h&jbLUM2?Yx1JMyqrKdTnr!u^IYdsSY;F~}%b+X|{a|FHrkLv?s1R}!Z-pSr& z=tUw7BJ>zG#t7n91d#ogH`p9S$Q9@e_h9HGzxZPB3rPS5ch%WoFAm+X92>9urF45oAo7mgeYZ60mpsTysV#(VmB%?{-aU5^4`?2F=6-Aw z-nlgQ;@5u;=xFz!1jVUIPg|o0VmZzC`RP0^*rL^Z{jbor$3lIB;|WH z?djNH%&Yp`WoVH9Ra#OiTv!VPA7;?B0N1p0q=|cQJPJ0jC4Uim3upBfA4EMOe821w z?-~&06Fg0E4xOm{3VQl&+B%3K_jqC_=H(}I^_vN*`aQWJ8&zncfEE;w8ghX{I}t#W z=Cm1(O~PwysCi#(eP27a8(?RCVf%?h=IPyqh7F;>&ieH_@NTipCJX|-WFM zLH{E{AbJoF4qw2EhJWu~`InY$jDzo7lQ{|ze|$LB=avKTJ$)ruh)MMkwh(2slF)cF zhCtnmM}rvm9*fA3MkJ%yo(W+_Mq_S?seCNz&Vz;nLWCR1D2cB3?5lO^IloV-2k8&n z8Dg8zXw*@g*62~u(FvNrWhD-FtyQn25I?!X+HwNebfNlQ5DDCNf=>MD$v^d)4QO&! zge3F5S7iZXVIm-Z$%zrRD3J~VcmtzGBqU>m@?mJ$gV(1v31xQhXvW@Wu+hoks69yj zED6UA0+*a(G2~iBdHCRl{A;NmaC9EunX0=sm1qiT6)jtmiB+i;7GXGl5j2GFMSTIL z)YxZI8O<1@v)tbOq+(7cZnjF_xA%Ir1X_|Yd$ff2pc2Sk5Ee(AFIZW_#YnP9q^65% z6;45o>bPZh{*8dffpPnuY7z^6G5>JD(vYo>QX&PP3?Ep;2YyX)jv2_~gWJ1AT8*fOej^%)f_}9}yu;F}2gT*8Rg^2l|sy3+shg>zOjl^rUBDA4n{cl*h@F zz`LK%vntdTKeS}zER>Pw4_Ej{pDSfSo?|ViU)bMuS-7*97%@#70TIsip8miMp8P0U zNJ-A^iO%p07zcGMk}8UZ<+WnnH-pE-`oAFV|33r$e}YjsVW?sm!5^&2#LT~bUYZgc z5f4!lbJ0KdkAR4+tERT~DHe6V%ee5GWZ9aVcoF=UGZ=z{@qEX98lOoUV$k=}VlMbm zOQlc1V)(xZ0wD;-6Mpp1Zjn7RRe)y-e}dA z_?x-6q6gxm@RTiuQ{!8=7F~p*-h^L&M8Ea^GgM4Qp@skP-S%aIr_}0P72KF2qjFK~ zAM4p+cRDy^epM90T_UGc#l^axpo;HV3F3>g;d*msz(CJu(6kUMkxCBgXu+zIg^}7+ zJk<0EvY*If?PWK;8htAQa-zCj@5m_NC(W;mm3Y_~(7)YlRwKXp!`ll2diqMNREtIQ z*gzr$pRn-%hG*p9-wFni&l+itz@Dl~{fgIQ-*C8CvES67?N8%P^x-4TY zdcoOWqd^4odc>kJkn6QZAPTc5CuM;M0=Q9;mKaPdZKFo|g9pOqgEUFtA&Bz_#pEFo3# zXRjjkC<5?LwNG)57CW+@o6QmuzNDxKgip?LvLVctUX4h6(c8y5i|JPHFXbdmcl+^$ znGoQOe?>3K#GCM-wvN|)sjaUB&ctOS3!EO~^81g{G zLh9dv`~C#E6T%4WN$ZDr#MH~e0uZ%l15>$RGwjfLX{dtmZ}0gkUwqli%UdDBLiiPL zJA@n2bAm;|H~5VCwcF7W*iP?QM{(=I2OCKPf7oj>B+=MR<^@-*KK(*8F5~I}^#p_7nWB9ozSrex1E)C;&jBFBVmKlz8Mlw z*bhksLx_BV7=G)Ci(8#%>?)Z#F*M~0;R^4#M38eDKA~{$oC(8iL7uNqKV3_sUxplY zqs;Sn8?RvU&(&adg?;c#Sc8No-Ea(t^4}lU9Qu#~wz&P)-ANuuLBJST_?KcJj{DN( z9RF48$y0_5x1bEAbIgo}?9$1rrcOU_+6z9{4HNh96u7W%eTV>^{Su-q6gaK?c5rcn zV8aRcv*+@SxT|QId)Oe)vssBvxVUVUjzayHKvIlx!3nf4Ygu04JN_EEkumU{cH4j% z`1Per<#}TT8jrs+i_;6>{^qd9*+CK}EcCmX$1DQFP4=`?pjRM2*{>)ssQAh<_Di;* zul8#=B8qkb9{kJuPg&uu+`05%BOyeCQbM?-Yyl=k?L5Y#mTsf?aCky|g(NJAz?zq^ z_M*745QM`+pV2m)SK4G@wA+nSpT7@k)DJ6&AcXjqAG_tkG(RZErIvzS4TP;!OJ`|j zrkj28cMt#2<2eWK!~Z^=vGF&T-}AyoAWeShE9y|ADmW(y-@~BLucT0z1Hlb5)9J{O zn?I>G5FE07JkLNM`CfWqFp>ySO@){EI9HmwWfdV@{j|7baybGi58PkwT49zyBMD%s zeVkAZ@!D@Z+&g9(es<`8olHWEAXp`fpj6Xj_mDuZ=XAdBa}X^b0=U2G(M;m}0~bFo zy@-@02n6qXMn^%ulTBWxmjgi9Yo07E9g$r|(Dr)#m6$M!1%2BLx?{AUH9&9kVP+Ogt+>u^Ck7G(ki<~7l9 z3pB*CVpp619=5Wc{5lcF~z>m>^d1J~Obx*k@Pe8Us5Lb(|uux<#h>fN&^c$h8 ztM>}TGH9v}f3;k0wej$fBIIH>YoWhy#Xu%1d+E8gc8cbZM@tT$Zzj3ZeW96gJ;uO9bsy(xWyJH%* zzo$lO_m zR&%*+_-+55D4rZdsUqexy(9CoV8xHeJH*Ss^ACh+lGI!MT=!FGI8%bks)d8l7GhekRbsdQ@BtcdArEVaWv zHh2w`n%5k}V*77UXKZak~L`a5rjx3E8WY*yQR z3>+uMea;&kwo#79i$gHH_M&=jr}en2>bX4j(2w6nQ_yfT250wERnP z2ds^Ft0Zc*gRO#lQEixu`VBh?V$a?6A9;=Dti#isiG!uvv)_%00;c;BVa>kW37z6? z3K|*pGae*7+|B`4MJvYy_?cNByDCy|*@VqdCOVXAI2NGwS3s-EU3M#5F5H0?-r5sR z?a@QVPm{6r`%wHwyOhuN4GmWRMY?ZMLRe0I&{vFqAqTc$jxBnT<)&`BZ2j~h=Dk?* zu@yi3HHtaGb4N^yyZ$1=zZ_*tg2^u-hxJh#6QB8MZzk%^ixX1g{Q(od4+ee;?I1s$ z?`)FhTe4^eDh5mAsL87eBq~-2Qm2g!;|2 zD(jPotu>3#{w(Xxo4t$o#~&tj{T#CQ9bqfhUbOOAaGiUVU6F4hNf^KWDUiL4`qyO9 zDk7Rr#om;KT2 zpJyanI$Z~uoD)C4l59Mg2U&xTW{uHng#28uUFJLXQ9BJClhBxVMt*ZfDA>2@vMHXv z2PK407V4wbZugcmEYF0mD|(W(3LnmucC|c5S%PiQ332p5Oh*e;Q%Ib)dZ5+@ChQ%b z#=4RFQgccea@QB;L{&L6C_+5!h{iqQ0mr1;ha>ZlBQHR!05?IbzG_?K2i-PgUaQ+W z9nep?sk;geYLWAXONl!*lg9&|PK#`Maqz?0I8yHHQxd=p>4J@e+|UMtZiu=Z)}e|b zh2p;Jax&fBE%?kHvy4=G}%oS?$)7=eyBiySJ{JYlKT2Yki+@1?YeV z%VCM3590m9x-**@k%Kfz!l^Y|60G-66O`&s@1>&^v>DM&f($=Ddx=;0-RQIWu3ISc z_~dInFUBz}Umm0Bs&cm=pt&v?jTl_OfrqR4-G?`j>-n@AJJQqlUB zqnz(_*QB98cL=^*$7|!Xpl-jLa%1^R)4UABxc7lt2nWD`oLN;DBTU#6Lzneh{&96A z|4x(yXl+)RDbeiUNmjk{QIN2r>nZJ{K3L_0jJ(%%0cD)cb2!otTV4t*zXdj?06>UXGioYvp%HR)hg>h|RQ|q17 z^$&vY+gd;ozJu#m|O~$kU{S(HvN@@X3ZhB4c3wVZhAA@%1bX0?PD7 z*O_@y{qPF$$lgneqX<0}s2^5jYc>Z6BRs2Ra6p3j$C5h4b@eds|2d!?I<~@lPE7ab z$LP4Z;_^ha-i3DL5Y_o1iU^WXPc{9W06h^srzn&!4&VM;2Tr=sG=F)#_5YTFh-X^; zjK$YWSvwEnf_N7NhX4AXIhtpCuW>aVCF1A;9d3uJqW}IXPedIOSeK~Kk!%g}y^2m0 z4lLo4lGGabM7M4p>VY>UEqN3X>?(DbHx`=LuTC3cl#cXkJ3TyGxSM9pS}fi1{zYNq zi69h@2%vyQL<9B#aKsnk2Nos59k#Dp#c|lGfDD$CUj7aF`rwTnYo2X3i@+ufNeh3RBY-JZfi?S_xt_i zzOASm9iBiAncJjo118)|`_UFG?w|vDnfVjiB)0;s1EW!3{ye?!;y+$Z@d-|KZc)O} z^wVg^xK+?5tlR{#FY~uf<@QDoizUnhxv=moadY$`lvlKn9ulj7J>do6>&-97ixM!v zby6ujf`nZD^nXMJ*VEROcs5(3h7m1IM3Abh*PBdTc8rICwj<})MkoU~Pk(Q5!vzIs zU)}~QvL_Easx!mI;xELVKf(Y!twoSFg-$Gz7hdVKH{*K%J!6$Hr<_0XrC}Al%NSn1 zX4+i=Vz)30du6e20eQ&gqxo;YD-?6@@aOOlH$#CoPoouYlA_177p3nVF7xM&j#F9; zUvzeLnkSKbCkQsaKCA(61-)U{<@cKLZusIQ-rvW@+zh3U=ZjdJHxx`$SY<*2&y9a^ zzXTO-+#5XVP2aO#$VX2Qd)6CRR&R*%_>#?4!v47~zUxZ3ffslcEbQ~({THjBk;Ch9 z@aLx-&j$6KujXp&rF89Ep3Sj7CFg($oej=L{CzpDe7VsIMw#HuZ`}9$1gXYfFy3Sbmci#Eq#r zNizrX7S26t;PVJt0WbSamVE}*S)bBYeT;&u9r~w+k(f|ExDDpfM*_HmUOdiOw~Lle zMM79#9Qo}0KkPS1hD>cW1rAEvY@UJPo9ytr`=srf{OwucER6+j+s`8k?O%=2V#%NKv^6jw9g8)?h2J5ZW`sUTfc68W z>EPuVd(Q2zC&Y1QyRD(c-;kZHBOy__huN=depIx(UNR*~>xCokoI&E=ik9le!F&(V z>te4=8+Lg<19#G^P8g7DJ}x~3+B`Je)c?Zk{&%`^#i31p6RW_~XMRq;^UnwBqxpBT zGZ+F4_F2)*@qnN%6jgGR2!lH3H8|x+8tt_2$Ce>i$@Cn6qOv{NVj{Rqu5+M}nk_(c zqB?SK+p+Z%5)s@6hnui!_|*TQ?JuL^c%rsn7zhj#bV#s)V8Isjyfp3f&=va-_M(_K~FReSH>b(Q3z;yNogcNb;_ zA}h%}DNp4M0weg*FKz#~3pYFf7KQCTuh6;cJz$BUvz|nXXTX@->L>P&gg<8HM}BFa zmT$=9+3`oRJ!d%ksn*XWfnXg(5%!6JZ&eO-Vc`L(8xwHyG*DSZ2jw*k?5VYgi?(Y4 zQ8ms~ooPAZAx74zdNO|p7G+>GXr#BvG%+0}E&VhRzX*I3m~0Ibfx!05d9Y=4OSJ7&GCOCUbgBnD;z zulA@y73*_QZ?)=+aaSf$yrSP|V#LbPBD+@9oNqA@v4*#ZqE?+>I``7Ec(jc40&`U8 zwmIbe_J23G*QPPD@zmgnMstK;WD1|k*v)3ZWay^Sps{&R#+@~zJn&u{m>%Ik83n4C zX9~~5=!057Dz#+Oc2c>P5#9#VSim7fZQ4}k!0llEPe8sIq{ihAP1n+K1*Xn|ei(5U zFem0ufO;`XK~9jVymKTPLImB-){Qs(Q80sb2@!U&ga%PCik|(e=hi^u0$cLbiN=HP zMTa)N#F8xdt54(h>2rV;`AN1LA2`4zCD+Muz-#l}mQxYbd)SenLk|-N)N)unpU?w* z<0lxw4hT462}e>CibLdO3wRaho{8bWJTD0>3PeoT=+ZuuyQteksOHDbeT+O`@)XSr zB0P%n-H|sUN`Mv6Jhv?|fE(7LB}RT%xors{X4;iG9Z28*ob))6BVM6@z>2}m$AY2|?l4K>yt@`mr4oJ6&v5wBlvh?@=`&@3nWUCE2i0wOPdgX5V1ERS?JmobAl z!-Q>Ss8lpHEisW++>ei~39a+Ar^@PDM0}HN_a179iE)aIyl%Nk4)^t+lIiHIldk~8 zL)O<}vh7rpZ=|5SW5+JSibO6{=a!}8uXd-m;d<=$B&b)~Nr*YOT~hcn`iv*%poYy#gvWvZrNjX*b$s2)UcfR=mm-79=BI3TlWBXg{2#~Tzfk@vyV8Z@ zt=n~>-OMo zZd`gG?FZ_st4`_hSMNUgR^-^fW~ssf*hQx`qYtyG61nUI-bBDR#1btDO=B4Y$!+2p zSc@U%lyR-bHhc*B^L>4x>ggbD%fv_1w;ucUoZayr$lW+CtI87#ZT$Vg@BKIYPvL^! z_(IPjW>Dr<0M2tF=jwz{B0k{*jLjaRs?uE42#nP{D!B30oo*=(m#ZN+7;aUqL^MJ< zexLC!!rR5^k53=D@oAUMSkpD%5jiLy5USPvxk-J4DK_{OoBDJmCbp9axCSl_UPUx< zaG;>HZZ-?w3j2%FD3igR#AuY{?F0uSIYMNgg&*awo26iDVbn7-wIu9S7HI*L{E?u0p+6^(YgMHEaTz5jQ+lc(YL+Ql`(h0<)CwGU~?4A?3Ay7dMu0q z@&wDpW#JK=c+9nR1JV3TQlJ56eu$?v9&)kUE>%s8&ERlg@xthyl5M_xJbT7N z399&RZ~^ZNba^|>^sj+}$e*&oGg_H8DK9kQ<&hMiDpp=VmTKUl%1H4@-)ZeUxaDvr zX}nFe9-JPZxARLt6-fi_rZJSJN25$2_ce?r!{om~{0;x5`mSkB&G zUO;52NXd4~iOehQ$z%`|u)>xY*a*6rfJSAr@2Tya9s5G3I-4pvU;?Wc} zm?e>gFE@M9_efu`!^?xBD8w14~(miQkt@s#O$ z#Dj=X$;mR~P}pDyMh?DjXO%>IY?P04!i#KTDFNI79Z&t>sDw8^MhWBJ_nf#!??y$@ zNsb~6N#>O81rT)d*_Qa-2f1EZ_u%croiCX0@@|?sDBTcdwQTuLWg&g|1qqcaa@w9t&zFzqy$zM1mP^qPIxW0l z**1nRGo`{VEhlueM2^}aObIsZtXY%4yACQDC@Zj-aDNgTPLUAvq;wCK=X^$8$1eB@B0k z2D6S9bdv8R!BQ$rxl+1~RBweD{l6_o`j_9wISJoO3{{0r*(bOPf4;DTHGQs2-;VPk zRle=9ZHzXmyYP{DbTUm-(yn(U3N}$KOSQ-2JVh$$1DxtF zEj0Htj++)8}@9Y0Je?+T-S) zlq!r^1#>H{ks=db-J!bdPgLC+94s&Ec4E+5kiQm}p1zS6|Hrgx%%HbET|7oE66lzK zbEeaGEf1Xz+$4%Qp>Q+Ehdc!S#peF1YtX#|zxfw=ns+a0_UHulw)4zuknpQA*FVft z_xO3E_^*tCFB`O_RU!XW{!(s(8DYrd7VWb$JakN$&)9_Z%%46Z`|@@c=Jzf1MC-?I zuFFpm=uJI>m+>@k5fa1JSAVkZA3lm~MSMeJUK1kb$~!E`nM~+r_PtE2$+_hyYY5n$ zr(_MX`fxNy|IK5?p;^@ZZ;v{IryG`bN=#5%AfVpMP1@O)8zPx0U3O zW=*&49jy^Y-#%yb#E2aXJhk$qJSpVfi&4|`_$7Mt;w-Y{i>!F)cJs2oM`cU5_Vl(_ za~o<6M&Qg&hR5cush&X)YsZ#)f1qR(ek&0&A(~#7mtRpBHUkmHJY*B+A*$`M>wd6O zls0Daz2}2BbgL6CoTK*VYa6PP#)83j@a9u4-j>+OojNvDZLn0dNU2oxfDVVM*pRhG z#)i$}qOF3*^_MbQXCI<~RBFpU*9k&ge-7x-75*Wipf{Xq0|QAa-(QOe?afVv-5R;_ zH^fvuZt#uD7lY{Lj>i>D>*dklp@}wLtiL2e|qY>7^Nq+n`qj$9@~Znim&3MsaHCihuE}&(tl)0 zHYiXE_Zx1HImEpzvcH2FNvh&zg2a*YR5U*e$?fLG${a%H+oE~-@pQre6&?bM{`u;!bTyVPJu zAjIG6;IuwxqVUai5j^KkgK4v6_0n&go|f)#5sjdKW!!7zR}B}v$!ob5RQ5#fDL-Xn1R1&;#~e;I9MR18g2iV99|+8gGN&A{08~g3E`pvx zMG8f}FFmCEE=qY2^WuqJ_oJ=HK$H}zcVj&~)ps-CKh zZPN?rp@06-3!4#xmUtKwBVQ817?AQx_C9Zm=nfd$|n zD}h`5^pZ9P$nW7rPj#|2-Ugc?*X-Us(JyAqP2&krChGPQ6yXRV^Wq65xJ7i0ALLI- ze`4Bnxo2V9nsd}np-2Ltk*~ey0h6`*MNUC)mL&keU?34?tZ8ox|8%lZSu(7SA#LF? zIZr8g;=YbT@#2PyxV?meSGZ?U>_HfPwCd^I)uZR=*H2l04XhZ6M-}W$JS4KYOZeFZ zZMnJnHM}m7!NR6;x8623nH9&_yR2UsXRNwI4#_o44kr^Rr4upWFc6tH+gmt7dM%BJ z1&GD`jWhPKC&wlNeGgJN zQuPjLiBMkdB5CE0bk6JZ0s&W2*Ny5iHsr=*@V#To^jH+v&|F|VNM{bZ)4pUVdJE8Q zDDnz3uEZd_y(7e}7*2^!>?!AfW+ncntG}Y%fibUM3=A>#G|NP6zT?95?^Bely6STqNJSfqtyt_O|c&dIM(fjXzdR)x1_`TdA<{f&XF{ z(mNebgJ}rbxP|$%6A3v2(jTN%r#WLN85zUNcrM!aUo^Iik%@x$#v*i0D1e6`KLu~X z`OV+3eMy`R6v_@Sr@;De<-&%v1?gEpxoB0cQ3?&+$;wwRwGc`p6%&2tA)l?PieeE2 zK$Y3w6|yyc^7KU3X~pw)@X`X{k+nA1xYid&5Q%ZD@fkg+KKj4IciE6?WR`>@8}8Xa ztyd0PJZ6W~dLcgANwhc?^bsv@vEKXLwNc~j^|2(=_1TUDyFctv8ZLIFpXKY~L!u_? z(3P1uPT3GK3HjrVPc9|dO*-phgQQYzr}%l)g=#BClKvz!q1G07eS2aGjj{A6KGgo1~h?5jo`P1|gQ8O?zbj%hFw zibT4y%G?slbq?DriRG*`#%K_iT^o)CR>9_6FUlbI+k}RpP<%p#Ix+qiP1fF+^tdB^ zewC(ODa3nGrswG}q1rwk0TUu+US(O1?NHn)o&41@o+Jc$6Ki7IG8K=z&tz$0sKg%w zz8&l{i=+lM&iV|zCZV~aHu@w~V1HoLKtvvF)1z6g4R&DoKy<)>k^G7f<+^2t+;(0k zrT<^(h;XM2nZ zJDG?mm4MUy*SjA`5#>pin!Ptz&Va)2suJyGD{Iijq;5OgHP&W9`pjPq%PxUWM+ciT zT&~UQ<$iT31xmTo&W}FRA#`IVWY!;s#QF2Lz=sOuR5{RYMB!}IpqN=jh^*RQ9|xzh+vr?#E|k|&{Z74% z3fI}M?aN)@c9Xw5PBpkB++6>R58w`)r%y%)5V?wr{B=!GTj6jhEFX6MD!)pP0C!Kk zSw^^0EFw{pR~lg-1ePxi?}>3GkUw*0qTLaa2FVNut15mD5}B4452Vt!m(8-|>w{@z zJxY(>eS$vaM*m=e3DcdSj-y_+<8^N%XmhC5lRtce;e*}-5?#Y7eq($tCN;tUg6(#e zXg~Th$_$We#a1?wbKfmqb{#}Z!Z>puEJ4fN-p{WJ>-EFG>7Y$J}{+vv*| zFu#7Pgn}jGBzh55>6y2l1a0YY6xRGoFJH7!QHQ=!#rf61h4LpjOclgC)u^H-D{tYu zT+2lMFN9`R82SCaq-?et!>^t~^`WTGK8$K6KLZ;M%kH|Vv7>t+kCH>5-o~Sn=rjC9 z#$khylQRF{boC5~KC#fJHcN=^)S#-99ziD@3e@FgQC;AlJ0ra2H@N6jer!r{E=d7- zV*c(ys+VN%L=!qM=?irl4fdZKl}^jI2dn@5=(#2~W*+Dzb!+^F(cGSK=OeT(C!7P^ zJPhtSA8H!~chGINz5f>{H|5^ECU@;r@i*D_@le)Z6;>@z;KFaD24RRwD|Z*!E357z<`DjPMKbI)T=pAe)cLEWX`iH|@<2cs zElFAKg^q6dQ%h)|MA)^H?9Yu+BO(%bG@m$3>WA)fyLv{+5kXAW!TG=Xzug+eqPp#h zwi$YcfEqp|W0B%Z_EK%|UOMtL>4@NuvTo56 z>xnQ6yJY0QKOy1FtZWQKt^iCUMw=pabq6fKp1xz`;PU_-JH=W%< zV$zS9b%M?-xf9+-ll9ZCLr8O>XQa#G)m58`MEgJ|FHGnySibPf_**T+)C8;~cLcd@nj-JN#7ubvTj_gu6M+IR+@(8=S zyrXpY`l;eySseeH;L^4~ehetHGbwhLVHPqLgN`i8VSG)jqjt%_Q|=Ci>9&rXlg*in zc)5Py(^OnI8_S&I>0HLjF?iKv+~iu~FvrY)u=6wmE(9AY*=o-%k9J5te!Ggxp#>qc zeV7xXj}W5MF_VK|tyomnu1PO19j(t^-lny&L?V1qca9VZZmb)AzqEPTTc3%{(e~=K z7y%IsY@~s9{#r6D7UYtJ%U02*CzbK7_@8hJfv}c80#<7#p#enuFXwybCoaijWI8DJ z-;jb5A~qtyq_?k!U-(Sjr7#+rL&Cp0LPU&;_hc+2OFjDBjkv+*_>f_5^6x}TyQnv8 z%TomBp@Fe)iz;@_AyTp?e0E6B{9d6kH&|V$^EI65?-lk4NY`M(??|{qg&P~8a9w?@ zWG9n>l`vR%Oq<2*bqxC-()x!mfVxAEs|!UU=}}K$iE@O@ujH7-pu;hW98>?U!MP<$d@AQHHya+jv&O23k)?C2X!fqfIJj0+KyAq z7vXXl>drHz(N|2XKu+=AjGA3Rx;kk=JJtCeSi7e8U6Evu*NZKQ+h3ka$=udWB1Y|C zbb|_>ka6zUhcMM92A#yh&|;bAr@8qBT*2LgeDdRGgx_E1;@xyy;Rq;&R?6>@Rb{se z_mv{O21*V><9QOZlRn`9gB6ON<|VRUm6}OJZf$*$KH8?m$iMm#%_BB}8R_Tf#Z%bP z6W-C232HC<=nG~A;y|v*_zK1GM6m-kQ>xb`Jy(bb9jfx414o-Vr&FRCD$g*Ci~ zKBA~z9&f>)DxMSx^LAVl>G3*L2M;~dd8_gdK8m2SRf!|chMZ?WHtFMq1oKYwI}a=} zOKXd+{F}CrSjQFIvxQxGBjXtqRfgkPNTKw4G0CJ+gESNxfkJx)Z>+OC0DI)AH|}3c zk~f;Br#3zk8+j0JidJ7plgi4VJ=G-AL{=roA7(|;q)92vvXhJZs)yQj^I?r{D81>v zzn`%>zKepH9XOPTRc{A3l_}|z5ZCArjv%K-Cs#?ys#?5_5w$WIrr9y?PU1bX!#%_& z&jiTC`p(o4zKQU}Qlv;ZT?|-(E*lpPD}i$#!m$<1)R#exg1{LzNJD912L^2kQ*RHJ zlu3&K2A32;1*nz@IMmoo8uzc*6fNBnCwVN2>@j=E)5=v{fx^P~y6@qMnNhFxWQRs7 zZ7-pv(aABGLFol3`2egKt0|Sds-Lx}3RASyNc!*0=gclM7>^j)r4d%J`*V9BCD9r7 zCBtWkp3(xS@|0MMKJ$%*d!@UJh@ZG7cQimB?zYq^JdO9&gv{L9naHrDyikO*F!ExV zWu!*&zlsK!23d7UB~P+?5CsRJqt!0xVE}@$<~ohvP0EG?qw$!Fd^iSxQuNPuXrLzv zEAebZE!xWTL$O11*Z(k(I}2o7)8)~w8Ga-p897!(_A1a|TaL|b=idY2A$q^LZU}`w zCx84ZUEB_25#a4yg3LL>_a^Z0Q94{tUkfuNYSfW=n;z!}kLdRFHudn877$_}hWTk>jT*(yy#pe+^plt)Coj;JB?e6(VK z$(%FJD5GetdZ5uN_{e~PiS)C7nqD_&@OwS=b#&h|aw*VpQv6%xkvm({>vYq*z`2kn z=L+8+n!ETwBHaem(igm{zfGS0^9#C3;-83YXMOV77QRG2F9}o5J*|C_P5NWVnJ@RsA-A9e3FmI7SzBt`ZKpD)z~J}Le1m^$ z_4hU-ni}tBJBE^!M*OE1tD@2b^rdNDqTsFHTv1rQp)`Yt1T5T+g;jj61Seh?=S8`l z&6+b;1TpBDQI5q)1EZ*2xp_vvhxrRMzU62Jzxm^^R<5;uSL>-2*@y2Sks4?=(DrS; z;dEj88uE+D!rYclloLz zN!vhENHf(mnc?rUmXD{R?2gJIX@a&PZoc~#N;(`NF`1FPg<6r>a;LAxGn;Tru{&8A zXbosm6k1jF+YdCON>|$6104}ppVWDrxW4`Dc;R!FzOnMx$riG{w&eh^O}+j4M@V0X ziBw;msY{=8DxrC;EO{)pTZ#xd(QKslX8x<*<{2$L+ zOYS`#EA6xL>MJH8T+vs$Z3a85YleXs6qHs^1fZ#ON4!%B>+7LEW*v$gFF&`&KXKem6pcHL$xV_^w$AY`r91N!gbFo-Opw z{vK@pM~qBJ!f<;O=BFLU?V-MYQ7@_Hxxaw&2!E2~C;d#BJa2lK&|td7Y=n;zLqwbW z@wq~V?)W#cRF#M*`0cJ-sK`@QRh8SXffJH{&jyEpJwtf8I4e$W_vwiQt&s147`xk| zz{OP{8QL28+^LraQ${U&d4q7%ovW&0>SXK0j{y6$Rz3ahBagSfKPo#-4|f@lpqUnG zT(lTNBiS3TEFNh1iHgcFk=$AoNxW0%LtYxRxHz(Y5np#PX&&e#Gvt>)IJCqpTX|Vb z{2B)K0}bU&R5eVdh)(g}%x6!=eYZOOyLfgv@1#Q-qDGcCTPOPAS7(d>a?!w-*o*Z`HVOw&AcJpj%;dtcKI){l-C94` z^1{LBE3Wy(wNeCN^f88`kf81PbXz%*iEH*Nhd2NV5ce%XxqT7b0O>2YWsq>LC z#SO2sd90^Y%+&pkLunH+ka7$JyN71U0Vz~lza80^g@_eQF~FgF@ZCc9jy2?lsa;yY zbv&v-@8A0Nh+vJy8hKWyY3+~J<7~dsyA|Tms(;;GT>>T$k>j}tHC-ZepIVoeny~W} z4vsXMkFd9!vkeYvDvMM%j(J=gnKGTXRC|xxi^&DV(u0UrrNaAJe})oqVQ$ zJ3r>uWZKw5MpJ%4iV3tLawtpN8H)2oKX8KBz|W@gi#1AWf@!JE#K;2eKq=7lI4JWK z2=N#tt*zBzCrMNH67o#%lwjr>)tEJTgUumW)qVpD6NLSc_k zy12lwT02|r=}Ko&Q{-qYuhTsD`KNpXUF~dkPjE}Ki|v9Ji7O%YR_D=Hf%J-)QNPM^ zajVDOC12s5rGNlYrJmJhYgu%x!7YSMa#qLd(EL1fawG9P+Sv&}XkTLI*LpI3;|g(q ze*(QPap>H*tnK9Uvh^l7dx}2bG7qZR>dE^slAxu3D7I-nLok#*v`9YXy>y`xA7?(G z)tB>*$v_jM?_MbjUwiimW^FIl`W|sC^|TQ;Pym^Z?5FriA)36*VdxNyXeRzojOx{$ zEI%`l$3JtclfUe>MqzPBBNdYcA*xBlTLE4J1#OqH!J;Ci`kd_(2orQ)aLwO0F?aAr zgz`DHi~ecU*Ot=tMT@jPA?@oS1$>38ejUI5n~Vb`Eai-rSAYt(JBpYNJpF9Szm|G> zwthsHiyDY?$7s%(X6*eyg1W1O}f$eN#{ z$9A@OF#}Y9<9mJj9slgTRK+$qO^l+tA7GQH_LOXrYp@mSSz|`2`-4FkV$A zi9!m|AzXprSLZJ8z&DCl-}A|$@_mP>+$vL}4Jb1Rnri3K4wf#w_bvNExBO1<$<}UveWG^re!rPD5p{_k1c95QV+`FZAU`1K8y6Iv8-Mpdy5Ndi> z?_Jfn_!;>OQR?Mo%Y|HOn8>WK*Z$wJ2aD~izlfS)=-3F|izR>WzCH{Jla;N2Dui9O z1HH*ki4wv$59b13`~PduYR16np1FK$NOtmj{Ugye3+0TC$Mm^}8%d6L|NdYif450h zT$SI!IG>Y#^^OT&*g-rVk*|a1zws+ z>;+aXnpNJUl#Zps=%2{uXYLPCTz9pzsh%mGCI54RJoS$;hOmH zmL3-*D+!0}b+b~gfL)piK>DP9o%~^ih=Ej*pBYW2OtMw%-n!h2`Z*Ib=&n5t2pl@& z=&2M#*Gwu$d@#juX8_Xb!n8I3BwAAnGQ%(y*hCrW+xhz4u~%Uv20L>vgBEf@)Th#X zlGDn!c$t)mDR%DoM4i4{WKvIu(Wl>mGFS8V_aX26JE|^meYVhr&;wkeWYL3_DqJ4V zPUyUwfvv3bF~|(Jteeq-cKYzF&d{m8J14A-d{ju7m_=^6K?bNAlT?!tHtFI#ayho~-!Qqei-rO1#9O(7Z=`6crT$H=Y& zbfaE!RnI9N@%R2o+?)T8T>Em zvQ(i)+{tB9Gr-djp_>o0;=$Gkf!{QS8yhw_PnS2SnoD#L{Ni+rdHn=1gZ(e}Z8s%x z9HZ6#;;_vJKB(d!kyFe|L6wL`Q=>rnx{OY5I+3}+p`)co(^-5E$z&r;vNO2~n{T4| z;XPUX)MaQ>--5>|^ebAnaI0}A%8@=-r4GFy4YC=Qgy*F)L*AF<6}<OSs!Ctn`2Jp>8K zQUqWU5vU|zJs%fV01%8IVAgt1-ASR=M(>_Edj)oY)|Jo33r~cv}_nr6R|8?y; z;M(#L&)4?(Ki9sG`tFttI3G9znP&^1$^X~!7?OvLqy(k6&_QTv%W!C9ToO}0?lfhB z^O7ts#N&jsZ^5EtSvdnBEdOkx?MflPcO^;vG+8Ukrrt%!xj8F~zs5EonY%qV{h5DL z-NA6prj+B9W0pnc3Tj?t-)aph3tW_To7NKL0qDf<&ST+;#F2%^YFQm{9w>5YlNH!W zYIwUyNrhms#a>&v=~Ju`TQZFnpd4v}neDzx?E&?6&_sV;&9bl_EzD31u}mxp240)Y zP&JE;QQ{PbtPf~6z@%yuNJB)&Pu52ZoMcuYyN6& zW%^s7-(nk66OAn1{Z&NozWab(lX!z}$a6?}RkPg_~NKw^q&NdF!%EA)%JCG(Hj5xz!Iu zK{q$R)=1&|*#2n?b%2=jB`s^A@v2S67i)Vu@z0orAqj|)kk6u!Fw3i9kDUkO{qyLb zo~AZ0>8U@sqXTV=H>EK0PPb->OCUAo5cy4ops~wfIpE<2b04KMo;t)AbIbU7l%XNJ zQD2p`{U9WXQ^*FcF-cB3k@{SI?+>WjHo{{ugIZPj7(Cm5#t=sfi8>i|x8d?+VNOr) zebw6Bz3!nz3ruR2$|>y-Gc>f1hp1)F`W_IC?F02l>mJs|Iz1M(N2(Bvc)(3(DvyYj zs5VX&cpbE4JDtrogbhdO(9l>QKh)Z!sbUK=~(r;i3Y%O06r znzVdeU=z1CLq64y81e&MzW)Y*E!-+wY=1DwHBalPlHBVa!ILI3=l6t9%YUD)9sr(# zY!Tg#$yt{Vs~L~@H41KOLYi;pzlONgG|K%R=tLyR^gMD-2AKeeXe?oRH9J#=wng!$ z!m|~(aBIWGw-+5w&8pJ{HeaZ`Xe%e){H>Fm?fy3v?DKo5`s?Z86#-V}nN2jz9HM9q zbGw?lVYPAfD9zIQGbs;6w&x8&>1Ux7?2}}FX&tUX6WkP8i{AkG7E6*@HkHbSDN83r zq_wZ9AOVEK1z)0DhH7kf1e@~Wtac1|3*dw8NxS@?l-s?0Xm1>Wy|(bc^1^^Fbhxd= zEtb0)%CO8~XMeH5R~Pl!ed+wBAfm{I#s*vd?3BJVPBkZK5{LH>WdL8T`$#;+l)s&w z-SJ`1nIm0uH1dq`K-^Q2TKB3^3ZPT-XUv6TEdc3mV6lb2AuPMRK_)P%wXjqts7Jl$ zJbAxvs$!!e7V5t!*w=Pi0}cE_>xvV{;(RM#zyUrmRwDB<`p#rz`#FTq^k`G*8o*!ypDsvTP+jqdeK@$Jwvq=sUx*fIu0=|#cMs5PmXNxKCUcyCO zPpHmHYrMxe{d1f4`6F+%Mvzg~QJd!j9%*D6zK3Bs<#x#py#(E_zV{gmODOJ1$#+3F+ObdX&#jE@o>`K_S;SEwnw*-{1pzz6>Dq@xNfgRi15aN?57G?<` zrM5lpATBxCq+k&9ZKB*@@QYq3)#ZJW0x&>X<918a|5$ zr?rl%>vr!$!H9_#wUyJCx@+VCj(~zyCfkJpgm}L?k8;pO9P_v;Ugg8D;Qu+AImCI1 zB}uXe{iH9LD7|cyjpF65HO4T{BJuEvix)NLx_@FJ&y;fTv`C>Ss?zN_P@+*FCJ1+Q zNbE$PN@9#v+^8}!b-mfE2#gpCSKK~1*)OFiLriTHKASh9o&~=8bCGkym0m8FSO=uh zA-)Mq0Ldh1x(_`>@*^|!@#}v94L)XQ(<3eD+@XbwczN6aqGM}$%)VjA{cETptpFak zc+yMwho9%D5fdKU@jCN!;|<*RWmr$08*&10QR}73uh9-nto`eO{p1HH1PdjkL8+qT zIWN30;`)alqE#&Rce{xyR;6@^v%Y$6Yp`wJ@9kOdwkniE;>~jy}91(MksnTi%i-Ae0iPd%9`Wi z$b?TT)S~d2E1GwPPbrM~!ueLu3@seCboqdi| zUuO$e8ITKaKLNW^;SKjYsOVigITGQw%yMY`s8j#QReE{S17aV5{ZDpZ?l&iOFu3*sW^IZ^{c{QHIy;^n+Uy)Tx^SI$_kNtUn8a$Jmeoncw7kI~ehmimm zMrtF@x`Ep`a}ogyla2lXP;aLSbxi#AbbW{4_ikogToVkW8S3>~ZCzb%tEjZYPv{n3 z0{_tg3tjO&mwudmxq6M}rQuXeBw}PZO(Ay9n~~<>_HeC=(2!3~Q;hITLi6}Y(Wxcw zvY|23pnS{pgjRY__zZoeO?huRv28Wa-g2@M!{xT5-z)MC5I>!w7}x`h~!(R+RP?XPIIeRM4>yA&0_XFn@4w3f>n#!c<-VENR9*+*AK zuyV)g-n{Rk$LaKX--+5xpi-nwoBD2z z-ilH9E1_RIY8Rm4`#kxrHb;H3vqb9mR{BDCYWx+9&;=09_VkPqA}|W~+g7Jv6k@11 zky*=LNCnhO08y`jxT-9x83Gfq@Mkn82Lgf2Psz^x<+^Wu_(JKvVV2TSjJ{tgfPq!; z1;8~M$P^P0W}rxz_wIj+gfK^*1S@>*o^2pt`a_t?eDPCdT#m<#PKJdzxUiyQv6`^- zd2P-0-`d(xb?7Cn2dX(_`zQ6l%hEEu=@$F$c-{@B9cSo;*AFf8UuJX)EX2sFqb;5< zpPxp_jp^qcX6j7KyI};08@EghbDJ#5tPe2!<@l)<`#;f^w9wlT9=V}Y*yAu;l0LwB zrXNH?cSHO_r-Eso!=UWvQ02SaXbTWC*nNs;R5S#n%(7vxh*B~6qkv2tnMt1F$1nL3 zt+tR~g}6!CM4|CT@_?D&8?paFqSR#P-j@$3Z=-wk0B5}a4P?O@P57#>JisLs1ekq@ zIxP(hNK|dHW4gc~Qac$ta|rrL_eU-C2;+V!w4^MNUMW;DyDQkapMEqE_%_{IOuV1c z8A3JxWdpPk5pt(>pa^V$O5-`K1P|3celMPUW3dVt%EY&}m1ae|ZF;67?L!PTLXBhZ z$9H=hzl*yFNt?yP=%|2BsNK=_|2bn73v@!A=&=48Di_#agFZ(EgvcLbOfHY)4W^+( zDFouySgln)K9`Yqa!_tS24~*%n2=eAWvoa7?1TzrnQOv=k1_Ww{{O<;j-qH{MSBRW z#xl^=xI6jG4Em%Y<$75HC^hL-f4TxMTpe1`?oa#Q|NHYDk;O$XlK!vj6a)Xiv@7sG z&*S+SHiOu)ha21&d#-f!loWaiOdZG!2+-#TiB4Y4GFVp~!ldN_r)zN_5C zlKtRRWR628XCw|rFoq^RpCNl#$?Mi%e072W!@wjC#(3d4qpA7+?Xp5J!RiAn7>IVo z0)8e11EE-n^YOuV>PaRG{SSTK{p3-CmiU;rtN$e<&Y4#}rZbjAK9W=7C$swo9}ACq zOeq%t(WkUQa-tFgv8Gq_u+L`!sd`Jbpi*^NFn(?|_`T48VC3`wqAgVm@lD0h+Qi>M-T2W=kRKE!ei??4pEf^T4 z?yM9n>xgVtaN`0`H;(@zMppWr;G|RP1$*3al>-)+1pJ9SEa3p#~r zBIF}^1l6pL7eLS+Svnm3S%7e*qcE0OahG}k^8iS0Pzwc)HmN{?;m8?)+iDLPmJ3h% z1c*5TF6+XKF*NfgdeZDX#2Q;$JW)B`V;EIJ(cu5a5@wvw_7JYw0Tgk=J)Rn_ zLdR;G^?26r4;Ks(=7+;HLKQ~j$l1MmLbie3ly}{-_$@iw-`BGlr!2b%CR?|kMN~`W2_&ft zVGl_pNMSKxh>VP6igTNA%dJ{)#?EbC z^3nuUk$BE)fJk!(tIPaeU>a}{Vie4Y(Qe^9Y_%nhxOXkofSLH2;+xH%CTa4W=W#rH z$}$3}B7ebeVzeTI%@Bxl%!1bD@|ifV4JY`yi0TZVkiPc^+~cDK(USMnepm?}KIg;v znvYq20zNbnpS*w2vsZd#5gNkQbvJshcW0trbD$5^05Y!Y*I!Bu%+|bZpRfnY9@UuI zzT&M2{x*ki)+C1l5BELbZPw2w`=!e>z>(fGcUi z2sg^ff24V~SjD?rCQ35NlG)&J8cTLx|K}flZsg5{u3KaFy-5Dojb>U#RtCqeHyn!V zFMuZsS)z~;I(b$4hf3*-s5ZM>)Q_!#SFF%>sm&)B)D3iV2q|EmqvdtZY`?0mFW4=G zaVRMJ%fPRZ^aLpP)<-A$j_#i_=G2{%toZ1z)*ewjuNnsj3$=7_fgSR`!(fibZ-FlR zJQE)Tq_C8O)dYcF1~p@S)w;v5fn?C~?eL;19v;V}OxN=52L%oI-Y;Mxd0@9$D+oIE z%#pW@0272fqR-zqW;A}mKwHn{7qDSFdDBn#DiZsxyA5z2DE{)G&X3k;xY50hKfO3| z*^V6(vNJd)x%wMbalGbo)YJRvd(UA+W7xdF+Y+qKB10=|I9r2{&32cdu%Y<5TCwuv zb8Zool_7UV{t8}u`S_bZi7y4CK_GnZwkv}}mli(N;UGO-U-m_Er?JP*6f!SxpJF}V zHvA(=IXnB=eyZlSk2EN~FSvL#QnclM`-SGWf4?w=WnGWPGi4X93P|Q3l+GR%`^bGx zdouCI*HZn3%3q(Yc?MXkPc1I2)Dj2V^b>?<&I_Mf|5y10-7+*>KKnKNq6q%M@ca4m zUyG#pg;pVB*9I~=Iyz7(`1P7kqdlw^uo%-N;cy#Rlcm+MVXK0BpLk=}J@$*!*-tOG zNgD<`;(h=W7M0$=I=zNM{~VC^J;NWD)IV~bJplgqhIu~T%@)M{n$qL4OJV~rFtv=d z4XKY4IC^lKKn`+zuZ&hL;^|uQ$ZJJgtanYF*G5s_VD`P?w79xEUcb2#^7%iZGZ*-g zF!1dRePNS zJ2v915}TAe-@jy)Z(Ih0<-QxAICy||@?w8c5lz<`_{NzQC^P~BGilZ>pmJYbc}B+KhC#>J^hiSU9-CSHNbhAu%Aa9D~dOAj0RXttbPG@ zzlb6z$ys(iq%?CjRcZYlFkN7_fm40Cf*CGtvDY93U|?D@A53uNgEB?B3SH@*nITRa zKfjwYyaI(NzUI$-Pm-^>B7wc?(V`y@N!_6)3)s_#B)mYu(P^zfF``EA&e#`T`#?Mo zd(w$!*2+F}>D@dJ{mU3mO**=Fx|IbY>)_ct;?}-x!d)N4I*-$;L z_TCNxRE_rSc{JZK;2(j1tA7zP;Qs)v&TZ}LLJdd|fnD!U1DDV*m%fCiahb!sYW&29dK!OutuU%)7r5aE zR@bq_%SvZ50&3f|3V9wrpQt*<*CL;vw1tEDGaej+hPyR_0n*hO__9Rx|J3Drd`3-+rd)LM9A;P#B6( zbYRtzx=|T9EPMw&=4i-cfih;=NO8Ujet{)&Pd$9N<8zMhlMJgiN*WEq^0vII^FiCO zxs<(V8Of3H%t=h&(%>NDF>hJ^`sf8kqIwag((I^9cN&=-l6{Ibxf zs29w-@#3eDil&FODBJ%-+*bz0^*wE(GZSPOg1ZHGNrJ=R79_X?*Weo526uuJ+ylW0 z5Q4h}C%8lK1Sb$=Z+@@+cWd9R+Aq5`ABKYB+3&)6YX|z{MVXal(?9MDGP6 zE-_@akoq7g@Cv(xBCL>fOcSHRHyGmsRQ0h%bXy&u(n3Lm!zI3>CiCtQGD70r(*KM$ zg;i)n@bM_{hxL*qUTLyYt|wJ}fFf zzAD6H$?4x4t{`DZSjeC`0bXhI*R2Yg)cEDY&yc78X-t|3#O-9DxJctSg3T@@>2%98 z(%X!SLi=aRbZ7zuctD>}KcQkvgUfzR<3PG0^J^z$BV)o868W1?@E|wOBlh z+xs4T(ZoW~C18($uRFovU26d0yrgiz@1BMM{gcDiSb7Z@Ii-439IRq7j^pGGp<%(8h5NV{)<$c_>tfCBpnP} zEV0eGt^OMQzXpG6k`N8+Fl{Li=oe8hVgV4aeoE$(2%p!tzblEkj05>ywj=o650cGV zPy5NF<0(Z3O*;R?PriJa9O!@IPtrlX6&3c{n#1Y=nAGTWR{fYUxK`TlwX+9zJ@?N^ zbB6U4>*`yoZF@%@JBc_`ZLC`f_?m^)N{?Z(qMXbReWG=Dg}$PONfvD~9ZS;vxh$Dt zLu(pX=20-I_pN9aLtX4LI12{^2%=K1`O=2~+T8f5r&>1?bh$votC)VtJyE={gLbRW z&ETo)jc*+T800?FcgXu>}@Rfp+8F_&n~rh+vU^!@zE-sq_FPI7A;i@GNR!J%?K>bypwT`JVc;8?m_*5 za{6FoKibR*_E2suYL7}mRbATBZ^zJGyx4|K>PO{u|2V^oRU;Hu*2zoyOO|}ftg}OT zB^+vI48Ft3xQ0D0`kyE&E}|UtFrcI4wxi#rQeQ1oMd%h=WcUe3f!&}dFHC~ z8F?U6#nD*q=Z83H=7oc+}pBUNCPkI)RG`DfK6k z24vGOT4ltTEEXfInb$I-d6H97&|RQz;rY$Y>5Hyj;x-_K+YLR^^{`0JdHxkclUa)K z&b9U^#4Sn=Ut)L*ZJS`}DFbC0BZd=geuuj7wv0$u;u|_TKaSr`ok}u{U}QY!X#yku zxGNPbNzuKqs(@sX6LAtmBR$UP4KAHAQ0Y$=93V%-621U=Q@s*-B1sWTQB584DINC`Q^$td%x_U922SeU%{O5R z7;<=ux^U65*7pS}jkcAt13bZK@7_++z{)sx@CNfzyU%L zr!1d-w|#le^FC+mfgTBU;!`9}zl-9yR5M;uA=5eX;?%{bTLPw?r7?14FX054swI(&y`h8tkJfX{oIFkGrNzAI-}mUk;eClDm3X% znp(Wd#VvV(=<=wIm5uGELIjAAPv%_CQSPChX)gNd<#!L4Q`S6{Rywz`4=5j>0?Ha0Rb)c}xW+Y;?8W z!7d0w^fgf%#*Tj)ck0?1o1u%&=x-8Eo30jp^Y32H14!oGc@1L7lII*o3K8y zq#rhS6C{r!(LG>m`U(kIfJ_)8WgLPFgRH9TxEIT2V^?fuAJ>XzKm4T5(!9i>=)_8z zK1lgVy(PpVky(4ZJM-1whm&Kx1S5wRd<>YQ0B?p9plpVwV2vtoiGdm`-&}~2 zHAS131TeF)T?nTixf|=IU^WWM0ml3%ikVzIvskQ(yRVVk?~1~6v8gD7ACg=1#9O9< zECy`sXfr}~Ybs(qLig${0g?C1?svOyT$dQRq*O9?-1A%Owr|Ee(DcMOW1eIW0kp0} z8Wcka*Yr@?bKbu#CgXL;SqB^RPD>Gc)6 z7ppE3TmH##5^8ud_XlazJe46^J5BMBjr_H=&n-b)(SU(8_>E!uuE6tL+0-<@BQkxt z!YV9!M@cRS!>~a(OB%4erUna~C7C-E(4CWx{L5?Bc55GEx5+Ca;g`ByCnKCmlu8xv}@e9iF8v7nwq!@zd6DFTA{Wv~9X~0o3orqzzu6c!! zSSCknaLs%k#v2N!ZzMQSu5Evw?DUmC34?^1bAPAwTvT#b&?%0@X|n@ zekb&bNPjNk+OrSK4+neHcIUZU%I!iE!2|WHS$JM#>o_Zkv3_ma6XZtyfZ8VlkO}>% z0J~pOBo`BJ9^jA4a4MoavA!`Rmg@G!w`M&7BtaK6s>t-CxZsVLw_H>sMr?Cl=zP|s zOu4SqMLUvwowbd-#DRAbwplZBwIZmzc*MP>q+BNgOmtVJi&i5OxTXRG$f)dk!;Rx* zoZRg+tu zI|kI-yk|OMh6mfSFT-^_2yhLQFETEqXwi_Fu7F&}T&n%}b?S}!^8lVeMxO^!Bd zhhkewK&vFYE_%u6M0gn}dP)Yp1eH1#s)U-Hptb``ljB_aY=U!`%BKr=BK)=9V$&-d zN9}R0Lt$03W}Pkdk1GI0j;9H07Nxl4%~O%aNYxIz0TjM@sDe!mPizny`o+CqD$deb z^pep`L_Nf)DANmw~Z3 z44c+u8F6@SAq-5{9~-Pu3G}?}LQD82tbp^p3@%_LQHTUJV-)j}aSxOJ5q6OAP*E5p zSvtHa(F;^N&R&#}Uh?%QKKMTnS9ZTR( zYU9QnR3Q8^#|^@8(-5c&PLNJFsPB(qZbUL!`)DLgG=Q?*tVBOyF+piA54VOq1Q5)MNc3YY5xM#$s=>!% zjYiRzO7$Nk5;5XTXu}re^}11mAAs{H28uL~^Q%~v#ai~rrf0=!@(TEaNPkd4La}nZ zw*T`zFaf8btk44{VxD+Gw5s=sT9{5;A%FMrzXsO{ijZVQll>zU!?+&(1c~pIV^57g zBZ1=>!?wGI{&}iFS+p91H#BsO+TWdG&_T21%Bq}SEPqGyEpRgr2om66v1qoP5Hodn zJ7?+UvCE|+?cP5BWYlU8i9x_I@RFsl7w;opFpq5KVQ!O&R$(8G(vIe@5AsgHNH`f=ZhF0r>~qpcU+_ ze2Llva5pem{hUZY{f5=H)qh33|45lEjXe$SN76Q2b~!h6EU)mbiCei{D|dBl8C z&SI5d3@;Q%ibMV;*TelOE|~dzkQjx4hjE^0)uTvI5~WZWTQjgr%)R}jhPRd{G0c=} z1P1Ax=r+k)sMlz7;WO}~9;kPsVWC%fZ>%cYf<%E?h&dswGSQ6lgiGFT-Z@KqM>#NP9Eg#5$Z4<@k<#F&f}7 z>^hgTPZL}@w`^}?HIDxU);#Tcyq{IP?2L^a)tE`n<6kY%h%O>K6^{9&jy2vU(1Aso)(FG z;p+CM!P8&6Ghg35mCcigvaVxOx}7n$3f(kHsZE6W5r9C3OH#wLu1dxyS_|_UZ|u;! z(j!1wM{@m*neWjGU&N*4fpA%#)5q3zaGrAfrEoHta-_*GF6H1={O4JwyKeFyD|hb| zP%H)H1PVWK^P?N`va9{*Ydu3n=0|Q2Q-6n2V;|BOn8&-*2|iEZuJVB{q!((Uhvuu4#33gs4;-l;hw4Uf+BaD-NX(+e6$RP4b51E@Rc_6~cX zLCqj;&G^xjF$dWgTwS;2DaoJmdHn|uEZt2Lo|SVJD9%t1=YqBTNpK7?KF%3k+;1b6L=4`peKUoMV~m=88yCZmA6xIgg?hGFF&tF4Ow3iueDh6@^6M)+X{qp(19hH< z!We7LiCxD*9ZK9sjd=}bgEQ~W3=DB@B}H(W+B+|ziJ&~X8qO3zLUvO(2_q@Nru1Wf zyn^IiOicW+XJrhWB5whMY#o(yAEMYGYz*TiXc>u_kPlGr4@ki6N53R2MW(Q4Y*9B! zuIyTlZxFow+A0&Gta|sp)xlK9S&@DPATz-v*(ED^qTumS=|qu)+wz^!(fU zm?Q+xWqyEE&ldRX)|KZ$;VY5F<5R5*TKe&hawDw0Is!u5d11Qhm%|YYWsbJj8{+9< z9Pgbz#aPenW30ytC!|r9*>W z;5Nf^9W)<5<_7mTJjHl6DMvD5&UZYg^!tD>7C&HnTF0kGt754vyW{oHp8$e@y$J&n zZidbx>=PCoy$HU^TumMcQRt~G(pO4jMPvQwP0p$>Axv0;I9SgLFdE)4E9AhN-6 zz8D)gB%Z35pOqEz9eZL}w1o1Q8i(p`xuG#>7ssT}&cq4ilhYEFhM#-sC zPZMJLpeWroo~r%TL%%IZOt!h1rcvE~2$F29cQtpP1gQ0!MU~|aZ-MA>9E_N^w9TIh zZwO1qMO%c_JAJra8%rh9LQB9Io>{w!d3gN+{0s3S^QA_PQ{5))Egx3hjuQ%a1>U?0 z!aB%4u*vccBcNGE+~L@aZ(z}Ob`6~4*th1HC2Khxdm9cYW% z{dz!ofNv5nQ+VEgi9!-klG8ySF!^gQXmRG+{`&qw>#bL}ZiHlDW#Ji-g*^4a^y9Ph zUwK1;vr_MmD-J|g{sf#oVvr<;-M&mPC@SuHn@YK!a36h@#z+Rqht_ErWo9K~+;*YlOv z+bt#!CKiY!r+OjViE%kzn>Kdo1By^0tge~_4K`d3SJ^&u7@=5I15uWET+ej)BZ~% zi@U0rX!G9JV&*OVsVb3o@yb*U4kL~8xA3~D_27AOAOeug*{@`7EO_?tp8GbR3=aBv z2o27m0C|MaW1rOohx%v)OcdAih*ms3K<#lSW$QA02Z?9{!cg}gbojW}U7YkgJlb)nim+^@ub{N)2GGXrA)V4kp z#aL@kXtM40EW}ApfEhG(@#W@F`CTBy{9RqNGDX%3C~uO7X5ez=anT<=?3r6>0b)I#%cf!%b~V?{oHMgBe2IU zHxQVOlIrns8t#v8{R4a4c$qswiZKQmIaP=G8>2=r?M-wBMN2%1@F+&orbtx|{6$fz zI2785^#%Kf0$;mW%AAv%u_`ql3CZ?{s$tZ4a3ot;lPUCO(!_?2TA80Ib;(AG(Ai3kd1l zQ-8^0G(_&Ff`a!pA|4GCF-u8q$-uk@CzPPE_Nn5l*VDF`Rgqpl&ixLD*9qJyO)n~AyCH^z8T=29P=ZK)jG zgNE=AqSunvtl;8Gh9eAdDLUI)!aWdI< z>uX4j{Wi64e~@8r*_1ZgcUIB$Q2D1K4XFXvqi6P)NR7A+)-RnDmb=+v9b;o5tZE@7 zTIyRc>Ty|TScnCe3^fJb&;AVAS2|Usefqe(4?3r@>6P4Hll08ygcL?CyH8B}bAo|@ zQs_Ov+4b@W8Z4UEF;0VR8IZ_nDPUdAAplY4MY(;-B>*w57*Ac$=H&X#Sg6DscI!d3 zn7R%kwY-lTj(|eynVsIRU*yp-jv6Oy!N!;~PCitMLs38nT)ww2=)NkoAZmKx#*AQi z?&(0D0S+-_(vFivdIcU>Z;itM4NgLhI94hP7%l0N?@wj98|a*5-HVegj#Yg(I#RD0 z)aWZepjgKg58NlxE)lT0Y|lXoeR}x%UbOCfDmVeIPm81 zD+aaZ4e*OcA5tT1MhVS|QTHFH&4k2icaEHW|@EqE8N&!gC*Q@m()W(Fl7f7Kz7#+Br3g8^eFrUW9V>Q{LQh1{{=UnO@Av$8k})QU3C0bVb>T6a@tT$l z)=}h->NC=cdIsdBeCxbOc6nu1G6vr%dG(6n)K_5Sis()vgz+bc54vB1Um+^ZEn0bn zZNu)Z6p|a*<5-)N-7Q(GD&Oa^JVyXK{epna&lbmyV<&cPZAcD}?ioho_yM0XE57p1 zoc7z=Tb!HAV;P;#@rpoMlH<7vhiv4OqSERQ-!iSxkCDyK7Cd00mF|>R7T!K;ml-;K zim*u&Oq7(}vQ*DP532fK>Cf|zMe+vNa@%E-K&v`uO<=o~JmHHm(lJaekrONs0k31a z`?OW~1v1s%#KuC?Q+`cO^S;;Yf^MJ4C)V+Woy577H?q2sIue2j5cTozaJN6=Bj z7Ys&AOc}-~Yg!OiT;5mqo)hTALPyu(8@Hh`R^|=kS7x1;1oU`WPkhp=&N_`dMz5So z?gF%Aj_CZ2`t2Kc)3Zz9^dNI54JC=hXD#wFd;7WOAwRq2`w5x+U~juwSNNQrU^N(_ zv!hQ*Y*cqN9cH|YNVrd2Fy;+|c8?8m=s5T2K=Kay73*ce;9Kd^z}C~{AvoM?z0-6j zX^d@8_#&nL7@36_D!?Vt?!2f~M3k@f5TtA|4X3_8afMR9w3BiSt(ab*UN`tufcIm* zF1n@vN?OVM%gz%KiMF6s%DnS3?Y-jZC^iOo=T`%nQc7=j+p}_M{MV1j}HGhp%x6iAWm39 z6_j;*mQLUSplU&gm!sCkgtPXxIF=f$=102;U_r(sA1O*{=s0&$c-ukx3X`*^|Law{ z(N|6A`35=)eXC}Jad1SE+PguHt){V$XB%mfx408&zpqQgzJA(l;SR@^dq zzzQU0KHxAkpXugWlV7S?u5TOAN>MxZcRVjwuZV(?zqSkPrMZU~Yoh9BoUkfr? zc8_V&+)y0&UY^jdoEmhZR)_oP$TZD4WwPk#fb-=n zoix7v+(9v9D-4Pw!q@qASk0qJ32xCKN897^+X_A$$!m8hy6;+@H!`D;>YIl{g0+0D z&n@rt3rY1@C<@g-7oosFuEc0gvKeB;oxf9xCj5H@A>ce&K*=NuoA+HLK!Vlo`EU|W z?n;aRq#bB1Q`sl~gheHI6ZFHIDQ@`+^f6Dn#y0-K9-K$3o^ktz-?<(h6w$spVO=)`%kl3`6(@ zAWm3PTiqoEzWd5QpPd&ag-nup3=zy2pKN^MqOc$aBiE0bUS8NA!M1B8*LNmfk@G}f z4DU-i`%~Dfg1c_(jz%Bs7nld}N;`+TY~QWQGo7hZFP(EigFinF4SFU7y4ffG_T^{& z%y<@dnF=+q!O*O^<+`E4D)eaR5QNNRxtYpOrt@Cz8Zu#i45tTkksf&nDeyuFuvsi3 z5dwQ1kas%s1H?(?{Y3kUSSgd4N?uNC+(HnqBkE7ghvI^oCS^oYg#GZ}5J63^fw}pg zJ0DjN6dI_0cOdK|YBXs!$_w~FNBiq7I-cL+iTa&Z{cSmaEY~HBNkm90x_O-BiSVfv z;{e=>i)_XK1%2vdN;~@V_FWCZyG*o^jic8yyjJ8Pj2;290EZd<>C6MwcFgF)YE|g5 zi~?u(*x1fz#7TV{U7s}2sHi5Q7e#mOy_;or{^4+>&(V=-ylnZ1x_NvXr`hSto(_)^ zR>o(Vr$TL4wN#N7*X=B+E9dNA+77RJ(iw$8)iItqu*O&Vvt74pvR*7e})xndAnS>U3?@mM!wq#T>FdPY#HDZwlP^`=A0Ty>ZoOKh98e+i4rBBY;EM5fFCP&ua&^_tnNvQXExEL(D;eRJ zbQn2UEt%MS{>c{eQ0(W{jUVRiGtWEg0Vi$)QScl2KbEGa6SS{?Nit}EB6mN0f#X<}WPvYtk6Sd~eR(`50eD<@-e=)s-$FILqqJFv)x}+e9 zYf82;?t8n&bCKIJlPCtdyl3Df1Yp6#{PJ#8FQoAst=}-JcktW<)VWhR%UnjH#VbNZ z==2&Yrqiz4z|nujUquV8Mkp{vKKURx^pf(9d8|LV;|P1Fym{swm&Gyd(fHFH5QLo( z!1aIyV=J5o3O)s!RHk(~d3m_@uJ05f0!hH?M-%x{BG!h!e-r^KEkVRf&;G^a-#ED) z^dH&0t#;_I0a_{&lR)J+yS(?A;HMNh6g}-pg!F=)fafU+pgt$Gcv@1Q}a_ zPTx;@pB1tM-G_N81ze;$oofz0Y3qu}<^zrNmGBEdPloW?-pkPK?b1rY@nk-~Gu5~l zyVY%BjzBnK;&WMA%38$xCqXy1`u4rjbVSj3LWa1+!c>5EaxFj~B!B67*v}YyVrvBj6Kg}*ukHhX!fI9to$oXS~5dLAyC#9dSy zy2NVv$vZwGKqT!2IDJz+e4s}xk(}0!JhcLMIp9QjW7iEYmMGTR8pXgb zvrtR_>MBd$ynoAW(i3ay|IJ4BmR{BnSG}rvq~JsIsb%eY2`ByJ7Xe89_4lY~4`CL< zmD_>}azO5fCtr~`owIdkWQ=F|GOAf;*!FEb_dFOB?QkDumT7Wc)sPc!;1-Lk!jGIv zIh=z129%6*9X{5!91)+BN)ZwvTX||l6p0A5mo(GxRbie)J$siNW2Q;Y7$7?`|MFG( zOqp*5?GLKIo~uSb=C9^&!Fd-?nf7k5#W(tQ{*uNC9e}Km*Az!uHrk$+$Zy267IU!4 z8y=j|W#X~b3FH!)Gj^eLg8VqN>_i)|yjw3OI5>N%O7Nk?dZE3dIWJFqv~A-&j&C0G z>sin*{qetnXylk9ptK7aRef$d4PO_G$ifwbFb2&Q$tU?zpnly#l0{ZVpE5H(=9?b~ zYy{ZY2(c~K$H^b^C|CM*eGDj=MkB;r@0YYli?TJ_M-#6)qrhyWjNpyGL`eYu6yAQ7 z{!QNDy6!vJkD*zVQl86$nYGPX0IYpF*jP=1-TQKM*}nLT|Lm#v1(SA%gFB)&yvl1b zf=U4LSHSV<{l@3`S&|)QZPL^Hvz<&t9?twOmK$Z~RSNHJ=jLXReV?H~S-Yhv(d0*q zq?VQ>`|I#wHU75tu?1-ZvGPJsV-qShfZFqUwExvG&G+^BA%GvgZR}KfnX|eL^alw0 zG>1>4$YTQT&$>1(NIE`yMf^4ktcNgRp4|l_5P_AdI{VgZ1+~9FFKd}^1_G!Lfrtmj zud)%Cii;3(K7aR-n?DS95e#YMXrwhwKbIAamtxvDIWlTGyIao#)xJm5hK(<=EqVz3 zx&V}=aapmCOt!iO+YY%+Gu@yLPYY9z>nxWT9a}`Y(#{U&-$}iX6&D;G{A#~cYp0Uf zAo3o%i&eP1DhWiOJ;<^UFVmgA8RbMoo=PBl`*8)KL#5DV`7VF@N%0k-X$<;}7)D}T zk~vXO-qza0)K~&Dw`VRzCgNQ;X>scy-7xH*Z3RVfM_b=$6kce*P6#oP3Rf5jlbf!R z4G2=kilxX#W(OJ_Rt!C=3h^2mvIlL@O#l&iv`2tXGipb+<9LBNU$T^bjHdqZ%FW}a z(MxK(?=5nFDcQD^v2D1c5e>zz9Ii^*!VWo?%QH9BV3WIBm1n0P+ODSwbGcY~aRnff z2?5T|&c?u@JJj#bm99l+V|oo#;HW_7@#QIG&ul)#^wlKosR${{@0ylHl-Y6mz%W3%}fgc zT4^&N;%O#&b40y|STGt)3CSI-YiTHX?YrFoX%d9Cl8Z?bcVFDpoaRtiNy_3!q&Z3I__#qVe?_YfAyr>*>G zCIzxZ#q}@se$~j3j&iMM$Xm?>yj}U^0%+2sX+3A#m0D_<@ws556HQLbMTn0~D*h6+ z>YcNV#?7j<(f`G}S!jlvh%nxd8fv7iwwINbmL`0d*E6SD&-_HaF3wGk^@jv~s#MYH zNa19q?Sj&lHEy+pF=dQU<)>HWDhA3JEuW*_I}cOi@x)Dl*X~fr>4h__AG?Jq@o`04 zcxz;O9Nu|V@FSF6D!QcdKtRC(idsp%959=9uw%q+nn=I)v-lm^P-?V(%$*jj2Hi$! zTr1MMJCBlg=X}TG*%SrVqK$Yo$=%jjr2?LJt_rH43+=@n2h|dDSE*VT`exq<=mwex zfYsu@wE6D0fwm2yC{ViVw{tUs)%lKzXPdi?eGr?I66W9CA+d*L?FBRdgM8{q+-QEKPG{wktiQ)-rs_SYOle6?cKUL9S|ZhnV#n1 z2tHgUw|w@Es^))??`PogNIP9ie*LE6_0{Xg0DR}0%C6KHP26+re_Q4dT+C`^($VKO z-+3n0Xn#f758%c6|Gdnthceq>FX@>Ub#;g)48T8XQ5>Wm!?&93pHTESR9-WBnk}iQ zjl;jQfIz1@pYwd3VT%oPXRa`7OSF0x2H~N<((d9Sx6#*PHbW5^1bBv0c!>zrxK?#t zIKO9&gJauLkeL{GdyWksvYk?UgyI`LZqUUx@PN6yVgi7@}sx`-1YnfSOrvH zJKia9C;vQVrgX9UE}7HboWGpcc&NL+AMD+T?KHd0e0#__bnQzyhrf^FM^CG-=U*U< zIlwO1tEHD~A0E%V7jw0_cg2|3bN7?J?j?NY0$W{v(O^hYPvDntDu!J5!N%S4U617{hi(=Uj5M zKQGDvMqHBxo0D!9CD_-}Sh`?nJrJZu=?L#3;sX4Nb3Wq8%wGDl&pNyR(lS!+g1p6F zD>okU{fIy@A4=o^BaZ}!RQsPOWOtO)0sHJ6 zZIuL#ALUj*zD6*x?LL*}tyYt7$J@o{gpPuN(LU0ID>n;Y4z+T`5aKu3d)&e_)9>X! zJQe(GZJKgOP40-{vM2Wbr%4~}9`fPyGdkDxuK_oHRbD*;`KaGLlV0nt$rrS)nNPO6 zuMooS7{Mlg$xPaEDE{c}vO4JiJV#R@S$_pPk6O1k0pE^kQbLZn(xemOhZ^SUOwJYL z-`ag|7GHi*n%0>|v|qCVK^XEw<_`+zd>k{BbN2^6__j1~G)x_5Ej~|NOM3xr7<+Eq zzxoO~TqqgMP@p+2^SzV8_kwu)o8tT#qQPjHYr=H`IxyHyJN5cUtSjLy{P@E*vcq6; zT1O-sPP>cW9Q}s2kc$mE@{%vm%GzWoa=<4k`iNIr>53*Ola4-+s#VnUR^Zk$3*H&{ zrnJX{^wZNlUz4o_Xa&|xsaYyzcu{R=nP2YfwG40a2MR%}q#e&aR)Xe!0rYttJG1AX zS<~HuU!CiJ$!*wg>_y5Qj;wb}kY0nvG_jeSsSco6$SjmPK-=3Qv|+vjQ8#ihw>vU@ ztg{|?0tLcd9Z3 z?_7#DOgR;^XjM$vO**@N2|8_w7|A7qqPz=SI7WJP8b1%uD^aEA6fIFEc4X>)30udS zuzj^pGKR&UEnp2n?EA9O2|+Tb#7hN{;(fe5U@kqW>5EzX6TtiUwCwrA(Q6kN>Cjnr z!YL7tgSthZM*%P8X@hT=r%mrXki6NHv~k{Zb5RT90}2|i3Q)3npm#sEI@3ok@-?eT zJYePd>hsZ5*Km#zK<+-1c@0twa@&&(4$(`2CIysiJTK~MoH95X*R>3=!m#2@HZ*?9 zYQ0Vnk{8j35TysxDB;#*Z({OrU?wzzfN}J20Q46(PQ>BE9$Bcq-(C_ zNqyBe{Ly?(4xYi;XaebDvZb460&{AzzB3xke1Z!4rs<7xQ}@NXNhovisi&R7cb&q} zd7JQFF`k(x*`Ks7)!^hIEJa<~f!aWx%H!#oQ=P;5h33roGNnW*;E<5@u-=<51EqmL zC90U_6K7|bv9I)Ws(o|eXpi#Kv5~2-hpQhr&C)ZHxu6n>zNiz9iMwyT=3h{O2eCgZ zjT=11rRz3^Ts*0-F_BOOBYW|souck(5Z$!jf8D(#r)d2)5K+x&L}OH+8E+w( zQTDScb3(fFRQ-N>h->)Sbci!7fuQ~HjK~Gw2}a0@@w-Y{RK|D97>M~>*~kts-NRo> z*d&=uu<{3+00k2h)e-+pIdZftX|71m%YE1K^I>f;vgYC|Y|6@C7-;vZIvk^UhdieJ z5DJB=Aqovcevn9*N-+qLA%ImE9OkOp4^N6QLgoBRG0r6IC=d%hDSBiF&@?fZfr!L}1M=a`+q^I{7%b z=J>-|fGX9Zrz*Yx-#v;V1Rr_y^;t4Sh;75z%fZeabzCB15C;Ly+^Z}NB#A-^)E;9V z$O|Phl~ykP@JY-q;spO}^_D;*0P=|sDLSB*qLDQ4N*20kn{_65!Qe8>GWyyXX8Jn0 zA;NjFMBS5Fk>v#qy99vT6oPP9z$BetlRT1ICX&>V&RSQ{j&V35MG+I#NR~#7slBsi znNCmE;B$?-*$Fa3`7CiPOs}Tkj=209Y39M!nf;sOHeF3b#jo{UFx}lIhiRoOJY@l& ziIiU8caReYF####e9@?#@@%ilel1yKf6B8m&G}kHg25MuF=U}953zw1XaO;sa=81y zi4ZdU$Ps{Oy_1~#i-44l0duKRgc4OGaV%+H6N_nkA_{)39dMN$@|vXeH?04f?tWIN zQ?-~rr1kB9iG_OHbA|;-X7d}>`v1MeDsYLA<)de`6px!b{U;(aJ)~;*rMHG6&O(3wmZ>bk~y1&kTH+APPIMf(0@mQG|(>1KZ_+{u#(OILPBQJ}rk z?Bqv1{%MYwBjiN_GKM|O4jPH^0ktkCWigK&TaUxPu}OT&U-tz4Zf^;2?vg(wmj7MXbk>^phM>ryt@AL4N4;Me>}Ta<;kNTGb_6lo#m;baw4LYQ$n> zP(~AnlJ=2dzZ`}Mh^t``;ThWbeq-Itno_?5uww;4x*sh7|4aPYKm^l26^39TOJb`U zgmINRFt!;1<8VVv!0ARdRRu_jWc^x%WVhtw#d8)hzGWs!J*24Dox~@mTegNz{&fL= z7Y_O*i^)i-{Zsi^=I-G~P@uVHn}WN@EBMt)_#P;z69+Uckss1|t731;qSazzE=}K8XXJlw7Tw5)@y6Jd>2M z_ZJouyqiDv?(sZ5$Uiu6>3}?QZy?Bc02qbszaItg)?u1iWpwVa#gX^-xiMn13cp|N zkY}ZII1v(-J#xy%0PYbNl{Aoo%*eIo@5Q5-zX9ghMaB4cOZ=T$x_?Fo(-3Pp7sSoL z#k(lAp`B|poIHU&fjDI}O4`@sQvb~;G$f@i->zUU96Dw#VK14=^+Ks~0h2o}#dgQw zwAhG8e0St%?PGfRH30xtb_S+|u#hwj^Go%huSw2xY<;$|mO7#~mqBL57E)j$6x4(c zL9*0;Z~RC3YDTtpIWM<74&_dGTdktT3{3OI!Z98_HVwq1~4bnmp6NyjqMnIMBsO5ZwU;KsQJy@W=d2XYk6*HJE6gxQnk+_ zX5f3&(Z6$f9-3n8HJxoW%nphk;x!+sB8Z{GrT^*IEWwhtYfB?zLGLQF)YJccCe-*L z#B$o(HU=ysp^leGr3f!QnVB~lK5MoFS|0@=c<022R`@dfMj6$|GHaAMZ^inc66Fv} zM!)SXBT}R{Wy6w)!MW|n9iAzg9~webLI%&vyR@WZ%(juF*^C+&)b7tRQ0p`Eu7dvU zk$`t^lzBgAxv2VItUgfWp}u-`n3{H)8TqC+YUB94&aSN93$YX_D*ftmh;-B?9Q(5Z zXYk_QEFdHO7}WqU3lQ`u_D9c7H|^MGad}#{ zi}1Z$Qcit*LZUJlF_%fpmUtSUStr6?tuGa$9=mBoz`a(3M8Q<1FJC)ebN;y8j~3^^ z!V7qO<@JBtA#jQig+1dmtyjHZq3~!i3erCAcrH(yY3j)a=dLvi3Nu^H^!D<9PCICJ z^|heUajJ&|vm6sH=RvjuGv%JRgm;#G09N7#zT9UCHDM?n1jIgSsDnfEn_OOq%RtOI=YYvs>jgY z+Jl6bBld_=$)BR`Os;_i!^Os2l%-C2I#-w~lAFw0!YM&6q~%qR^rf<~`)eL8>Cu-E zach241!vnA?OuYs;H^LF1)CbF`s4rkdIY+c$e(`J!esLJxvZO<%3z67`6qpXpRX|7 zG52!$7I`yq`0451)9Z-cwKkU9lzKu`QReu?N~veSMyZv!x8HH8ugmseavkB#bHARMzxfdA*Be{!9rcxCpWSetU-fSC zJ7>E~pRppt@K%zdV(-iCwzXAN%H|kB24{B|K&~TwWa!;wwfuQIqS<6ta`Phpn(iGx zVN3_#Bq8O()#uK;U(HALrhf{SdKtgxz^tGFs+{-PX(H|qH~CaTX8{+BY0~aH+48vQ zdCR-M)=YLb8r~d!k5!5KmPY~Hv*4RdW8o)pJjs=nwVU36hpr|h*2zg9W zd3;7UM!G)7Nf}j!)LSBhtVh6YBo@dOjTOFY)+Vtu#4h86|1)Q9sj2XBHi+j`<M^=0Kc^;FPQE~(__>A{bZh10SK}N5y8|5AbSvHn0*_a`fc&qL9yaj$}>Z;L$Al5 zl6`nzJCddXzuR!N0(8Jy{^&&b5#dd3`00;%ITl*C0P{^$=~ags=Y4|Vj=SLZmZUA$ zLASTRu6sqaec{VKJN27;KXyL_2~R1J^XQW=`7XA^@8TGp&!Pn^J5DyFNH;Z_er z&&^!!zTS)A-pHP?aHqI>m0f4swjP5j=Bv*(-Q{?9$ciHX5j!nb;)KVdG_Y*iWg$sW zem~Oym<|3CPLpGwbRocaVMGmkzmH}1rde+nQ-&`eKWg5ikjaQi`rX~xHA8wjs>zx7 znOrsvXZMtIc-Hv7mNwfdG1kiWvktg7VsZU`Lu>VJ)RTQ(dw&Tlh`M3*DNQBE6{CX{2r)G9URpW*RZPRp4)Lkd5I1qjiuT z<;aEr9iCTN(Lg`rjUdQl067jN3!`WNu3i1&q}^@!!$=Bv!c_c7>d*fu>?@$6+WNk! z%M3^i64DHUgfyshry?kw(jn5_$}lJ?AuTo1-3*O%w;&+WAV>*FgYa$cz0dQ$Ykl8Z zA8QuFg2S0T`|LRLt3Ro5kr9*i2%lP@w0BYNdrrvmxEfs-vHd#3{2bp?JIcASZ|6br zSVHg((M8ID+7x5}UL?qk4X@ng62B<>;&OyMXFt62`cLNUZ=eoX#wb6nHykVfV)B*Y zpabFM+cvmt1uCS1gSS8IIMmWmw9Vy zM(8p()PRz%chE3<1N0rH3)O0??ww0Ccim%xT`iW6k8HTphzsucvxa_j&v-g2EDQxT zsqFdePq8@Y4xII=P<~R_-r?EEy+e1$$$^{VBWrLs4|mu$e+MJRNVsB|8*QEJYcU1^ zlaFJq^c(~zsAOQ* znJFKRMP)L$%1CF#y5TN?S@m?n)Q51|xXCWs($Cb6R}XT1Hx9RcSCMp3aU#Z21i4<@fxd7~kpd2|Tf zp1SU3inM^dbn5+1sVv`=cAp~Zlm1EsF+oLvom>wG^lajKOrcXYo__7v;UsHx}xDx-Oq<_0Z7;o~xdS8+@m5nu0jnJ(r7#Z!^CF1x4(^{^v5I!Y!JBHw?3#GI&rVJ7g+NC6 zra+jbvZ>LGOu%`B`AY`nL~g=KNwo|uO-;d5myh@IJgk@D0mrQ4?57iz4HEdl7m0n2 zB>AuPzvrd85?JxUb1$;iIRB)%v?I|w(>kz47;Go~){r(fXkJm&ACU*78#JSdCKT6% z^@P3I&-TGZR>5=mL@coM7xmL(li9HoG*L||k;jN% zq&5g^7lOp$R{1Wv?)EcA(tXZAqG&LiI%u)I_Sz4`PTNmSZ5Z6#h)*gAF|f@q)E@~$ zlbS*1yMrWKLa&X-$cRu3GGIo|?jA-|j7xonQ-=qp5bJBdjrv4nfS$}=b9wfAK1m_b zlC`h6b{wrHSlHxtF9LpJ&+vNj#lP19%dy@d_kEoF<{`NYB})Ka-)qA*I8oOFf&OVSr>J5n7F?!UOT$CF}4} z6N(2k);krrKeL&l>_J^O_*c513$&PHnl}dF@d;Df0;7?Cc+3h_(0tZiPZ;;-(||5g zqUa32bNs+B6ijyE?VE~?33RK4%0MFrMx>T!nuZ@ZF!jm8v-u`@h2s0n)FnGU{$b^l zY_GN04=Pw$y&Dmd^H?8LfB+(A{bYO@HTSyyZomxs=PReE<`$4a^3ueZGoggfYYMV+ z_#PMNq}#d&sW(LWqS$`=eJ3CjhALU-B{M>(;?|1{Qt9scQiFK{iKw6sK!_8uq)@8V zaw#Y^8V*@WRG~kU@Z9Wse|PlZ%Ta>8SOUln<;iSY~tERDq%V{^$ zJ=|lt`zXr5vdO)JlwxPRPbXxA&P&5#;2c5jyhr7=G?Q+5LMcphbJgyoRoz^*gvV?x z>`e2oEIe_Yu3u3#+B(G#Y?Bh1t0@?p+dd^T#9ZPM)kpy(81}LvC;R;X}3meDVJIqUh?@WxvzUV=`EPytgoFZ zL-er`lP)%?UMAfOJ6v+ov^b;f6>azsD@s08d0sGqE+gtPZ0(bDQ%;|%r#6vEIoGYo z=&9Cro9I?+a7j%ExwUY>Qq@!(_3#}Sp`k19#V@?tT5Dn(>PjDF5-vX_M<1AyW6shz zqcQyZkNaMbuH*6sC>SU-cFA?$u7@!2xS_E7AB-Ucbd>T$4=KfBX@vyVSVXN(JO`vt zh?40Y@A0!|krEDbo2qyJdYHYTv4=k~(Bo0rj}$Nw(!hX7tzQHg(ghf{#@uD`GiniQ zidf9x0QXh{=I}=Jvc4^B>w#=!^T{-~K$AsNlA1QVL#)jn3p~4HF=>3!Ufio=q)wXr z>ykw=#UcT6nA9d_cbuy60})j$tul-Kf#Kr-Y=ph4&d^2B3V|4Ue^J;-_LYci6nTuL zMkyJ{B3%}JsYrDr4O$97PIBZrRLnomP9))=abin&Hpls#z87iR^yCQSnYMV>m8gTY zv2e~!H8<+J^l53(k~!6Wx?WR4fz3OUz93{kX6oDhG+|dOI4kBwV9fAv=%lrbfA0Yq&7EycDgAlUk;XmvENh1o4D>XD?_J@43 z97y=|8EG>9I=TCjeB@{6eUM2J%O&vix9Ntoe;mNLO}^2slfQUEBqM;=1w4<{LQ+P= zE_G#JTAkb@DZ8HvLt%~T!qQlfbF}>|%PU*kSlV~yJ&}4GghEvTn4Gwks=<+8Y?zZg zeIgzLAg|WYD)By+15qHU@znWc!+nSB!cbcq50OQl zmIgm&vpW8t@QuusEIF?eukojJL_N#l8QWyp*3s!I>%lGRC)3Yy);0D20l4825;C48 z@j+;p3#NIBAc=7ET{GY_(q9N7_AwLHOS;kLYd{bObuV&AlkB@uA8!6m&ger}Ts-x; zH)QU%DL^SrV+I@=P%Fm9Haxki?JFm5)~X)=qwu->N8y7VU9%b%qDm9&?i`Y2?qC+M z=F>#2M(=XfSU9B_@k_W1`yU1cx&q%gqv(?)=g%ZwOG=@neeO>Am3{Q+(+$2whm)pQ ze~E37T6P{Zg}!c#h+1`~T7nUTW+K(kI}IZ4VhJGa+9Te)@9Jnbbzed9L^}me7jXa->pEv4K8U9u!>zNa@Ake^zDD3RM=l(gGgAumOo%7j@;XK0mWnT)!~1b70E1- zJG@ssR269|eZuP+Wx^r=4QUwyv)U%Kh27Mhd_$8N-MN9;pV6puZ^IvCe^Y&9103UR~Fk7KVBPJ9Y(uQa!Lp#{wV`w>Dpim?r@BqaQX`$!rm07(3xliB@$ znUR|-aYJRO(G~zIL%;X-m9&B#Q#-;kNTZ)|qu`2I<9Z>2k`UZR;Xc3+1^?Q1!(4FW zK9B`8lt5}y|IPU>oxv{|0G$zNN~XA}L>Ht`8T6|!glCvrEyrJ77-wkWI&boNL?HtA zUrGe^4bDotjo4@p3VW6r6+-C<+L&gwz#x;nTNfE71J^MGo%H;x9C2|v{3c7#L+5G?46@Yint<;p%K)&X^Nb&fS(A4tm;#sn3^aF9T z2d^|G{^rdv!_;FCzpj>3LmAdf_nqHV5 zW_DEF*3R((-4>nlB&HHsZul_HQ%m+0&zspkA^EvC##iWgl9QueWA$N`x6U6v(&7AW z5X<}a*K1*3EHyYF$;jCFiDhmUrEPfXROqX>p|jyS8&@{kOp0LG^{R9!%}DE-PdjZB zZYAFkL@t^D&9)4^1Ejc4Acq?y;rP^+WyK`39cWD$BUN0T@T zXI{LCpPG^*p!#=yr3MvYjS5<*gPRtcCVkEB|R>HLSXkB^ohKLt! z4{ayP{}jrQ92H-NoUvyT#x#}ieA-55{0Q8N{^!hILj}HrqBtL29{^qfz z>`&0G_g~Qn=t?rY^dG8J#?d4T(x*8QAk3jIA~CyQ5U5^w!_As;-7c1AyM6~tt|qZk z(k`5nj{)xHA*B$$X}j>oyNLgLhe>YvQGNTcS#ijs2OdR>-Iz61Xg;EO4j>+vsyCtE zrM*<$xlJxTsooT(B8_cM_U&9dy}G)jPbt?fw_AQynMbomBIf#1fPjXYu!VyD0qA=& zzT6X8IC;lTPfCWM7*3!FG+`&rZKh-!zFL7Cb#%FRBtXvi5l0ltC>1XK0W5q8l~SKI zB3s=O+f6MolUt~qmsS?xsHKpldn+@-y&CHn!&uty;)pT`K6U(uQ@RQR zRj}oy(h>5pfmFpC|LJ==A(O;^MyE}6j}~dn#!7h3yK@wWsecnxPTK56)cjp;J~KaD z*Lk}UaiDuK9o4x!+j1Y6A_8^YFIA?hrwh&1yMZcwrPq8$eBpK??PXJvZ^sw2{T-gk zJnwDsEr~TX;2i4&f<+=t3Z6l*SyYCu5tJ#>;lwq(j}VH!bmTV^Rb%Bcn_L7x&5mKr zRw=N{bQ8&dzzIOgn0-fu<5+cPNbGeerKVUro~kkXE!WA11JRAaeby*yurp*TRGa>G zb%iaG={7vF|MtLnxf9QMbE3d!zc+@-tTg}=FAqrIJ6ezvn4|lekGbqfpckY;LGr-KJzQfN|^(}Hbz7{*% z66>GrUuM!pF?(^={Z!7BZyct0u|HjJW;V%XHl91%+1oXxKTNP2D~nBky6|R`pU-(^ zh<~0L)NH>yFp*h0jGkx6H}oI?PR!^unN_0pku)oEg59~KyO+XS@Im^T_Iy{IcNv8e zG-s_T2aeyelfC@b1!eb*#m1VEj^FbufL*VeX#oJxWPtO~t+4KC$plmf9;c7{rp`&R zYz5nnxW1VGoB+!275_`5^)QAF6NuF7JppUpXZriyr z{VY;#6${=!q7{A-p^sMPtlx^qNdv$>rf4e210nJzxU?ljL#uO#yFg8tVmBv()N#YQ zHKQ%>j0)EXFV(v0?#zsavt8!%hfz)DOVhwkM8Y6=HuG<1%AlVQ>OtBhl#Tc@9jrb* zUXj^fO`kG^lt0_PimY?~vx3Eeagn&dO5gIMsI>Z~o`6UL`3V5#{e?q^horrl&QpcZ zYY|>{7gI0JmZ?^=rB787(~A{-Z(wBXSFO9XcQGK)rf#BQr@`OJTMHyF!hFI2bT95L z;koC}@dvOx=+mM5#@bQFK;ZgSK$QM9V0@!XSccCUz;1?Bq!0(4rVFYaeP(9aIz+P9 z@Mh0sZtxNAdM39p_eIRT^AW-bjt6-J?1X-PM+?2W&#yPKTCo@6A-i% z6v8pIP)tvb2-@R5xo(N{D5!LH%o-I6mIJqd!9_+l3t^|>cEB_Jr*TtdP-7ouKgHg0aT8`;I73U0w`BCP$^K+`+BYUl%uEe8 zcNRk4EOI!C(Bc%MA2`mc0jDC9w#1&lG1YSl7Z|Qq@r`Ruxiz%?5mRwFN^IvM4nGyi z+m=BWH29#Jw)bA|so>YH0yXT_!jK#Stmg_qEFN$KNb0|qds|4k^n#D6Yzck%X6Jzz z`l`!e=OP4DyKojWmm-n@X1}hc3R|voz-fkb*wP=-igjRqvKQBtZ(WqwFcHm1N)3Mj zntSWGJG4Q8xA5g=6Lz`)i+SVPFarfo#|rE{2QX7a4nMT6bAzR~?k!)V=FQC3!Vzwc z1R0TwHFH?lm%K%gxZM2w-f^`rn1#Uqup`qyAC4d|>UyigKuSI(!Auu))i0eC*EIBF zsdf!@raI=YI~PQC*J$=J5r!~ydWu*=Hw{B2c-i!8Sl|>&gbv^hS@zm&DSfDU`*4!+ z;WACf-jfvrPy(RpJM)i2K%Lqih>*a=Aza>X9_4dg<=hWw!~S z|3uJeGD14vlcueJN<>_FSlDhZuy3`y7A5@A>VtGu-#lRw&b`Gr;^^Bsv(mZ({weVb z=TxHa4-USW9loWRuc2iu?i2&AIEBkoE`_sEt<@J);GVJZ{?ID~K=lGsaJ}}dj{R>2(aPUq#I7Jzi<{_WJvMK0-mccW!~_< zPrBSAPA2ky`Q_R-kMzy}ad0vEvydgdMWC3f%T(-JTAWJ-sz3})ghJ9Tmx54SxZk0@ zkWf^B7S^0}E9wMP!3q%o6=n!t*K*gf^P%#PP3NGtFOSdRw=%t8pSB|3V2O0(x`yv( z>!IOT4b0%B8}D%5s&>w|7iId^Oin^x3kT*3*iN6h6xaqp9o*teZI#CEnDwKg$neH8 zFP5JKfw5JtzLVAyVFQ#*Grea^m5jx%0Or> zH6!8hbFZAXB8{Hn?>sh&2J7tl=wGkmAw-y|^iRU4GCVlaEPx7p!MB`T^l|+@zK#%I zuFF27oWO`T=7fgv)YGRN?g?vG;u9SDUN1Vz8{nE3a zFRmSbZNFe<2Z?{Ey!pGLy^ME=6z+zRzLYR?+GONRqV4a;!Sx9Zr_2u-R=9Hp2|*;| z2OC*28{Va)W_xMHob-Z?t?ug=oiYQ#?QKmJt!JL@*Z3dj8h1)deKvOrPl_5c-0*)N z{kTp)Ai)t^wL5;eHuw6&EAwv5C%=?O=8y8l{7gsKk0c+QTpVW^@76;UI=sg)Gs&84 zdLM<(H1pDzN}Tvql`*n3l-tBsPPWYxWU>_b`yR&hsLnSXEaCaD8=i`9%rBPv(5Iwk zIL9PTYvz>i@Wb#WO$)gb1Nu%lYwy0`!HNu^f)*{@H}kihx2pd9`TEz=(h?p`bjL*2 z%E}7q)%9{$vjU5^@7Msto7j@nANOk;=BbpE8Jxectc?v3l9mbnkqAl`?5`JXx&J*m zjRwjWRy};i)xY=>sgaA=t4aKlfj>}CNW+S-F}dXK4wY)=e!A$(qd|$i)sML7AoTq1 z(Ic7q=K5_g^|SLYWrmXV2W^Qn_%@|7MO(k$2l_s8alF2_W|h^L7~h^*xT()Px-CiF zU$!2T@ZnC@d)0l~0(X?VcdO#!ncOVw8S0&HVJd5h@3(`>_^UA4RNJ z5F*8mV0p3_H9!*I+*QBs&-}FCN6)hPR(c}+wWKZPTgjXU2TPITGj#0sqxC;==1*4M zF`2+}`eNOBnoJzGw_?IWM6ADOr24Y2u8|$IRQO$N&JmB-nbW+D=ta16Gtsl8-Iiax z#q;bh+~)2D?jia{rgN2cLhY%e`$9TjW*Y z`h0FX7Nxn#DCHLI{OlprcUCs#yY2(!_&egvCS7qX%X{-h8U0F5z8L4Z-`CN>Iz6h# z-1aHI?HL=b_}mqXpLX@84O1~7yvtwmT>i?@;OtR!ZxUz0f73%}_40%7pcpx+crZ2n zvXw*UY=nA2mJzOBP^38X>!&ezheZ=+Mla=w)%)CiuO^~IyXR10IXFZ3$6@k`kbB3N zHkm}kb)M{>_uCtHZCe%yRn>;Is%;z6qk8-gzO4_PkW%WLy!eakGHLXp5c<(>c#h#| zZX|wxK_N9UW}L9{UwnVI4#%amH;{)UcALD&0f5*ShXdN5WFO(?kP>}Tsw^usy zmGfDsTH!z>Mt83Kt>>HV{704Vn)VyR zpq((25{uXE8=3{-0hY_rm6E-chwXam`(|p7qUP+PCngHe&{S(^(h~1;`}A@$iHp4bVJD`D9A zd3i8~0bvJ4v5^)bNHpeQv)_7Br$o%1Em+RCQz+W|LH=$B+eE{$3FY*UR+<+N^-p%V zFjxD&_D;Vf?MCF#s`$<>PLZUaMc|_Ntcpx%_Vsr{cHt0SrnJQcM5uY`y*QH>JtR_*&M0p zR*b`hHP(`ace$l(hX^lq_JloNNUGW%|T&D#|>?^dMh%qzh|x@VHp-5Z$URNfnYg zwUXwU`xP66{yA}u$1D8tK+B~vwZUh|AlOgsMEXzN1X2K+bldtjbbbbX&>S1*wV&Q$bTy@XX4bf%p!SMoYJ{)XzO99EUqmdtqZDbm&>kMhF<8QXnm zs6Tzk5wQ$)Huq=3>N?Njr^Wg)Z8e|B_=^$sl=0ABo>XRET5Uz*haMj5V;1Lc?F)$_ zK3xHj;EE*^7sD6dy-<`@XfYRd4Vb;uux_+UWbw|qw@BoRs#do0{kGq^-*?E^r|R#* zvB2XVbkOi#0(CyyD3#nkh9}|6O>)sV(e{g6u?_1JPKvhaI4`(XFf=6K--nxg02@NM z*IBo~4jy0@>6xSnC-WdDfnom7gAyNMiP}15{Qc>EDK4@3Qhs4VQN=&6_V0J6CnlS( zYnmOh<+tvUC6DvDPLZm#J~xR9;4FEHYB0o+llsrYgcYZKium^dUVJ-F@8n&@fk$~* z-s-3Hg{uEK;_pLUpye~u^D;fk&WE=nXg}gj-IlK-r@SRcQT^$*%w1R!mHO{nC0SH%)WOJ^Qc%rK1## zcbK?=J1@$snXiU0_{;H64t)tGMgHgQZv+PTkAw)?rXL}sBe2~b`;QifkJ&7xlS-l} z@tS;(i=%Q%UI!>&m!8I zw^duU`$u;wCrSO1lapL0=SrfK6{UfQc!&@X5I|WO2~`LPXaEERq#6M3_;BKNk+#N0s@QjpC6>GD#aB9ME`)Sgs8fg z;qP4d97<{DcSaFoiT2@rb|+hq=*R;WX!Q$hFk1gS88n%0B!CRi3`K4ZY8cRlS1IwNjbF;nLtG{pxd+vCf!jc<-53Nz9+FG`t_(r-^tr&+^k;2Wo(4r{F(%DBwY;z zVUQ1U_gZlkoA#c~aMSC1=s>9L*rlpETxW5UZHoCm_{(Ff^@ub@KRrbNHAUDPA6hcf zpW!(>%5V$Ko4g44bQ`1(ojW{mX+XWa4XEquN63ve@eShPn>7064>?A5DWUeNLxKO+ zqoaPA;CG=sr$)Btp3_9&oM8F8&WEVWkh4H@Fl<5|qmMxQYc9)N9b0(eNE5o;=elBTKz{O9N}C9T^nGSxLbPwee4kJEml+*PbWR@AOLSrgN%8;j&%?ej6&+ znsv^W$f=*t*o)k)Hqa{abIFH@;8+uRp=rQf zgYuj>PsewiMk!Z8J1&PI<3)n(u1eIAE$1>{^%TweuSUpfnd#~(SY~QOGi0~V&RL%} zKEZdLyi6fAA?sbJGg1%3h&M zu3t_|3>$ZsgM2+K!-UDH-npU-+??risfCzDyYZN{2MOjk7@j2^bY#3-x zDLOyBhFA`7{;r|pK$f|+k!y)Xn>avmNsc99vN!#jyGI85hi2)CmeTKdcR=Ah{o3i& zmYZE{Xh%;Im)c4)`i`_axYIMg#q`pf{jzBq7Sck=sDp5Nx0)(4QOtTl`Oqs~)YGK= zQ>g*Az8a=hRC&>CIE7bX>Nl)35IBCSybL)p#Z3sXHh zTKVl3HZrAZj8=NQM0?E}Qo7HYkY%}E&TB|4zi&JZB~0NKQGUJf5yvN&8Tjf4d~6yx z+)x_D7|*JY_9KjaUAKW&!#W1P_U-1eVXl0_35uDZCvW(en4XDk!50jAMau)r`Tx zH=DCg8cQ{IgItAve8iNdT+yi#wHf&3YWD2m9(6#DFm05oFtAbLSID?w-ikJ>L@gpB z#mi4D!LE=5?yEl=pe_Tq)Ru1&f08}Ls3*qT{s9y*B zTGBj-=a>gXqu472Gm1s%io6FYD-XZ)zc>=3H{??XJmx?dHH&fSAzW>s2l=WO_**}e zqH`$yMMqm2aMYkwK2fjIAfsmwg)pBVwEbi(M=tuQ8Zj%aGqbAhPt1gG%7u*H`gUjW z6k|n!puuj1aXh>K$L1gx#iU;Mp2ly0%?NTi;z`6KzZBINkRH{ZC2b;7r;M2-LhgV{ zuvbpKf@N0?gqjf+=J+6v75Y2Fyvlh3og$dh9Dx&&RhsT+F6t;$ zJ7Vo9^^o_DnZ72OcyBSKt^$DtjgC$kdAz`U&(wQxR*3NQ#&R)-8T`EFz+QM>Md7qk zL5@;_mk-kR-##qCWhJAkO8F;|j%QR2r5_$3I%vz-w)efO>0>xXIV6=X^dd$&OBqAQ zw6Wmk{nfkEg_e*UTE@aUbYoFUjLQf}E+K6t=iy>P%E8^#*`i?Dcr`lGa3z&2t_1Hm z{w+!@%x0D*jBMr8nk$Mq#}o;7lcH9{^Rd=+bK2Bdy~nYNGf)e5^GM2g0iB7w1%bf& zhh72^^()KGhsWy1fx8?Lq8d=Y<^&WCO4P-Uw6a}Vl2S{`68M11!)CNv8AK;)bcNi` zRtU7k5UmC3u!8M5W|*e+ZeIdI(ssHr^ZoqHyuJk9v8ZY1450qiBnRT|q~1JY0_9&8 zVTA(4GFrjPlzejLmbsFHu7j}DO66T*qX*Ko~F|tev(hj83 zEBrJOQ{lvUqhskPMqpRmYJcpL2Y`dLJj0ZjNIXg!v$ESG0!$=?4CqN{*T1nTCG|!9 zC7nInPc_?&f%p}LV)oj`k5y+G7eu}d;DP!#DIqD?3gyU$pEE}u_Bsjn%yZK&`^5cX z$t>7EE#jhB5wM*JYz@pJ3tixW`Xntk_CR+0iUI=1VV!DUs|@qw%PuOC@MDJiuw4sXSfvWLte-Hdy8=Sxy7=@nWx}|3!W7XYo+DZFt*Yp6M}7J2Qhyy)cbZ7v-oJl=KxoUhEjx+ETGhR43aK?(Ko%+TlHcGO;M{I&%v%W>@XJ6u+M_*U`3 zeH;2r^4Qk}1-4bTayoDPTp>%*-+JhecLMiu>0{$@T{xQ*3)o`31&`SH?ub!!Am)IbYonC#e3OYvj%o}Up73>(ie z_Th6))~E6h?H8jis}T(psGhR=XRJv^=QN{0$m*4HdF0T9$p}%7u(Gx>HGHvb)3`nF zT)T}KT-Txk-ko{ikaPH2gt5iIrHLcTH@YEqL-MaLXzXpoNiq-Kysb?k0)6MZO+L6i=;Ijv4$ zs1+buP3tQQ_%%g2MdgOrb4~Ste$^z!3a}<3x5IrMapglBHKKr7N~Z&rF()vd%_pd$1yx(Vu2%=`v z6gLLfNrL4gvsKyMAVM=rhukEJA&4LjMzeX9r^%C2W`2pQX$x(_ymwJeLX4!LaJ^t@z3M zv_!|MQ&*yVM(1v^XfG{@Y{-1fxdRTEQVaJ7ykJ!N5hPKr$!Z&~5?cw6#FY3U@^qj9 zp4bssMnNXn5aY|A3={>ub&wrwzVirfnxd9OAbOwKcQ$F?2F~Er&vKJC&IUy4Z^;xl zwaW*Hot0JqvU@!xo}IARPf7xbE{*llp|6Th_WM-P<*|9>>VPMcy;dRzxdKaAZWLbN z&WxDpvp*{#=P~;t+G~9;g+@n5kHhwGWT{yP+$w10R` zp3v8b0^lTTps$tg*4yQEBYnkaIt^4JXcXS!u4 za%>uQJ*sAXylx}KfD$O{4hqkS$o?EMTOI_8znkq#4bEg#0H2* z>5Jm*1xkU+l__Sg1}PCK4Pm|A%~F2AU2@x-HvS`hRDHEE$C!H&`r6jKKTph*l|4EY_YW=g zwrg&k=nj`B+*rHIc1J~|$M9qsNwD&oSi(4`dxn+imfGkzQIYGZ~{uaV#8$I(GHxXdxnd3>s|3N>!(av?pdg2r}>({7d?E zioEgwi;Aw3+a4WkgoA3yZ3(E6@s@6dQOKC1!8$@#XTESFX^Ej`ok`6n z-lb*Dk$}sWi4WyFS&sc^ioo}7=ad@SBTgZh6uhDHD(_#KU6r#$_B8UEWooU!L7WhR!2;(GSfdFFZ^cK9xwBh2q2D!I90!m}v^pm0F zEF3Ua$lWz|qoXmXKtTE^nlj8tQMKHFKMk|LuLeI6cmHJZb3q?psjTc zHH~@7@{*Y!z!5IHsKno+#B44$1)DdTY^jf7lW9Y%N8zzT0|#A^&M|)?T^0Kqtb*)9 zYMJY5HOiN)=FCedD5LWI)ua&Y9Lg$p!u^+<=w$z@PTjFM1DHIq3Ihp{9tDHp^ zqEGru0~uF^YU?##xx9h5r^2$PrbZ)1XGU2qsoPGabpR)LmuLa2I^8q|5o^-|4DFf& zBvl9*SHoOL{ScY%vXus(01N$bawAHVHE4e|Zd}qcX~^JB4!!r7b-CzJE@X`@TE z!H1f8PKoTI`eltdxy4rX{AB7FSk$oCtC^oI7Cx53?O*QlV9N*+SbKXV;L%ML-$&g~3<@wiesJ?CwQa zprl*LYiwCg$E-bgsJG6z_47q7H^A;zCiq|`{1`@j41+U~)+S^cKxXMD@q^;ep_um> zR4fXqDk7?afw!X}9OVJxt&zg~Q;*M|qbyIPmA%~K%{IzNx1uBpKJ1K zs&b0<(T?|Dxj`9gdr8+_{C)?=pwUUnfGWtg)`)@(;!iAMkC?reQhtd?T!)*hJ8Orc zp<-x%)wlpEtNiSVsbGcwz{OZxOsA2dbq*}Wiliry*1*TD! z8LU__`kDEp$%sAPjZ>Dh9(y-QnB%PgT4^%yvTv8^V?>NVVU}fqHqEcnYap*O%R;7! zKi^b(LTv$z?dn1fHh{YqycIDK$}UAR%UUCoq;tvNk^1wjHy46o%-a>|C)inx` znQ8I-7w!JBqIJ{=%@eDi(K?N{D1q(;Cf!J(tRttmdb>R39bp^7 zG6Arq)4F01Q^i zK3rq>)I!@%aEEhED|jQjzXbz=lD<7f9+#y#DJ@Bszj_Jz69CK^mc&N+#UQ1m(Xd(M zJugus3h}};DocWaR1FSBwnRLoQe9jI%D6xx_0P>YiQO+KSq&Yq##IMwFde0uXd)c1 z+f~FYOUa~0k^U3k!A*p6<7(;kM=}R8WL{a#fV1GG9>*7>+dVk$BK>*H-2L1{ad>yb z+pM5*3@pqEDR=p(TYT1~7Ht~Hi8=m5N^R6bhls_0(lJW8$~i4T(mN#~YOo(XJ)2?! zptPWi@Do+m{3 zX;O~74bS2aEU;ZM%HrjJx4|DM!E7|=b@eik(Q@;3MfqgKSe%677)Kz7cAbC^6-i0H z1u`UU0S2SksRpAkQaAh-tlMM6y!WE7Q^2OfADE;l98vF2nHv#>Co~_e?+U-$1yy?u zUvjIV{S61^CBI>kesk#lOe{2tu-1U{>PYWrvkIOkU4Sq0q_|_y;ex$+dB{TEyLri< zT}>~)>tOoACNJA>{A(Znjf-SqJPP7C%JaIq%oFuQ18Z|@dpM_D+Asan?KgAcDw)A& zbgrwiLWkS>$z3s?>pI)?2BpVh#6wE_ke-Yt1iUD~NH;O~rxvHitWg+8R$8ym)QJn8 z*CZp#*SS~>%45|fm3h1K-uE}`K3X?|2{ntdw&JAU)dgKwW=c)a^n5iuwZkX@K2+AZ z8)t|8y0D2og(KwaNDT%Gs zYcnhe!N$Vk=;nek7nCN8Bbp(iNsKVQEp+* zU4P0_ljAdWmXLD|-nMVjgUMm2^=C)!ysd3al)4;ttk4Nwp2}~DPMQT_Q5X*G7uK8I zlx?<%W$}G20E(ibM7*G2J~B`jYv(nnYH15^LozIwD+QmT69{=_c8BmASH|F#StRFy4yuN^B!8^20xO1QMPA)Vt*UTR8$hyYaXm zHV0_ytDzx4d63}?L>2^ewc_rf_qzqJ_P0C~KE{jPPV>SGRNUNV_$u`0X%=2)s!cx} zPaj|j?fLnU8hAJE|MiNBLHcgjxz6*j9a{Zkj|Zu+YY&mwMO@^taIDRNuDp^o<~s`f zB8a9YZehKL**N%HYNzGKm&Gef#U8~ngebQ{J4Qw4!QXNti!|ixAg|`xbP}rkGX;_v zO@n^){lBNqu&y?^gXuzhI%-QGD*gK-OJeS@!m-72g4CtV!E~I_UT*Ou)z3W`#1hQo z^w7~#^Q05%RiwwZJ*5q&$x0U86`Zp=UonEg8Z3Su<>nb8YT&Z4nk3l>8nw!Z1pa6l zxLWvu37;Jn>Vdz=kYM!&D4mdWy|B9p`bE&ZD*=&3>2xl31g7wGLR-pBUUs4-zBO&; z+ReDPkVIw|Y4f?zRAn>48rAT1M8ZPN#H^1v&9Rb?xQyC_Do^P_n$!WXu!vMZvSCoi zVpvTpOl_M%qu&8db(TqP@1K$eV0JjI5YVR_xl4{CjC0&EULrs)44o}CVekg0NWK(r z;Kvl6d*zENrat-)RW|qjVx}pO1>GX(PUbzy>(6j?qhYJ;h2PyyAbSaoMt|u8iI1!y zt};gwib|O(un?x!0BIOf5YNp}zRB>ZJnK&SWrY{pt0{ zPaBBD`0+W=^p~KxTdmE%W+5B=d}R7DZ>TCK5j3BGJC?1aVUE+ZIjy8uiINjnx>1)1 z!2Yz#I?|P@oyCQRg+_t=?1;YmB=1~hC1wZ_JhAM+!kOyh2cAMWM}RYS(%<|DrzCs8 zD3PySs^kiV+f$TI-nyeDeRlw)x@(Vh`*ue_@@2+sg6YZU9?})VkjvM%R0+dlqoj%% z9yjg5!13@`zq8&9%R4ccY1rttDBlm8dC71v#>2&`RHOc&n;698=d8i^|pUscSaQ-hZjOSl(o z*B4*@+@oXlxOH<>`!K4GKKNyM<7J5pjs6T}s^QWZ~HZJzcJ=pT`I*UEG)Baf6S zlotG(h(6rQ(_~O=@o#ik@(`jo7ChA__vSU&ZM69UeDX-XnhHyxDIPOf| z2sfH7U8O`rVaZkZWvXWXp{nsX9Npn6RPV99!adD6ytiRLE+2l>xIPZDgn3!Ybfg8g z6Saw?aCb3j5)$QRG;Q@r4*tEC-+-T_eSkygy$DMUHk=8&vG&Q+mvSUX#T}w-Osf#n zTI$hyX3Oc@lhH)xSazh)|IqgTdz}3L$OT)A2FMf^>`c}m zLG5>#X?gKX)jp!8$Sa90xYzXv_oPSR62xP)f55&7qxj8Rs{L?1hFYep_+>M-Yma;uNcagdGRaYWu1L^+k!&e zX84x@P=>*xaN`7QVNvC?5%N%HzA6_HF$TbP91_a@-mVqh=3wuhvHq+t%>Q!gj|{o& zh4oHy?MQK>nZk*~d{gE29~yxsvah?UE9}o7_guEFQLdg;L2b6H3AvltK4s^G>}$M`hy>Jf_ah- zA~d>7d{Uq{9Md~Bin%@*8*N${?c(ZT$Z7hQN@0(O7!8_DXHwFW{pJGbVY3hU-t{lN zA`c0rgyer-AZd^TM+zTn-09@U7Lz!@Fm$I{uIBJ*{x|w#qxwm`hC(#4g$}*ItXTXu zuPqO2R^HF@?u8aNH!z_e>cxQ=9s(RGbp=w18u&+UVL=n5POl79xE@uuY;T-%e>z`{E=g_(BB9@Z*x3G- z{kK~3*#~oqoz5N4-mB-f;7j81%VEl!S_oiCzn6OWgBb^>xolg@6a|_Vh_rl(Q`^bE zWaz7GSByj+vw8`1=(^O5sojpKa(BD+_IKW0&&T8U)tlZst%Zy@{ojc5eG3Q8i;2-8 z_*rY-v2;JFDeIYGtuM_}Fna2v-_Fu=-l#X)Vng6+-yi+G9_o!;=PglL1jf^z<=_}! z8zMJ%y&d57VBacuDn*TlM#_;=^YP&E@JHM{zv#A_g|Ha^fLFQ`A{H+sFTPbZ>@4n2 z%Z<;p%3@UMM?toheebIh^K6H&PenQ5K!DqMr|6*?D;t6Bsb}|l3^a;z(`5xdf<=qj5+>Hk#WLaq>wRi2Tg8T54nHFUv z^i{TDOJ!T=#%f#mfYQl-(P>KB^I@ZG(nd@mj;iBf)JH7X7l9lE%2X4$gTW!{Y z_ra{D1`S-Wl+2*NU5WZyW+hbZ*zjOTBMoi-?jC-fo2DifCty~P%17!*W;EFIW)rdS zP5(krba%1H%>YAnAtpK*FH9Q_dBFSdvmNN?o=+6*SNjG&zA#BU5Qb-rw1AR-EFk-G z@;$d00%M+ReHY+YvFxZ`63M&;+xjQ?V~%#JjdTrL+2^BH`I_K@mB4G3Ps1!126beP zgem%tVJ^e6%Lh`a7iFJK1Yxqvrbw(t-(5l>4}^pUmhi%AZ{)ipw!++gsu2Xxa&Hnk zn3ilN>t5!eF<ij*<7DW!CVyGX6&c6u)mfPsL##!t=ufBS z{%=+1@Z(dV-$PUr9n?dWl~WirYkX&A|6(pt7ONnO8M%x+5-b)e?IqZ10->~1kF|7J zXT~WaTRHdg0B#iei~VtOVb(*|`q~`VxtgJ~+?oqEpr?_jmkpAbFFuM#sp9-a+G@EQ z&fsbxZh$pUhp5cpI8cmFu_c8!R|~}+a;_{bd@n`QofghSR-19gNnVFWo)v(^9+S8f z7_He6nGm81t)O_cC{bOX+;qh{iH5x9!S-{fWI>B#(;Kj^*I>g2;Pv4}(&kES8z*VV zOEgvg3`ssAB0TsV*S#M&@P#vX;p)`N)hmYP!Z?XLb=CRFpOcewmM^sL%T-PPPdDL^ z8donn9$d&gf6lz@OSws<67PyZ*H*k|k(Vuzm`hg~oE{sHB=RG> z!Y(!jn%`>0HxBs)-F=d@xh-W3NdnL71TL#IOh648N)MGgj_o=ua)Ahl_bqyPF1a=o$e3|o zwRd~L=Fi(|csES;AR&5hf2OfJ!N*tAFbjM;J;Dp8)u%bknq zZe2C^<>80|cBxxi;F@`rgI+4^p{fQZ?lTYE#S_x@t6l7w4ywbj)&NL@pa{l^ zOVs7G_dnvRt8}l+J3geKgt&AjYhq&suks;_DDH#@wI~JVbguD3xWXbfux8gmsx63v zk$Gs=dBv&mrLh0XB?FGHMM>tR+-Xn#ahQ^7_9TG{#m;Q;9(3w~evK01KO#rOUA_Is zxublY&l`JN1(U<4dWxjxgFGob!iVAnJo)ZMQ6~jx4dwfyvfV$-tfw=lRXpaBE^nod z89sW#=;mEZ(Oz23X6*Le9%W?zr4*6-`fc9;4QO}duL>)S+&$4lwydDXB8Lz2^?eI> zmBq!4>N%!iNCDl5G4Y-bhvCGRN#MCUNNsV`Gp|WFuWc${U&X^Amr-TQ?l3TyiR2Tr z^rn*Odf#USt1lWR1`daKFbAP_9=12@2g1<#qxc<#CSPeB8Mk;SezILp%9U`PrwTWd z4j72(&TGM*20=!qmPexu4){uUF%NtPEA#`!$V9qIT=OI#U4o?nWJJ0VnN2d8G+lu78|5_$P7-4%MhUk{%#u#tcypzui9*m0}g0G)j40AhW6>( zYgjr0p#)e;{>mUvwlRl_;I_&AO#guu3i4tfv*d3d91N7IbPhscE}+d}M6DGyo^4c4 z+$QL-JS TnbCm##}o1j1XGDyjZw}qeMSLdXvvp^>~Fm^Bw%zpIzS~)=0nE;tLRJ zQ!TZ8Xq#$yY+xNI_BG^mJ*6C;4`QJWRxjyu_qp-}$+io-OEKCG_&rhr8Rw{)#fOyG zkfn(T>ON!o8);hPNt_oS%+m_Vl?&$MsS50A>8$gyGjxvaPq!s-w&+TE`!~yicX8a` za-V14Wr~Qf``#^KI$ig%>x0k;9Ji}j=hBC8{9RI@f-4Ei-0k`x`h4pp@C^OxV&=(E zFM5F+3qa`YP{X-zEYWJkZpAdQul!7*L5a=GU zrREf>9E#G%!nS}i@W#{{R284y7pwE({YDkZW9meU&O-fWb8r4$6fCdN&mK;gE;@!` zcC~LyM*5AeW^$?y&g2UAlB57XOn#O}JsSGEY6yN9MhcUBvKffukB*D8YTJ1kmj=G# zS5C^wxyee{QNX79CRJ#k+u}R}M1nRP91cCOSphm>hyhM+X^qNBT<6EP#7Y!&HtBqH zU3OV@-3OK@gEQ7fo;AyW{b7DU=d3}bBYqh}qn5XOlUsa5$3{_5is!fR2uah2J2V|H z=`x|4c>&c;Qf=(awP`j}n|h^={wM_^|HIWHx@V%97Eu|e2@qe6I;kbOx;KUayNpZvIm_1~q`hg)FN^zo_ zv?^_`C%k*KjNJcVsKU6fIv!o1vpSWTj4(&ei1H8_L!>Fl&Ll$HQ=APDy$Es^+gBHOa-_J zi4Aslb|11f^XB@Y*!y65l)Ht_5`HHwaSKh*L~;PlJ7xKXD#NOsdZ;O6FN`0}mT8%I zg1G^|zTt~~B-Sn4aHK$LZU7|p?~2C*ZAe4L_!;8LP>%BCnL>s7fr}IeP^TGpSc*6+ z02PyENlb#OJ8p|2ALH|f0Ev@_lTi8>_vfAn5a@{0AGrLZB0NV?D3VJ&%uZDh4C&2L zXYPt?6jHd&(Sx40BY+VqVr`nMOQ$wOrXOJnqCsw7@o4)lgD}bJ915a4zTNRme`##^ z!MZ~Guj}!lHVnM=ph$CMnuP=>JlH+wa>69h1}PJn5r~cmb5M;6P8O@khvEvMJ1bsX zni*J$COl(gWzICpq8mg@NBj>cf2 z>!fREt|ji2Z$NOsiRSj+U@|ScPS)}idB8>tK9hcQ_T;_iBTs&>d+>)TwHG0Xhrc+Yf*z>CHuvyRU{YUsTx$j1csixOR}F5X z-Ne)vSQo@<_-7m=xES?@Hb~ZODXY~9A&ViEeDclN(6Y6-Q9*rXjlmdCW@k;!TMyb} zF1yYYdX+(7p1=O3A*DfwvDgWBk|K9 zvqhg>cVr%I{^~La6odVe*_MPn@NxYib-FPg2sQI?jA*oCcGX|5jc^P&aW9D!eeiDA z`g3!*dJ{99J$IgLJMrlZ?@AMeU~e(U41(*((enwS5t?GTwClgYyPY8+Pi zA)>LNcrZQL@-@$mcqgWzBCqPXMM0wN7GqzMv(B!ZLT3vkuE~2^CE=@6$Lj+yYvQIT zkOu;zS^Q{ngZQVg7dW>0$UYG^2Z(+0Orib8GrQs$mdyt?aTY{bBGK0*(j+vp7lfH# z;5prRk@WuX(iDs5FKwmYXBqWc)lt|`c=th8JWK*8%mAOFdw06yJEwfJiN`A3+^yTe zZrI1g>3Fv*&3fg>E+r-$bB^%#sbgy1_%sPOyQiEjGYTU73r_!~R@Be}`+aXwB6{jg zC?YH)RyDha#o{$aBEN$l6LKA=`++3_W}wf|%{Y!v^gS>#*+UNw=?@}Nj%hebqSij# z0JIE^z|6rm;zmUo7a>{f(1zysw`ZdY$ol&FYEs=VFa=Ge#chz>NrZ%M+fN81y(zYM zDRCrql*=(ffEci;)+eRCI8rtXW$X*(>+MdLct>gHo=v zfgwpD)gB`DUn3FD%cITp;Y_MTWI#(mF=&|>x2PZ9MaoaPdT(a#YGT--#*a*s`M+p! zr$DjzVQi_m_%H|2LX4^7rZ(+vtN>&~4@CupNx;Ojw8H2u2k_^F3=1#QxIbrDOdTgn zx66@4M>0EtRCzR`z@c?EiBx;#;6y*ix2(@eHPa-@EB2yWKhJUwjLO=w208_5o=w+! zfJCks>rc4c0I6gq>ScRdxNo}$Zie>F{s9+GI*0?N?7jXYDR~{hatxwdkp*+mVc|=q zg&iB9QUE+ZN2})f;}Mnd0}E3J11#yHU~vO}znzqUCr`RutVU~Tsz0l9Ty(iSq9T;* zuRfRj15bYwkVEjG|9~StV{DLw#i7k?Gooh(mNu#y1&#gFYC*jlKa~@%D&rSVEcK$Y z6Q0t^gtPlc!vkexF+1c4tB+=PUsm55`dzUqmSx-th6LJ_y;w!s^X;%;7mAPsB+hUV!FWgk7FPL z9X9|9%J*c^e=nV!QB_=#I$u0H>z&5U0VE~rcw_yGq+~JpA9&p$0YG(~JTpd}Uy%xM z;Y9w#UUcDmBv`wnJ6Ak`E9CbOmpOqWt;O0PDcRw;hucXGfv|;#`Ad7d=I=0evhQl; zdT=au30H_@Gbp?FQIY8b>a^82G0EJ^m#IrJi?ORZ^4OlluHeqy5)EC?#linJQoFeT zH+?VKkTb}PCH?iG8u7X4#t#sOJ5ol5njc{v_$^N_=BVy!55lm(OUvsG#k53}Rr+LK z9hEapAKA*drIN2#%tB!%(h(81P{9+=-u*Eax5)p2lA`6)h=eK^%_{#Kle5cCi&ac8 zB0eL33}d9o*oTzeiTZT)X*M#LS7yf#_&<30sG{WX- z`sq_9=5;VN)Bdj6X0hS@_&BMyC1{D_v6TahU3^%6%thS#V*+@jW%e1! zdw@>DQGWeVGjrFyjQehe8qMk`n<5(9w<$RTHhZG>P?<;hNoNnABAs1?o~~)4{Orh4 z+%_a`mTl!+9UsklQ~Szc9?y^Z8QGX7ZvR154(PZ{@(+8{EIkt|E6;UEK8t0a=Gl9> zOuVAiyO7-<6=jT9|XbZI^_zha4r$c_5a&6e@ z)#0%vf4wGY0Vrnk+r8u;O9h5R-%)lnFi*}!y?>Pu(ix8`#UrA|ey6{_a|-3~dx`8T zXMB800gjn1EE67MPa0@__6>A|&ii`v11KgP&OZL34wH5!bDXf>qXe$hH zYVdNd58Abl9+PlIdzHsHIk*w->nVC|Kpg%8Km$vV@kcnwaN>Ja^Bwfq4_>=og`f{` zfs!dsxHAFuFhHGhJ7_HFjSp{u_p`^9(#Ph0jSU=esE9zp?X2$v=u3HMlukIDu;959 z3q+z^iu9sQrf*ga6m7VLvP3VvGSzOqOG)+eOdYC&d z%t;T)E{?ur z%XE9+NUZNE%JMPUFzPE^x{Bqht(_)t6H1(O1*@oX4uQR8H#gSntx9%^)gI?q{j7-H zVd|x(6sj%o#G*T*)Cf~GBU%wIjV*0V#st`1#kPxjc+5PtV2M>hb#e&BA3JBG)~8OV z&$lg;WHR|^$XQVQHLCEf3l+AN{%(nljEL!uR4xOQdU7SX+-xi*iB<)yXSB_?5t3@& zDh~Wf3oR6*$02|rp6lk*&8|Huelxwtnh3+#;E;AY?8;lm&NE|8dXhGMq{2eY(uHXU zO@mc}nk$&BF8aer>y2BYV+c(=k#_G{?mLG(Xy}GAYza$9{E2ps%8&vp-ZMxWoI`gL z5OkJV_YClETYwpo973uCJatEYl2Mj@5a*~eQEpM|^Q}ffDPsVZ+9}W7F$EIZqLgq- zyr3p@)*t4iNWZ#pKt{M4E!4X{WUZZ{i>1Pr9i4WDB&FS$ke6P%KnbQ*_A@W^t)cm? zb)lj0U-^I8o0Uii=*k@2$f*8^gqSzM|MDd%l0nvU{oXLNlIE1edwu$O@c(ip1i=n~ z<4%?I%0~y@zX{O;4Ty1x+nx%$s;G}XSpQNY$b`WMv($~Qir8=Ko8>q@nfgNiY5C6! z*8hY2`u``iLGy|c=n#by>hf~mLiV9{|1Xsk1F;3YvJ&|I`uk*{8ulh=OO5S8Bv2i$ zJNdu&XE7wUEh7nB#zx`@`I$i6j+-@GiC>zYYBt(aB;qn3b-ldI9$)?1dum=z+u&+M zA96N&LnKg)pW97*EIZyxhp@pfEv$gH^fM!wm%Jfp=-2cEtzPI5f@Ov;p-nFT^uo9f zjmLU2jS-s-&V~R6m+$UjgWwNYYed`&KBVYHFL?K!GSB9sGP2;r0qsF(ZdO3I?lCXY z2at}koSw3UA8tElL{N8$7Bj4`m506gFCmx&_=yJ{Gr&4ZAP(OxIFaCsihQrglKaQB zz18ws4>kBKJKPNit*p|)X8u+N7;^KA@m@$*6#7>x7;2~M->J^>;oW58i%_Jo+Z8%>}nJA7UIyy0aT}S!JYDg#OBKd7;C(E}+uy0Q$Y8h~^Bg~_)drR49rJ&rSKY01H)ARmc z+r|GQ9-yn*iVcT&Ysj^HXuW_tkD{t0O0$HS{k&FS6 zzh_7S@@V2IHGHn)qvw4&q#wm^WhuTUSQFDK--jOdel;m`F^B%Ee}9s`$jH+kojK_@ z@}qC)h(SpE{r_2|#%?eVHiQwRZ;ii>b4JI4FB?aQ&xp)Crq}*8#tt!v;(~k*Lbv`I z%#+ie9uBL11D=0-R0e=t!dyw^Sn1R4KQ%7RX6#QZdEBTK;P zas*6hu=QQmqI=FjNd07I{}jC-P@~sq>zV-VlwxBktx#&V04HxTEe3-$p<&Y;0o=hZ1wSs*Bj6Y zkMA!7oDES^%u?SJFI({RQC*L{P|y5>!dBO`SU`NdR0DSxXblKoP^6c}+VIl<9-bqi zrYKijI`1^4Ht<(OSP4f*ABUpEP99=rrUZg-kYoGj(yDbi&mc=P7EnBc-^t#Bj|A!| zJqkWd=65reIJK53p2aTgC5;Gp@J{i8gUF2)phycC8Lj<&f;vFYdRT}`g9A?9n&6u|4W z2@8vQF1>^ zJI;By|bM|1TwjE_;ODR@(< zhrrD%s0b<8$K#LB@8rdCq5IQLJ`tDiE7#BQeYZ;Jyu8WZWW064p2|l;L%J}YiaNIL zW|i+#Qw=*}g-}qL@ZcSEAMHzT-l+LI&BZ5xIKS>uTl>}g6+*YU@=-pJ)KHL37|QAq z1x%rmpRI^JH6ovXBHB}UU3Tz!bY^o7a)Z@0`oUA+Q~px=+sKb5A{87Or23M$>Dh)p zqMq!c?n6tj$l})Yu5v6S7pI<@{U|T#q7RKA62c(eVch!5Qp*DQXb8G64kOPTM*5+; z&$5*Kb3TnZ8WGm@5?0+dQ->k;tCr&%-)h)?|JJ_qt`;(V_MR36YsHL8nGCvOd;Rzu{7@DaSh?fR*Hs?dN}t}xlWaL7$v!(}$bPk5=veTD!%7WMX zOGAOMigM`bqgfO(YTn-}&{+3{=;@#ZQ-#N)sHRo>c*N|6sp}QVUuYv^7k?aHORqc-;*#X?@xL5Ap=@Ow@l`szqi8_B2+n<1#yV16vC>b$f#Dam`@nk{aPdj~y!!gR z8$EP#i{dl>4EbRy3g%mG+dhvqO487*E`8@QT~MNu7XJmpS{b+NSWB$S&twLU!Zp?7 zestLyKtN~-**Ch8J7W=&+1HZzCCNcxs)METJGRrjoOpiT z1mflQL}}=)_P(K1^p`T{^dZrr8x2&z)K2^K`>rJ)=zK$}z^<;SmJK-KCBxWtvB1lQA-ppokLj;2w;N-qlDK1!*d}K9If*i5N0}#=$C8 zxgoZES|4eqs>duuC<1KR4#&nvjvIcqEHvo@h?FL$!D-?$152eMZIJ^FDxXoUvtI^B z**budTL2P1=^dWl`CQ3cgpKEUFfcbJ>NBTRjuEW z{lkj5I=B@`J(?upE95Tny_~o(B_}xYRz{b??X*iRY0nGvd2ksA;6AF(6`a0PZI+;s zIks|B4`?EbziGt>{FOB_NTlxO^)IwlEsxCd*_bhnT>+A4m*ulIHh=<2bnd)> zHz2H3owcK@pE{-<^;UC>f|)HONvHtJHoG`i{v7q<3q>)S)~ocaKe z7a})P5+-M5hiO0;v(tjaegqjnk-``V_3b*?{b@{0SVK(;4 zR=I%SXzmDnw8;m2n7b;O0$wZg;^u5eeSt;oR2;0moJ??etV@WKs!eU`!nhfTV)iwsZ@n{ z!Myj6vMM!Kes05u<9O0Xd8c1c-EehKcX+S;61U)qqCzX7z6H7fDfGPdgenxHKWXVt zzw1oaGFtyANteu`rVDNUvf`pepE0dKr%0oHtJ-WHzgvZAO*sjy(!O$Q6_3A^3%Wc+|M1C+{A=%w(vuu#mQRx6Jd%#_+F+jgFE4Q@Y4Js;E>h0+rA&jViwvEC^3(>fdrqy1;O{Z3yZ^&u#ne2!yrV3z41+Xh)Q^~1s+UBh3QXqs zVIpbw11lD2?mLMi*z+O* z{Qj6DL)N_tOyToe!9)d#Hy9rS759#3=r`Fk0QuO)aO#x`dv>hAo6woD;_(bc>#APU zbqCS!nIn4lwxvb7xXM2c#gZ7g??@I}Zw`wU=;de}c+^C*g)h@erwFuJGIXmTtA|0G zB4fIT)Bav6Zvh(O*jZ_sl{38oShZ=~`VO=yk1)6tE$}fM&6by!hOv%TiJieB+KKYv zH<-)?Mp{_lpgVQCH9Kw6O;QC)H9qW*&ZItXW4o+?9me)w4C}>^3&qAy5j%3WzaL9N z1rUB9FeyTP@8EG)fZjWR(HVaV3pFeVm1x_ zqD@+%gTATI6KK;Dq>c53l*_Ken({g+NOBpoh7tA5*iH7EY63Aj?yXkt&C&1=>5fq2 z8kZ|v5y!W3z!ux{Md$lKd1+32z3E`gU*DXm>COIFl69_VqHM3br{Bknvz3~(huvH4LWejH@aj>avK+!*@+LrHvQjiB#P z!3HGwJOt;5<9|5lXE2k{=_CL6s41fVfau}hK~OS;enSv$)k!77Tc^4PO=tH!G|*;j z^4{jhgk?+ISP$QiQk)L_w-~yO3h>x#ErWz#{h@Jtj!527Fj3L)2c4oC| zH9u9Bm4@Ccrm6+*b5INExs2wDAzNsK4B5U}mq{sl?2S5l`fu3nKK;PB+w8$gjA47? zsoe;D;Dd1OZ}2dsKIUcqW~rOrzNv1BrvBv^6}lpzu!rT(X3+-j7H;X%ba^eDs14eK z!)!e|+E9gIOl7b1#o%5AUFpvaSj20a-d2Tq5+Nl@mys-0y~4;)chhc)>Zt>3B`;Fq z=AYu;m6C^;HX`Poy28k6yRR`Yv_yFUxcuL~3WMoH_OY;-Q8 zy1jy0PdR8pZI&*h1r7bfKsD$e3a38(d!(tBz z)Z=T{Wvj7A3lttrgM>eofO6=sY$Mz~VID4d3P)Un+-a#gW z0v4G3p~vMh0ow{(NF;>@g4bes9lx{5h@%r-*roTK+lb+=>&#W4bvayHxMcOh0>G^H zRrJlpwEs$y5GU}rMB@Gv#=AkmoZmd8`=132tsV}tKNbA#^0-&VIIkcTJ-2UEYM-L~ zPeie^zz=R0VNE{27Ka>^XS`+)g`G`||XeC@3^k`oKI<

%;%?0 zM3xun9vo;bRQ3D@M+E$qpkW-_HVjqRKFM-61m@ymz|%kb;(KV+1`{|GkoGpoYq3V+ zIufpgcg%<{S)*ZW@ABb38`d0or6(kttrSH_qgQFK%1f`b)b0r%KbT4y;KCj?a0N`O zAjzUp5wbEx4jk$K6py^Jhw5P(eC2y?K;}-rVUXWjI2(;b|N8?o=I<3Y39*cCbC+r! z$3zQT@iu7MW)?p2))MX}XgFzG=q#QK-poMv^;7L#q91{_%Dux)7$=UCvkLY74QwC$ z4OrHi$gg|?SX_`kyUIqMR7@7(gI`J51^em*Ej}5kf-r2UZhZCFq z=ho;*9{>XQ3bjN*kb`wHUs!HXX@_bP-a!c;LsD+9Bw&!Njv)Yb9hJ{g+pi2U z3bb>X6i4hqL`c*ymi#X6hR+egh}^31h>Mg(Wd7vx7<*MPepm#Q&!4W}5FCz@prmdtiLIvW&*?_xup#hc)R>& ziW|zv`O+w$SmQbpb*oerhs_k!+%88-_S8<3bB1L-Wm(tI5WuHxyc%E5=+aFC`PQA- z^gV(UR{JBP4-O1o#kdkF_j76|MSM9fVF0VAz{E>fjHUMDnINHUUpukuyE@vka zUN#vVe*{sf#0XxWPW$U7ccONCjTa&+enDf@mT9cwsy5d}qj!K$w=os^DY?J3Qyu2o zeg??bt(;&1a>60?c7!kz>Q`P*fWq}1dT#X7Md&jkXJJcq{L7p(Hzf)LB7jNEKx(r! zlpt}Ik{H_-=?-=rt>ameTfP9Ek|4!O#@VfUpK%w2tjTh{tjTT^MGf3iBA>eDp%TPpyr>d*hrs!EgT>6W|ZSFSIcN!Y1PTxqO zC?r{YLWUws%%?5J4;J4;bWKwf5R^S3EHj8^YVjT)&K40oImNuH>Wk|LCfQ0twv`Lq zZMdSOfwO(}urlKMZDj>k4kpC})8XUDqMmBfn%6EV+0>OK24O{NV%;=@9F{y2i$mjZ3*6v>>o{K1lY3< zx!j_Qiwao?@e~V__XEotNB)q@R30=qbg)T@6$M+f1Do}9K*bQM{@}ngZ@5^c5SVjw zJpglVr3vc8c6*WuClvDIS!F{Jfiz%j7D3j79n8sH$^LC3nMymDESLaC78NPV6IKwy z+C;n=BC^`RHN{j)V7P!Z)O%B4m|&1jXLv>@MjYHiDuGuN%=!(!9*Qa zxeM=KVPsC@!MidJX6UB#oWYcXnoPxf^EKsg^g)O||k&(=Wy%kMFRPwp)z*Enc) znnR*l1)2FLOCJMB(5XpIs&MB_qyO_fxjj2<0WfR16PDNi#5ezW<7Du;^il8dLc5JEtSJY5Oi?+$koI;d_@Y=T68%vwht9to01!dkmlC?hWz{cF`q?WlNGXK<-z6x4l8qf;VTX@NNlYf94fUGS~d0c zPPp5Lclhr5YsE7u{Rx7Mv+h=hi{`8Y%qo__$tCD<##B5cvB20TpUn1AAor+Rb+K;? zZmWs$JP*m;NUMPR|H!UFQE5spr&@Nmz4jqhU|%8~C2{Ef`+bwJW>}&p$BI|VkJ_iY z$HV*InR&8j_tP9M+(|m-e5^ySpvTuT@m~cg7!VzO1=kaSCbhR!X+B?Zj3oNmeJ;K9 zbDj&FBLB>x>NO+@F;t4Ev0!i9{ygX9xB4m<#HgdQ)g0nm5_3X-qM*8@9Ihe?ALPHM z$U$2;#GBN_OIw*Z2>#hC%+YuxT$ft1xyzPBU!FSiwR`l!duNR3VZ_={epaw<*CT9& zcrAkfPw|B#apBK-Lm4Bd0Fs{-^f8DDQIIJ2>;_EPbLwi0V2{+`fg51`4`aAC4Zk+A z3ZbnkePtz$OO=W%vW$7qp%#W8VgJvFHt??jhL+ShXcD=FJ9)cR7Mg!2ij5OYEz~oC ztLNI7uHaJe>b?zLUE^+drC!7?!17w`b$$ttNwq0)6C{r(^wASq;r9#D^V8Vg>G@fG zJ-SV&)=Kq#sD*k$4lj66%jmWWDN2y0>3v0bVv1Xdd1B|CA1c>5kl^Lou-9jAn+{`x zPQ{SgCsxl-o|KzY!Q+052NfvQR2gC4Vzn@~&%U+yd2>(Z`jqSU? zEArd(MeU{lgUPMQBk|y?8Y?3E1q#aTm)GzwB{OiPm}agZ{nuN(!go zhwoy%AIsl0wh<}b9KS_M1MNwPEiIV`nlE>1d+eJ zr;ERqslR9nP4J+UFcOfUo`%1(KfX^Qm>~5uJLK+|jazTFQBTO?!Hh-5zop9m`Xly9 z-f;2}0p!`E!Uh6j z+J{#yeJ`i6Ts}JRhxG$&*FaHa?j^o{1GmbjxQp*1RNDlmL6^*8d3U`{gU&rZ*_zu+ z`&~Dj9G;i7ZSSfPE3`R-fPnGaNGune;98j%@#q&$`1biQk=F0Kg+Y|dkZK0>R&)l( zKTXlBxN?)jRU)7PBFNQmB{(o8fneto!X;#-y&QjiXy}T5v;_2MxqFfs8a4dN9H?Zw z>@us4zON0im1&vdVPOX?__w~Yxh1){EgFsn`eE1iJnD2jZVn>;8GV7Tk?s{D4|C&iKMV$@cWqrgfdH zlb1<>cR$=une5|4`ja@e2NMZOy@(O5QGFmvP@b*~i=+at*pna&ttK>dY#ftbaKj!DwkQ8~!}YI2898!lX| zLZr^W7BSJ1a}#V(h_qoycU=|rqVQE|mMU^@!B|x^n+*U0-j7L~s%J>T^JirAZlXBg zeUF-Ux?W2pju$~y2m&_lj{f)1zsE>$VD_JMw8*lkRFI+GkC@`(%QcXovRP*oJd1uY zY*5<(UAY&Zy>~+1s%Y7_(&nt^FNu%OP8(SEL=S4RsXJQ@6^wa`WFSRgmuGfKvb?W{ zC(j~r{@#88p50MosXza|DgMT5C)|?X{8rz?*FZu9Ol=h!jet<<3G}h-^>K1Dp~_}n ze&w8$L`N~I&n+)s9VR(`X-ueD=hnKGp^WB=iR_~p-h&|NAHNQNkcU> zHtb7;cl~id-s~O?!FMX`cAVb=Z){za2=%9z+eCcPZz7~KeK6-sC^ z(e7%_d`lo(WQYWReONaNz8s4PxlVd6W>OjvSl)>KopzoLg-lK`X=W3|0rBb4#;H3V ze+0YV=sOYiOGjLqWfe)*m%}6`K*)h%Tv>Kkt|n%%#Gb;w;6hR16)T2uq=>o6Nc018 z#C_RjaZ3iRrGEG-h~3|kh$iM)^7L=1y@8|B++X(3M_>SdoQ>3ZRU@E0vX!kg(Kvqb zoRnAZtud{lTX2W>++Ew@3&N>Y!&6a{`_C43_$%d0gDJJON#((>DnwDepiP$kOx7=S z_bKEJ9-`P2M`AI|Ju1ZQHVAk>-r#Vr8F4(_pyoX^T>09qEHya+?neD6)g_yNd{~fw zv=lvq%(!0%y;d6_pihYJxU7)T4AbFt4>#MH;7#_+;u-<&6;+x7I=`bbbm_hawGE|Vho zy3MvzQ+jiH7nmj+v<>*dn&An+V}~p*RItgJ(0)qhgqjba(|q)!yefqx2gf=%ZUShG zF@y46%0WI`bQBXhd5%HKB_B^5YzdK*hkcp#++(*qkf*s7JK?|v#J6SEPD|{Vw5PI_ z6Z}S6b2PwAgC|BGvM6reiGx{QqblXM@=YideS_e>aCQX_1&J-T;6CTo`ECabGZyXX zT@j2EI4=bj7c8M-GYX`h471s0dm)Jw>-=tfC-7~XGaObwILsdn>AY3za%&}JI+$d* zrPSA(@4Uv9#I0JVsB9RtnI$u5hP!8KXYW!VL3MnED>iFl9aZ5gFPU0xH)6JT-qhEX zOiB1UW(Jr>My9&;dxmfX3lj>G5k~yvSr=KOWQSs;!0S-M+<1mkpZ%6N<=!u77{UnT zOR_oRo+Z>_p@}{VrqaTwU~#f&mK@#kS;y>c0&OFnTE;pkF3k?TL1QZcRyAI4B^?Ya z4ocI6YWp2c-%Ih3XWdfcn&D-nGLvV?+DJJqaofY1D7x=5SJ%pUn-#Fn*rK^)L>*O- zz=EyB@9}>Pe9HtUY3}l`d1v<0{$OZ(x|KZjOnvxq3d3XV4OS#_wht`XG=tCy3RJ;n zls!VZXU4cACrwyj;vGuU8S=0k4uay&WY2B`gUq?7B0|I)nM(?ds6wTPvN=IPDp>VM z-1tf*{_956-2Lm_lK?Ytq7;E_ng(Z#E@)M1` zW2A&OH>#qI#W{h;MO75=yMP^|#fNioL_sR$-k#T|S4sFQ>#TG@6eg^+ew*)VUMqDPP^uzqv&hEl ze?Fu?Qll`8-f&=>(DAh6y;(M(AwZOrBw$=})qf$1r2zt;0M2H zFv!4xwsnCo=LntNml-?s{~_dxc8^XiQvP+>xdfLk3`d`Sd7d?p8B~feSpGv62`BvP z9BS^XGgv^*4~ld6e~376?{<-u+oG)*Y!i|na}Y;%x)z9o71Kk??Wgc0o!ZP_Dsez5 zbXIWlnJK}-_D6a#0fM3y{43J6)$GwRiN6qL)XL1L-vW4G6pG~OY3wP|*c1QN z*D8u&spZBd2OhW&9p!d@Vo*NP+{pvQsSV%})Mfr%woM)H75xDmIfSdlrclDRtV z8TN!1yGC)z<6e{{P^mK`G(y*AAaYtmsFb5Di_8Ya17?^Niyw#B)N4A|wbm6C z)pm+(>N@6L4N13D`2jyE3TMHS(tPIQiwC@%s&dJ}G1$CvQ5gCwYT2Z8!e;ol7xo#( z^!CD_C>HKynPKcxHx5Ehh^Y!xdqCuf8PqfEaU97@V5NpUUU*(qc;f|@lxNz)ETd0J zdd*>oX!hTl=sD`~gBiyfb*{i33e${=(jx-PMAm^L>-?J?!K-ABe&487KMBm(QUAkC z(dTl&lh$bCiNwSP=sjY$azXZb!KwT98c_l7aGhF3=zNYc#|vl&9KJD>=GP-79)0}P zHyC0gm@$KyvPW{`M3X;C4eP;er9}4bEGiq;%|aNP>K+|_#jz(e=pIKEe}a#bkvVkt zN@2jc`ok=5i#kq$L9{(APVL)W6V072W$DqriR1EOyX(ncI(9r3%*lr1g|;T4CgQ&< zk+K0c;1|60Svcw>uigMA*8<>eTjDPb&DWV;{9<1O>GYiUmw%A*Dt=a+g5v@*eE%8? zQA8W^y0((wrjrvp19D*JLQlWt)xgcSQA1-m8H8q#E#CU%)QziTgE4`$@EOgQ@m?(bHs8dCsuIx)upA;t$?2#$`cw)VB+#=67Ga=#VdGa@*57IO*bZgNxHe`P_ zqrg|=+;5iu*}1I*Ic^_+|8216r+tXmJg80*w{t_?94$#-uZ0GB1k=YMh*{Fd;NvQ&X|*QD3k8W{5| z4po?OgXi!yNLi9bjn|)*M}Z5wzkC{}Or^{U^%K}WC7?iM{6GYTmXuP$;i?}mw{anZ zF26+NBC|-c%z=#j-R9IG`K?xRQ{69uKZD&t5UN@U<}%!0g1Rzi)eG8VhMq_wT&}_O z8PPJrq{VUHNih#!LY4FBz3&6;Wm-ZOLEefOeKT^GT{tg^eSEOLQtgdS0r|*xO$T88 z>aYyvp7D`;z#+{pwwxKNutku=1uRA<`4tyNE@^x>=1~L=926knYet6Tz0@pbcS$!} z>6jL5aiL$H!iiBG3OLirns+ARvyQ4l4+wM$R(n5HnrlN&;4%}GAE|dcHImL-oNBGR z--e`r9hEs| zXn4!eCol(TRoX@a(q&=eU8jN=OVuvzTR~h3d}N^BGg8Mkspkp=$F*t3IOvPq@8LH{ zhMYc!G>95Azf$}b+;qtHXIIaQtLYI5mLHo*5>2)$-TTxewNOUBQ+L*Kj0`TMrH$}N zZHGlSI1G=|BrS%@g)~JucNg7y0*V zBTtY+TwkUHwJ`{1Qv=q0a0|gHC;)V(01XJt4g@1m?aiZ@U|97C++qZ%@@y@wAYr)Y z2H?@oo)Dr2b%o$Fe%pYAd1e+MGv?%*gtvD18+OF0-N0HEg3EcBCcn`Ey6)Cugt+k4 zaFB}XiosdQh)(KldD?t9KUa&F$~CU=%yu8dm!04bii?&wiu_l7$nzg}iR>(iz|$qm zg3}BO5~q#iwnlDw)}Z8?y2ZY*+6E@E^BhWs0NK39Y&K&u#!eFsfN^z$rv5WYo1EZG z+yHVZ|F7pp{w(j+?Prv?x-)_hlU?VTg4%o&{jP zSg;htB{h!wA5({9WB&NSk}bs=RUEVLiT@~1GWn5ec~Mpj_mJI!r&(iz{scYLw;b6& zVM49DD6!XnHbh5LdSt%Y9ZqoBDicX+xII(Sz^IT2(_O%f%m~5{VmjFr1}P$fPQnW5k#^O)d3=yG))FT$tM3dc7+qB%@*!& zA?M1J;}{kA@{>GOuA4mHWVS^X=~K`z+UzV$==a9!8>sjA&%Rhecfg}ccG^m0-wRuA zG{5!SB=f)_Fy)OkikI&D%<5XCH;fb4t63b z^-tjs+_s#%uBNR%I7vIN(@I)n8fvx~%A3msbV5wzx=NDSDOUbVf;7bfmI>LSn+24b zG3U?Vf)?(Zg)bIYsWb%`#?MhZ;AMQ~hd?=zEBu=EZor*gW^a{AR}UOfFFofcT}s|E zRidea%TGBZrd|6mBRhXt`gStr)^cIqpL$%KURMIe|G@5JAb`vYeO;d&0%-D7&rdfI z4xs*#WWdY}lO{^!n&Da{VS)hc-TXI;?+uh6s~O|yHeyC3*r`N4IQ^T)AbbHl`~jf* zdB86kD%VYIiysj7?+lm+0dQTi*W;e1zyhXVBhbGqukVuib9GgX<}DzqehcB4!4{ua z{lJs`&qRzEh)fq|n5waHvpS~UI*sI(lYjr$OE>XliJ*c1ufZl>r92~~an_LBJM7sG z@5XnGf`$48M=iola%jNs8wbx`{v{r!%6~rM|9i5-zY;C}KltkMCUfwhdF!PhqPnWM zK@Lg%M@G&6Bp(^&pl{MCc&C}BiodoFwmFTZX3mov*n>7#mxk_tvkbZ5_r900Tz*aY zucmexp|>vhg59vGkXL{G&yItHEso$VF6_X*a#KS+L&FX3$K6D(zng$Pa|jcJhV)_R zlNbDmdg(0blaso?PkhHtcCW|#^&ED<|EmzUONgQ%EDTu->9OCbZ;5^+x-vMEi{s^l zAeat*>^u3Fin!DcYB=*q=m~1MOnwgL2fP1DsWS2gdiw`lf=lju{1VHH5m~!Px6Em) zx1K542!&*)Ls1ZcyB0z(K+O-3 zV4C>9%ku3=7;y#7fom61Eb-JS_IAS&S3z&uA)63=28>L^9KMb5|A_bali~0VMxr+} zynj(ljn6Ld0ApGCJ;H>cD}h2N69yl@7%2EU!fZ}Nh9g&o#)4as?$r`~xPg;X&epY4 zDfgn%`Y!V*z@#TcC41sW_&=Tck8HDm2r>s}KqVZZi!#*#gw)oonvw=wfJS(`5g`np zQP>-#MVC*Lv4dmVTcpPT(mT2efCig5c-jm!4`Q22EW zTEtFODyOMiJDD--(s2J#B?eSg2 z`vg>X@pfRbIo6f?6=jyEuBj9+hbn`e3F-dA>|9`N@|X{J`766^0s$%pc>gv18EIAs zeHdm;jl!32wKF$gNV;Z;(QHGjZlQhp3PDT^4{AKfhbd5l0QEob9Mfflwi&W)&l)EH z_G&j~!8B8bKwi##k~M{Ujm424)<^rVH`Ik*CSl}-b81fjt|;{!!%@Ag*~bT$$z`uO zXcSu{lMZS5(Qt}zc;=5-$}UouSfX* z)1>vUwsg^h>OdjdoQ?`L0=$44=>Pktu@V|Jdcd!dx#W(OoV07xFSDJ$Fy2#O6J=i79y`Fo>VKc%yw4&AOI8kB$u>R+E zC-M|f+<^A>u92Q=^%RplQRteQk989^)_G3t+W*y$!dOuE37Jn&?7BMwF5(bOa)#^{ z9s`DNhrl8#=YM92{;R<_Fi^G;8w~N-**v(zEkjhAqoNQi_I1H%LXBqVj1E~%!@ zI(HSknhO`msMx%xEwa1vr~Q!Bn3B*sal?1!?JPzO-@fjpiDd1XEky24{5D^6+^Dgf zDYU%Rs>G<}^8Ym=aTp5W1GxjUO!yiU27uxA0p=;cIDRca%x^4FJs$748+YR6mE(8F z8ZL%!V!WOO)I1ej)8FR}exSboZP7+ep&PHw;eWhi#!dj`MT#FJ`$m=+b|eYm)u=%F zNAel|_^a!09~hK~?4rC{yhv#NH4a{nBMs%3D^kQPE$qO>8gQ^Y5yqS`lKg>UYlO#1VvlM*CX^PHz$YbYZMJmo&ORa>tGjgYWYkF2CsSs0=Hrz-FEo&qs=j`waDvvk&rqbgk*(NUBHv{@7RpPvY>-TMu~C$XmDx$5@zFqGFlN@$-p zuc*D)s@`b0`e1LM1ysk@gP=bHsXyZM3(vr14*4RAx*I358wL*0YUdw1-j+`!2KyT{ zYHmuF`gtVmr5~u9?TCXWv9vS7Eu>HdZ43_ z(@1~9$+@wzI>P8~y;Q8Q8YhqTBT3=Z5G~rs{3rIWjUqGp#UGN_mt_e6_$~?2f}gDm zR6X}+g1bJ~+1Q%iFcSg~`=<34Q8)@5!?UB{eFi(SVl1+x@y zNiSIzf@qWX>dbw3>bV_$8K{KR`Xh^1MV&qC^$kb5lCp&Y&oBF5G(7ejkH0yg+(N%lU}{);Qni`+p~r``ZiHVFGak`Q=u7R+B)t$_U+Q37 zFc0t_YZHS|YY4ZCDdYU~Q;x|m&%fdA$oziGo0&*`2t=ER+bEUgSKTg=?;v8lyIyMLoeA*&g5F#6Td&naSsHL#3>9scKnJIl@M4dg0aNu8i4}aQC;*{)`u$B z;TU#HBXdqKPMj!Bs3$}rB7(}SQ*^~+Hgnz7@it-a; zny5{rUJRV{;kgv6Wz0!q3_BeWt-5gO(5k@|M#G_gsqABtH52~CYWvZ`kOjQ8;1Gnt zJ6XNlGaU_CWBbrGLqxkQM?|^-fMV$CLj+QAF2mIs;D_OeYlYyHL2U8^T7(uoe9D%q zMwA>6Lh{x4U>w+f?mIK*01nWBmB=&Lx&foluo(^B%hwuskO*@`B_JZJiMxO$UR zq>I*u5?&oHq}tr~vuCdZ;Vf<_rTgm`_gqfZ_~|X=Bbl;p;ajipZIY#q?!?sSVXsQ6 zxY6n7tDuAJv>V4i=4jezobs5HfUrrbWEzdlg7pbilA6!KkTw_rOZos?m#EIBRMvX*ax5pJ9zDC(mDWLmV$MorKO?+Nd}Yu@;G!_d!H zRLW^rnn4pSy%$CNE>YTZ^bFaMfON~wxQD@fH0}gHhO29g^gZvSzCpQ{!b|VU7u6J@ z>hj4II8V(#%(Glod3?;f`Oq>^k2DyySXTC!*R5Y3lzy0Lh}6F{=`|)eQbiy=#f2Rp zp=|qi@Y_tk6J8S#SlM$<`eOcgo=s|*SZV(hDQ|g~UOy}c_hlo_%PpiI#mE5v5SRWU zxmA~RL7p7+L-CLRFK1?Bor3nSla%CYp#;U3dZ9L9D9;dD5#ad(9l;gu+i@ zgrv|D>F)WludU)y1@mX`uo>@Eo!s<7DGxt|?fXBWxbRQtuT2Yn^CiqCkX5!Mp#Mk( z!u((|i~QJ0HR3lnJ2kwuG7wPhDpie&q4pY$)-_i!wR!Z+KH| zuX3Gb9Y_C*VyU;XYYs1Tc`H6 z9C<=$I=6-TaH=qzY&*8B8D$D<9ZW@|>QIy;xxhF~qpQpLrw zm;E21e|CPpj%8xG+(l)$-l;O0eT?mW+zf5<5$r*qzBUS{LZ1~eQm)x*aH=02YQ`Ya zE`@AMKQc3_X8SW~?QxDj%}iG5*$c`Q5!ix=I0-dyO@GqT4_R0dCE^Z&S+U<%$M{I` z_H(O05Ao*|R=RT!TNdb=VzM&_`@FH5jH+XL7mH7n$9q7eG6qpwiBubIi%=4x`Sa0d zio1$Go7_PZ_wS0NXWN`440c@Sh&7b=hit7Ar#}?Ml{e&VX-$_lGxC@! z4P*BlR-XqXe{A4FRv)yj1n&{g$gFY6%B`csp~Yw4T;yN9vYA{mCwrU zr6?UfHOEdDx`hAR2k^xu>OP^2ZKP=GHIrVSwfA>d#Pe^rIJgx7;81}F^NG}hZiHp# zb8X6rA2=6bxT?@CrTK%gxv=F|K`XOprdTfTGh2kC^Z?P17WSc&#uZnupT#@|UWa&r zNJVKZjg6(VJOkRjKcGU9a7^G(GS;?uI`L+QR2A1SiY88lZFyE#iQMzlt^|!W8CsYV=IB@FNaQ7eabzd+hQlm!{x-9chmJ0Rp+l7@6as1d?Y5^i5|QKGt{ z_? zD>%VIlyV5T$i3&YQx>OHTXwR7<9SPtvh2s=VMMj=;6F_DOUcuwQV9vkF+8uu$6AAs ze`%<346W`=_F0_LYBoJvTws}>W~MFiW6#Zms4x`^4&1o-Wbsr2w8$P$`I5m2s4tu1 z{Rl=|bIyn_yCUZFt;AFZKH@a$Q-@t(_m3|-+P0k3;k!d2s43C-goc?yAK9aTGdk1V}qjgC0#n(cY! zu7S9H?ZUX#FU`M^j9fRkD;>mukrb}n5z5~Km8rs9(G<%-6;5cHQNJd`7Q1XuQG1*z zd4RX?$Dk^$U6lh6bA6F^g9ZaimGGf6z*nC4GWSmso;JD~(cudkblTkaa>3p2C{Q10 z?Yen^yd>r`>eZmCbkDj!i7xU;hrtlm@beAM#WkY6eN>=1!fM^tX14peQ+?OibsKoIIx?_%oJ~SJ8knrzpJ~_} zR|IfXmbt$ukDwHWYaY_xbGau$@w&c;!5vo|x{NPTtT;tT1bwoU3m{e$y7+nMqsdQm z|2!t3k4`n*(AN2hWaenU&F2DsrP!k`LB@lKxVS|(BQH94LByz~ygo4UMLyWtS3{e; zi|1p4%t}W+=I4QQMu7gZ0OFomC$a2MUZL6KfM$Xv3KQ6oA=L31uyB2{4Z37a`Lbm+ zkgUTPMKKAZe7i10pcxt@T5E+1aaXZImxpviPMl+{I!Hi1?X*3O~2B z)40dGzMr55M`67H4LC?K%NYK)H1!jMrROSA1&a;|olWob-7=0CE~Vdt=%Ux6Jg4dN z=@fPrv<0j^4vU9LT*R4zAAvyO`6S|Xog_Z1OM>MSV^7O2uYnz}!nrk{B4OH=H^0m_ zw!$a()8rwfwL3b8v{?p*mF-{{?F4Tv@@vvkUT@a|=5R}061F^z6{n9qY*w5a%p^>d zf{VFhUCJ9$bw!7WL1ch;jWj(${zAe!3Nn=2{7Q`2lyHUlqHG9~=cleGWO;!)j^7+QmvoA6{3 z!#qv5Esvp*6MM2WTFDdL(5O+^K((pTaPyp#=FK;*7`T0P>Ud#6djpCQNKFnEwnl%F z12~{X0Cg^!ztb2bToA9{&B4`Kptc=OE~C0h#)FZONZsH4b)+mx-g!O8jW&2Gegm3e z0Tj0Q?mxu|2rWLZQ^%)%bo33yoR`44pntAL&&FD%TiQRxy3iUqZ&O$nIb?jiEjHtj zzxs7^8<9(1|3@X!2`wQw3!T&!yYc-HQx`k^GOd4;)1KGH6}YoOI>Znr$@vXM6y3ih zIKoHCcqM5li>!nX$YT|)I2r|F(%mLkALES8>D}dN4VqLUWajB5AIX)i`s8sa6?t_~ z;FH7$+!@S(r`MDTxBCG-z%=&Y|&$OmLN97ht~nJp0Q&=D~5`XE=_D9AU6 z5Dh1l2Lp8uN)n#(pay@pGA2oO5e83(|LL{280Z`gT&ViOax8_#pDKu^ymNvgN^CVD zMRX4OEhTWTA^R2WNz~K#+7Zr}_hgwcIK?v)*S|zf$Wrn1S2T+nSt)s68r)eRXmGax2_D=f=prGw zy9I~f1cC&22rj{b2lwFi9iHdjTmM_{_tpzl)KYL}&Y7N>p8j>8ZVFpgJC_WHp$%Dn zEOq!Uq~jBkB4dLf_`Ng!<@oLd-5g%EI|J8`;P+bok=3OLzxJgk;jB>Lg#sM*Bw{%Q8F-0*c@WMhkw>OqGZjx#EQNrrr6-HU5_m$BZbQ%qjQ zig2@gA*f>OLuMtBHsb`$#GmmxJK)#)I`+ay_P29p;06a)0p}|G5a5TwUpG(u3_Dq! zZv_=AH&PAl&_MmJVEB^htsqW6EmI=mBvV7XQQz-r041qWx$qDbN?1XplYC(hZ!dhb zJ$+Y=b#6i;s;0Q6r9pL506eGVnt?l%FtW{nXww~K@^SjN9|79G5maU*{tL&^G%Jt} z=N-wJYbt%qsV!h?AEm^%7x!qRy?YwegZRCH#@$j3=}_%sNDz^JS_plLGRYy3K+z}w z&c7MZZ*bZo2~4gifAYY{utGUej_$q6%V0sBum&qSVEtpl1=kfxb&u~tFfevrLhJz+U2bjMeX&qV}myM27(&_$|g09;#-Ur zdTQpgIGZqJPt9?7rB{f?CJ#hlD?1`6DCqPdL@2GUY*EZYAg7x9Og6`aJT-<%%nb90Ww=HE&h3co5CuvWnB^n(Bz=!f( z39h=_k$p@`#4LBn*VyLU|zctZYvYQzQ5Ym!3MI(k9dHHx>9>)Ew zHEjNtIzAjgu`>jz#;q6NTj0yUIG3_R?9e;?hEwBEXDjx*psuJuuZ6;AK5!Z~Mau#l zGr6FRHaBu8+PO^usUiChRi-watfau(ZRc_xlm~g)xr*fKj|$~%6CHS)boqOulw`+W z*1G(f{7xGP%^^JpU+r+wo-uCGdA5dhj^=YC11%=3W z@;mzb^sG>$P|v9+RX!a*{cl0^IXQ%GVXJ`la2(m72gl7X*uVcKvX~n{U+jMIDOn8e zEBdP^dzGJOa1MHnaWGrS=vyS(^SXG27+xS+E^9AM>!cyrc|Rvhea$e?=S@LHd?5Nv zgI!|gaf*wBDnZeCAG{4^oXJt4G>XV?QoJSLWP!$8+%53(EJluQ?e*mv%99K!&`KbIzl3r$gQOM>7oAI$TgDBJ(vR<8MrD}vyT!)yJ zyBHL1kP!!=Qp)Jv!Mi5X%%NX*+2WC#Ad!o0*n3Qne-g;I4oH}6m+rY!91#iM<6364 z{@tuYaVSBtUXOZS;*Zg@rhy#tYpg?izI~E-<6)M#b}|VgjT&K#@=|RX&(~}rExm`n z^MRjucJkXG6iTD?yWHvgJs*U7;oeGd2trul^gsW zlM_oCMDhM)XSo7r5>7vVn5S`tpb0fR(1vb7XWnRU!5q5tw50bfobcu)M0Ekb)ToQ9 zm`4`$q%8GodxPZpLx0gn${FAY?_$Y>NTN5uu0Hx#Xo6tP=g>-DS=&{lt`&8)nK$uw zSyxI+Um*NE5}=+*)JC*Aed-U%JrES{aS~i5!6$a6#->}j{s)C8f}ekc4}L0>9Ntxr z&vIz5pwDFBaC!aO;nRN6+>d#U^$FL~UB5ACAdgANRr3e$nZ#g4Pn~xM{g}BO5}8D1 zDVaS%05S$UxzlFh3*v1Knqt!NSAtwn;knxfi4p8ewJkcq87)4P$y4A`) zXT#D7pVYpFn}({kRp{tG@>X0zd6T+u38QYIXsr5bMgP`&8R76A<0}g@y61rA1}xg= z=jg(>h#Vn1Cw%9l7y-@*gr5k9@|EkSuNE*)L`b>Ux_LjmsPw7kU0Z*-&kz2E+*^%1 zXtU;x+ItGDGQcp%KiB!Cmp=TMS=)sKP0yW+y`5y2_#x$^ zEUp5iBgg+COf>})8ds(9%HfcS@SEX?k%vfYI@f3;B0B6B`&O7Bc<6UWe3{f-mGD<_ z6(@mFqM}3zs?%lIa-dBK(uODs##|L!-$PcQ*AV$6x(j~GOEf-`p%c}RuO@kDW)9q0 zPZR>`(L|h!`1O)fDbZYn9RF^j5?@PSB_nrayJ6B(2I6YsrPdLB6K?8evCY9H)h`iG zLx_*U=r+R_j*0xWkh-?VULr_o!G%-ug<<#u9dcGjLd=r1LUv}~8`#ctA z;P{gV$T;DakG2a_|2bN4q?}qK@mmAZVbfXTX2vcgZLypFv93*dSaf8$Fz>@NmR5da z;XI01L?!d9szznrW$zLu*h|Sq+&9|}D0nq#4qwa5n@P48QsPbPoT|KBLh0;^k4d>8ief(jC{tr@BkJH zB>1Qe`Tf(@7q$FgHk^%KeiJgi&b3bOU6}U0HL4L_=}x@uMD^98Os44QXx>*z7P9Mo zV)S>gY>$@bRl{?XXahg@p4G%?lxjNgG-0jMw2l+SVW}Zt0O{x9< zipW;SCP%mJ(qY^^DLB(CnyZ)WzU`mBo$v8j#RgP6pbavbO0j}ud)Zr<^O9b+F&2#OtEnJ7<8^D!8Iar;(*c&ED^NueQHGgs=Ddg1JC z8uDk251ERh4Dt5($r?+1K($35uO2dUlL|Wf4wW|JGPpfX$+*UkQs89ct=M#{70QS0 zX;-1ohIT(xXDTZ>hQ@TUe;@Tm9`aVDgRS$=orH<&%3hP(R5AG|bEOQg25m$!sV=8%r z@BTu3z3ZWGi{k>-Y?f+%5pR)36~8UceQgMwz^7c=WCX5x@g{=AX0B~nHvGlmAvQ^8 zGF?3AbrQ^Vj(xP+kO+T&z5ZzIQQc_7QaM}@>ja~M?-!gDH*;3W!eu+odo=K6;EfQX zN5HmjZJdm4Ym#)IqB*$F&sr^rl9!9iWgae50C{$+s!2bIRO3?2TFDJYMOHfZuOW(} z&3;vp8fYac!glffzE*Nkv2&c0bFl$gn6_eLC~)^#hHK)`t`xrErTF83j|^e-PDV3x{F7GsQOOYl_YDW(P2Sxp6%(dU(>hHi>f*?yBa zHLg@_Ay28Y{BS@(I zNUO+%v$~^1DFozG*>eF=gIgOYli$=1bVD_2STvg31Vnyjf5^-{xR4*;GEh`rqZlb* zr?7-}dKVJeEH=6<)#C@WPaCGE@$|x^pBF+g081Aqm&)w*=khw48%Drbef?x0f!0kZ zkG~0_Tn@QjpZwM`l5`wuc2xbk+$Ea|&#L5}?J0BdA3aY^W|Hjk3`aO)x&|INUKegb zm@q{3;+S+Gk!E)bBgo!* z+En2ER}D22TQ}5CAiV)`&I;*}h5Ocf84NL_%!@-e(}#e@ol7MSAt+v>+!N(&h8l1Y zB9JkWgy>=km*{v+NG1tpnj&6_ghYhhuvqlIWNMZmW=)~_U$X0WFYdH$w^m`SOGdC>dO1@8>$!k;Yu5N;(t#5U|#5AB;|O6~yy*?X*;y zw3*S6UV6uskviUlXbbZ-8IZ3@cUF193~Gt{{Z7(DJyF>4N0~Y@XxRL%fIN2#=`yS7 zTRhLyHJHVell8lSY2m^Yk@VEaF6$51z@Tk3z(_{oER=>F?tmgJRW3bEZ*uu0=A<_S zz$I#YpvH|p7t2N$S*Xa~Z$`lURT)jwpNoN_z4e)zaB>ttjdV`yCPvds;KLG-PeMdY zKU2v0*)2y(Em;RIUg_|$z}OWwo&tK)K(k?qsw^i=I=6M~(E+Xc=Koa>rvZ~u(C z$6t|bJZy-!%;1i=%X;L%%(zrf1WRE`+Qguu%8%YPoo(f>9hBNEy}CKgPK9o%{LlOn z1i|IR`S|w0v&+s=@Uhgz4GRaItF#0tS6~VJ{>6PU7mERmnk64@gw?w>LrTn>$c~~m z3xo^ESe@>4qUl(ncL*Bj{5Aa*F0vc`oWqGo36wVfvALJPuN>7x2e9=OZlax4NQa7X z!5`6$3oI2TJC+Ag%FMXqZ`fa!A>wd$PMwBh112^d%#p(mOvePIg1l zG|{PmR7}mMxDEG#4p=@cGb7RNDIMVN2xZby99P?q6Yc+8QTRpzfN-wq%~4jpeZUQd z1JdgSCWX+~U`gR>ggpn-&-^d$VvH*q8y7BwzKq8}77vkDN`&q!pe4eeLT`bVj{n~+ z#Uk25hFcg^Qr7QJIvk6Er(vQyz54$DJ1YP4G;a7OmE?qHGLVjFEMQ#LtvVy@1kMkD zcZW9OErBN)jf}fc*(YrPGKs_p0x42}4Tzn(EkTYo- zqo8|R#g26VBf{W9WKb+QSN`*;OcVbImEkaV?w>KF1-h>S9tf}WnF@&;zCFaq^9|!h z!ukcn%J2F0i$nT*u3JOqPl1A9^!6bWAch{w{?8QyT)-l<=3tY(eH)n0S_8e@Ui@EL`3_SoZEwkIep1hgyV~$&Tx38r{`|&D zT1oXUW@#X=*s*d%hpL*~M~jsmeaZuqSFvP^gJf}p8^vPYgv(#6m%tDO>X|BjFb zP!gDv(j!g)mpy=mm*W&us)knxf_^@(KXn_YMxMtFN2;he%W*UNZ7J}%x1e9velwej z7nsbR$HpRT2e3W1jrErUOoI;h^c%)6UVm0s=$XktxIU8I&x!mBSb$=j%vGOKYH%9; zs&N40T2tGg`|dOvo+1cl623aJ_$&zaB}qrr4<6D3l_nn^C2hO@`PbL< z!sWiq4V4aDHabO{eO!cZDJhu?GXSEvVRD1a=^+Hc`=mMy?Ld#sk8-j2LXmewk0K4VCT+9G=t3Ec2ACCSoQMP$!UcW{kYYpyaJ4r7YjP9=Xy7j9%}8Ji zpK14u<+x@KL&St$zG6jefk1*fpd(rkM?eADo#jz4ZjbP&d-K2eVHmdY#d- z5!vks%AvJ?qNv#gUzV`YiYt1F7RUJHv%E3j{bF~jVd!%lr}H}!>J3J6X?i)yQsZn8 z@Yq*l_NHYCexD1zdWhYD{V+31X-?MM@0`Fn>3jjOl~>bwC{*$<-4ijfUT$pY37}d~ zEl_1tyWp4BTj5lE?I@NE+?F8!4L-5`@lVgeS>_r3Z4%g|K*O()+{UHQRH0~QuCp(Y z?k?znIo0&}8|e<2IXmyykXnG^>Siw`ro~Js5u=2cZ3&Wo*a*(y2jj(|eAHO2pu3k@ zrJ#TNtX?_z{@C#@q76@ahnSFUDrPAl@5U|E3$?YP|BzPjgq&N40JO3OcSz=Fjg-Vu zQ4^BMWQ%;^5%0s_$1V$kn{JIWkpy?nMi3x7*MA797ZIQ1c-pU{#DU@hLD55X?)azl z!5rUSWhc*p@57B9rN?^A%{{e!8**wQ3z~%CadT7OC2J_@=}RRC@3Uu(028;4IajIK zgWV$3JG|&Je@mMV$xzj-!q}xY^z`R0whx^Irk^a`efBth=!ae%-`f(mmO-x~V!sw4 zlr@S9yg-pO9`UaHegXg))8Rk46IZWt9-gO%co#&vNxo%_xjRc@)@G;~kOLIF1`>CR z!T9it%(vxZ_@4kDIZ&7Lk)%<2?Nw0#^?5BK3ez12dI}WMe1M>I8}3!1{2u!=)1geO zlU5&4-=({Goba4_yOYL&wYXKTQ`X!!8^^E!A7X+D_(>ni=KK6dhw1v-?fB#dnJyLbiDQ?)!z|N!UF> z?T_kC370S(r}g{VF41A;%ddRkq!`DS({-YkX>Ww$)605A@xJT&xb5^E`Vcp_&|XA0 z9V!FCCc);a#{7PBNeD3?uRbSZW8*cT{>D5Xke7$m=#!G*er-foqZ!ih18wx?BjS#QhM>A6Ifd4+W{D$StK0Xa&Y&WCys~2c4XfiFcP3Bew6|*-^7g zHT!U)PR->ubPXe03s$5>8f6zg}?P)un;nI!)bzW)}%z!+bh2lgE~uW zCh2T!M)f*Q82H`4gcDE;5hjfhvVq91?eVvWcp$=mN10JSF8hN@j!g?%n3{#+gJv1X zoeaJQ3jKO<3?Z~*sj|dd{32ACdx;&I6h=DD557LRqUP=s1Kov@@3|yy&73qBcYfPT z;V>RGtoKy{(JNU+%L?0sqa?SM1h^VP0d=isizGk(2;|ZyqEL}{VS5ypkN8-}JI;k@ zs4iF3n&3Qq6w>!#MqK-sS7^;UL`&{tq9n%G7l)?`sahd7d?z0WXAio*GI%*~1F=K8 zj;E`HDSm#`sIMqL7udUIcf&2nn|Y7~61|i6BAg4FhSx4vf7? z@q3Kqd2VNzdD;t;QN3xnQ6lxtpsNUtA||9?3AKU}v_kOgr}xW~Kd7~QVZX);IQ$h# zASmxqacjvm>z7ZHa818@asjT{=V(sS<=!q;0ZXcU929;We3D;S-G~RXgU1{#^w(VR zU1RZHVlc^HaQu99eE3yxBYo*11m)~}m~a*w2pJAn+}i!~+iE!?=c?YG8da{hk~L=I z#mT4OszQ>~#}Z0iu(qc?4ov`w>WfSg$4?hwz(d zheghA6d)J;lmlj4=qhGw}WeaO_nDks^ znR!WAN@?JNKPosSoemzaM+d0pcI*$W0r>YX;BHAuh^p0S)O02-W~Iy4Q@vl6gI;t1 zj{J^@Moe3eK6S&lFglDbqN=rFw#HsT$4NYr3o$j8dCQL&BO+rKvksm8zDiv2YZfUB z02l*!sLCXBl!1-T%Mf1yWRwg>FVhBTbC3DdKtS-Pj&j+B_mPT7KzNo$2K`m1=-FcM za}fMu*YTa0TpPTt{Yo^H)HWQmRTMJ@S#io*gW|B;4>-5l$XuNQ!N;y4Zx1ASmH1Wy z6}{uPvq;5igLpvxDH?OsCmcna8>`S9T*oL`@NV|nch1n9dCqKO3bZ>?AeQGZ^7Sy< zN41Vwc%n)jDK|g3@2D=iH-`xYQ(^HbZR`@?(HFxJ+^}c+z%KhCM`#P}B?xCH<@Sr+ zCRL+F=i)jZ+cUj16RiWljV(-=&Ys`NZ-YGzcUME_sI#?O))|1eF^$VMHL^5SF}mo5 zXR8UDaX;q<2JrLb-Y8(Rm1G;61#Q&VhGtuY zxb^_u*7=5tB9SQTfW+Q$Yi{`)3PFU6K;BC9LNZ=p7Z&5a_>rC7^z&0o ze{<2${XyO6AJ{0~Gm5(=j5@!q8wnhDuod;+Zi9o_s1MbI3YB`{7V~LzJ80nfTa@efYaJD)URaEpkWAm9psS6_*ohOTS0applqWTjo!EF_8_6}tIB-l z%=4in36V8t{662M-)C`3A`NkIZSsR~MKhKi;C{1jYz^&5*_Wrh(}5`{NOf4%OQ1&P zob`3_U6=J@tYk*UO_4q??p_(9ZMJm?Ot}4Z`pw&+^SnTSfBv;Lknk~!EXB9Db;Ng&zG>{ij^%O74yOupD#hZ!Oc-6o)!lyLWhx+NF4MFH~J%+Qf(focx4f4U~a9-VFNiTYFOFjLpTZDKHmBwB%wm=@>)}H@!ro;deZty5AXWsp@G42C(=KjjZR8wy~g^z zU2OI8oXUHg@d?)t;%QDfaj}~sO9%W|tPRO0uK_DQv_mvz2(W&iFa?=3QidDNFAHk5 z2>7u#-(+&!Xx68XyfrdAM%mAVnU~`ziZTN>9I2-FP!pGp;>U2jzXs{^9=#r^1BXCR z#MHENAAm=lC)H$`q+Rj%w)t&p)Q_FcClj!|1;H856qE)C${pdD7LJ)#P-33N)@$mQV1}UPX)_WcS%P4D1_bRPtM%WFZE8&%=N?y(RQ)0KQJ zq;G842`_R_$uLmT^Wf0=C)}#^dU%%JVbU+&Db56ol_QW^Z3<2|(G?X_PTLJA#yh=R zh<4PW2o>w-bCqHUN)fY+$&pOUt)pt(eA~*7e45GRX0_yVg1^w`n)rrxYg_BIFhs$FTZ}!DoJrZGbx|U6dkyul%^akU8COj#w z#n_U_6w7k)U(g89yILGdQ14ixVO*ajPuD43izW^AC=)a>Xa%1VjfEr#6B;gfdA zK*hY0ehQHk&W@Ip`ocfmhXb#ViBkKkP@;v55qu&T6)7o2u;YCy5B6#PE4lgg-6k+~ zruTkP2DYq_rXoh&t{4)iBcq2)q6FMC)yb}h0E!?omKg;Y=E+f>2c_|V^-o(i>|ZD7 zMmWbk0pO_cU>TJK`1ip0SiFV2p_7xU5>)`bs>&3cRt@`4*9&6)yaZrRxuIf8@ITOv zUxWM+C#(?(f)42NwgH;)2;xcr$auL-d4#Ue(l$7A-4`ev8u&W&UXr4X zXuKPC`QTNg1R~pj=8{JmIrmaBqQZ{Ds&{~C8~{T=LHj~E39%c-rFYKoX3b90T-%cg zEyA6%L1YAYo-SYJxQ4oR$^EIo%In ze+vswW8(zDr>YZo@xW7JuPywcyp$8Kv26rm?B-cAFecI5BU(TNj=?<#JV zHmGXz0|deO(bj+BRw=*7DM#f9g73Drg*E`JAT)J;Ik*Eb+a3TxPATpX8Q*S}{+TGm z0#Ju69Dr=1eQdHkMmD)Ec|*sp$D9wkyXd>X-+cZ$XF39%Wm z4ZjELaDl@Ol=EW%I37NNL?J+g1`BX)Ohh+Z-(eX&72&<;MErfm%5Md1n$`b;nLu8v z{yp?tJ|H68Y@aB=`jo}vq`(mt{^DQ03eXTJfbve*$!S~wNEY{b64~#HH-Pg9$V0kh|I_=eDl4Gl z7(>md*nl?vlVJYe+JIwwFg5T=twKT%WBTUrD-!!SiiBQ5fkq-M1VsN~fdB6sF^-Er zsm7%@4O+=0G-N);LML!|w#1su2@gft{3Z4N{Cs$NVcwA`vd_ctH zBWv{_#f@qFgg82022+wJ9GR}%8+bj2Itu&g#{~fr{nhk;UQE(s=|wu&)kFvQxANPC zwA7co_}V+2pD6<{Nm6R93U{EMR3WJvwl61TaG2h*8e#Abm{*YF1=D3n$AZR{HufGw zoV%GxF#tf8zZwwi)6WHY{=B9{(*$SI9fuOmN=-h^5q?X<#+-yTXuRyH$rS9bMBs-t z$YtsJ??vALpH<#BxAPM>kn#DBb1XeDNvQ6gKSDy!1z;~S2|LJiJ3c;q8neNsyWUVO zK0_NNE+_%$@%=HK4k#F`fojh(=cx;7=XW7--lM&j*eGNznE^OKB$0%#f`B`0PxwNI0(jlNwTfc%wB!j5 ze{cjd%S@XGap1g9DUSrUy13F#6-U+sn6@!1jc+;Yu^FKqtZH4p-ytVt9rh8%#pqMP zE4S}H2Y+VI7GtJVG(Qy?TYM~B|K3yS54a0Bg)9rG5F+pAs%qgUif8o=_ycjS%Xs

x9_C8;x2|e+UvD)U#><&{yh{x)FB2EL+_Q?zRGAgqt$eO{U*gj63 zo-zQgW_46Fd~}JGQ_ust?!^>b8{2zMLLO_S86(86oQ{2Z02lDy(D2|~FC5#IP71hR zmn&20!@ZjqZfv%cr54MLXLDsRxre9|Pl5ak;D+(ZG#(Gaq2vws4fOqB$P_26x5cov2>^~Dk-LF`` za3U0CJLX-A zVf?%z*XnYuOQhkw2MOv3Ybnw$ZQed(IYXKQaN12i#yV(lpOe-Bt-N?l8vXXV{E-&| z<)NTuK&l3%g~!Mg=X#`beui|C>;Ae>NlkX!m&f*@AG6P@xl@dMZ7H`Zp-HctfgrM} zz=KpmUT*M%8(ed4g@7#R*7w$mBV#Q4nkfReu~<*z{P$5!)FOgF+)g zpO01`F7_<4r>D_WR19*H!|}6tJLm5Sc^OXb2itaIxc@qT!Wrt{b>-$dQYMRp)TWo4 zcKV-$Bz$!u+^9AQ^DhJf!`n{jx(NVXz?bLr(_Z+m9q`uBkuOjW>wnOt^Wu}@WOrVGWuaA;3MvA)`JWb?IweXGM87*q&sJrKz0Q;LJ(Xm z^AlnKtV7jN=8ztq2uMITj=4YHfC@)e(KaO&b*5I?Q02#Bgo9#?XGG41yADQoUd>=~ z6~Yf^Guhd#yjcBmw*>iPgF*|bR$!HL{zDZ?T{zWA!CagDY2U~5N$HUOSAQVuE{yVoP`gnH~ zkPeg?Y;5d|bW{TczO8J8x^&VLBLxTiOj47;Lp-{Z1EiPB0?0jH$mEq2zAs~tYrdg+ z#=hHwZRL^I9Js{2uOnTv$Ja(TO5=(1bU7CZuC@&$a4rn27NtRc5FmVXL)pp2{R#I4 z8Au9HVIc^UaQKmmaRBs~jBdRB&1!V;MQk4B9iU{?hBli3Nkw;fEFKMhPF+J)J(K`OAh((SWH zrr@I_9lvsmH(GqLlS_log&HE0Og!-XXDI}B;sNHgRRYdv@`ewd{JE#^z;(ed8EBWc ziLcqFuY8e0BGIUhF!%Tx70rV#T9_jGxE-|$P@9K-i&6#o-yfI*cA!_!+)0Ui~7Bfy`3J@WR(dpNwS6>mFPW>q-I{Z+)pQ|Ag1*CTBIp3HY$ zl9bdKv@CH}E+8AB;iFc0sqUk3_U6*xaAlspbGp#;J1myLoAs8v-{Yq*2Qc@e=xvkS z#e%Ih@&MHXUM6}z@;DamVL1-rulOon7(v7a(M^oP#xmOq576_?XPnVCgKmTvD0L-z znZxcdf?Dv+%+;x^$4^!SGxCc%K9Tt7{EiSbz8hgu7;?=+6L$HeSjAfTL&n^{5Amc@ z`|k2}^vdE%X`#9WzkAQI9VvFp7+e5n=Dlj*XN#v2o^JR8ew(tNX@TRWgUn{?3NQ=y zn52*bY!)x7PnZhR$G@lA139H;X_Y+KY>mqaG9o&FxDJZ5WHl^n`6LHLMXDd8uXfoZ zJAkODzbJ|3uLvLGZVExd-4>qqXi~5J{FBaA=A}&kY(tUZ%ee5uWaVNkhJJ+%AR8^w zsz~9}{DUmF<&Y>bEfBmu@CsxSV%Vz*L^=(<`LVJ+%HbfXU7YRp1i6%jIpkKp;$7{= z?#Rt+F$zVJk<|R(l!Y}*u^zS)!G7obTSSc;?F6L6$lr3eCdE-|zKs@^Js%b5|4Y+$ zZsQyv!oXmSy`7l^SltYfZ9mM)ek+R+B_}D#qo1V$t&iIGEdi0=c?CCD?}|2ou&Wl+ zYyAEDv2CfY{464rp+6-eE@Qp2{rgvtC&(ZxxKK|4~4dC#YEyBJN1E6LppJX-~BsuYDrz#}maVLmfSS&%kP5f+Qf(l%5Lnw{>H0Vd8Azg1HcCd-vHW zW3KY`2jXYnPx-0VH^7BYY+{wQ3cjB&gPq~9>1X?Hs@KJ=S01UeQhu0t&}B8%>w*PL zUX1v^PE3c4TLVcC)6_>Cme%fC<-1LETLA(oB9PSbmiH{R-p?h>UoZy+a1^l-J7Xra z8(U?=xBTqKBNk5CCXgp)U2NE2!r5G=kSg?{N;p*@X&49@I@DdNU81&?2K+{h?85Wj zd)%iqPgo(Lf4hLhKi}xEGKGE#GvlpffwZH`p4mAp;ahfkgPvGwiSmUR%G?{4hBr~a z70ZBF4Md!#sfmu~hK^S6dn>p@yCCgo0cRt)(3Fe{%L#Wt{Mf( z%l3jR?PAx6yVE*W!VSXGht zyi|xwnb4^wFYeu-i_X|*^!Dm|Q~XmVs4Byh1Vs2_T!++b?_<7I-cIsPm-W6fL!6BS zHf_9=pf5(y2iq=bF-L(o*3Z8h&%OrMfJLE1ud3j!8^$g8zn*uym^<+7=qit;OmJ9NkBi@Xv=oVPCbRkqq!Ki1)=>2Jy5%j}_zKf^u$c+SS8 zc%nHcc$90Qxl~S>YVy8DT}6f}N?5LC(u7R>MId1uF^3BH6}D*gB)eD#l1YALoP*`j2r&*;VwsQ5(+WS@+Vfh zrqAF~^Vq70j@!EC(#I(hEMqW$jtWTj)}0l<$(+$9Xv5g9GqWCB2%(3ICHR;QSulqL z7es^^3Mg=Y$3e;7ZbGGYsxl7{9;R}U=<4sx9A$$%*J3?m;xN_-sbJn-Jzc#7tK8g^==Fl+9dD6-hy3UFP$I-09O-lO*|3SCI})#9L;T7Ez^L+VE`. +see :doc:`ESP-IDF FreeRTOS Additions`. .. only:: not CONFIG_FREERTOS_UNICORE @@ -30,10 +30,7 @@ see :doc:`ESP-IDF FreeRTOS Additions<../api-reference/system/freertos_additions> ``1`` for **APP_CPU**, or ``tskNO_AFFINITY`` which allows the task to run on both. - :ref:`round-robin-scheduling`: The ESP-IDF FreeRTOS scheduler will skip tasks when - implementing Round-Robin scheduling between multiple tasks in the Ready state - that are of the same priority. To avoid this behavior, ensure that those tasks either - enter a blocked state, or are distributed across a wider range of priorities. + :ref:`round-robin-scheduling`: The ESP-IDF FreeRTOS scheduler implements a "Best Effort Round-Robin Scheduling" instead of the ideal Round-Robin scheduling in vanilla FreeRTOS. :ref:`scheduler-suspension`: Suspending the scheduler in ESP-IDF FreeRTOS will only affect the scheduler on the the calling core. In other words, calling @@ -133,91 +130,88 @@ synchronicity. Round Robin Scheduling ^^^^^^^^^^^^^^^^^^^^^^ -Given multiple tasks in the Ready state and of the same priority, vanilla -FreeRTOS implements Round Robin scheduling between each task. This will result -in running those tasks in turn each time the scheduler is called -(e.g. every tick interrupt). On the other hand, the ESP-IDF FreeRTOS scheduler -may skip tasks when Round Robin scheduling multiple Ready state tasks of the -same priority. +Given multiple tasks in the Ready state and of the same priority, vanilla FreeRTOS implements Round Robin scheduling between multiple ready state tasks of the same priority. This will result in running those tasks in turn each time the scheduler is called (e.g. when the tick interrupt occurs or when a task blocks/yields). -The issue of skipping tasks during Round Robin scheduling arises from the way -the Ready Tasks List is implemented in FreeRTOS. In vanilla FreeRTOS, -``pxReadyTasksList`` is used to store a list of tasks that are in the Ready -state. The list is implemented as an array of length ``configMAX_PRIORITIES`` -where each element of the array is a linked list. Each linked list is of type -``List_t`` and contains TCBs of tasks of the same priority that are in the -Ready state. The following diagram illustrates the ``pxReadyTasksList`` -structure. +On the other hand, it is not possible for the ESP-IDF FreeRTOS scheduler to implement perfect Round Robin due to the fact that a particular task may not be able to run on a particular core due to the following reasons: -.. figure:: ../../_static/freertos-ready-task-list.png - :align: center - :alt: Vanilla FreeRTOS Ready Task List Structure +- The task is pinned to the another core. +- For unpinned tasks, the task is already being run by another core. - Illustration of FreeRTOS Ready Task List Data Structure +Therefore, when a core searches the ready state task list for a task to run, the core may need to skip over a few tasks in the same priority list or drop to a lower priority in order to find a ready state task that the core can run. + +The ESP-IDF FreeRTOS scheduler implements a Best Effort Round Robin scheduling for ready state tasks of the same priority by ensuring that tasks that have been selected to run will be placed at the back of the list, thus giving unselected tasks a higher priority on the next scheduling iteration (i.e., the next tick interrupt or yield) + +The following example demonstrates the Best Effort Round Robin Scheduling in action. Assume that: + +- There are four ready state tasks of the same priority ``AX, B0, C1, D1`` where: + - The priority is the current highest priority with ready state tasks + - The first character represents the task's names (i.e., ``A, B, C, D``) + - And the second character represents the tasks core pinning (and ``X`` means unpinned) +- The task list is always searched from the head + +.. code-block:: none + + -------------------------------------------------------------------------------- + + 1. Starting state. None of the ready state tasks have been selected to run + + Head [ AX , B0 , C1 , D0 ] Tail + + -------------------------------------------------------------------------------- + + 2. Core 0 has tick interrupt and searches for a task to run. + Task A is selected and is moved to the back of the list + + Core0--| + Head [ AX , B0 , C1 , D0 ] Tail + + 0 + Head [ B0 , C1 , D0 , AX ] Tail + + -------------------------------------------------------------------------------- + + 3. Core 1 has a tick interrupt and searches for a task to run. + Task B cannot be run due to incompatible affinity, so core 1 skips to Task C. + Task C is selected and is moved to the back of the list + + Core1-------| 0 + Head [ B0 , C1 , D0 , AX ] Tail + + 0 1 + Head [ B0 , D0 , AX , C1 ] Tail + + -------------------------------------------------------------------------------- + + 4. Core 0 has another tick interrupt and searches for a task to run. + Task B is selected and moved to the back of the list -Each linked list also contains a ``pxIndex`` which points to the last TCB -returned when the list was queried. This index allows the ``vTaskSwitchContext()`` -to start traversing the list at the TCB immediately after ``pxIndex`` hence -implementing Round Robin Scheduling between tasks of the same priority. + Core0--| 1 + Head [ B0 , D0 , AX , C1 ] Tail -In ESP-IDF FreeRTOS, the Ready Tasks List is shared between cores hence -``pxReadyTasksList`` will contain tasks pinned to different cores. When a core -calls the scheduler, it is able to look at the ``xCoreID`` member of each TCB -in the list to determine if a task is allowed to run on calling the core. The -ESP-IDF FreeRTOS ``pxReadyTasksList`` is illustrated below. + 1 0 + Head [ D0 , AX , C1 , B0 ] Tail -.. figure:: ../../_static/freertos-ready-task-list-smp.png - :align: center - :alt: ESP-IDF FreeRTOS Ready Task List Structure + -------------------------------------------------------------------------------- - Illustration of FreeRTOS Ready Task List Data Structure in ESP-IDF + 5. Core 1 has another tick and searches for a task to run. + Task D cannot be run due to incompatible affinity, so core 1 skips to Task A + Task A is selected and moved to the back of the list -Therefore when **PRO_CPU** calls the scheduler, it will only consider the tasks -in blue or purple. Whereas when **APP_CPU** calls the scheduler, it will only -consider the tasks in orange or purple. + Core1-------| 0 + Head [ D0 , AX , C1 , B0 ] Tail -Although each TCB has an ``xCoreID`` in ESP-IDF FreeRTOS, the linked list of -each priority only has a single ``pxIndex``. Therefore when the scheduler is -called from a particular core and traverses the linked list, it will skip all -TCBs pinned to the other core and point the pxIndex at the selected task. If -the other core then calls the scheduler, it will traverse the linked list -starting at the TCB immediately after ``pxIndex``. Therefore, TCBs skipped on -the previous scheduler call from the other core would not be considered on the -current scheduler call. This issue is demonstrated in the following -illustration. + 0 1 + Head [ D0 , C1 , B0 , AX ] Tail -.. figure:: ../../_static/freertos-ready-task-list-smp-pxIndex.png - :align: center - :alt: ESP-IDF pxIndex Behavior - Illustration of pxIndex behavior in ESP-IDF FreeRTOS +The implications to users regarding the Best Effort Round Robin Scheduling: -Referring to the illustration above, assume that priority 9 is the highest -priority, and none of the tasks in priority 9 will block hence will always be -either in the running or Ready state. +- Users cannot expect multiple ready state tasks of the same priority to run sequentially (as is the case in Vanilla FreeRTOS). As demonstrated in the example above, a core may need to skip over tasks. +- However, given enough ticks, a task will eventually be given some processing time. +- If a core cannot find a task runnable task at the highest ready state priority, it will drop to a lower priority to search for tasks. +- To achieve ideal round robin scheduling, users should ensure that all tasks of a particular priority are pinned to the same core. -1) **PRO_CPU** calls the scheduler and selects Task A to run, hence moves -``pxIndex`` to point to Task A - -2) **APP_CPU** calls the scheduler and starts traversing from the task after -``pxIndex`` which is Task B. However Task B is not selected to run as it is not -pinned to **APP_CPU** hence it is skipped and Task C is selected instead. -``pxIndex`` now points to Task C - -3) **PRO_CPU** calls the scheduler and starts traversing from Task D. It skips -Task D and selects Task E to run and points ``pxIndex`` to Task E. Notice that -Task B isn’t traversed because it was skipped the last time **APP_CPU** called -the scheduler to traverse the list. - -4) The same situation with Task D will occur if **APP_CPU** calls the -scheduler again as ``pxIndex`` now points to Task E - -One solution to the issue of task skipping is to ensure that every task will -enter a blocked state so that they are removed from the Ready Task List. -Another solution is to distribute tasks across multiple priorities such that -a given priority will not be assigned multiple tasks that are pinned to -different cores. .. _scheduler-suspension: