aboutsummaryrefslogtreecommitdiff
path: root/src/lua/src/luaconf.h
blob: e2cb26163a2320cd5e27c89ba1e32cedbad41049 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
/*
** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
** Configuration file for Lua
** See Copyright Notice in lua.h
*/


#ifndef lconfig_h
#define lconfig_h

#include <limits.h>
#include <stddef.h>


/*
** ==================================================================
** Search for "@@" to find all configurable definitions.
** ===================================================================
*/


/*
@@ LUA_ANSI controls the use of non-ansi features.
** CHANGE it (define it) if you want Lua to avoid the use of any
** non-ansi feature or library.
*/
#if defined(__STRICT_ANSI__)
#define LUA_ANSI
#endif


#if !defined(LUA_ANSI) && defined(_WIN32)
#define LUA_WIN
#endif

#if defined(LUA_USE_LINUX)
#define LUA_USE_POSIX
#define LUA_USE_DLOPEN		/* needs an extra library: -ldl */
#define LUA_USE_READLINE	/* needs some extra libraries */
#endif

#if defined(LUA_USE_MACOSX)
#define LUA_USE_POSIX
#define LUA_DL_DYLD		/* does not need extra library */
#endif



/*
@@ LUA_USE_POSIX includes all functionallity listed as X/Open System
@* Interfaces Extension (XSI).
** CHANGE it (define it) if your system is XSI compatible.
*/
#if defined(LUA_USE_POSIX)
#define LUA_USE_MKSTEMP
#define LUA_USE_ISATTY
#define LUA_USE_POPEN
#define LUA_USE_ULONGJMP
#endif


/*
@@ LUA_PATH and LUA_CPATH are the names of the environment variables that
@* Lua check to set its paths.
@@ LUA_INIT is the name of the environment variable that Lua
@* checks for initialization code.
** CHANGE them if you want different names.
*/
#define LUA_PATH        "LUA_PATH"
#define LUA_CPATH       "LUA_CPATH"
#define LUA_INIT	"LUA_INIT"


/*
@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
@* Lua libraries.
@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
@* C libraries.
** CHANGE them if your machine has a non-conventional directory
** hierarchy or if you want to install your libraries in
** non-conventional directories.
*/
#if defined(_WIN32)
/*
** In Windows, any exclamation mark ('!') in the path is replaced by the
** path of the directory of the executable file of the current process.
*/
#define LUA_LDIR	"!\\lua\\"
#define LUA_CDIR	"!\\"
#define LUA_PATH_DEFAULT  \
		".\\?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
		             LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua"
#define LUA_CPATH_DEFAULT \
	".\\?.dll;"  LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"

#else
#define LUA_ROOT	"/usr/local/"
#define LUA_LDIR	LUA_ROOT "share/lua/5.1/"
#define LUA_CDIR	LUA_ROOT "lib/lua/5.1/"
#define LUA_PATH_DEFAULT  \
		"./?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
		            LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua"
#define LUA_CPATH_DEFAULT \
	"./?.so;"  LUA_CDIR"?.so;" LUA_CDIR"loadall.so"
#endif


/*
@@ LUA_DIRSEP is the directory separator (for submodules).
** CHANGE it if your machine does not use "/" as the directory separator
** and is not Windows. (On Windows Lua automatically uses "\".)
*/
#if defined(_WIN32)
#define LUA_DIRSEP	"\\"
#else
#define LUA_DIRSEP	"/"
#endif


/*
@@ LUA_PATHSEP is the character that separates templates in a path.
@@ LUA_PATH_MARK is the string that marks the substitution points in a
@* template.
@@ LUA_EXECDIR in a Windows path is replaced by the executable's
@* directory.
@@ LUA_IGMARK is a mark to ignore all before it when bulding the
@* luaopen_ function name.
** CHANGE them if for some reason your system cannot use those
** characters. (E.g., if one of those characters is a common character
** in file/directory names.) Probably you do not need to change them.
*/
#define LUA_PATHSEP	";"
#define LUA_PATH_MARK	"?"
#define LUA_EXECDIR	"!"
#define LUA_IGMARK	"-"


/*
@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger.
** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
** machines, ptrdiff_t gives a good choice between int or long.)
*/
#define LUA_INTEGER	ptrdiff_t


/*
@@ LUA_API is a mark for all core API functions.
@@ LUALIB_API is a mark for all standard library functions.
** CHANGE them if you need to define those functions in some special way.
** For instance, if you want to create one Windows DLL with the core and
** the libraries, you may want to use the following definition (define
** LUA_BUILD_AS_DLL to get it).
*/
#if defined(LUA_BUILD_AS_DLL)

#if defined(LUA_CORE) || defined(LUA_LIB)
#define LUA_API __declspec(dllexport)
#else
#define LUA_API __declspec(dllimport)
#endif

#else

#define LUA_API		extern

#endif

/* more often than not the libs go together with the core */
#define LUALIB_API	LUA_API


/*
@@ LUAI_FUNC is a mark for all extern functions that are not to be
@* exported to outside modules.
@@ LUAI_DATA is a mark for all extern (const) variables that are not to
@* be exported to outside modules.
** CHANGE them if you need to mark them in some special way. Elf/gcc
** (versions 3.2 and later) mark them as "hidden" to optimize access
** when Lua is compiled as a shared library.
*/
#if defined(luaall_c)
#define LUAI_FUNC	static
#define LUAI_DATA	/* empty */

#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
      defined(__ELF__)
#define LUAI_FUNC	__attribute__((visibility("hidden"))) extern
#define LUAI_DATA	LUAI_FUNC

#else
#define LUAI_FUNC	extern
#define LUAI_DATA	extern
#endif



/*
@@ LUA_QL describes how error messages quote program elements.
** CHANGE it if you want a different appearance.
*/
#define LUA_QL(x)	"'" x "'"
#define LUA_QS		LUA_QL("%s")


/*
@@ LUA_IDSIZE gives the maximum size for the description of the source
@* of a function in debug information.
** CHANGE it if you want a different size.
*/
#define LUA_IDSIZE	60


/*
** {==================================================================
** Stand-alone configuration
** ===================================================================
*/

#if defined(lua_c) || defined(luaall_c)

/*
@@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that
@* is, whether we're running lua interactively).
** CHANGE it if you have a better definition for non-POSIX/non-Windows
** systems.
*/
#if defined(LUA_USE_ISATTY)
#include <unistd.h>
#define lua_stdin_is_tty()	isatty(0)
#elif defined(LUA_WIN)
#include <io.h>
#include <stdio.h>
#define lua_stdin_is_tty()	_isatty(_fileno(stdin))
#else
#define lua_stdin_is_tty()	1  /* assume stdin is a tty */
#endif


/*
@@ LUA_PROMPT is the default prompt used by stand-alone Lua.
@@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua.
** CHANGE them if you want different prompts. (You can also change the
** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.)
*/
#define LUA_PROMPT		"> "
#define LUA_PROMPT2		">> "


/*
@@ LUA_PROGNAME is the default name for the stand-alone Lua program.
** CHANGE it if your stand-alone interpreter has a different name and
** your system is not able to detect that name automatically.
*/
#define LUA_PROGNAME		"lua"


/*
@@ LUA_MAXINPUT is the maximum length for an input line in the
@* stand-alone interpreter.
** CHANGE it if you need longer lines.
*/
#define LUA_MAXINPUT	512


/*
@@ lua_readline defines how to show a prompt and then read a line from
@* the standard input.
@@ lua_saveline defines how to "save" a read line in a "history".
@@ lua_freeline defines how to free a line read by lua_readline.
** CHANGE them if you want to improve this functionality (e.g., by using
** GNU readline and history facilities).
*/
#if defined(LUA_USE_READLINE)
#include <stdio.h>
#include <readline/readline.h>
#include <readline/history.h>
#define lua_readline(L,b,p)	((void)L, ((b)=readline(p)) != NULL)
#define lua_saveline(L,idx) \
	if (lua_strlen(L,idx) > 0)  /* non-empty line? */ \
	  add_history(lua_tostring(L, idx));  /* add it to history */
#define lua_freeline(L,b)	((void)L, free(b))
#else
#define lua_readline(L,b,p)	\
	((void)L, fputs(p, stdout), fflush(stdout),  /* show prompt */ \
	fgets(b, LUA_MAXINPUT, stdin) != NULL)  /* get line */
#define lua_saveline(L,idx)	{ (void)L; (void)idx; }
#define lua_freeline(L,b)	{ (void)L; (void)b; }
#endif

#endif

/* }================================================================== */


/*
@@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles
@* as a percentage.
** CHANGE it if you want the GC to run faster or slower (higher values
** mean larger pauses which mean slower collection.) You can also change
** this value dynamically.
*/
#define LUAI_GCPAUSE	200  /* 200% (wait memory to double before next GC) */


/*
@@ LUAI_GCMUL defines the default speed of garbage collection relative to
@* memory allocation as a percentage.
** CHANGE it if you want to change the granularity of the garbage
** collection. (Higher values mean coarser collections. 0 represents
** infinity, where each step performs a full collection.) You can also
** change this value dynamically.
*/
#define LUAI_GCMUL	200 /* GC runs 'twice the speed' of memory allocation */



/*
@@ LUA_COMPAT_GETN controls compatibility with old getn behavior.
** CHANGE it (define it) if you want exact compatibility with the
** behavior of setn/getn in Lua 5.0.
*/
#undef LUA_COMPAT_GETN

/*
@@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib.
** CHANGE it to undefined as soon as you do not need a global 'loadlib'
** function (the function is still available as 'package.loadlib').
*/
#undef LUA_COMPAT_LOADLIB

/*
@@ LUA_COMPAT_VARARG controls compatibility with old vararg feature.
** CHANGE it to undefined as soon as your programs use only '...' to
** access vararg parameters (instead of the old 'arg' table).
*/
#define LUA_COMPAT_VARARG

/*
@@ LUA_COMPAT_MOD controls compatibility with old math.mod function.
** CHANGE it to undefined as soon as your programs use 'math.fmod' or
** the new '%' operator instead of 'math.mod'.
*/
#define LUA_COMPAT_MOD

/*
@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting
@* facility.
** CHANGE it to 2 if you want the old behaviour, or undefine it to turn
** off the advisory error when nesting [[...]].
*/
#define LUA_COMPAT_LSTR		1

/*
@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name.
** CHANGE it to undefined as soon as you rename 'string.gfind' to
** 'string.gmatch'.
*/
#define LUA_COMPAT_GFIND

/*
@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib'
@* behavior.
** CHANGE it to undefined as soon as you replace to 'luaL_register'
** your uses of 'luaL_openlib'
*/
#define LUA_COMPAT_OPENLIB



/*
@@ luai_apicheck is the assert macro used by the Lua-C API.
** CHANGE luai_apicheck if you want Lua to perform some checks in the
** parameters it gets from API calls. This may slow down the interpreter
** a bit, but may be quite useful when debugging C code that interfaces
** with Lua. A useful redefinition is to use assert.h.
*/
#if defined(LUA_USE_APICHECK)
#include <assert.h>
#define luai_apicheck(L,o)	{ (void)L; assert(o); }
#else
#define luai_apicheck(L,o)	{ (void)L; }
#endif


/*
@@ LUAI_BITSINT defines the number of bits in an int.
** CHANGE here if Lua cannot automatically detect the number of bits of
** your machine. Probably you do not need to change this.
*/
/* avoid overflows in comparison */
#if INT_MAX-20 < 32760
#define LUAI_BITSINT	16
#elif INT_MAX > 2147483640L
/* int has at least 32 bits */
#define LUAI_BITSINT	32
#else
#error "you must define LUA_BITSINT with number of bits in an integer"
#endif


/*
@@ LUAI_UINT32 is an unsigned integer with at least 32 bits.
@@ LUAI_INT32 is an signed integer with at least 32 bits.
@@ LUAI_UMEM is an unsigned integer big enough to count the total
@* memory used by Lua.
@@ LUAI_MEM is a signed integer big enough to count the total memory
@* used by Lua.
** CHANGE here if for some weird reason the default definitions are not
** good enough for your machine. (The definitions in the 'else'
** part always works, but may waste space on machines with 64-bit
** longs.) Probably you do not need to change this.
*/
#if LUAI_BITSINT >= 32
#define LUAI_UINT32	unsigned int
#define LUAI_INT32	int
#define LUAI_MAXINT32	INT_MAX
#define LUAI_UMEM	size_t
#define LUAI_MEM	ptrdiff_t
#else
/* 16-bit ints */
#define LUAI_UINT32	unsigned long
#define LUAI_INT32	long
#define LUAI_MAXINT32	LONG_MAX
#define LUAI_UMEM	unsigned long
#define LUAI_MEM	long
#endif


/*
@@ LUAI_MAXCALLS limits the number of nested calls.
** CHANGE it if you need really deep recursive calls. This limit is
** arbitrary; its only purpose is to stop infinite recursion before
** exhausting memory.
*/
#define LUAI_MAXCALLS	20000


/*
@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function
@* can use.
** CHANGE it if you need lots of (Lua) stack space for your C
** functions. This limit is arbitrary; its only purpose is to stop C
** functions to consume unlimited stack space. (must be smaller than
** -LUA_REGISTRYINDEX)
*/
#define LUAI_MAXCSTACK	8000



/*
** {==================================================================
** CHANGE (to smaller values) the following definitions if your system
** has a small C stack. (Or you may want to change them to larger
** values if your system has a large C stack and these limits are
** too rigid for you.) Some of these constants control the size of
** stack-allocated arrays used by the compiler or the interpreter, while
** others limit the maximum number of recursive calls that the compiler
** or the interpreter can perform. Values too large may cause a C stack
** overflow for some forms of deep constructs.
** ===================================================================
*/


/*
@@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and
@* syntactical nested non-terminals in a program.
*/
#define LUAI_MAXCCALLS		200


/*
@@ LUAI_MAXVARS is the maximum number of local variables per function
@* (must be smaller than 250).
*/
#define LUAI_MAXVARS		200


/*
@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function
@* (must be smaller than 250).
*/
#define LUAI_MAXUPVALUES	60


/*
@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
*/
#define LUAL_BUFFERSIZE		BUFSIZ

/* }================================================================== */




/*
** {==================================================================
@@ LUA_NUMBER is the type of numbers in Lua.
** CHANGE the following definitions only if you want to build Lua
** with a number type different from double. You may also need to
** change lua_number2int & lua_number2integer.
** ===================================================================
*/

#define LUA_NUMBER_DOUBLE
#define LUA_NUMBER	double

/*
@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
@* over a number.
*/
#define LUAI_UACNUMBER	double


/*
@@ LUA_NUMBER_SCAN is the format for reading numbers.
@@ LUA_NUMBER_FMT is the format for writing numbers.
@@ lua_number2str converts a number to a string.
@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion.
@@ lua_str2number converts a string to a number.
*/
#define LUA_NUMBER_SCAN		"%lf"
#define LUA_NUMBER_FMT		"%.14g"
#define lua_number2str(s,n)	sprintf((s), LUA_NUMBER_FMT, (n))
#define LUAI_MAXNUMBER2STR	32 /* 16 digits, sign, point, and \0 */
#define lua_str2number(s,p)	strtod((s), (p))


/*
@@ The luai_num* macros define the primitive operations over numbers.
*/
#if defined(LUA_CORE)
#include <math.h>
#define luai_numadd(a,b)	((a)+(b))
#define luai_numsub(a,b)	((a)-(b))
#define luai_nummul(a,b)	((a)*(b))
#define luai_numdiv(a,b)	((a)/(b))
#define luai_nummod(a,b)	((a) - floor((a)/(b))*(b))
#define luai_numpow(a,b)	(pow(a,b))
#define luai_numunm(a)		(-(a))
#define luai_numeq(a,b)		((a)==(b))
#define luai_numlt(a,b)		((a)<(b))
#define luai_numle(a,b)		((a)<=(b))
#define luai_numisnan(a)	(!luai_numeq((a), (a)))
#endif


/*
@@ lua_number2int is a macro to convert lua_Number to int.
@@ lua_number2integer is a macro to convert lua_Number to lua_Integer.
** CHANGE them if you know a faster way to convert a lua_Number to
** int (with any rounding method and without throwing errors) in your
** system. In Pentium machines, a naive typecast from double to int
** in C is extremely slow, so any alternative is worth trying.
*/

/* On a Pentium, resort to a trick */
#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \
    (defined(__i386) || defined (_M_IX86) || defined(__i386__))

/* On a Microsoft compiler, use assembler */
#if defined(_MSC_VER)

#define lua_number2int(i,d)   __asm fld d   __asm fistp i
#define lua_number2integer(i,n)		lua_number2int(i, n)

/* the next trick should work on any Pentium, but sometimes clashes
   with a DirectX idiosyncrasy */
#else

union luai_Cast { double l_d; long l_l; };
#define lua_number2int(i,d) \
  { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; }
#define lua_number2integer(i,n)		lua_number2int(i, n)

#endif


/* this option always works, but may be slow */
#else
#define lua_number2int(i,d)	((i)=(int)(d))
#define lua_number2integer(i,d)	((i)=(lua_Integer)(d))

#endif

/* }================================================================== */


/*
@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment.
** CHANGE it if your system requires alignments larger than double. (For
** instance, if your system supports long doubles and they must be
** aligned in 16-byte boundaries, then you should add long double in the
** union.) Probably you do not need to change this.
*/
#define LUAI_USER_ALIGNMENT_T	union { double u; void *s; long l; }


/*
@@ LUAI_THROW/LUAI_TRY define how Lua does exception handling.
** CHANGE them if you prefer to use longjmp/setjmp even with C++
** or if want/don't to use _longjmp/_setjmp instead of regular
** longjmp/setjmp. By default, Lua handles errors with exceptions when
** compiling as C++ code, with _longjmp/_setjmp when asked to use them,
** and with longjmp/setjmp otherwise.
*/
#if defined(__cplusplus)
/* C++ exceptions */
#define LUAI_THROW(L,c)	throw(c)
#define LUAI_TRY(L,c,a)	try { a } catch(...) \
	{ if ((c)->status == 0) (c)->status = -1; }
#define luai_jmpbuf	int  /* dummy variable */

#elif defined(LUA_USE_ULONGJMP)
/* in Unix, try _longjmp/_setjmp (more efficient) */
#define LUAI_THROW(L,c)	_longjmp((c)->b, 1)
#define LUAI_TRY(L,c,a)	if (_setjmp((c)->b) == 0) { a }
#define luai_jmpbuf	jmp_buf

#else
/* default handling with long jumps */
#define LUAI_THROW(L,c)	longjmp((c)->b, 1)
#define LUAI_TRY(L,c,a)	if (setjmp((c)->b) == 0) { a }
#define luai_jmpbuf	jmp_buf

#endif


/*
@@ LUA_MAXCAPTURES is the maximum number of captures that a pattern
@* can do during pattern-matching.
** CHANGE it if you need more captures. This limit is arbitrary.
*/
#define LUA_MAXCAPTURES		32


/*
@@ lua_tmpnam is the function that the OS library uses to create a
@* temporary name.
@@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam.
** CHANGE them if you have an alternative to tmpnam (which is considered
** insecure) or if you want the original tmpnam anyway.  By default, Lua
** uses tmpnam except when POSIX is available, where it uses mkstemp.
*/
#if defined(loslib_c) || defined(luaall_c)

#if defined(LUA_USE_MKSTEMP)
#include <unistd.h>
#define LUA_TMPNAMBUFSIZE	32
#define lua_tmpnam(b,e)	{ \
	strcpy(b, "/tmp/lua_XXXXXX"); \
	e = mkstemp(b); \
	if (e != -1) close(e); \
	e = (e == -1); }

#else
#define LUA_TMPNAMBUFSIZE	L_tmpnam
#define lua_tmpnam(b,e)		{ e = (tmpnam(b) == NULL); }
#endif

#endif


/*
@@ lua_popen spawns a new process connected to the current one through
@* the file streams.
** CHANGE it if you have a way to implement it in your system.
*/
#if defined(LUA_USE_POPEN)

#define lua_popen(L,c,m)	((void)L, fflush(NULL), popen(c,m))
#define lua_pclose(L,file)	((void)L, (pclose(file) != -1))

#elif defined(LUA_WIN)

#define lua_popen(L,c,m)	((void)L, _popen(c,m))
#define lua_pclose(L,file)	((void)L, (_pclose(file) != -1))

#else

#define lua_popen(L,c,m)	((void)((void)c, m),  \
		luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0)
#define lua_pclose(L,file)		((void)((void)L, file), 0)

#endif

/*
@@ LUA_DL_* define which dynamic-library system Lua should use.
** CHANGE here if Lua has problems choosing the appropriate
** dynamic-library system for your platform (either Windows' DLL, Mac's
** dyld, or Unix's dlopen). If your system is some kind of Unix, there
** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for
** it.  To use dlopen you also need to adapt the src/Makefile (probably
** adding -ldl to the linker options), so Lua does not select it
** automatically.  (When you change the makefile to add -ldl, you must
** also add -DLUA_USE_DLOPEN.)
** If you do not want any kind of dynamic library, undefine all these
** options.
** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD.
*/
#if defined(LUA_USE_DLOPEN)
#define LUA_DL_DLOPEN
#endif

#if defined(LUA_WIN)
#define LUA_DL_DLL
#endif


/*
@@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State
@* (the data goes just *before* the lua_State pointer).
** CHANGE (define) this if you really need that. This value must be
** a multiple of the maximum alignment required for your machine.
*/
#define LUAI_EXTRASPACE		0


/*
@@ luai_userstate* allow user-specific actions on threads.
** CHANGE them if you defined LUAI_EXTRASPACE and need to do something
** extra when a thread is created/deleted/resumed/yielded.
*/
#define luai_userstateopen(L)		((void)L)
#define luai_userstateclose(L)		((void)L)
#define luai_userstatethread(L,L1)	((void)L)
#define luai_userstatefree(L)		((void)L)
#define luai_userstateresume(L,n)	((void)L)
#define luai_userstateyield(L,n)	((void)L)


/*
@@ LUA_INTFRMLEN is the length modifier for integer conversions
@* in 'string.format'.
@@ LUA_INTFRM_T is the integer type correspoding to the previous length
@* modifier.
** CHANGE them if your system supports long long or does not support long.
*/

#if defined(LUA_USELONGLONG)

#define LUA_INTFRMLEN		"ll"
#define LUA_INTFRM_T		long long

#else

#define LUA_INTFRMLEN		"l"
#define LUA_INTFRM_T		long

#endif



/* =================================================================== */

/*
** Local configuration. You can use this space to add your redefinitions
** without modifying the main part of the file.
*/



#endif

\Ks6`*%%Uظ}g y;FaӭJ&H17ՎG7IQ/ LwM#ݧ2U/|+u,N{bϠn9(EJ"7u{5 >2Q¦ol I!^z]: (-C/cE]ɪJh/0+-%! ऊYwߓ6EepӟG(NJ 35C#aHl4}a?e4kgdl2[Q}W@])>~ ٿmhQ aIc{0RGvwVfVKj~A>25Fu:Mg;,ltKwi8Ƌk튉hĨD{v6SMb_pEhĘ{H Z ew5Z?jS| [ l&5󥙛gQo?[M|z]'E-wv7^<5陏kZ0TPNX0'TҝaǶJnB:q%4HUn1S<]]?r|$gCT_"@C3 1}(ky,rL5/-B%A9RRHB6Dˆ /đ'Y2'(~<&ϥ*ۨ߼7Yblhp~"$%YAqrjcCyPZ `QQUlS| d``4n+R Mp? Z Jܰ<9Lk#ۇ|Q MDoiBxbTInE5c' B@ ,ƀW![:6!'r! D*Ht8?,#G*fX3;d#-RELfȈ<ԥӆOf`cE{QeB((us^4GnYsR(Zze+2P%ND@fߒFV1f`%:a`ְb/Nł^ضJc{?4=LGG4=0욕G+b%|lXS.B֭· lb%rW_uLl䈪dKi-XɚPD5~i5mBJX9'Ց"P1Q *)qjc@oV r.~=; ^SvJVtVÓ54,! XPa xJGY?DdHmq/.,Y𻨋Qƕ1$4M6SFwGv1Gl L/lV-q:f z:K;8?: WՔ.)4 NYTYmu `k[1@G =4}ؑ G4 #h|7?@o8Dp 3XLbI۫KbSa< l ÜVϪy"A2&̑瘖լ# LhME!N)aA<k(]jW6UkJne9Emo6V"-w\^t/sL:g Q'5/F%|Ef&q4SP-ya!@(J ݦa_]`w#H=)w @KhtKqR}¶Nr<7YBe.@s0c 3븽_8T4ˎA׏cMLPMtp jaTo$]kVVz7ʟx@<؝VAy39R,%̮iS_LoQ:8A*Muᐐ]\jUY^*\YC-w 'ʡnjβS~VJ؊Sʼns~?\K۹2C5E܍bˉW46x#t6&z5]R 89 Ria J) 7zAΟ¹&(_ q6i}`eb[M=@Np҆}-׍4I'm"cB9Cp}A(&!&?cBxclUt 6:+w,}o@Y 9DLuerӢ!Q״AjhK1ez/%}/4TC"5^t]i()WSm-P$guUcc;6 W8G8ªcOx$t4[_#f8\GA.2L}+cQNckګAЃѼ麾fـMEBجt;PU~JN)6/ъ|;B{-mwhg>U̬ވ@r{4c$fbJp֡dt䜬*JTk^ZNd:8P9ZLC_.LuZHGv`c2}2?1j&v-{2U](XJΓdf>c̤P͏e|3pYxߣHn4 àT@j(gDͧ+PjAecR0vSKW f("ʰKmÔbS=B?@ '֥G/d WXZ .;9\fH[.]%Ɗv8?}_vjY/y§Mjnǃƭ)P`4M<^QS,G;A& JU( n2䦕zF:^йl6%cNQ}jO0=ѕTЩT?:b1 0Oտs.I@`uq~sminJrP.yP.n]t(74: :˷ /g[$\qȁ"jHm;KKZyiSGT_dYYAajjOyZ>E䶕(*SMTH["\LʓKH/"}xBS{I` \DQ)-ͨ9jZ!¦9IKX>rXй )l|$5S4&573&Au#t^f OQ*;gɫ5p(*3t9<mN +ᖩWÐ_ܿh>3W \ʅAu=i ~}DtZ.azKtLI2 v$\RPmKS7Waܣ"KhM0we$]b\A(W{fVk&)Nd*It<6@Ů\r^I>b|tՠ؝y'5Uuwfzm5׍ng<_ilXҟ.^؀E|3*u/Ռj ;3֯;E\ S&MWhu)T jn+|ֽ$*Nk)/fO3ٌ5"px7zuNjr"bQ!b }%Z|lϔkgm,-7ln7 j%;z͝ljDP#&>3h3Ae? N, cYO0Apm(n3=c=TiǺ}abOs ј^d i:LZݡ o7^03lR>Tt  K|iNsg6N1w/߃ |gOk7 w>Hšj y_G=\n r9{#uTԨ[̊o\e p{E T|5L:Ī<ρ< G\[.0-ѝ3HaKТ8enaȐ.8tIRU(IˍHNuEnP)`7a$-`ko,tۛup+ n3;VLu -TqZ0:!s];uᣥvG~,+t+ћQ~%,ФBǨ;"E0cA?40ABc#TxܣHYc>yƮ/]M$/[hn9!tyy7_H23og.@JK=*zTw=%XnQrI9FS3[ KF ^[Lg Gj-bJKDkN^8ۑ6,]ɛ"s=`ͥm-S>+PJT;hzB W\dAqXt؊f' ;X$P̭>̧Ss*Q77vb13f yN->A蛀:Tz?8H7'I]WYmFң} FY$L9QX͵k Gd B֜y?׽-|PX0hxVU= |֙_C_˺[/ ˽ Dy$^w/Ҳ9R})D@_xut!Fj'4go5(w}`!?jf<w7wį-Coj(zW=͜HNGipZA@ hNzî,NGO/*Ꚕe@L[KΑr\]pm zFj2 ( I,68(vᤸ(Hpr(@_W rd_cdZ?}6M[#$=nk,3\ V)hqb&|Ŧ5Z,o{eF9`5t>=O,k00MYA I&}X'$/EY(O^)op9\sL}b|'D4'͙Z3X\cT]C_iRιl ~,>SbÙڲ[BtYq_)PլW#Z9״{4I ^4˲6f=0V姝݉y_j,sM3_l a jtpٷ-w|Kh wv%>nkz-2hIH]bUnh1lp*a:]Kj’ta-qʸ` ۺO\ZOS~#P):GcTN΀!xJr 4.AQ&#:N("qgrj%w?_>zNӤ$,qg8)ɇ%Y8|ûJ'ڏ}S`)L4+\]% T̬TDz::k OA\+dt8LjRRgɵ=;pMnn}k~=)s , Ss_\f ="\ե{ݶө{ 12ZbK 5QsG8h[$6pA}Y Ĉz 2Ub|lfb(W&8Ni :F!;% 92t$s;Ik_z/uh_5Aܠ}_.6l7;(txxM>Uwӳ<}ÏzW?7o_mln=xͷ=wee.W+i6B#}I^`JiwGdbbF 6tRP+ۖ/3 c`/Y`:2%d)/ Mx#~,2bZ^Ih` L:8UvΒc .RT.^wR[,0Mr5%}ם1m٫҂~\xsW됔gl:&TՖxQzS(NsFĭqk#:u( +\C-\gȞꩻ~<¿+$@N;'z-\Aox`j]"] [W$!x&MƛW܌YՒ\I&_m{tZ$uaV (PJvՄJ|04N,gO@kTL)n-KHLNjeM(|4"UQgNdS,jBP@I QjaЂpUhilF[Tx8.)5.p~W0樂ޡHCe!KD]/na-1.nq1u 1%4얬)+&cduR13t3,ϰ0ax 3rt͐JY`e:Sdw hY Gj;o^=jCD  =IdsZRk>R<&poG̊. *Jy C(]BkV"Ҏ8i ܊ߩ6ߣY:J [7/kDB&\K73P-c`IsA&Xv-Y<\@ŁBtqY"j$64k6FV XM(M2,P[K{ی6A"YQKlбoIj>raK R@B",=o&50OO=gc&uT<풟,Bv38ޞнU{[eRZ .Ёg}-Pd1 bazx QSVԛyN"GG1XDK 1nu+ҋ(SF # 5;caĄQ'⫼41+: M# M!zӇ7ŕ%cFR_`-JgN?Ǭ_kOūxxQȘ( - q_.zF쨱zaL4"\{,4M;ט|#&;GinHيzetq+7WkD6\ EKXΉ$T\ʼn= ~D(uYC.Ick0&)"յ`Eѡt99]$ "b+gzL]bz؝iӣwahxdBDѢ}0nUsc&FiWш YKpqO+@- @0Ս 1QY3- *⠕_hD@8 QDhCj` @"aFLc[XgCu# Ug ͜ɼ<$OgqLh4:<%d^dI9<:<'JSk,öYXn5@qbB E0,&rAh uS0YSwD!8̼ Wsr/N(pA*[o'4:fwJg'`ܘ@f@0)(6\8yIL俆 gCxZea0`u&>|Q4k4;ꫥ[ L[X[;HD-5G&GskNtion7,9UW3- *A4Ѿ`w! To 6Tvprfs76ۼ}$L8A,x=ڟF2ZÀCmU{7e_G8걉1l# %ȽtY䚣En ]P 3WˤHswt蹢ʑ(E{% A)̀P6|P%E 1A m=R-V7DIz,XM[L-!{ZEO2"m=A0z)δa߂\Wu۠Xޣ Hm+@x8lTwC8}yeu#ŠH].YB*K UU_ ٓ^XS_6ª}eq<_t.]C˻c4M| @u'NO^_FyF$ZrK~)yi1!CdhW:.Ma ӪcodϚr1bɟ'|Ox& ZDK,iGȪ1\:6<xSgcDҬSP1|`܏%0v/|>dg(VK+<ϰF)?:dz.ʾ[9il^:ׁ`|%=ֶզl(g/_i@֊8nNX৑G@#Рggj 2k$3H8 ]²ǙwtR{< vϤ/4M"tK>k Vq Q`! ,tsQ\8l4?t fR$3 yS'uUz>Dƒz Z5Y0^)g20f`ev z4&&1i0ѷZGcdXb TZ{nٮdt \)`%`E0 B9zgvOJE*·GrЦ,NloFĢ/d,~.ssYPd(a䲑’ ed /6^w>](M4k(Haw <-1k6q[iUe2 sv瞻n"; h#z~S*ʆ@40x﨤:Aއ4e\T4eUS%U\D \O>* ]x? v&pT+|c3~.0 J/GD<5㫟 (E?(z=)fE:Hy'ꮂ~D?d ԅYntoخׂ5a+o@sd rnx$1|:<'&ih^YY'ĮϠ4+K't]mYHq*(q=ጣGѷzw=v/x^|tuB:i'ɰQ%]:<3Q̠ Fa?>ꋌjW6?+F󽂸׆mW}s|6K$x;rH, ,m5,hC*WI R3ѵ,܆&yXN+\r]IAMaQSSQȃ)V -Ndza:1 sOڛۊ*YY+'c%3\)7^Q|obf!ygX61YpMYYcoˆþqE˵t2+J*͐.GNHYfUB瓣,[CDɄ 6ci(pC`dHVdi H@ @zo[+IQp;:*tHmU8.ci;_ [[wlΑv5pC=Wq7!B?| D>J~[`8>  0FZ1V]:P- Z[nMk:uVӺBܰ\WQC ,k3jW1CE1Ml̇VUV|L*SV0 DZ'\/$scr<9uԠXY.)apV^#U6:..J$rxƞk4RXjlH}j]v^~5ΤN&5g/_ץI-/)nҮ,-|- &;-2J[xl 6k$ɓ7e] "6 5]u1:}(ǼtPhOLOK]ͫIz1;{]M//g&Oœ=^CÛX%2PDi>˸;*!|X}*ܭ?:`5$Rn֘+S wl l.5R^!zLK0irper!.ĒTw`G#m/>9\ Y^f@=^u 8G*c/ZAv:́Cf F=u]j- "i;`݇pZu|= F w?$-\ 7Ɂ*rT/_ 6BO$[ G!uDqf#1mxpdFhLF)T 4K;tSs@}O(F!+2nE,2)=ۇ'5wA&hɥ܎>N: \ VPx5нMR !ó;;4[ңa[l]dC~wC+9}iԵJFTB؆{ ]4y=?NsŰZ,0ab+ۃc"<}̣dv$&= ^iݺf˶?vAN663m:_M74F7[{lעq?aX b+ @66=Nssj[[ukױPd;47q8 DwֿWdXMlnm}±+:`{5pv[[-8v;(OFzڡofuRЩep L0)`QŽm?;{imv}?؏`c@ݡaJ=oO=)۶T&#*c8p`G'g_fȟTq䈤!G@zSUD`b,ˬ ;jR"}y}:&`9V!JBVTu;KB=$ř&ao`+7vzj[;rsEnUi~f%8u vAqZb)g筇@>Ty'x"i|gHux4,[@aiUCSuvw(;!t &lgms)iCZ\ U؟[D,x{FADsvj)%Z=,qWא#$Ud էxKFjS3o ^^H]J E P%Jԃbąf5KdOx}CP5Wɉ.AJtIV R=8 P5/O #>J2_³]˦[,oZ>%WW}(X&UE/ٻ6Z^h<Vi_jTm+BA*y8xV0 =}FoiJni1z۳OnUs!BRp5S߅kZ%cXR_.M6b!N<.޲L/#gK2+>#^C/ux3-ЪUG4V4oG?K&pR^Q!- ¿΅n<,g&tdpȓyBsBW%Ppٵ:VBOla, Uᶎk;.2ۧnNPq3GOp-Oˈ\'̪sF@b̸zk'zIj5<G Lfb*4V+ܧz>qNJUkRI)a T4}`lU9&A{5" \T~EiA L9)k0gTDu׋,*f!lHPGMZ't! v iXE0qxC?ڌ,[q* A|mESR&eP@>| 4g՟C̑:GY=h VӴSnx5݁Rjlc$7 d\ 5!.@Ԥy"Rh8xkUlGVۻMV@1Y0ImBUOMPq"C4?n(Of@X u%۩%/r32?Nnϭo]C"hе+i<3)X2Wpͩh Azh<"uTPF޺a}Xbu tȜiB+WwIn}fD+ubxMv|;v[vTٽ|{B04xqF~Ujq3^D-O\_ n鸩|N&޹jk!lUe^jZBZV'Zᩣ$&>oqz+Z üFls)X @ke o9B%QW)ܦ pFJ^{ O./JB/!3wNEgJ\>s|+#t?F s6E&R+4Z(n~+<:kkg4:GǠLI_LH:wN\Þ.jIh8̢/[7ޗ%,.JsLWg`6Ђ f19樠{qQu ex<Кwf5\^ηlH>Ν4Ns 1S{a[1Z/AAA45O{*G{" aZ_ŵQٿ%\5C|Hg1g!n|ɸZ2[~wxߺosu)PălOHl/\ nZ{i] H<8L.GQ:%ۍpB# %2KG$Y"`ЄfAF@c QD:UGvdLC~!aʦ @~ TccyfP]\ز#,ggĠnR}EǴ.nmmorH ȞE<۽!TIk[ yuyb9ڂ *$k npA틈^DToEACĕwR8 F#JMP+ԋ}AI2e[h!C LoWkͲK-uonsLkn}7/1'2~8]]퐃̭o-ؖIK* V""B?ft'!]jpx14YVЩmm/j4aƘEW[›vEW=m40Q *dpы jl(JZH1CAd\WUB7Xmڗ  %{:dԛpѧUjyQhZ gDuY{"m,Rf#䤔:VjtKvz>Q[.9eWyQ~a@OMpIv<lJZ'Iڙ\ZKeP\i#MEf4*}8:&L`= #K߾a IZs?⎑bHqaWxڡmC{%wapM_QUa-o8D Lp2؎b$VԕƖtp1ڽ! )t4لb?2{<$znZn{GG}|j.'w 7_/(+ =ZdcnX: I%IOCM/.zp՝eͧlB]2pC ŵBcPW>q}2 mkVDe_R8 ~lB~^ozlsx&4C1i_I1 $˻jZ! :0=Ϩ1caw\­߂FUi2#UL)>X{ꤺϻ@TU>pncby*Xc(.ҵiH~S .iA]pKHF8u߫tJ&[Ǖ:HDBFSZӃϒFdX/C^*եС~\#N,ԁ|G~kU%b,Fb,йU23 *mar#m zV޲" LH%hb<^ g}GM?S+>*5:'L!FCU&T~˺s1QIx1@sĊh ^zKI)A#hI/C#PY: OK&B70achAigH&V9"=mY?qQ|zZ\Bs樠;bB Szˣ@R{Ͷu_+h;`hu"$&dOiተ'aB+ x&9p) :lN˚U?,<=i9¾"NI"#w/Gg=%Q )1i߄r˷GP9hQG7a d0\\ ձcD(𖕓St& #;Y15;ɢ(:n8F4SBoi C~"T&ST/ V-u< D 潪]pZ ԤCMm:.Mt4z;rԋp"n$QҒk$0 v#isdt)j,)*Ki-wzͶqm[R:3_N8O&~t:#هdQzPΊ\ٍ 'fw-sO(^@w׏'}ҥC *<̜OMG,kYxohp8v?i?tz !lkʱ)<[@y|"h4BxE͂ 4])n^2"u%fe}]5v̧O&bt1W7;wq㮃N]! eiH.a"~_ʀm/C6?nu蛒42' 7Č@ l$/ajG#7Z $g0'ԗjE 42fRr X]MW@LԑokQ cx[%nn>%]k⪮eGf4-Yc0rcVّ`"L+ȁc HLZZu|6hR 0<:)#D 5Oڠ1gK.pQA!]ۂ{l zUŬof[X~PK,[D*@LUBBK5W Bp7%O@Ւr"w]Ӭ'KF:<[unĻ U_l]ԥ@QhvY},'Д!4Y%\9RBA E% f` !_<0 qHh8⚔ii? }ѭC`23lO~ !G ?` JLFsȦfA[u/pq&1A L$.<:^T u*\ t_Fm?j^%]ea|W/xj͍^g[]1D1䫠hCd_vҭK#AтW-|BX'~h<|g.ܟ\XV'h$S.Rݠ\:1\pMxP?f ejxNɣ*ObMD@Y3pAwRaٛaE-! Ӭ৚.Q@釺D0hė& a؋[t0M\8SI`/']*xѝ-dm Cr2uMR.[09e^cL˚4=7j+)u&`a| :Cu(nrg'}M ޔL$WQ ԯ죋Ra 9H_\zi O{?M,`".Ee5V]5)iF:""ZZEVάTrQU,ǖ)jGij̀eHm܆|{WF8v{uG|~ wVt oc"&+c<1"a徨Xwd~6B z{m:[;-V8Y,H:k 8CRG# `|BpM۟)ODa7hgqZuP-Qՙ.Z  J|2ipHX=t/5M#h 0K5tW[c#z(f,2]h8NB_*,.0eH'aw 9 ;h`^ x7`?VǔB%mԴ #Y nYnP}i8xp_11Vw>.-KXhڽVð@C8*gpU)hIZB(d}qReɍ˘h[AttDD.j:j ȸU* OK祋u9{P.4% r{7>1b<{7ۄ sQfT}J]7(N5(U~S|qP@h(vD._f[iY`nFVVcKZ 2f']&?,KkChCr+'][QWVXr*+Dэ+ S a yu^Ձbmҗn7 d}v՝BL̊[FwbB)wۭ\pw{5rN>i孹T b!GYVZzϜ1b"[d%O.PNS'Ř.'dy &QHf~{GPZp]s$ʲU++"\(*@8fۓpxcE0wZuU+lz5= }2%ʠ׏I4Qk|gfWDTq /*^N~ %$K@-7+|I}.bʎ"= e4} t/*}s T%aJmH}=W;xVTԠg@['q-8@vUtlѕh13k"T³񁡚ƧXޙyO_v.Y^X|!0{}!iᅤ?ܵdK]lf&4,WN;P^4]Ksmi?4닿t+!uKӸ&5`VNنQwM kʁnpLxOo=~.:s;tN?{8q WG68k٪|lo]c7!(Oy2sfBMF jijcIv^*: k pzʹO*v/جV2+kX,;(5x-`^j& 7k\Y3Pf,?6";8PL~B!pYbRA%"E u1Se`z「-Tuݦ*iwIjs 7 Q&SS4h O 1"ÔL} ,$->l0F=rƄUTo5avhQ( Wy%Qd{U9QL7@Xvy\r8jy+5/L]w:`FӍޒy dS!ԫ@H;}&,ى [M86wN1e_c0E wwÂqՋPz#K 6<*+&8T^_'gE}aԲ@ӜA#rS.]ejy[Zm^ e4*Y'fr„kz4^#]*DY>ͻ=j%duyR#=O~HTpoV3V?n*H:ʾV7u 뭪i8 =m3d]{MtC5gk!榶iE CG/,3,7C.m][^BJ5AQ+Fd> +s2cp+wqehVסSWOu kv=__ծ9[\'mNnjO-Í[O7ts35A!O8Gǡ2S`anê P@k47/-jm(\SȚiΛ2vf&# 3oXt~oav*-V0~M+Ş8EOyVD0jRvU8XqW{!>L64N7~ P})**V:?*[3`1I1#Z$1q<샢j- WnwP_pf`nx<&_0jLXBMᠲn~?ɷw?,v6=|$'jv|=MNl/?cǏ'2uG NzsB_ܠ{>=T' M&w^ at:HWg>Ce~-7^.V3|^]~QjQsV#dF=-迎:%'Qlq&B[y2Q%ig'!)/<wt*烣z7 J>y2ɧae&.ѱ> TL$q:8I%W$IdO1Yv8JQT@r3%¸ljH,OUKяStRxH(,7Ft \'v,|Zhu}}p > 9 I+(xP+> mzxyf&& ۑ6 Etb(7۾[C^g,:%KȍlQHF 8J=7cxƧvݨSrO^!uQ")@e8P ˂ߑH0zQ| hk*Yo2cP~%b2$`Rlٺ/Tm?:"PH#k[_ i&i))PJ+˫cfPdm4 4Y,AKRڹ8gҴՍ*{LhѰ"{#›| fd 䱢Q,gFag:оDДĿmaƉzKRASWWY-:WdҌ< ӵ]=uC^Kê}hL:}2_&M$dNsc)Lބ<@$:qΝ-NWYP1*Upd+-Uht~? 1X>pTR-u! nh)BB= ? FݷsUr$/i`Cݕoޭ>[eߞ(uI_[Ge?F:nA_ I]/?1:9r!Φ N+.T8OX5x MmSզE'2\M 7LkBtE'\Jɉ޳zĻX0k;,/x(]}sQzڡXH2 ?-+ Iq<cuu(Rrfun?za]tI2092^)↺ bw쓋BM6Z=xl×7;_}] F|tp{i G8FC|)n2h!5,4>pz􉰆C2ir2#-V5mj¡5 +A@,OScJ E 4WGM7lͫed|0k 73~yD!8cƧO^X6&{F \≉,S{!glgfXJ3S=]1Q9^ge\ԭLYAUԫ ]fY y5i99U{n^@>YKnVz._Lق\x.4v ϱ];}b%«QK CCx̕ln'G:<^zS,^I 7m=Bg\KaS4oȣƴ"{]_mIVF(d`{NMwJֹVэ61&)" Xqs('}\X]R*i:lv_F#u䑦w^OSim$F4hum B>5 AEUBSlVO[[ q\KoV"5h8FUAuHҋ;X򬭻V8 B!_0 ~Œn:*1\ 0: r* \@ MpQ6؀LEY`@2Ͻ|Q{Wʪ{ drEZlHhK14 Mۖa $&LI'.9E>K$hų~.sj? /\i،R'( M@јWa*zE%K?<>,>|xq[[[+>A.6\p͛KR&;gtJ.QAOzEzЍ} $i o= fkK;X[g-]$X|ޢc劣cjqjA)jPzDiAy8(uWUq`Vh tiwfFO3 p`.Fz~<?(]:{dsJ}ҒQEUH6oap BѸL.jS!o+X:$nDuW\uy+BЩnS j~]3XuhĒwȢ# Ke&ѪN>=c8^spm z!qًS|fsQCC9"W;1W`m&5@L3DLC`bbdV.ZXfQd4`w tQZkgu-Wx+ ^#U$fGo jh6W܋4Af!wh2̛ VN4xAL="MsX0*u57WP۸ -}Sw`BD>.{/.D%ϡz2X8O 6 b|e֒ZKn,^Aw핿 [FsgTm>_AW@KQKUoHբdƿ^l_|QXŲE[p[ ˫ [$ȥ3wJ/6V{+_ ^@Jt5F@DeẁJcsklis%s'jzoX Ad) JhP[Rk ;6vЏ{^0vJ[UUѤLZ~N > WhPRYѬ ` Kkz%.5 Cjt%thʬ@?aAN`b!(#q$F|x.=IN]8ޚ;7bⲜ7Kdh h'9mi#A0mnx+*J W.>%$eG}T0Ҡ@FFFM|nܾ߾_O ! {"`rv>R}ʼK#܌,N u %ɪVfJ|ABY49'!9E3u w sGK2!\: N4D'c1Nk|wR<] /zqk쬬3Pۂ2O1qlvHضnZ1uZİ2ۋt0GK!:(G,WQغ͵t`͇~76FO0ѥ8P?@Nr. 8Bud'ɒ^ڈ$\q= ; aVC\R'ju?:Ź?Otn#^'jؠ : 4$/(6iNmg2o[Nװ7;ԣ@o{4:ߨ[$嬱̢7A{rgE4PtHu 3/;'iX N?g f}p|~{Pˇ @5DA&lmpqcR/޹:}~z_!q;j{[xw]+~!Y6T ss'[Q6Mϳ QN=xQw4'􎢐^,u|;9BXȿ>pDvԘ5[>ݔ̩iu;^CձѨG yi0Wa IK\ξZFuM,6]snG+h#Uӧ?r)qX3}7GkN~ Fsxݽ4î3ȧ 1b$%}}!>ܙ_7˃۝ gj!s;1s3a;7 4TWoX܂:{ nWb -\Ͱn!d^ A\rcNXAjቖFwZʆs{ܹb*eU $$9UZ^V%Ur6"l*-:"Frr+M1'EnuN%ocv/RۺgSݳ~G y0B;d+|PI2񅾯d'OJUv]T\K0W< PeWU g/ywNk Uzb%{`˶J@ҢI)KJ4-x͊C[Kᅛj32Ufa7o@|v@eWnˇӠ/UDt>*Vaq!AZл} x*c8݈86nԿnꭒVK%K;-j8[뢰j J]: lKXW#'\:OF/}{x:Ay)H>Z`%뉮C Ry׊:(Җ4$k N+kb}%/ՍV3JH2qyOpUJNVdŊ_sdͥdӝ^2aZn &7|U_`!776z_7^Aj_]; Ѓ, |2_~JR*..Qǩe^E$_-z)m9.$$o75}9Y[7<$.m  7V t <p<Q;koa8PR{T{tKaU' ڧ/]x= pHidx“O?ԉv&4}gӯu6N4V/t9^}>R6o OȘ-(Цx^ -NgZۍFtNyn- b.8ABW_t wIC/Tz\zˣCzJCV9Y-DiKY:|8O˂]Uп W,p2wK`Wj׀Z[` .P1v^n$VMHT)eod/!:"")?Wg/*^6:^>o~#-OtŜxME-q.7E ,*t^#n`7Au`bTjyFQI񉪊Ա]9U8i>E[ ꞞT&ՍEnnԪMt,BVz#oØas(bt ^lZ}X6w]tg(4jCrӻ '-64ޅYFF,v,[Z|S*]l(lwh-v>V3QԿ؅8^5dS |~co[.\otЈ^m0aSucW⸼ƯZHBVbSu $fm;7[WQAoTx e-yZ(C04𥩄;B-BF y"=5?/nxsC)R pITUB;O;HvP / 8T\ _C%x`_Jߕ_-/lZߕ//)E'^hآ˽^"h lYxP=Ϋja]4PB1Jn U'xe/!@A)8(Q7YjJ[hzaM-<2w_.0I?W8"e~KQr ȕ 2 1y1p1>Ohd/&n@?ҊNJgᄵxvw.>vSP&c0l ]8SEt5̓ܮp:ޯC[λdn KeHN tt0 +5-06&޽6_bcXzTu{8xヌF謶nfuYkl77nhW ᆀtp sHX^ ei,/%ŠѺꈛ'C31$(ƢqOԂ ۚmь{pW)ŽeJ0E砊PBlA'(& Aٱ\(h ^ ڬ. ځK9zWP/j^^]V*V_E s>yĖ* ϯvpdA|*tӡx9j7Bގ і: =x<[^A6ZG)kt}R-ywZ2LN6R[y -_Q?K?v|O惍[ |n?~}5ǴO8E}T !E}Wސ9gkݩ uF/N.Ne2z<qFPTi6Q V-E(R6ugDoNnnV̈ydCre^ ⅋GPA%{:\<_rH @S(<%Q?J O;PG;wc84o떕-#Uqx  꺺Z98Or;vL5f5Ǯ|5+wnwgc"*[h4%QA |^n V`8) (I*rhM˓>=P\ @ On9TtHto?c=$bEI ;! ILEa!DڒDهڲH@j gn@SWMEsI&%XY E'w- C8U_'ཇ-YfH܊oVYuuG&TQ/ڱ#wg{w$N ..#/*y=*yo[6j.։RTo>]\Yz8Vd/N os{|c?^m|C# %AWծ?(TGh`oz>q 5Q?i)ހY#gV̦ -tS3NfX|bHٚ,ESKlD"y)j't)f8h5XVIs2jg(CJ05P%);Q6 ̽7oͭow߂p٩E5JJdzd h$6 LhO{>4h}144>%@gk! &ŕ4 W=4gZwjkP}87G,&񮚺Nmw,ӷ3M!jqf`J]9mҍsOl:|k3h VZ7T,qmUz0L>/^>~vͰhAk 5FoQI8O +-0=Fzg׏<~zoAf,;wL nTlTn~[h']s wn}mˢТN 㪇Ѫu짷zE"zb !l&{6]z>[ko={vb{qO$4Ś͢ Y/3soL+{S#_eٯAuՋHVDVژ x7oӦV /:dB}[b?Xo;o.6,Q@Zg+ZYV}Տl.n1ꂰ] gGk~ (K^8TMA'>}4L`x0{PohE`jg?E[Lm,Czp0g-So_ߍ^Ƴ_xʼ4Mq<ڦSKA@wa`1|i!Zſ$Q/:Q:EK4jn (di0i6_r8~kT[QS߷ gV uڠ~goti]M\stvCB!߸SfHϊUT8r⟑BTR{"ɦ?# Ag\qQ_M(gO$פLӹSnӳ?jGQ=yPZduȇR+Xu bTř=վ,ܿJ9m߆X8[5lmNX`:hiHMe! .Cz<A2Uh/ 010,t_bO?'E*MV`˺(uWw:W^/Ӑ/2țׂ_<~.9[O Û5B+Dpz5Z.;#hH+WB2t̓%ЭgD@pX!8uecQ$Ax ܋`h ZuP] u*$h9+䞦g9JiA) @xn6&%dn:Ztak]ӝ^ĺ`otׯѵQ~% gcudM/d-=Wꦷ? m4tgwwZ_\ SpQ,x. L]UuDwNUYS 0 pʆIB߅UBfpa_3)9c~j4y6{ϳt">5=d9BjAS-Wku!©) |H(/(0u'wKm<|ꎄ>׵ײvm5Tocp߸VVVV_V﷨wwwwwwww+UUUUR%Ĕj\en·(Yntn&>?ᓟ߼hcr%N[I>NJy?75_=yg4k5uHtOnW_>{ uGM*|}}B1,ͳ??~6Z֗6zMŗA<}R]f7~ݟު'*e|o ӟD큃5 ,b:V2x C6'PWy%bCiN7ä9O (Vpxz|~ϹD?VEg?<Ż˷?ZxU)t?| ,?oćIw?ݻg$27?gO'Hs?o['YϨք)@kv#A#ymPt0e_~LeT';S>J{JMC~=ӫ?dpUJ@_+?| GNsU*ItH>MF#lE,1:4\!jb6A<PM Vy~zv48J)`h ȣlefOswe#o]Lퟟ5>3‰&ALQ4VvYp.ig`t?{Wܶ? E*K.h+8Jd&edD  ֤>KGCEׯ7q?kǔf<"KaLBx1cB~BL|7-Ƒ;؁v.Nh/ vR- cSP$7/cQBI>o>sf[ FD͗ DuS PJLeLm K 23u]'*G HU/ڿԿ?b^˷uMSpwTVooڼAn73x n;an9huie7z|( {M&pb0&8C5POqS J4N v?M#ϴ4f'VL"$|j)Vhߕzr9O=آn:~̋j_yo6JNJB*80NF/mu-L[w{l.:}Q)#zhPf0daz4kܭiP&=;1NE(DD_Gj|iT8mmǿt4z4۹;SWw)=(&\-U02UY,T_|=Q²2ha>;uW׆_?b¶8SA'( bdTjTtiTKg!t1vy{B8qn{سXx-9鈋ݱ$ $|&L׷t7 U_ R*hɂu2x9z\Q+o *^;$} Ar 2;2gxc>nhQ D"yKzL̍"܆Nqm.pea$3kɑ^{F\+e(MjҒnQUmaE-ÂXN&kQo&jhcmU??O+>{?hUVj5YVe%^b)Pe"wty J-٦rl:\k ƑJ ]M]';o\İe6G;Zd4E$t# K'xHVmz,P`mvMRcemJ5a|T}s5|vx@y߼{yQqX='}s1e!ub3G%q )]μQ$J$TDs1%nakDk L-8SԧQ,ۆ&5T+YYȘOTY:JtZ'k鮒?L-fߪm$vM$3Hn=ZΟWmr8w"Լ<>c9z 9! k\RZ}c񤇢ͼܢbaи츊Z4IƇ`aOrw{gr!C7>B'_Ox+k&j!+^g{9|f?6t&ż;k5z|RܼR9dE~U,qz$hs~tԋy#wR)w񍳵Rh;H㔔lEU򪏣-lY4u9PĽ߭6_Be'An\14RիWℷs`ՒeGnȢk Mm $u\5EY2}PiJmAGrK%O(u^JG37=♃.bң`1PtWJsj UՍfY[L,dq0S}o_? ܰ-ǃ?ϷxN:?ݼ8`ZA[Q:לS\5 J'QF9WG7UHΟq94# ;NMO͞ hE detlq!,L8SRĘz`ׅ݋At@Npnp͋.Ȁ>8gU X9/w=rQ!X}w,&5r<}:)Sc-&4?l\6 .88  v8aQٟcbYq. 4PH}eUy#7ĥbUݳfmدfYu._y&1Z.2mP(w^O8XaG͈ ɦ}@HroLlvأryLԷ.:7ܥ;|/FV?ڣ*>d dyi %at/Rv!;uR_߈m>Ei]b%\^D`)sI-48^ JsC&V ܤ\ıcbjB<V8tCUUA옯b̜؛2$ԝO1\qB)`{*_NbAs#CF!rc:QjlohpkQ,*'u!w{&n3Uбp +U\% R/@>`vȂ󡦼:ȯRroh2~*W W mEcjG2VgH=giEէknaJI+=(n:EF+_iVM2rÈc;6*#:BO@!UN$$ϛEW!^FB@3 sCM@m/-Gn8U`CKx9}ժV"ßg CYA6k4m$>e4]JV aoV> S2AS*4Ruege}Ѧfιb^ReBoH%AW4&xb_͵V*k@Da_~ :Btq?fo_n㜆R4Wdl[>]b-PzK>+,Z}[UktDL0IN-V!z wXuqUߍbGUm:Kz̊I $snD&g5+uf#F:R~U}C NE/?89wUiG ŀCzYk(P%dD1 0M2j(H\ΘfV3q7#]Kɀl0GX8swAIlGR+!p Mj P2ZX3!9,;U e?Fk儘=I3j )yφI`ЋZKinDkKZ{&# 2r5D<\\F!0!"vL^43_:WwσkxNc[{սz44./-UadZ,TTBޚNxRYfY}*c.v#:Np5U4(]I$QH %_ыIժ/Ch~脙%81c\`.41MrE3$ݨ">A"9.kN?wlIu9A4P#VJp(aR;[(4Ǥy,WI 3ȵ#'dLbH#'I2He!xH ~2U-)$P[3N$(× aHGS#>=%Uq _C6K?lQϕN;oya9,k-jd%'khdD|&'mtT_rq!忎ձ%~On#o)CU?aJ5ͮ> '=X!;L{ƒL*e@|uaRxBxgfGSĺ56u\ޝC|I5JyQ8"V~ 1v%vDWLG3tXbh$7$kT lɞ(Fz7'?&)IR\j8 2NGɐbd)7+OH8H)̋ fr9G?ІDL\oz!@Iqq(T>n;0R@ j40r7k27Bj$߾t5c*cnP^{P04}-6ƷCՔ^N<x8Vn !#N CKtS.މ9^$CMu }"2}<{:eIV'ׅJ o2e¿xq3 e 4ںRM~V!@w5W y"4֗2ٺ%$:Yӥ (l^@O"`vjٻ)Tȼe< ѡS` Jp\*ҳtR$.zS$I&kՅ.Ary#Ejd8/9嵭ݠGS菱;e`8zتTp^*lcc:@n9veDҦg%sw I87 Q[[CmkWU<$z5|]^:yaf13)OIRf)@w$w'V΁BC-AoH҄w>D5zgA u){hIۈrw5jj(4 Ik~Yl{_"#ij'Gzr+ 栬Vk)NA凔P#:qm?;:~XAthTh?R'*%݇xoty)D"t_k;'XVm~8`{Ll^4e}(r~ęA<545XB H.˼ޝ:a-fsmtIvI[>Bt`.ꆅMV%h ŽqJS=w)*JFgI#]6B7)mK;S|g6 Fo w#z~fc[3T=vϘ9jU]m]ZRA$Dgƍ'#f UrVNgn| F ;QH!u&>)W}wSj+l0yf&5,Qx8^yfiY6K^)q+J;]WJ*:g%Ώ[h_H5¿X+R^k?uTh?]]xiՠ |!b"hɴd; O_Ύ&F0 5]k.DS(_uG;{oVmԼ1Dcq>@ *˹{s _k aaPq{k. _y>YLŨc|zGz7 VOn &J<  !JrU@pOVoEJCR1j5jǝ,ܺ"OZ˷(gcw"$y/bѭxCLRk2_X+դTޘV?\-G¶nX̹ߝ ӕ֦Ze"zN#M̜+_Q/fnf Y߿3V/~L=9>~ 0gO'/4-O͠R.:w| `_$rv%6G[xUVX`_ʯ=5n%ɦ}:=^ Wxqߍ1zߖɟ^GIƪwgX,]{*(]W/mbO[i y!\y5&VLa <ճn S wE8-E12q;>Vv|{\Y"6uuwɦ+(OHM*ȼ"^ 'UyPݑ;x2=D>W,\{Zt|ķ|KY(:Hnej 6j9W;Z^|Q(2aUtjXkrl6bX. &2jɯl^T6me $vNY$[:V!T7 ψVSLB˓}9;l Ԟje-ho\'j[G t8Ayⶡ+BA\N1ej;Ć5LYCƸaS%{0f]6.grV+K?^P"}AXr̴ wkpD /|X7/\ meǍ%g}e)V@+0!C632*il[v1Sev|j;$_`FP,xSꖪ<.vCL͉0.I'U:Gf18A 6.c~{@uNT7\$0|Ee6!h ؆L݌,*Q,=s18'=+>갘eĹ)̇z!kߎ[abrLlIשv uKT'- /&3* McKYQ<TƭmWk@~B z4F%ob ᨤ%0 SY1R|ݲE Td)i9znJ|tSJU_g8!kTU*BxrwxsyFܹ4 6"/)m_Ak2c mTx87V:pP,'Ei_Fu@‘J\ ڳC&m+d44HiE AqIU:k*m`Vx].XMd7vLE|f*=W?"6e܀FaހXDr Nn&qRfZNkE`2XZ˦A(~G ڝ`Rlf#T z𓲐%q.!:4C#N2zl{ s?V4 {Ss7"3-km@4J) aZ}+v<,jFR{kӥBIl,W1FknUv՚V^+?Qi?|DR{3N ۘt1:5,Wdsc>wQ}C\?]?m}B=itẊ Na^P;ݼwdm{uCwq蘘Lo[hF;B5hU8J uӍmW%X" 4^e1v#dyJv塇0<8By*F"V;B\!Q@OwG&~absss /٭)n̞vnٞ%~pb4%r^Bc\\ӓrtź$;y)[m) {:[4iAIK$h 5gN24, [F:Ⱁ_); O?D\%F$ibH ur*kl=GݔVƜ?hJ,ʩ(DPD9/P2C~u b%?[CEAeP]F!i1NOM*K%~'`/eK":bNۖlB lȕ0+P)pѕU|WN )a= TMҥjt9B(+[筭n$#ܭh$&tl$١[KvgӸ2#Y7w#!BJ1ob&t{K2>6%vKFVĭTp&I*mNnuDpqhxO}DZ"C3dT6M2/Է.15XkŁD2C$K;`k!@qMϖt2M?8X=:4QrEy rz|ڊnaB[A;0/CB i\'FΙK~JB=Rf֔1~c:`ccpGxYq*3 > rXf[z@JX0ybQȨ&}8׮uM OS6B?0]qy $n <+=˘pA܁ AYFT,nZfF^ -B&Eł24lDQ]LTf>\u1Xluym] [o0A?*s+(h}03Tj,p}^X V紇xI*:5P Y1D㖔߇M/6rFr`e' ѷ$Lkq_-IbVO YBUn!:\ WZJr ^n/;66[f~J-+^X'*fұa%y݉w!}KmU&рrikX{KOow&y.<ҋ*x;&Tsrh E>>{~ J擭 oApZ`m4,FϑЙ545cr9ᷔѣdU\xQ5/zmhK ݩ=~lELVD1 "9ckn\#9*WHvtC-I ^bzʉH<H>c\qVȰS@)[;D44 l7]hrј 4*r+W)6DyAwH3#YΩ&^Twk2hzxERܵXҌ,1|Ev։PEx-q4T9^:,"^53oe2Y_dUyΕfӵ]7o Ld8X^Nں FU^T'PXȲMN {/:ރ8BhKf0j,"ZW͒3&qMbhuTC^馉)SD`h4 -o蜠v9UÀJlq!g/6<¿ &↍ ډ׸si*""'mKwԛt0XmJ`9:/  *޸^-%Y=m&+2!\zuar^?!? utnRz"93nc "x`oMbty09;(YvOe?^SP"`lgs *Q hܮ?Q/r=_Z`<ֺl5j.oXQL#N8:rŸ›'%JsmY&qO@.Aޅmi6 uj)rcC1PNYִȤ<*Ε)1jt&d:9}dP Ę0/|87pie$EuqLcw w'S] cHk ƥz)*٘Ln$rK]P LĴ\k2zY| ,7W'kR/CѻMK+%e>#iLF<Op SSQNTa&ʤ SzEI_oڦ,~E[+/{fq}{W#Z1m4g')Շ3 fd@DƍǴdi"Q؏un$H5XnJ7CnSZ 1~9NYj*Ec%kSM e"0*il=,@1s!qc[wnʗŒQWN"UA;_e=(L~m¢ 0lq/54X0Lc%@#%YŻ\ߓjz20 ڢΥ\u\Amg=O6q.y9א{gu^79r4?e/'t]G:`^[7H8'dI zRJ"O8zMP fv|)mV :X~r:Jƭ $v}? !uR6L[RU©CpBc oUT) X;zF͋x4.]]*F[Tw kR!:eS'Պ(xj}YQ)ٸLJyR :to0Kxđ1a.>3uJ7IM@ HJl}+bElQJj̒5C@X aSj\z`7O/wX_/e)Q/6M  9ܘ:jPTA}uզ*U",J>c[%4M¼}Љ$Ҙ`a;U+ud?Zy:щ쫽5j0h|1!NRg8q!SZN_tK1yNM&&Sk\RDVP𰨱?IwPKnGfCoRzMׂyp yST 473&YP 7Y-A C.7 yظP'٢ <306<޺'z[Pie!H՛jUBݹi)\sj:ε*%fN _+n5:eBo@WLC(=Ak$PI9' 88v,: =OMk[! f\|2\p]j[F$_N$m,zÈyԛagR;ImX4jy3Seg-ֆ!Ub\Žd#<>VGd]lS۽SX8rYAtɋ<^Ju[nbz'!D$€9"GJjƐqH(_`4{KV jHP^5@.T<p8NJ`5gzԕr$"=􇅨}kK7DX'WbF7 fbL(2ʍ1jz*ٍzUӂOWjxx 5M:0&j" U_ᬽسD:ZʻٙfMدu?)5Pn|P|[K_iR6W" |Uߏ؄ޏ-U)F/ 6שQ r kUX,6KQ&._o!-ii[J{y(&S:@>0 reKtxk)IbMzDb^ 8qJ)5C+74 ~HCeO9|`(DH3ZQMzۜ>`IBUIf,0\&Ho9rQ%p!S?Sզ~юϗx,I} 6 0MZK_SLeT_Qly/nx#(Mh+MVb?^֌_7b"XAR|δޫVbD*5%R*@JXD^NvQݖcؕ^PyHM4T{FP bzOn SDunrLHsDbEs$JD'b\= d|8ZcLdbU4 ەĝ% ewy‹1CeOCW7YݶL^̺sfЁd{^h2 T2`Pmqn؊M ݢk;!; Ƌ+Q$a36s*\?D^)c2J'O8ļ|ѡGs@ BWс;YqUq;Ԓg7嵬>!S_bV5 !]$eG8oPeB(DzJĨ fmy龉@&8ML(UX3w#6$0x6?9GPM" Ȁ$4h1/<: X l/r+x*<~fH/Y Wό3z麎5wU\EpR~bFVr&-1a2V'\DLg*` Y̭FfVʦtϛJ#M3ԇ"X)h0[4Ò΍[!T ]A})J۠Ltpy0H0ឭ?=@،u\ɒ5Ҵjs5}4i V( Sق5-ᮽ@&h1!+Nm~CE㘏͝pߋ韏^>z'Ҹ'~<~I鷯^>=6wO:H RxXYD̈ p^yMO߼q}Sz+g.џɓ{5;v^N1}u'/qOcVo~x?ы{q'}=˫׀y=}Ľ|ѳ[W‹o\c.ٛDZh+n^9鳧J| WHZgGW?~ $>AWO-u=q|Anp]Ϗ^<<~z,}k/r?y8:z:%`( 9>u1yn=/?k8-6 ˚ؼwŽ[F/G? JO,Wq 7aq}c-^Y!n@LG?9VdNzɣ޻k^D#f=B#7(P,Z{akխOg;Խg/9Jb:y/nG~|R kn=}!c0wGO֘AWK7(k-L޸}d5>.9:{(4T|%;zyR OuL#8n"v̽ۧđ?Vo.?0p3S+kJk"vjP܌s#;HxNL൧@"Ţq@>@1fͩ;)}Bn% dqfT٤T ޖz2C wA c EXbġ] /%._4JUaV2u2V $OZOi&Y﮳5>j\!RUap&bR?^D֒Oܲ%;A`d9-pc+>3A123gc}ayŌ]OW$8$c9ͦԎyyrm`r^(iyRmy=WDn@IC6|Ϲ%C{sX9=/ƈssD^tW* OnA !Ч0Pr_iYqO{O\?}УWO>nN׈dx_rcs><_,f;;][u]&x_Ďem&N*>>-kA8I"g4T\G?E:-`kn #;I62CN+zH)U>>V{vs 9˹Wp6+57?D}H\!kMS%V/,/9 lM q0'cDy& r6CE/?ld4yCyVO^.D~K2\C k[ k@{똗 y*ϲ\CwO=w9Ƶc:ֆ <94PIȦ#(!"{A?JޮV}G;lgVwp8߿YCzPKIXHWX= %HaS*/Q,'!~(0Md^_iے??}ѓ mp'Ee:^(WNx$Ftѐ>Lz;%A:x.W DZd|v`_Ah ;|ckC7q!jϱ {q?|d{}uv8fE'Չg=] k`.@Ǐb )o1$f7_&rȃ0A U9A b>:MHbKS5e0}rMpIɻgZF#[GV1њ]F2#ʱ#6A%XL=@IbϘy\Bݏm]z|n1YGHoZxm1q3PWWX(ڒ>7Ц6R}ɍlv%X~u|(ūꦺ_5Tbw~ssKntEVm ʾrz f E'!Ox>(7P`xfO 7Wڔ #_qO{=QS֣)l\SmoZ+ݵ䞗L CJ6cj]:#zbyzZ7S@ leQRӨ)O'0¹%I?N)k5cVizoD'{]2YЭAW*D0Hbsĭˍ;^rǡKϻzZKR1*SCeB{pq'j J17pPF\uX2r`+>Y"f X ]}Dv|JvMxeںFAu_(A˲ % $2kϐ"3Q<ErA7:Vx TZi`mBl-;=G@cZUΩl[*k1f \Qb *i_>:}hXeԽ,QGGB[ugo[ʎҊ1PSoc-Wo;·lhlCvl"U!p d;ߔUu(myX*m{zM+mR@gC@GȦ>.ĆV &L(EQ(0s'bC< 9c6DᡨY Y1_A3g֠y>Je7eYZ} p66D +KЂ&3~pjbtBiY@knI#PG\oe\Ыbddѩ)&ܳ5f -;0Xӈ<阯9<炦m(X4sU})ƠnomcZicƝ qV,,m#"s!bcͳS( A6 _HBnl]'~FfY1h+Dɶ#'8@/ڜn ۬`O֦c'r\3](| xhu-zV;fНN9x8>H]ͅ*N'|?!/<1 vD)=:[qYDCB]5\>MSPS*-#})|4}*  &aPzi]|(h\W$wiwN~![ EԸ-\B?}< etMvI:~t,?/j\o>> L!2_'K -7E>aҠUPoOXZ?t7=&U6Iq_G~DC^h:./qWpӅ# ~n()-U O1d2ğ;7 sk=PƣF A;`!3cѼGgjuiy_#Y{_EzH8NZ)*n;nt!5Xĝd*pIn uT+PhIwm-R!EU,3RlW("$>Yp-m ɗggIa@ ª`xOeE -:Zv&|' E&6tgJ,.HyMZsk[mݔܟ1U<;|i ]y g?OT.r9Fv \:C VpvҀmP8v!e6,i\!5 e9 ގKAkt7={v[R|-)U~pe ia{*ћn0DavRH5eJLQsW*/_^B+# PT^O7g>?L>ӘaPS<; ʙΆ)aХ|o~]|/Lvt&KI5Da 58v:RZ軝}Go?~cץQ Kc]> (D* D0[7{NR޳qyj|>:uE ˯V`h+8K Ӗ`yѵub- y7PQJyV&`Q SuD<;] ?myxqG9Tbv4#菬HnD^}NדwtkJQJ̙b >r%}uWz~a)v:z· ]_>"qnox2o4>VƢ&C3s61 +*#H͊|!WQUr%jLLJ-;Z=w5]8f9: "PI|x&"ye4в}PlE_V`q֖%Q[_zx;X Α!Jp7 }g7$WJTjz!/,ybOh/D qpj1Zzs3p7ME-iD;.P2e؇Xw16`HLKsSrUx[/?v#iAo}%q)5?vejq8>l Lpٵ0IAa7ڈCHEMl]VVҙXFL}Ow ǣcx7.?-OY<]n(}'M0aU$Tܚc R\%H%~~psfQUi V}i1`P[]Y ܤ[uI4tU!/s%_\I1ԀRh.XVGr]^Fjҿ>)ƆTW_@bM0Qϴ<8U$jTNo-,KNn~aחZH8#T:n ecGBuUy7vxF#ZSA(0mM˩؇W͘ |70ux?+{W- h3"pTpq*Jk`8p[j@YfgPѐb/> ;Ox])KINՎ:2z0ڙ1 !R'YOKcp>=aǘ|*@Ov9 Q>b5\d osAĕD*\C=7ejw1 ,l#>~Db*af+Ɋ9 JLlS ;Z_S4ē<2")ܥy_a=&$w۷Dÿ}[IdL?W;nֆ9PIܮsiLEPa)e+Du2"K <=kM}9>O㵇2N}acZT){YI`J*kYYVHu1 r^J(KH){ЌxOBKt[$7&9JC&.f( ƞ%qH/ȵ[]{S}vP)Yuw8"Wd!hM9,D"6T+uIw (ukvOۂHx`U_U Sw8Ϥ'.<^z/LvjlӋ!r\~c.t?<)OQY9?g@=iup7=1G"Oa&Dvܑ1OMiR8?; \qő-7\@&#f)K+[i)TҖnK~>&IlZe]oUp^g`6vgw\4הQyQ"Byk$g(Wa'Y @}0aCj]Q"3-OA(<3#pX3>>8'w#P\qHpfDJ$)d"Owŝ9UG-b>֠s|4:'/EEt3Dip0-'KY=>SWzңWI$0. x2 D헦_2 RfxaoWKjԛdt-}TO 9ᛓ$$Pai4)֑cIŶ O+Z]!Awv`y*q6\)<C"BW.MK!ؔSn|w+ :."% {KĭYiD}i."RB4KvhKγl;ɄV!Ege4ouҽǁ`P?Cɑ'BZܛr T&}_uC@kP|,~_V@+j.VmPt70h<`=6fwwyNg|Df$;cMx uwa3WnE21_6W,cX`ZTG> AR!g?闃 DgF9Bf\/ cR}N`C+e)V)G*`RswPbc7S vUq/xf"DT UP]%qa.Wq&Y "m.lHO10*C8 ܭ~g+U̙d4&l=8z4TЋDTzHD](j#o~ ~_>zk0(S9u]0wB؍5N?2Q.5Z-՛$o?}7G/ܾ}&w*.)?MV}{Dbs~.$C-I6ѡ1R κ,F}vYL(˷sl>K ⅘4b*2Jtk n<^se|3,Md"G Ogkrw~T֛N0дf T?Y\ Q@ bX@UG]?HYbP+8~q@g=XyIClӄn00~&)(h];> \$ a% J&d8_Q_DF4vV}' \FH,,wŋrUTNvLJ9&4k;P-$0\"FxO/ ' ym>̳&d [) m%G@ i%Vp?`O@"!uZIl)R86pMa l۵s}I#ʒc>[,_!%sBψ%YA#O~#>4`Șo(?<{l<]ZJB7qu⇌_G}>XrsT6,b;8rTcĎZH7݃m9QcpD UQŧqV#^*boKԴ>0751as嗠ƱAnuهĤTWԈ,aK&R`LŸD"dv]TfQbNPF $ jyZЬoGC63]elhr”+lGqNUl9*oa@2͢q@?w9UYS }xrTrkC0_Bf+-LCePģ7yН,Vl;qv=KͳeIL#v;v4ʥȂ)^ <(يEk:z6ܶ,8͸jŚ۫w1-ʦ CQG4TjZwDX"oV-Ur(S &wCxW::n=A9v:%ӡ)7z<:~{Jm42j(jbS NĵrT=«żzOQwEYխ5e2_Zav==]B)t0\];^Ë6hҝtvX ͎i#.t?6p娼A='٬Pjn> _.VKT#)V Qoa7 X|޿o_{w3Z3R9-ixp.&0Az0ASw_VOP\sA*̎٭ޖ\Z8#QtdÏZ= h^R t/I;RA.₃0n+6Ev'& iC8Z4  B4!-{v `h7Z~h y9c(;(0 =eG llaI݁bR/ݑtСL[- ;3*1\1x<TMíC&lqe>j\CExy`[e}ڡe*t"i5Z,Q1[-Cw_yxjH_(ci6$VS-L[ء-i16stCt)&d7Iղ28Ъ8Y325IY% y\T&NPQ5Ap~"ZQj*E Շ7Pή;R̝C]bܖY`*cϲY!2Х5BԨR> "&tk#Gd0c2 9p1+G'-XƵ`\Mm9؁D<>> l kB.v{fh=;ܸ kM7`; ĮPɎBP&jқ̙S뫓lo/w̋KDJݗ3<Ƨ\p(D;_-,7dnQFD=V"'(ylL24ے3zECt[nE (/8 ~ QB-`ak4QX 6C'.7u56Msk M ]Ǩ2@aɬODaCc+2͏jyzZ\zq6} 7ۿL6ZZVۚ6]S")KW <ŬKōJ>~VG:XHcL#[j'/7bQ_v]??lMtW^Cº0١yG<Nj\y~zs~ G-s'zÌdmjmaXa[y@i FEcGS-)Neۣ|\L 0· !7 rgPbё3Uh lqAwপ5'5.N [fj"'2DF`u". ;PxDς/ \aJ a 3Ђ#^@j__W2pp9:n>l['mq|`׎Gnޭ0D$͜* HíA" 2ŧ|VI3Sv# v$r(8\AS D>,Ӏ k* $sԜ>pVw0%OJ.q>6 Ekޏ# vc22'AsAy?qj+?V@?RW&v['k=0WuU4`.9r< & )ߞ!p,/ZqGIv(ugJel#!:&2=rJq&cU}\ 0hhYN1# S6 pH{cp4\j<ЫrИHL.Ď}X.cxS:ezPf>[,;,N&aF06u.N(-mSi-c$ET^6?5\-XϜ]Fz2Ivq.0D;SIn&R•h$y#nIƞ\tU!M6+vD&L*0BII.Fx$]$`8DPIMiQMZ/7C:)L{r{(*d>s\D|[qQU(KN8˸: yɾ*wþ)|V_:m881шd( 4 GSOSu r+!*ǯbAHNp}ןg3Կ{l"ψ%:R;Sx[π/eky !ST& *3=LqRO[X48a Q́+b[wj\]@S~GVp( &"p*`r>j+aڵr/hbdUxB].뗲Mn|굅t^L$%tic]IyU u> #[A]%jXFĻX#-+bpaey6sOZao¹y& !P[;=!3b+Gp> ᷚZ=rwwBcE-FM_-`Llй6NC3_Ӷ*dP7-(/w˰+ՖLܭvc5(J!1*Xn\ҵJg":A ]BC_ Vspj0I+Y Κe <3{IV o ;'И֢p\k`Y#вqeA0IRGLaL+3'᪼ n< q2&-ۖjd % zoSĊ)p8;%#C߱N7|=^ж|a fѠ *.*RN}հJz8+Cqpmj7 J"EOM*uE%8Z\ȧ1>_"nRۉ#n=#+;pr+Jeeah|?q>ǼrՇGȔ.,"(a7.T'krx]KQ_`c:S' XXPswv;/w!aᗃrN#4FJ(8Yb4.#r%i`E׊ҝ`tenv  8HB '*+ "nx9)>P=m\5{,KKV.Jb+S];Gaql2тMדӰM \xpiȚ"̻#</?pѵ caf%rMֳMy-Iu'?O(Jj>PD{Y. FH. H*f=F(S#ڎ*ƁSB#mӘPlީLâr\ %CW.BmJ59+O ӯҤ:5l<ʨ~0Z)*!J< LSn W+Rb^o)'\nU㎀3jN ! m`tRW3л!o?pPX5c`e,CXvVIj,B3V񬶦6z"юvOvK]3XZޮpGۃ!erSʽfJ7ըDZlX8* T\uD|76]mL Al{rbFAB') _"1Q RG,`U1`E_L]T4I@[1 \ЋQb5nӸHN*$R^rMBl_rה;`<~,*QNN gb/62B%LD2s&Č(SmIRX^1Ty&|"zPՍ&3ŽtՓ44tT)?2}B ]F@# FnGXseX=dhWвB4n(+ %6TrFdRl{):HK:0;tKAiTXhk.|8ʋt`~Kp9f`->,U">0U>>UWi8@ PAR0T&M =,ѰV& ˜Ek.i 6:m\x2 2{Ӻ{!M4>wI#JwQ@q@< ƆEUIێq8NAlp[k^uu@"dskm٬l^ab*KD&Kg_  DS(O|LZ`:&)D2%8y +&|i~1f#}S]GsRH=k(8("OЛͳn*A>[2??uzּCZ<^uȢ=6jQwJ}v&=P쳵w~f ٚn݀|& 0 Ń~pdvhMWM?7pXO`Feshi}&]~h1) r kk!+u~ ?N;!.Abɩ!DW9Ϯ+W[^5Ӣ'kRϖE_q)m,@LO$G)s4UV"@|ƁO q;v]v-mP r}/S\x;5"n@ &*$XS/IfNȴƯ=:o*VWYޞ[! JvCJCmi;H$(Kt bo2y?%qlR>W/7ddo{#lw2$;0 "x;2t{Tw/!G+$1뮹 %4zk /9?=!1Y3\h_.0N >|$Xqxɗ5d٩a|P>Sr*G] 6QTtQ"fhXDa.]'R`.ÙGpYL#HJU9rA\Nn)}y*@1'dK'\ ]%20:7୯;MmEʷ[9@71GOлG#Z@ta*oEA`b 4iA˛*tL! E-+Gow+#'@r+ev0 XvvL" mxIl vIe "3K[0G-Y^@Wz8Jc]enf_-(p8D6PStr۞\[)K[jEw|Em2ZG)Z279[tS*D+׀ Z۽Yqi~ɵ&u,PlqI\ǛW_q]r?KrnpT?V7 ߬ )x?MsQ q@素,-֌ӵ LxWo'2\o0uR$qMm' ݠYB5pb/MgwcDzXtm ~Fn1 kso:n7z`!B @/44!$¹ ȯQXo+/3.5~z"voˡ*zIl8-oL"\Pq1njHL_ߦmElủG<@݅MA:Mign afimuo,N͹kS:("oKoTߔ`5W-ixw l=b Gj0)Ĥa8z%Mdχ.J%!~ @)AP!0kButdك66Z4_F/k .X߹w])*'|ugFpk#KpeLuq.+k.fLy~4/>a}]l듷*"7 G/G#R07 p.Odm")#M{;`w&gy3q|רc@Gr,V9aYy ͦQq--2K4Kͼ~S*2 K`]yq4W,:~$ҕ=ZC y TbpL7!5g}qK?y:.+x?d0PL-CeƆ&a 5f`SA^)WhEwZÇ ;$-̹햓\j(G6W=H8+owݻ75u!/yۚ-/O!BPوiPزx(VE=`H[-֪-R'5/'>ݳ{'ŭ,gBʪc:L 4HD&q,6R $(fn*AgT4 XSj-!"+ܾ&Փ"':*M{er8N\b4 ~\VyXm|pVv1 X|#ɒs&C{ER.v82Fy8Ҟr!?V =Nd@ /i#r=&1!ڭ?)F^m*׽;X3gN|-OjL@Qkq{r9gbi setK"tT IBlqU\kE )(/GKw&<#wbv3?t/lgXUw2 Qu[lŃS>E4zRW|"_9LiedJբ$6ZwKeQqV0D=Vcѯ[m'?{WU k4F.Z( $փi.۞:lo]ѵ⏻6([g$9~L#|6"\?t3i uC;IDi=DOjDJ4q hgZF..nVqînVU6L~hD[dXN*d-wrO[-_(?" 7':_e)ؿtre=oV8p{~5+mw}ŒS(Ey*$2-gFp/]_+,P-97+sX/UZ(]({jf:EPXU6b0.`ݏ= KpQ'7e,v[_TYp|T; Yj% NIIXA8 2Xp}dK,ܲRKw+;Jӏ}=Ѡ;i.Ņt?8-K@E*Ay#V񏗇\8h׭H&ErB*VѮbs0&n$D(ܱ|4]EE1ƳWlmA*ԃ37fA`i@V`γVyUk[bWyg~~-Qp^F֊n1+DlJ~ ^IͯFNRd!*;4COzix$Jvrl\ 8KyJ%pIׅi}+gn+نwiw ZVDwPD}!Ơ;^f4dI9}qoh$]-%~ ABФ)SyGv0Ǻh e))bz.׮V{41[Bh㮉$;>:&bϳdFQifsq\ΆhbobL QpsAx 7 Q^,K!S?SDqBwFwwzxo{;}'k;dǩ6w:iǬ;s 6zz&ٿ e˽W܊)w,Խ׬;s=icݮ|Q;h5>*nV5X)@Cp/gLpXTՙ,(I'^b6nX" y2}M[G{+3mkK5l^.|i͉?_.goF)3Yo7feVx&6nN >K [ވy8r1hY^,bsq@VJBxh"WEB~O4(tAwV-F|.BqyC=-YEۇOJ\bqyFNZkp7emFg︯v/߱Ǿ4kT2? qElAuʇ0L\)W>Ov2i" M)!ղr@Š9hq>es{<4u_[I[bmJS:t{ȡc;|ݜQ/B{ Yu2riݠ6G;GPHtfJ1L>LJֈ8ˀD })E3i\ Z}m'>{oϏLm|Q:J0L+I6H:H;c%묍oI|$@ w:EV\,1Aj 3샀I0><( *fAI8J݊DKw=`+${pKanOOyViAdr*k@f('߾<<#B+n>J(9\K!,d\b"8!6`~|to6Y.]bF7QBK@ UNnPBfFW |ZcԼ"̘ ݅8;Wi@1HA2(<)9>J^6+RV(u~-E~oXVLꍅA;~IfZ2/dM#5ʆP/[Y.HtJnظ槳~󿻵Ljǔ1CN}XJQq-78 #\ࢳJčkl|lF7| ;)~ fc(oC7m6zqtيm,t5Z>żB=f֓8^+M 2-nUegyXiLUxQد;!c(+ vs_.@ܪ"\gs~B+3 `iQ1DEvb-IQv6fY3~w$.8p@ $]<:Eam Ѻ- fz 77ی(Ն>lybqSso~F]x]Sbqi_3@'7cM4=_j BVˤՈjB[TP &^Vz&NDR1#;71"6ͥJCJLv~FjKfƍo)]V؈.v)`JkS#y=kQEUh%8Bu .aS瀀gJɱs c.6O7w>B؞c%xFޡٝioA b !aW(b{*Yڨ!p;F+R_7kJCIN @*ݨZF"%jȒkG!{oses8 Jv܌a.&Qۈ[Ќ hYKqM)K' (rFn RwҵyYEn,[;o{u`u]W8[JK`%cρ8;_oFq/[>lRvV CZ|$r呏Dz~9;B`ݰ*{PjkhS{wTǗǷtxa ++쪮 5/amM5\\ k &Ю c%7AcX.NYY1*;y[i+F-E]u8Ls]}pdWbIo E%+D w$\0Jxg7GދA7TTK=(+ŷP)=~yQprEG)q`qixZ)b^EПgbYINoƶY! =x7O [ٴPQMH[l:j.9Niᖀ;i1 AcB|BN)?:bpb"W5X LOYZۦ`j+iZ9XM#=R(3@_dzr;n|>.iYDPچ)+ƥX9n,oJYc[`Tjh)hÇ2'oݰ5ci/# Q)ɞ]P&@Pg3^j&6uW(Y>%M]ǟ<_O5;X t)s+Ϫ'M0 cq$g%꼆6폭`kh&ģxS0c!$I~VLR8^/,Ij4UBa7Uث&rSj{cbKF@t#,Gl6ðˤjM]A(Er 0LXiyj=S0Ӣ}lpٵk09#LLo/P Oblм2׫ki+۸aaʽ[i31xf0VB>/xΛT͆EZ4^~h2 ݚZz8_(\oAuc, Dr]~u#U-5=pL:sU3-H|ܜfsq]%v!nQ ag6>v)F {deƗrzD4;'H "ZY 4CFMDQо lʈ@6 Μ3+,O][mm,eWbth/AȸX}H҃)bەCTms" sIǜOxU*^6y.1ButT/JЧH~`c==b2G[lp]=K/#}em̃ܧ.q4}v(k%SFFYǴr˯n~eCK¦rih`B!o5o"[_[cgChzeLU+VsY/ɥX52$/Ql[~YˀVWj1[k [Һn*|>//B׬-f8|y2YT\^YX쵵旃0vS{%5) B-v?xHP"Ā qњY (Vhut5kAek}^^: w6m4~O@(&GP4(\ڗ=K R5%aZӿ#:e} Z*i虌¿ |Mמ'y+ac .jl('m+\H.IVE57]{@M_20QzRx&`x=^;F9p*m}uoIwQզe;V @t^sw -g)4g G䢴\^TaW%'.w%ᗢsMtlDx!R-$m)vUC:-gs_?gz׾ܳ/W4Q>fbw%XNi@ށRDeM(9.+`u W{W̺ ^ :U>G>jSXoYxHꢦ0ّ͎HؐkPE~Of -[θ|Z(8؇] bY;{ HiJ. smowhn%nCAÓdXfcI2ȧ538BEk T<>o2o{>K"u5v6Jw;>}Zv/jnІmHVPZxj|R"įieMc2sb/" [4F/pu ?2!ע&Ďx|HQ.F9DWMaH&w v%nz.]Շ}ϙH㽅%҉XWx$:jᓚ BjJ1µ$d$3L- N狵яр+-*UG.v@^3. LD:ٴq%M\=6}!=hBDEo"FC;?]PPݺ"Djp"2E+U;If̋*-q D Rij.ovQm(X$`>pa@xsSϵ'f ԕjgr<@sm"\B,;6X<$h2Ƒm{lIa-|4^.X=j |Y!߹;L1G̋?r 6]u=9@!l<%%[Wh!N/ ȵ;u-Fxm6*8H 1R)33f͞C2m ºth$cHd5'n9Ө LdVvVh#ŔD(ȰRD$+%lnCjjbd'@h"%\w@'|ƐZ\ $hXV;VuGpl(IɬGfg⭈5Ђ6++;Q