%%%%%%%%%%INCLUDE alephdefault.mgp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This default.mgp is "Xft2" oriented.
%deffont "standard" xfont "serif"
%deffont "thick" xfont "sans-serif"
%deffont "typewriter" xfont "monospace"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Default settings per each line numbers.
%%
%default 1 area 90 90, leftfill, size 2, fore "white", back "black", font "thick"
%default 2 size 7, vgap 10, prefix " "
%default 3 size 2, bar "gray70", vgap 10
%default 4 size 5, fore "white", vgap 30, prefix " ", font "standard"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Default settings that are applied to TAB-indented lines.
%%
%tab 1 size 5, vgap 40, prefix " ", icon box "green" 40
%tab 2 size 4, vgap 40, prefix " ", icon box "green" 30
%tab 3 size 3, vgap 40, prefix " ", icon delta3 "white" 20
%%%%%%%%%%INCLUDE-END alephdefault.mgp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
%nodefault
%size 7, font "standard", fore "white", center
YAFFS
A NAND-flash filesystem
%size 4
Wookey
Aleph One Ltd, Embedded Debian
%font "typewriter"
wookey@aleph1.co.uk
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Intro
Who's who
Project Genesis and history
Flash primer - NOR vs NAND
How it works (log structure, GC, ECC)
Porting and Use
Performance, and JFFS2 comparison
Licencing
YAFFS2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Project Genesis
TCL needed a reliable FS for NAND
Considered Smartmedia compatibility
Considered JFFS2
Better than FTL
High RAM use
Slow boot times
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
History
Decided to create YAFFS - Dec 2001
Working on RAM emulation - March 2002
Working on real NAND (Linux) - May 2002
WinCE version - Aug 2002
ucLinux use - Sept 2002
Linux rootfs - Nov 2002
pSOS version - Feb 2003
Shipping commercially - Early 2003
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Flash primer - NOR vs NAND
%image "EMBEDDIR/nornand.png"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Design approach
%size 4
OS neutral and developed in user space
%size 4
Developed on NAND emulator
%size 4
Portable - OS interface, guts, hardware interface (diag)
%size 4
Single threaded (don't need separate GC thread like NOR)
%size 4
Journalling - Tags break down dependence on physical location
%size 4
Avoid in-place re-writing - expensive due to erase size
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Architecture
%image "EMBEDDIR/overview.eps"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Terminology
Flash-defined
Page - 512 byte flash page
Block - Erasable set of pages (usually 32)
YAFFS-defined
Chunk - YAFFS tracking unit. ==page (for YAFFS1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Filesystem Design
%size 4
Each file has an id - equivalent to inode. id 0 indicates 'deleted'
%size 4
File data stored in chunks, same size as flash pages (512 bytes)
%size 4
Chunks numbered 1,2,3,4 etc - 0 is header.
%size 4
Each flash page is marked with file id and chunk number
%size 4
These tags are stored in the OOB - 64bits: including file id, chunk number, write serial number, tag ECC and bytes-in-page-used
%size 4
On overwriting the relevant chunks are replaced by writing new pages with new data but same tags - the old page is marked 'discarded'
%size 4
File headers (mode, uid, length etc) get a page of their own (chunk 0)
%size 4
Pages also have a 2-bit serial number - incremented on write
%size 3
Allows crash-recovery when two pages have same tags (because old page has not yet been marked 'discarded').
%size 4
Discarded blocks are garbage-collected.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Filesystem Limits
YAFFS
2^18 files (>260,000)
2^20 max file size (512MB)
1GB max filesystem size
YAFFS2
8GB max filesystem size
%size 4
Devices, hardlinks, softlinks, pipes supported
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
OOB data
16 bytes. YAFFS/Smartmedia or JFFS2 ECC
%image "EMBEDDIR/OOBtable.png"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Filesystem RAM Data Structures (1)
Not fundamental - needed for speed
16-bit page address for each file
1-1 mapping on 32Mb NAND -
block of 4 pages on 128Mb NAND - scan
%font "thick"
yaffs_Object
%cont
%font "standard"
- file, dir, hardlink, softlink
%font "thick"
yaffs_ObjectHeader
%cont
%font "standard"
- in OOB, corresponds to yaffs_object. Each Object has parent, siblings (linked list), children if directory
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Filesystem RAM Data Structures (2)
%image "EMBEDDIR/tnode.eps"
%font "thick"
yaffs_Tnode
%cont
%font "standard"
tree of data chunks in a file. As the file grows in size, the levels increase. The Tnodes are a constant size (32 bytes). Level 0 (ie the lowest level) comprise 16 2-byte entries giving an index used to search for the chunkId. Tnodes at other levels comprise 8 4-byte pointer entries to other tnodes lower in the tree.
%size 4
data structures are allocated in groups to reduce allocation/freeing overhead
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Partitioning
Internal - give start and end block
MTD partitioning (partition appears as device)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Garbage Collection and threads
When a block (1-4 pages) contains only discarded pages - collect it
If only one valid page than can copy it to release block for collection
Single threaded
Gross locking, matches NAND
Soft Background deletion -
Delete/Resize large files can take up to 0.5s
Incorporated with GC
Spread over several writes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
ECC
NAND is unreliable - bad blocks, data errors
Needs Error Correction Codes for reliable use
ECC on Tags and data
22bits per 256 bytes, 1-bit correction
CPU/RAM intensive
Lots of options:
Hardware or software
YAFFS (slightly faster) or MTD
JFFS2 or YAFFS/Smartmedia positioning (if using MTD)
Make sure bootloader, OS and FS generation all match!
Can be disabled - not recommended!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
OS portability
Linux
WinCE
pSOS
ThreadX
DSP-BIOS
Reliable FS on NAND flash (un-corruptible, ECC, wear leveling, bad blocks)
Good for battery devices - (power fail)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Yaffs in Use
Formatting a device/partition for Yaffs simpy consists of blanking it
Creating a filesystem image needs to generate OOB data
mkyaffsimage tool - generates images
mkyaffs - makes partition, and can fill with fs image
In Linux - kernel module
YAFFS Direct - supply 7 functions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Embedded system use - YAFFS Direct Interface (1)
YDI replaces Linux VFS/WinCE FSD layer
open, close, stat, read, write, rename, mount etc
Caching of unaligned accesses
Port needs 7 functions:
Lock and Unlock (mutex)
current time (for time stamping)
NAND access (read, write, init, erase).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Embedded system use - YAFFS Direct Interface (1b)
%image "EMBEDDIR/overview.eps-0"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Embedded system use - YAFFS Direct Interface (1)
YDI replaces Linux VFS/WinCE FSD layer
open, close, stat, read, write, rename, mount etc
Caching of unaligned accesses
Port needs 7 functions:
Lock and Unlock (mutex)
current time (for time stamping)
NAND access (read, write, init, erase).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Embedded system use - YAFFS Direct Interface (2)
No CSD - all filenames in full
Case sensitive
No UID/GIDS
Flat 32-bit time
Thread safe - one mutex
Multiple devices - eg /ram /boot /flash
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Performance - Examples
200Mhz StrongARM, 100Mhz SDRAM, 2*64MB NAND (winCE)
1.5-200x comercial FAT-based FS
Flat-out write speed (1MB writes). 1.2MB/s.
YAFFS-to-YAFFS copy using the WinCE file explorer. 64kB chunks. 500kB/s.
Copy 11MB file from host over USB ActiveSync. Approx 26 seconds - most of which is USB transfer time.
Delete an 11MB file: 5 seconds.
24Mhz ARM720 prototype, 16bit 12MHz RAM bus, SW ECC.
Read: 185Kb/s
Write: 85Kb/s Write (no verify): 175Kb/s
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Performance - Caching
Linux VFS has cache, WinCE and RTOS don't
YAFFS internal cache
15x speed-up for short writes on WinCE
Choose generic read/write (VFS) or direct read/write (MTD)
Generic is cached (_usually_ reads much faster ~10x, writes 5% slower)
Direct is more robust on power fail
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
JFFS2 and YAFFS comparison
JFFS2 - 16 bytes per node (48 in JFFS) (4MB for 128MB) YAFFS - 2 bytes per page (512K for 128MB)
128MB NAND scan on boot - 25s Boot scan only reads OOB - 3s
compressed uncompressed
complex (especially GC) simple
Linux, ecos Lots of OSes, easy to port
boot: JFFS2 4s for 4MB(8MB), YAFFS:7s for 30MB (twice as fast)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Licensing
GPL - patents, Good Thing (TM)
Bootloader LGPL to allow incorporation
YAFFS in proprietary OSes - WinCE4, pSOS
Wider use
Aleph One Licence - MySQL-style: 'If you don't want to play then you can pay'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
YAFFS2
Specced Dec 2002
For new NAND chips.
2k pages
no re-writing
simultaneous page programming
16-bit bus on some parts
Main difference is 'discarded' status tracking
zero re-writes means can't use 'discarded' flag
Instead track block allocation order (with sequence number)
Delete by making chunks available for GC and move file to special 'unlinked' directory until all chunks in it are 'stale'
GC gets more complex to keep 'sense of history'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
YAFFS2 comparison with YAFFS1
write: 1-3x faster (1.5-4.5MB/s vs 1.5MB/s
read: 1-2x faster (7.6-16.7MB/s vs. 7.6MB/s)
delete: 4-34x faster (7.8-62.5MB/s vs. 1.8MB/s)
Garbage collection: 2-7x faster (2.1-7.7 vs. 1.1MB/s)
RAM footprint 25%-50% less
Slowest figures are for 512b pages (like YAFFS1)
Faster ones for 2K pages and 2K pages+16bit bus
Development sponsorship would help a lot
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
%nodefault
%size 7, font "standard", fore "white", center
YAFFS
A NAND-flash filesystem
Questions?
%size 4
Wookey
Aleph One Ltd, Embedded Debian, Balloon Project
%font "typewriter"
wookey@aleph1.co.uk
%embed "tnode.eps.gz"
M'XL(")KJ-$```W1N;V1E+F5P
]?T7GP6^3E5_/#;[G7-F#`
MR36R%TB`(#"THUFM?&=GA)E9VQ<+__?4J5-DCQ1)#X86AK>KV&05BRP63U6/
MOOJ7G]Y>_=O-X=WV*G[MYN]^>ON]$M-77_WE\&E_<[>__Y)&(?]ZW%Z?#\=OYK>?]O._WVV.A],_3^?MQ]._SC_L-U]+C[_?
MG7?;;^;]8;_M_>\.^V^OSVOCC]?[VT\B\\?MK]O=-W.0IN_V-W\]?/RXW9]/
MF,OV]F[_T_&P.]QV[C^WI\.GXT:$O/U6Z.G-N_3SW7[S\^DLDN?3]:_;^6;[
M?GIS<[^FS^P=>'^\N7LY]/G][IFT^G[1%]YW?0-KGYM#W?
M'J__.2NUN]MO-]?WZ$_FM[N;\X?UW2^'N_WLE?UX=]X>=W?R^)__98>;Z].'
M68;<7Y\_3&]V9OP.QL^_?=@>M_/G^\/]_/"%EQ'SY_?7N],6,D[GX^$?V^N;
M7SZ=SO-H/?RZ/=X?[_;G/^:[]_A?ED6,F3^_N]O?P*P_YDY-;S;S9QERO'VW
MD74]RAMMW^QFO'Z>V7PZ7HX\SI^/!_A+;SA3
M_OEXO3_M+MI/,I/-]6[E8]4GV.=\/W_>[`ZG+5QU&/_>5D,'RPY=#H"S;0_O[W:[/TS"YD+$3+?MK["L
M#QH^R09_O#X?[WZ?;>[D^OO#1_K*9>,[D?+F^JVTB-7=M/G-_K__]OYTR?^7
MGM#18/+OQ4//,SN[^4C/FC$1&]`EG_3!8XX%N[G[%:8,]'\).&BWXK*U.=W-7962
ME_DL3BWS>6)-U4/DW5C/Z2J4T.:KN"QM/L^3AWTSA+LHHDL(LQ?:S9LY+:',
MK;4T?YSGY)=(9M>9E!9EFO./&':;5@'RYGZ6F;A9`H2?)7ATA>N_?TKA=*EP
M?JAP\Z152_1A5=)D0<=H94S)DFM^Q)A5JX!AU1.VO+*:IVW)KJK<"B5+\8G,
MKC,I-3`YY?"(8;=I%?"2+:^LYAE;JEN5R.AU`)F4,AA1V!XQ7RU"60V77&-3V'-4OOAPR[3:N`EVQY937/
MV-+2JD1&KP/(N!;`M%#+(Z8K&0)>M.5UU3RW+[)WWKGDN6*RX>1VQK5$R36'
MU)E)F='O0L;+>_,G5,T/5$V/5#UM4W-Q6175G/W%7,%UV2VY-FQ29O2[D/&2
M37]*U?Q`U?1(U3,V54_1"Q2U%(MQ.^-$MD9,[WQ=.C>16WNN4EZTZDLH>]HN
M[^2V776)B'8QB*S(C^1J"9V;R%UT706]9-L74_A,#/=^F9=*,)*+[+$RN\Y$
MCBZIMD<,NTVK@!=C^.NJ><:6)H^NI"P2*/L`,B:WAI(>,5W)$/"B+:^K9C-Q
M_OQW!*-<5*Z"D1I=(+/K3"26:D[BS4.&W:95P(LQ[W75/&U+BVU5(J/7`60B
ML50K`L4'J?8NC<9%SON4IY
M,19\"67/V5537%7YE-N%`.6ZJA!\6561&SV'E)?M^@+*GK$K9*_"];2*`#F/
MRNT&U^-E:!)'C9N,&SV'E!?M^A+*GCY3/L9XJ4K2C@L!RKFDE[F/DI=T;C*N
M]UREO&C7EU"&_0K2SWW=@I]);^;82I$\>"G0I/4(97;&:&U"F`4PV)A)F=YM
M%?"217]"S7RI9GJH9C/=GK02$Q>WS&E)93Y/44++E9=<5U0H'8/&G"CF#MK'
M^2H4-T?9VZL@BD**)#;GV8O;*XVU!)T\O4=IH#+Q'R$$K.5$0D:%[$A#OCR4
M%B.$@&D9,Y'D3GI.44*(,NA:@_3(.JWZ@%H4;*A4N0&R2<0S5M4(LNK5!DHL
M$Z/%<@P6^Z1#G?6,!EF<0>`5;%F\]J6M]I0[!=-C6^0071?2T5D[ET].BZXI
MUEJ&Z:8O>!,#:RQ.K`R5%2*E"\LM#K,M;/<5M.QI*$;$2`(S00;)5KE)9)K9
MB*CKJ'31@,5F/V.E8&'"5+W37D)J/KID6P\0>*G.A7Z"$3S'ZU-$RC@E8]#S
M=3^EBGVHBN=3]J13PO;+/I)(G)7201IUZ\18CG6Z9XLS6L6C&PF.G_,D:ZW:IW*#U2TKC))H*02LD6R_JH\T
M+K@HR>1XN?DE<4#X<#%>$:/@Y0T.#US@A/FY46K9B>I%*R3]R@)AN%1`N"(G+>@NES6^XGRO<:
M4.NBATDLQ.2"R&OP`Q!8)"R*-E8T%A30$L?V%;\_?)QNCY/LC2!-WX)5Y'`\
M$H-1QMEJO'36;MU!/8K)#L5D!7H2-EG46T39X@H[GJ:,FE!NYL@9GI8SJV15
M0G@N"UUD=.ORBT-J4IIG.N,#^G:IDH=)Z,BUH[9E$;G->]M8<;.<2R,W>@[)
M<)TE4S)ZRS2J3R9:K6F1V?P2L8:.<5KN*-FKX%E['=VZV)P;+N+*.FV2(]-\
M[1.N3CQ>*S-:]U"I3#"KW-G".)WMVFU,-D5Q'0L$U0GFE('5I`JT7N;:Q&DU
M1Y?-JY5S;3E49![%$+AUZU*K1XW(YMJ6BH$NC<7-55RS<++>(8+5$FUQ%YPY
ML;X#9.O9)3=7LTCF?*6W.*5,*7;1OHH%?<9RW&5%97@TK"D.5S/O^XN>P^,<
MCES!7:J#BQR;6E;9`0W-F^R09%:U69$B9"$J#HURH^>0[;,">&_P"]&UMMRZ
M[)A=&?LG.X;RNJ?K^H@[ICG&QXN>0[9<8;+:V!X=C%I"\Z&[AMS]J(+EJ+)3
M\CCWT:Y2.1?*55Y\HV>7K3BHP<4_ZON*_;+WIXZ8DI-`[[V7!3W+A8]XX;B&
M&@+E=O$E&-$\"8"6=E`5*1.,B+)RB!R.L'-E)2P=&D/1,R%5YQ>!HX`EE9'E"(-P.J
MR3G%:*(C[SLJ(BZ80`QXA"L-2"_H8'T2'MUSN9*G3RFMF+!P#C[G<&10H)
M.!/&B1%TH#U*C%`64C7;?H>35IP$;KT@F=38PC8!>GRZ+AL`(89H0M
M*)#(Z/2)RWM);$J*'_@LB>``6$R#Y$0:<3+IO(2("Q$<>N*.C5Y+$+SCX&;]
MYDNJ56A@71G2C#!80P9P7^&D!UAO)#"X9&M43].L`$2B:-*`_;J1KA,F&G=^
MD+-G1#&B!,Y++ST`.RR'0PFBD@`8*]$:&Q96HA2)5`G&FAT+G#,)2(IT4X$#
MB:,GH&0`"ZB![P*IP"NN1)T^LXI14@Z;^JG.G?GJLFX.T-)IG$30
M3?W2X3NR;@YA2D"CGD*Y.!1;.5QAAJMP)LSGJC,(5I@E1",(M)5&?E:RI@1R
M]6$CO"=2T\&`B`7.A$T!*JIZP@ORJ*Q7EBQ(X#-62M63*EV8-V"T(]#%*5\$
M"XNO-7WPW(!"8"_XKJ'P+NH3!C0V-;DTY,:0F(U0O0R@*2XG,Y1=]WPR:DQ*
M7P&^<5I-TU)'L(M`N!B&T-!0),RJ$7CF1*0I9,&"-*X!?L0@!+>\(G\1E&DX
M&83FBCPR5<.H3+*60502V#QGC2T&'@C=8V\S1_(NGI/4TBL/"*KGDWM".N)M
MXD%O)7%C"75%+K^GB.OKS8V?>@'[$PQCF-?/0`*7&Y_)5A-6"#9;<.=%G;OG
M)3#IUP@D+W*N&Q_,9T%915RVSG`!0!LFR<(M$]FF$Q+_A7MZ$EBI&DDW/:T-
MZ`#QA-DED;GBQ<@54,+3`RQC?"?6CT)B-;]0B-F@'O"II77HQ@U/%GR
MA!BGR1-R:61*@C]"SYX\(+PV>DP?W;0"8`F4]Z$RT`D5F4)YKRE?SZ&TW-%S
MJ*@&01R*+ISS*3$
M*SU3*5*62Y'1W<;1$_D291AV/B7O4]GS(]3*C$+SRO$IF(95*R
M6G7D5#YHJ03-@7Z(T?GHK9LB",-H'(J"40F_FE5(Z%7LI2`LI
M#>T(S%ZFXE/5,VTZ>/6Q#*FW&59#IU:]$58+(!/P&@Z#)ZH87,E4V)1P47GH
M2ZG?4%[Q`S[Q)NQ.UG)5'#$)LPSDM$HG3+!ZG1\40!F>$`0YN.LH&X6%Q?2A
M2^XAW:-N@1946K&&GCZDVR`-6G>1&9*HG*K2'D`3%=<99$X5<+N'*]WG<0HP3#*>E1K?.*'*Q,\JN!S*`^;A4M#QG$IQYKH9KMNMMB[ZD3`09%NZL]T7E+KB@.Z.E"6%T
M2\5+D;L+)>F42XX4L@:6H;09!QX!R"BBD(D*R3@$9KP[R.BMO1-(-MD9>@X+0&S=;!%AI-S`:$NI,(=`>:0^:3,@,C6(X
M),,4VEYH7\?>B]22>U!.U2"!"&L4T<8<`SQ=7-V*A'C:R+&.,'(N@
MUQ\.00CAHFPG5MB%(_/4F!I@>F0^P76(P[V"[Y<5DT<+O=PUP%G;[1;6&T!N
M_$8DX@D:I+$F8<&1TADK%1H_9!A3!I5!Z:UGZ[743`YS5H95+7L1
M\3$$V4[(6LS4B5?>I$)5#2"L6$8(].*
M^*1&I]70.)Q90;BV:W0&]C/3^?F)3&(M5*),&[$J5*]'7\PHK+U@QQ;]&-6W
M*EJ57O>J?^92)ME7"*'BH,KZ?:R4TINK=DB=8FUI(F<+JC2.==%Z=X:V.A84
M-.=0F[N@>E1C[I*ZX=&(LEZ(,985($?]4"C(-RI2%DLB2@H&D.7C.O>M^IR+4E(YLHX^P+7=2O8:"H`[>%MF>%'O"8C,H%OKY!A);:8%34,!_E
MQ`D5:34Z7.0($QF+9.SV@"GQX@5T1G[EY3CNF]*,-:5_!E7*KM.H<5E"#)UNC*2VUCBC+W6NA#6PIZ^<&MC2&V%*896#+:$"S8#WCH-J*+6,E]D&[
MQFIAC2*V),-P82^P5=FLUZ]M9CUH6H\B`2W6*H-9WR+!1-2Z!<0H8?%7Z8$M
M(\HV'5M&_="G6UWU;+:&*O5(6DB5A*_PT[S7?<$8P-R1MWXF%66U,^.:G7XIM
MMJC!TF2&,OI@8H&6X3SISP#0,=F783F[J8?S%&.R1MR@Z!9T,,-Y0H%`PWD*
MZDL+.FC9R\)YTFJWA?/$=`[BDA;L,ZC%CW">L*H:SE-L!C]3S&X-YREV,)H`
M&C6<4[>%\T1<+>$\:>1'."=EX9R,!&:=*'Y$@1\]V60]`GR"_R"AAY4U`44V`PT5>%*#?">8IZ*Z,YZ2]G"DKZKCT*Y_8=^0,BQ\TJXOH.R9G[X)&E3AU;Y[X*LIY)_;CW^^AI_=?U9_\3UN+W?7O__O]5>_XI;NV[W-Z/K@S_\
@MK^YM3^A_/OQ^FZW/>*OT`?UW=^^G_X/;+&^>?<^````
`
%endembed
%embed "overview.eps-0"
M)2%04RU!9&]B92TS+C`@15!31BTS+C`@"B4E0F]U;F1I;F=";W@Z(#`@,"`U
M,S$@-#@X"B4E4&%G97,Z(#`*)25#7-T96US
M+"!);F,N"B4E5&ET;&4Z(&YO;F4*)25#W-E=')G8F-O;&]R?2!B9&5F"B]L('MN96<@;&EN
M971O?2!B9&5F"B]R;"![;F5G(')L:6YE=&]](&)D968*+VQC('MS971L:6YE
M8V%P?2!B9&5F"B]L:B4T],871I;C%%;F-O9&EN9R!D968*
M8W5R&-H(&1E9FEN969O;G0@<&]P("].
M1F]N="!F:6YD9F]N='T@8F1E9@HO<"![8VQOV-L;W-E<&%T:"!S=')O:V5]8F1E9@HO<',@>W-TVUA=')I>"!C=7)R96YT;6%T&-H(&1E9B`O;EA/9G,@97AC:"!D968@+VY7
M:61T:"!E>&-H(&1E9B!C=7)R96YT<&]I;G0@;EA/9G,@,"!R;6]V971O('!U
M;2!N5VED=&@@85-T`HM,3DR-R`M-C,U('0@"C$@,2!S(`HP+C`P
M,R`P+CW!O<'T@C?-V````"7!(67,```!K
M````:P!Y6&O'``"``$E$051XVNS=95P52QL`\&?W)"T-`B*-C8#8"EB(#78G
M8GIY/XSP(L;UVO?>^7_PY]DS.[MG
M=W:>V9E9%H"B*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB
M*(JBO@_#,#VZ]T@XFX"(B%A>7+YZ[>J[M^Y>3;HZ;NPXDN!W[^._AXJJBH>G
M1W1D]%+OI:'!H2&A(:$AH7%'XP"`P^'\[KW[+D)Y88^>/:Y/G%ZQ\X=AR,/9V5E(:+/!I^.SAUC8V*E$BE)+8R1U^.V*B
M8MZ]?8>(/AM]%!45`:!CYXY1AZ*V;-VR;LVZH\>.>B[R3$M/:]*DR>\^9O\6
MJJJJB"B52J\F706`A@T;(F)Y>?F&]1O@*RY@'IA'0`P\/YZY_/Y`!`:'(J(MC:V5;^J_/;NW;N(6%):8F)B
M4IE5;%SLEJU;U-35`.#1HT>(6%1<9&AH6)G@V(ECFWTW\_G\CDX=$9&$'Y9E
M@0N'P@\AHIV=W>\^8+_:SVI2E9>7D_^0*B,M+:V\O)S/YP\8-`"^HG)OVK1I
M4$"01"KYFL3_0>286%I8]G;IG9J>"@`<+@<`SL>?'SMNK)J:VL_>`40$@+%C
MQBZ:OR@W+_<7_&2I5`H`1V*.;-RX<=.639'1D94+J3\?(C(L(Q/+M@=LS\G-
M`8")$R>2EKY$(ID^=7I`8,"5RU<```$!@&$8D4A44[>FK9TM`'3MV54@%)"O
M"'()R&2RJELAX6'^PODO7[T4"H6?2S!O_KRW;]^*1*)94V8!0$I:"ME##G)<
M^[CFY.209-0/("\O3^X)DJXE`8"2DA)*$!&?/WT.?]5^;&3=J+BXN+BX>.3H
MD4![`#Z%').VK=LB8L:;C`GC)T!%>\?,S,QMM!O\_`@ZVFTT(MY_<+]YR^;P
M\^\)&ELW_AE;H7XE'I<'`.2>P-C$
M&`"6+5^FIZ<'`!TZ=`"`Y+O)B!@3':.MIPT5E]7$\1.-C(Q^]Z'ZMZB,!*1W
MJ$WK-HB8G9W=J6,G`.#Q>"M6K4!$L4@<%!"DJZ/;NE7KFTDW_;;[R2G)G3YQ
M&A$E8LF;%V^.'CO*$_(`0+^V?F1X9.2AR."0X,-1A]6UU7_W3_R=2)&ULK+*
MR\^32J6(F/P@N5?/7E#1361F;G;CY@VR?)S[N(,1!Q'QUW;MN:]B0M(CK"RMH*`'AT%A`2*&
MAX<[.SDCXN5+E\>ZC[U_YSXB%A44O;,MZEBDI*8AX+>F:N[M[3&P,
M(J:GI7?HT$&_MO[E2Y<1\>']AYV=.D-%C>#W
M_SU[]7S\Y#$B;MN^;>WZM8AX[<8UBSH6!OH&"><2$/'*U2LD,&AK:Z]/XBC\=;NVIM94]1)99E
M@8%5:U8=CCK\-NLM(I*^XDK5(H%E'4L`>'3_D54C*P!@&(:TZTDD*"XI-C4U
M!8#'#Q_7K5,7*FX.(B(C$%$FDY66EF[TV:BF]=-OIO]S2"202"29F9D!@0&2
M,LG]!_>;-6T&%5%=04$AZVV65"*-"(\``#55M9/'3G($'*@88R@L+"3W!`"@
MHJ;R-N-MUMLL`-#4U,POR+]T_A)4U'K_9>[CW!&Q7%1.AL7NW;O7J4,G\E6'
M#AT0L;"@<'?P;MLFMNLVK"/!>+W/^J8MFZ[S68>(5ZY<,:QE"`!CW,<@XL)%
M"P%@^*CAB'CZS&E5=54`T-/7(X'D[KV[BSP7W;QY4R*5.'5V:M^^/2+>NGVK
M1^[@Z*"@I!`=&8V(5Y.NVC6S
M`X#)4R:36P1K&VL`6+YJ.2*.&C4*`#R7>")B:%BH0$X`M%/Q3\7G\0'@Q+$3
MY+9@F=>RI5Y+:]6J534-"1C#1PP?.F)H@\8-'CY\B(A)5Y)(R2%GED2".W?N
M(*),)//T\B1=_/7JU8./(H&T7+K(NEI.3^]T'Z3?XN4TGAF&>/7\V:L2H1M:-6!E[Z?*EZ(AHH:(0`,K+
MRGTW^;(K7:=2PD40J^8]?\-NW;>_8N>/3U*<,PT@DDGKUZOD%^'5RZ@059?W5FUT*N)5T[?>(T`&2]S8H[&G?EXI7X,_$`H*2D5+MV;0!0$"@`0(,Z#0"@*+\(
M`+0UM1O6?7_#3CI;4QZE+/5:VKM?;Z>.3L>.'E-55:VV,R19:GIJZ+[0&]=O
M7$BX``"O7KV*BXM+NIQT^>)E`%!74]?2U.()>"ZN+@"0\3H#`(H*BP#`QL;&
MQ-BD<^?.`'#VW-FS9\X6%Q8?.W$,/C4>0+;%8WD`8&EF"0"E1:4`8&1@9&YB
M#A7S5:@_C50F!8`ERY>\>/D"`!9X+(@]&OO\^?.J%S(INB[=75)24N[>O/OH
MP2.4H:V=;9V&=:!BC*I:G@_N/KAU\Q9\YG90*I4^N//@]JW;E0E(^7GSXHUM
M2]M=@;ND4BG+LEP.=]:<64N]EY(QAO^4GWZUD!.<_#!YTHQ)#,,X=W,.W!X(
M`!*I)'!W(`!PN=R1HT>V=VP?LCODDSGP>?QF-LT`H%:M6H%!@9NW;$Y*2HJ,
MC*2C.CP>3UE9^>2QDPT:-NC=IW=*<@H`&!@8N(]UAZ^<5\,`PV4`P,_?3UM'
MV]/;<_SX\:/=1@,`EU=]];*R,@!X^>SEV?BSW[*[#```PV'*I>7ZNOKU+>H#
M0)P_H'_TX>B$"PEUZ]0U-S,'@/R"?++2QY=]U87+EB[3TM':$[YG
MZM2I/5UZ?NVOIGX?J50J$`@N)%QX^?(E`(C$HN+BXJH)6)85B\6-K1HG/TE^
M\^H-`&SSW_8F\PT`C!P^LEK[@Y0$,8KOW;^W=/G29)T\=;)]N_;NH]SOW[^_9>`6EF4_>2++)&4`4%14-&+X
M"`Z'4[6%^,F:XE^/81A$M+2T=.[JO&K%*@:80P1G[3PP4IFT5%P*`)6/KQCP![VLR(2T[[9K:_CO\ZUC6:>G8LJ"HH'G3YF2^&?4/\)D+
ME\/AR&2RX<.&6]:U7+MV+9?++2XIEN?)HPP']!NP=O7:W-Q/S%4CI?WDL9-Y
M>7GPJ6JA,D%!00'9BD0BF35GUI9-6S(R,M)3TX>/&GX@\D#@KD`M32U55542
MJ/X[?MT=M(J""@"@#-.?I0,`PS!EY64!@0$,PYA9FKU\]:GCC@``8IGXYK6;
M`,`7\.W;V4NE4H9A%!042`?W?Q.IO@UK&?9WZ4\^LBQ;D%\0$14!`*00?\VH
M*<,PY>7E0H%PF=>RGCU[GCE_)OY4O*:JYL_;HOK89EV=+24K4::FM6KFG=IO6>\#TI]U,T
MU#0`/EN_4/\44HD4``Q-#&?-FM6G=Y^^??H.'CC8>XUW05$!`/3MW?>3_?@2
MB00`EJ]<_NK5JT]G*Y4"P%+OI1D9&5#1>3BDWQ!='5T`D,ED?!X_[D@Z"BDA._N5P.0[V#N/&CG-T=-QW<%_&JXP:*C6"=P9WZ]FMW\!^?@%^;_/>
M_L<'"4O;9K9:NEJ]>_<&`$UU36UU;:AXMHAA&)%8I*6M96!@```&^@;-6S1OU;(5
M`/"$/!55%0"0(GW4X`]%+G"6PP(`G\>OVF3AO/GS^'BF(6
M&1F9DYT#`.X3W/4,]:!*20``.:[<9X>%&"`)JM<5#`"`C)5MV[%-54,5`$1B
MD5T3._V:^@L]%V9E9?WN@_3/QP#3J6.G$R??SPT@\T3W']B?EI86L#.`3.&J
MQ.?S_7?Z/TY^#%6FBG.YW/D+YJ,(<][FC)\TGBRL6:MFS)$8<8E84B8YN/^@
MILY/;+?^^4BQMFID=?K$Z6V^VTX;%Y\^9#$8?V[MY+CK"QB?&Y\^<0$66X
M8^L.?0/]R.A(1)1)9=M\MQD8&40?CD;$TM+2#9LV,!QF0+\!Y:7E8K%X\X;-
MW;IT2WF8@HAD9N>$\1.*BHL0\>6KE\-'#><*N.32U='5V;-G#R+>NWNO2=,F
MM6O7OG'K!MGBJN6KC(R-3IXZB8@RB6RY]W)C<^-3IT\A8E%1T1+O)1P>!P`Z
M=.YP[^X]E&%^=OZ\>?.X?"X`<'@<]W'NN5FYB+A^X_HERY:D/4T+]`\<,7Q$
MV]9M3Y\ZC8@BD6C]AO4\`6_RQ,DHP_*RX.+2DM(55$XL5$E]XN/#Z/5.XNO5UR\W(?W7\T?N)X!44%`+"H
M:['$:TE^7CY)?^W*-7,S0.>`4Q1%_:>0^4+3IDSC<#C+ERW7T=/YW7M$411%_5I*2DKD
M*:?&5HUW^N\$>D-`413U7\/C\;9OW2X6BZ]N7+T2$QGCZN(*`)]]FS9%4=1_$\NRX\:."PT+7;!HP>X]NUWZN,#G7R_.
MY7(7+UF,B!*I!!&?/GT*55YM#P!"1>&B^8NF3)X"'[W73$Y)SF.AQZ2)D^"7
MO/+,RLH*$4-"0\@>,@S3?U#_XN+B2PF7M+6UX:]>H<[E2ID^$G1P*R/Y:6EI61@,?CO=]#^]:(>#[^/`!P
MN=S/Y<#G\UUZN8QU&PL?QCF*JDK`%P"`7X`?B02NKJX`H*6I=>+$"41>_R
M@/E$9NW\OA\/I[-09`'A\7K<>W8)V!4V<,C'Z2L.;,`0%U#O7>_
MWAKJ&F/'C%TX?Z&"L@++85UZNP0&!$Z:.NEPS.%ITZ?!%V\IJ/^XT^=.ISQ)
M`8#!PP;;V-K`IYH^#,,PP"!@8%!@&\05YOZ#+E*(^@Z>H&;-
MFH@X?N)X^$WW!%677[]Z'0":-&F2EYO7VZ4W`+3KU*Z\K-S4U!0`FC=OCHC=
M>W8G&=K:VN;FYO;JT0L`NG3O4E)<4MNP]L_^%=2?[Y/W!&1A^,%PLK!?OWX`
M8&9JYN_O[Q?@=^C@H;2G:6M\UM34JPD`X\:.R\_+1\1W&>]>/'_1K5/5QZJ&NK;]ZXN5'#1KN"=R'B/ZS_I,H]24YVSJ9-FQ(N)P!`
M45$17\"OI5_KXQ_^]NW;31LW74B\0)+)RKE>O7YTY=:;;6#;EM.[8=B3T"`&XCW-G6.;WWD]3?Y0?W2,A^9:5"@L+
M9\R:P>5QAPT?IEI#-2\_[W'L;%QYQ&=
M#6H9B$0BCJ!Z5.-P.,^>/?-<[&EJ:NK4VUJ9DC0LN!PN::SHZ^L#@%@D!H"&=1MJ:VIG
M9&8P#(T'%,"/O2=`Q/17Z2S+5LVUAF(-`,C,S!P^?+A4*I5()(A(NOBKMOW%
M8O'6;5OEY.2TM+3^0463R^-V=NHLE4HC8B(``!@8,6K$1I^-P8'!9TZQ;FM6K0D-"HT_'2\4"F52V>_^*=0?2B:30<6T(@`HRBT"
M@)$C1FKJ:*:FI\Z=-[>)71,`X+#5VQPH0P"02"6#!PW6U-',R,R8OV"^56,K
M`&`YM.5!?>!'WA-(I=)+ERZ-&37&L+;ALZ?/R$)C(V,`N'3YTLE3)Q/.)9!Q
M8U*XJ]62F=F9B)B1\4]JIYB9F,V?.3_A?,+!`P7E-F#CA"\DHBA")1(K*BC5JU`"`"Q[KVE$JD
M!GH&`"`J%P&`I8DED*?2@-'1UK%K8L?E<7NX]!"+Q`9Z!EPAEUZ?U,>D,FGK
M%JW-3,T`8$_8GOOW[C>LW]!GG8^YI?D:GS7%^<4JRBJ?7)'<7*2LH`'PQN4=2/Q[+LS-DS;UV_13[**\NG)*<,&SH,/AH.Y?%X
MBSP7[?+;I:.M`P!:6EJQAV--34RK9:BE^_FY0P:_:.X0A\-IW;KU[CV[$3$W
M-W=WV.[#,8>3$I-.'3\U8,``8/__UR:4E)2V;M^*B"&[0YJU:/;\Z?/TU'0K
M*RL5%95CL<=*"TM'#A\)`.KJZCO]=R)B0&!`BU8M7CU[]>31$UM;VY_]0Z@_
M7+4GR_KUZ0<`"O(*APX>0D2/11Y"@1``NG;IFOHD%1%]-OHXV#M_^N=2_&LNRX\:/"PT*7;!H0=B>L$%#/OW@&,NR4R9.*2DHR7V7NV'3!L^%
MGC5U:WZ0@H&&C1MNVK`)$>-/Q[=Q:,.3>_\\%\,PC:P;^6[R1<0S)\^TLF]5
M^15%_1.1"T15777.O#E965DD$ER_>CUP5V#BE<3(Z,@FS9M`Q;-C##`;UV]$
MQ,+\PM$C1T^=-#4W)[=Y]S5^7?_:(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB
M*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB*(JB
M*(JB*(JB*(JB*(JB*(JB_DFX(%`0_-Q-\+YE$PR/^?X=8UG6T<'QY+&3B)C_
M+O_@@8.GSIQ*24DYL.^`C9T-_-FOH=>KI;=LZ;+P\/#.G3H#`(?#^=U[1%'4
MOP7#,/,6S$-$F4R&B&_>O`$`EOE_A<@57EY3AV=X,\.
M!M-G3!>)1([M'8%&@C\5*:+N;NZ(>.OVK:$CAL9$QY#WVN__<1
ML5NW;D!/(O43<+]Q-2&W0_L.[F[N7"X7$9^D/@$`&_'FQ9#10UJW;#UMZK3C)X[7KU^_N+A8)I-]O`EY9?DVK=J,
M'CE:7EY>*I4^?/00`*12*?G6OJW]KJ!=NCJZ<^;-J;J6LIIR,[MF(X>/5%14
ME$@E#QX\``")1/(]QXAA&$0L*RNK7,+G\;,SL^=ZS+V4<&G8R&''3ASC<#DR
MD>P[-O)3L"PKD\F>/GG*X_%0AK][=ZB_H*NKNW_/_CGSYSQ[]LS2W+)K]ZX`
M<#GQ.'-/2T/K=^TC].WU+)&!9=OC`X<&[@H-#@S^9X,K5*QW:
M=WCY\F75*M[8R/CITZ>+ERP&@.C(Z"=/G_AN\NW>LWM8:!BI:JOFP.?S!_49
MM&/;CCW[]E3]MO(_\>?BNSAW>?#@065L```Y.;E^O?KY;O8]``J02KK?7#
M,```945E`*"BK`(`##`_>!/4?P_+LE'14<^>/0.`RLA-BG%V=O:I,Z?R\O(`
M`&A,I_X$7"[W\9/'LG)94F+2Y*F3>7*?Z'M14%!`Q,H&.\MA&]LVKII21T<'
M$<=/'`]5NH\J*2LKOWKU2E(JN73^DMLX-Y;/?IRF9LV:E3F0^V5U#?6LK"Q1
MB>C\N?,CQXQD>,S':WT#DHFEI65E[Q#+L'P^WVN9%R+.F#4#*KJMS,S,-FS<
ML#MD]_T']WTW^9);?@4%A:$CARY8NZU.FW;]R>-7,6`##`6-:QW+AI8]CN
ML`'FQ8OX%A&1Z7UZA1HX#`@/WA^QO;-I9)93'1,<-$/$1X\>V5C;`(!A
M;<.+%R^>/756("\`@$96C39MWK1OS[[DY.15RUM725(T$GZR.C5E%7
M6;)XR>'(P^)2,2+>N'%#0UVC6CY5(P'IIE?34O->XAU[.%92)D'$Q,3$&BHU
MOC\85(T$4=%1IB:F_?KVBS@8@1)HGH>G!P#8-;<[&GN4+&S5LA4B+E^Y'``<[1WOW[W_YLV;
M7MU[C1\W?JGW4@"(B8I)>9S"%7`!0$M;:_S$\8X.C@!@[V@?'1E-,NG4L1,B
M>GIY`D`CJT8QL3'#1@P#``Z'X^GA65I62L<)_BGX?#Y\%`E(&2/EW*BVD;^_
MO]\NOT/AA]*>IJWU6:NAI4'659!7\%[B'1,5$Q@8^"CE46YNKE0JW;1E$W"@
M>Z_N<4?C@H."8V)B2LM*7SY[:=7("O[L(2[JGT%>7G[URM6(>/K,:?BPQO]R
M)&!9UGV"^Z5+E^"O"J*RLK+O9E]2!<.'%=G'D:"2JJKJSAT[$7'_@?WPX3CS
M-Z@:"1(3$]>O78^(MV_<%BH(6?;]S0J'RYD^<_J[C'.[<.0!8N'#ADR=/H*).Z=FC)R(Z.#H`C03_!%^(!%P.%P`B(B,0L5V[
M=@"P/WP_(GHM]>()>``0&!B(B!,F30"`B*@(1)PY$^(06S5L`C034#\&R[+HUZT0BD8ZVSM='`F55Y1M)-_0-];]F$WP^?^?V
MG04%!2K**E5+[1-+E?GWYBL1@`0`:J2JIFYF;P4>0K+"B<.&[BB.$C:IO4OG#N
MPK3ITW)S7+NF=@#`L`R7
MR\W.SBXN*8:*E@$I%5DY6_[BN<)N7CVU%F27B:3!8<$FQB;F)J8
M&AL9-[9J#!_-^\S,SD3$C(P,EF6_?B)09G8FRO[V6E^&@`#PZM6K84.'\07\
M56M7F5J8`D!I6>GCQX\;-FS8L'%#D4@$`')RO3(VL:Z;H.Z)+&"O$*'=AWJUZM?7EY>[0Z&'*5SY\^E
M/4V;-7U646F1N%0,`/GY^4^?/FUBU\3,PJR\O!P`E)24'.P=C$V,;]Z[6/[QBK:-;&]=OU547/2W2JU-`YL;UVZ4B\J_LW>(1!%R3RW@"@"`Q^,]
M>O2H>X_NAK4,0X-"Y01RI:6E06%!*LHJ$>$1`_L/[-BAXV+/Q6T)2\G+W1OJ&H-U8CPB/Y]^W?JV,EKL5>SELWNW;^G
MJ*A8K2%/MOXXY7%D=&1-_9I1AZ+(D2PJ+@H."];5UCUT\%!OE]Y.G9R6>"VQ
M:VYW^?+EF",Q.MHZZU:NXPJX?`&_M4-KB5A20ZD&_-4M"/4G8UE6*I76KU=_
MT_I-YG7,UVY86YQ?K**D0KX52\0`$!(VDRTD`
M,&C`($U-S3FSYZBKJT^9-*6PH-"IG9.A@2'0(D%]&Y9EY\R;$Q(80CH9E965
M8P_'UJU3MUHR!97JXP0,PW3MT?74\5.]^_4>-'10_T']1XP>L7?WWLIQT4I\
M/M_3R]-_A[^6IA8`Z.KJQAZ.-38RKK:)F@;_'R<``#DYN:7>2W=LW:&NI@X`
MAH:&1Z*/U#*H!=]=UEF6M6MNMWO/;D3,S,P<.&2@CIX.`/#XO#GSYR#BA8L7
M6K=J#0!.SDY/4YZB%)^E/AOG/HZLWJ5+%T1C0`R,O)CQHU*CLG^\V;-P/Z#5!75P<`!M[W#C>Q;>*[V1<^
M'(?HY=KK9?I+E.+CY,>#!P^&BCZ!GCU[IJ6E(6+TX>BUJ]8^2G[4PZ4'RV/I
M9?_G(^,$:]:L>3].,'(8`'`Y7-)EVJ5SE]0GJ8CHL\G'WMX^Z6H2(L;$QC1H
MT```0G>'(N+T:=.Y`JZ:AAJ/QR-K^6SPV;YSNZJ:*ME$0D+"V=-G-=0U@$8"
MZMLP#.,^QKT@IZ`PKW#3EDU>GEX&^@;5TM1O5'_-JC6(>.G\I78=V_'E^`#0
MJF4KF4PFD4AD,AGY&Q42J82,FE9KLW,XG&E3II46EN9DY?AL]/%8X*&KHUMM
M'QI9-_+=Y(N(9TZ>:67?BN6S?!Y_SJPYHA)1UINL]1O6+YBW0$N+3KZF_DE(
MI6QD9#1YXN0GCY^02'#CQHWI,Z?KZ.H``,MA`6#C^HV(6%A0.'KDZ"F3IN3F
MY)84EG3NTMG2TO+N[;MDR$TFDTFE4HE$FJZ?X#_\6/'
MP\/#C2V,@88!BJ*H?Q,RA#!FU)B<=SF(*)5*$;&\O!P1UZU=)Q0*@=;[%$51
M_V+DKEJOEEY:>MJV'=M8+@L`#,-P6,[M6[=W[]Y-(P'U9?2A$HKZEQ`(!(BH
MHZ%#^D7Y/'Z7KEV*\HL"`@/*RLI^X`PZZM^'MA$HZM^`3,;3U='MT+%#G?IU
M!'Q!?G[^[3NWSYPZ4Y!?\+OWCJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(H
MBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ*H_RPN
M"!0$?VL-147%5BU;U:M;[]?O+,MA'=H[Q!R)0<3S$E:M78B)C
M7%U<`8!EZ`M_*(JB_@J'P_%8[%'Y>M5GSYY!Q9M7";X\?\&\!=.F3(./WK%G
M:FD:&1GIM]VO88.&\/O>P&=E986((:$A9,\9AND_J']Q&EA$O:VMI_N6-<
M+E=96?G[=X/+Y2HI*?UE,AZ/]S7)J#\$*3Q:FEI>7E[9V=GD7?:7$R_[[?!+
MO)QX).9(6_NV]+52U#^>O+)\?'S\F%%C)HZ?.-Y]?/MV[:%*U=FR14S9\^$BI>RD@1#A@S)SL[NU+$3_+X80+9K:6E9&0EX/![YJK5]:T0\'W\>
M`+A<[N=RX//Y+KUTWPYLTW-
M3.'[KAJ2FZV-[>PYLVL9UOJ:33>U:SI[SNR:>C4!Z!L1J0]QN5QW-_.&%IUX:_WA4B@H*"P<_M.B40R9M08^'RU
MVZ-[C[?OWKKT=H'OJYH'#AB8F97IW-7YR_D,'S8\(R.CDU.G[]P<]8L)!`(`
M\/-['PEZ]>I%E@\>./CUJ]>(.'_N_"^LSC`,*:OG3I\[<^:,MLY?WZK^96XL
MPR9=3HHY$J.NH?Z%W$AB+H=[^_KM0Q&':JC6^)Y-4_].-YPJYS$>M!34UM6J10%E9.2,CX\[-.P#`Y7#__F9_F"]$`@!P<'!`Q(CP
M"``0R@F[]>@6M"MHXI2)T8>C9\V9!0#J&NJA8:&(>/SX\87S%RJK*K,?/GS9XQ^^ZMN^YN[EP>-RHZ2BJ3
M'CUZ=/:LV0K*"APN9\"@`0$[`Z9,GQ)S)&;\Q/$`H*>G%QD=*9%*CL8=G3AI
MHH&QP?X]^PL*"QS;.P*`C9W-P4,'<_-RVW=H#P`:FAIC)XR=-7O6HOF+[MR\
M,VKD*/CBS0WU4WTN$NCJZ<:?BT?$!\D/;&QMX%,-(U)K`P.!08&(&!$5H5M3
M%[ZU.F88AF59ALL<"#^`B'OV[='0U/A<;B0QA\^)BHY"Q.#08#4UM6_>-/6O
MI5A#<;''XJA#4:(2$2+>O7=76TN[6BFI&@F(/OW[(.+.G3MW;-MQY^Z=\$/A
M;1S:P.\H7I^+!%677[]Z'0":-&F2EYO7VZ4W`+3KU*Z\K-S4U!0`FC=OCHC=
M>W8G&=K:VN;FYO;JT0L`NG3O4E)<4MNP-E1WML[.SG9V<`6#`X`%YN7D&^@8`T*-'#T0D53\`].S1
M$Q$='!W(1U<7U\IO1XP<<2WQ&EG>VJ'UE*E3@$:"W^>3D8`L##\83A;VZ]
M`,Q,S?S]_?T"_`X=/)3V-&V-SQK2(3-N[+C\O'Q$?)?Q[L7S%]UZ=2.)`P,#
M=_COB(J(>IKZ=.6:E6KJ']34I*75=T#?V*.QP8'!L4=BI3+IK1NW`OT#W[Q^
M@XA9;[*>I3]KUZD=`-2QK+-[]^ZM.[8>.7PD]4FJUS(O#0T-`)@W>UYQ43$B
M9KW.>O'\1>,FC;MW[TY6#PH)4M=0'SIL:&96)B(&!`:054:.&1EW+"XP(/#$
MB1,BD>C1@T?D0J`AY%].45'19YT/(AX]=A0^;-=4BP1\/G_K]JU2B73:U&G`
M!3U#O6.QQXJ+B]NV:0N_O*#\122P^'\D,#$V6>*U1$M7"P":MFR*B([VC@#0
MHD6+JI'`T-#0:[&7IK8F`+1U;(N(K5NVAHJ>'))M)^=.B#AP\$``4%)6,C0R
M!(".'3M6C006YA8>BSS4-=4!H%O/;A*QI'G3Y@#0LV?/OXX$[1P!8.B(H8C8
MLU=/`*BA6J.F0JJ:F14G3FS!E2]>OJZ@+`N7/G$#$H.(C/YW?K
MW@T1NW3I0K+MV[]O0GR"A;D%T!+X._S2SO>BHJ)957[W/A\MYE/)HR=(E6AI:@X8.:M.Z
M34EI2=5\OF;G3YTX%7XH/#(B\OC1XSHU=5Z_>,VR[!?."_7;E8I+`8#TKQH:
M&`*`N%P,`/7KU-?5UJV:DM2G7`X7$`!`7U\?`,0B,0`TK-M06_/]*`))9FMC
MBX`+%B[HV[>O@"^(C8E=L'#!FXPW0J'P?6[```"?ST<9RU^E_T./BSGU*_Q
MJZM4B43BN\U7(!!H:6M]X7PC8%E9&9(BS```Y.7E7;IRJ8E5$_B3F@Q<'K>S
M4V>I5!H1$T%V=<2H$1M]-@8'!I\Y<8;/YTNETFJKR&0RAF7=,FV*IX=G
M6$C8A80+\@KR'^?S.3*4`<#K5Z^'#1XV9-CW<="Q47[/A_`EBU:SIX]>_>>W96+
MO@KW_6X`@+FYN:FIZ:9-F\S-S:\F71T[=BPP()%(_IQ82XE$(D5EQ1HU:@#`
MA8L7'CUY!`"F%J87XR_Z[_3?O'7SJ5.G`$`JDWXNASKUZUPY?\5WB^^Z#>L2
M$A*@(KH0,IF,89A[]^]UZM1IW;IU145%VEK:R[R7>:_T)ENOEENCQHUN)-Y8
MO6KULI7+KEV[!A6MBJ\GD\KX?/[M.[<=[!VV;=M66E:J5U-OO<_ZA1X+22\3
M]>O]ADA@U]CNSLT[.;DY7YB1)I%((B(C%!04FMHU):66R^6J*ZE?.G\)?OW-
M(]E:E6%4L@/M'=L?.WKL[H.[_?OV)[VN#,/H:.DTLVO&Y7%[NO:42J0&>@8`
M("H7`8"EB260I]*`T='6L6MBQ^5Q>[CT$(O$!GH&7"&WZO5I86Y!YMWFYN;N
M#MLMSY,'`*E$"@`6)A:5!ZJF3DT;:QLNC]NE>Q=QN9B,&)>5E`&`N;$Y29;U
M+@L`^O?I#QRH4[^.2T\7J51J;&P,`%8-K?KV[@L`69E9X0?#Y;AR@,#A<.CM
M^9]#*I.V;M':S-0,`/:$[;E_[W[#^@U]UOF86YJO\5E3G%^LHJSRR17)L).U
MM?6F]9N,S8Q7KEU97ERNK*0,\$&C@9SN(8.'U*A18^;,F>KJZC.FSB@J*G+N
MZ*RHH%A>7EXUMZ9-FV[RV610V\#+VPM%J"BO^-G])K7/QAQ,.YH'$E@86&1DY-C9FD&O[R@<#BKJZCO]=Y*1M!:M6KQZ]NK)HR>VMK9090BD=^_>B+AT
M\=*9TV=N6+^AJ5U3`-#3TSM]XG117M'``0,!0%M'.V1W"")N]MWC8B+YB^:.WONVC5K&S5J!'_,,,Q_4+4GR_KUZ0<`"O(*APX>0D2/
M11Y"@1``NG;IFOHD%1%]-OHXV#M25PP;T$OUUZ3)TU.>YJ&B(N7+N[4L=/#Y(=DCFF]
M>O4`(#8V%A$O7KHX:\:L46-&`<`NOUV(^/#!PV8MFO7HWN/ERY>(&'\FGF&8
MG7X[5ZY929Z5`X"'CQ[NW[=?29$^&/\OQ;+LQ/$3B_**\K/S-VS:L'C18KV:
M>A^D8*"!58,-ZS<@8L+9A+;MVO+E^.0;H:)PP\8-48>BO)=ZAP2&M&G]>V:1
M4M3/1DJUJKKJG'ESLK*R2"2X?O5ZX*[`Q"N)D=&139J_'R%C&(8!9N/ZC8A8
MF%\X>N3HJ9.FYN;D%N85NO9Q!0"[9G;7KUU'Q.CH:,/:A@"P8^L.1"S(*Q@^
M=/C,Z3/S\_+SLO/(\XE0$0F6+%V"B$^?//4/\#]Q[,3^_?M-+$P`H(U]FWMW
M[B'B@?`#9#)2:%`H(N:\RQG0;\#">0L+"PO?9KSMT*D#`#@X.CQ\\!`1P\+"
MM+2U`$"OEE[LD5A$S,[)[M:U6V14Y,GC)[?X;K&QL=F^8SLBIB2G[/3?>?KD
MZ9"0$"T]K=]]'BB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*
MHBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*HBB*
MHBCJYV-95B`0_.Z]H"B*^@6X(%#XQ]1WBDJ*J]>N?O[\.2)F9F;N#MD==S3N
MT8-'(:$AMC:V)(V\@ORH,:,NQ%](O)@(%>^&_5ODY.5&CAGY-/7IUM3VYV+GF/<514U-X]>U-34X.#@HU-C4G*+MVZ/$U[BHA1
MAZ/T]?7A[[S9F\OE`D!7YZ[DK?3[P_=KZVC_K1PHZKMP.!R/Q1Z(*)5*$?'9
MLV=D864"OCQ_P;P%TZ9,@XJK0DE)Z4GJ$UD%3)4R?+\>0D$HF"HL*($2/.G3U7=<5?@V$81,S/SZ]NPD`8I$X,S-31TOG&S9!?K)8(L[/SU=44/R&'(1"8:^>
MO01\05!($(?#D4JEGTPF)R?GVLL5&-@=MOL+R:C?@E2I$JD$`%"&7!X7`-YD
MO`$`*VNKNO7JWKI]Z[?O(2)R6,YVW^TOWKSP]_?_R\0\'L]_A_^#QP]V[-CQ
M>W>>^H)?$0FX7.[0_D,#_`)"PT))X2#+*_]S\=)%ITY.J:FII&)"1+Z`+RW^IK\7GO.]IE(@D/S9GEF'%8K&&NH:NOJY8(D;$
MYVG/2TM+/Y>>81B&88`#!_8?:-RD\8,]#[YP-T`2LSPVXE!$O4;UDFXGT3ZH
M/QG["[;!X_'F+I@;%!"4>"EQW,1Q7"&7@>IE(B\O[__[Q+*B_Y;NH:J$8E$"@H*[F[N185%>_?O_5PRP]J&FS9O6KIDZ:;-FQ(O
M)HX?/QXJ^L14:ZC.G3UWW=IU6[=MO7CNHH.]0^57Y."H:ZD?V'<@]6FJ?NK;NC1XWF\7E]^O71U-"&GRS!DS!?("
M#I,A@OQU^4Z=/C8F-<1_G#@#Z!OK=>W77TM2:/G7Z^`GC:]:N>7#_P;S\
M/'L'>P"P;6H;%1V5G9/MT,X!`+2TM<9-'#=SUDR/A1YW;MX9/FPX_*9^N?\F
MAF7*R\L!0%=?%P!\M_@>.W&,=+94200`@(@=G3L>.WYL^\[M49%1$>$1]>O5
MAXJ3U;)UR^/'C@?Z!5ZZ?.GH\:/&QL90T6G#L`S#,`*!X$#8@9-'3[9JWHIE
M_I\_E\,%@/Z#^L<>C0T.#(Z-C95()=>3K@=L"VC9O"4`='3H>#WINGU[>T2L
M6Z=NV)XPW^V^<4?BGCQYXKG$4TU-32:3S9D^IYU#.P!P[N!\Y]:=AC8->_7L
ME?$F`Q%W!>U25U/G)XUMLL1/3S]U-75P>`T6-'QQV+"PP(/'GRI$@L2KZ7
M7,N@%M#!C'\!Q1J*BST61QV*$I6($/'NO;O:6MK5SJN:FAHB3IOQ_W&"JN3D
MY#9LVK!\Y?)/?ONSD5VUL+!`Q,>/'_OO\@\_&)Z:FGK[SNV&C1M"E8&-\$/A
M*2DI9"U+"\M;UV_UZ-6#?+2RM2HH*-BV8QL`Z.OI^V[VG35C%@!H:VD?/WK\
M\9/'`*"NKAYW+.[FS9L`X.3DM';U6OCP`B`7:K<>W9+O)I,EMLULY\V?!P`]
MNO=`Q'8=VI'E'3IT>/?NG5,')P`8.G)H]KML/3T]`.C=NS?.&DBT$CPDY%.?#\_/T242"01
M41%)5Y(0'BQ?)R\E!Q`UHY3F!D;`0`X]S&(>*VK=NX7*ZFAN:UI&OY!?E-
MFS4%`-<^KF*QV"_`#P`6SE^(B'Z[_`!@SYX]B!A^,%Q14;%%JQ;^?O[UZM:#
M*H6-G.C.SIT1#@P61AMQ[=KB9>U=;4WK=O'R(&AP9K:&J0KRY=OB02BZRL
MK`#@7,(Y1)PX92+9V[-GSR)B0&"`JJHJR9\D\`OP(Z,4%R]>)`EX/%Z/7CT0
ML5.G3B3;_@/[)\0GF)J:`HT$/]FOJ%6+\HH6+UGK'Q02
MA(A?7ZCP<`]V[?V^R[>?"`P69F9@T;-NS?K_^:=6M8
MELW,RIP^8_H2KR4`P``CD\H`P+*>95O[MC-GS^1P.%5_+]D0`EK6M^PWH!\`
M/'KP:,_>/5#1N5SIU@&`+=NW(J(C```.J[P"[P_RXA!@4%-FC99MWJ=IX=G>EJZO?N
MS>?S8Z)C%BY:F/DVL[)'E-R_"O@"E"&/R]/5T04`B5@"`-8-K5555;_^5[,L
M*Q:+FS5M!@!KUJ[IXMR%R^7NV[//:XE73DX._+X+_S_BE[:OBXJ*9LV9M673
M%ONV]AIJ&E]_:NO5JR>0%]R^`E%27E)66';S^LV%G@NG39W6SK'=
MJC6K4/;_72*7D+*RLEUSN^*28JBX8Y"()>?.GU-44G1P<&ADTZB@N```2)"X
M_^!^:&@H`,A05E!88&5EM3]T_]O,M_"9BOO2^4NA8:'[]NR+/QU?V[CVL[1G
M\.%UPN5R'R0_6+ILJ:ZV[J`A@UJU:%526L+A<^#KD*R.'ST>$15Q..IPW)$X
M+6VMUR]?5ZTIJ)\-$4D]NVS5LN,GCVMJ:V[?O)WTM)!ZG&79TI)2:VMK`WT#
M`"@J*B(KBL5B`*A;IVZ/'CTT-30!@'3]GXL_UZ)9"S\_/ZAH\C=IW&2[[_;N
MW;HWM6T*'PZ_D9`?%1'U\.%#.'$E]FCIE\I1+
MERZ12$#]5+^ZIT4BD?AN\Q4(!%K:6E]9K0B%0J-E,ED5;="_6RDGLW+R7O[[BT`&-0V(+W\G[ZQJSR]LO?K\OE\,OM(
M3U/KR?(P4I-2WU]HW;I26E*]>N=&SG6#5GF4S&,,S=>W<[=NCHX^-37%RL
MHZVS?,7RI2N6`H!()*JV\<8VC6]=O;5\^?(ERY>0:$%V_F_\6*F,S^??O'73
MOJW]CAT[RLK+]/7T-VS<,&_1/(&0/EOST_WJ2```F=F9`)"1D?&5'7\*"@H]
MN_;^!W=@U50W9#6UT;``KR"S[^JJ"@X/*%R[JZNHZM':6R]U>@L8%Q04%!
M[)'8U)1471W=T2-&2V52EF%Y/%Y#JX86YA9EY64"OB"_(-_7US?Y7G)H2*BB
MHJ(,9=4.E*&AH64=RQT[=IB;FY\Y<\;=W1VJ7>>`]FWLIT^?'KHW%`#@Z_M7
M.:1O`@'`PL+"Q-C$Q\?'PMSBYJV;;FYN`""12&AW[2]3V;S@<_D```A5IS++
M9#*AG/#>[7MO7KT!`+[<^RE&/#X/`!X\>'#TV%&2OF/'CM4F_I,659FH;,RD
M,?%GXSDL9_FRY>9FYHA(TI!NR6%#ABDI*4V?/EU-76W6]%G%1<5=.G:1EY,O
M%Y63?$@SI7GSYIM\-NG5TEN\;#&(04%>X;,_B;1J/G41<[BSKWU%#7`#I.\)/]ADA@U]CNSLT[.;DY7WEJS>N8:^MJ
M)UY,K-9I_NN0;589*Q6+Q>KJZEZ>7D7%13MV[H"*OMU*Q<7%NP)W9;W)FCIK
M*@#(9#(M;:W.73K[;??+>I>5F)CX)/7).I]UGHL]NSAW\?+P&M!GP*.41XH*
MBE*95%Y>'@#&3QI?LU;-P.!`1*SZ"!X`U+&L,VC`(`#(RKT[-Y3)I,9&1D!@'5C:U<75P#(R,@X%'%(CBL'%17$;S@%_Q$(`,"P#`#P
M.#P^CP\`3>R:F)B9`,!FW\TGSYX$`"E*`4`FE\GC)X^;-FLZ=NQ8>3EY$@Q(D6O6HMG8"6-5:JB(1>)U&]8E/TQ^\N1)
M26D)V4]S,_/1(T?WMZ-SQP,'#R!B7E[>P?T'3Y\X_>+9B_AS\3V[]R1I6`[;
MIU^?K#=9F9F979R["!6%`*!OH!\0&!!S),;#TV.3SR8RV9],SC.U,+T0?P'%
MF/4Z:^:,F0`@)R\W:LRHG+5@!B`
MB$L\ELR:,[]'(!``4%A9DS9XK%XM*"TK%N8QT[.J:EI0T>
M.)C/YX\;-PX1%\Y;.'?.W+6KUS9HT`!^Q\2M_PC2*M+7T_=>[OWNW3OR1'WB
MI<0MF[=[KT3(A/\//S
MBXR(C(B(J-_@_[-(^_;O^^#>`T3,S=O9>[HV(3Q\_]?/W.WG\Y+Y]^XS,C0#`WM'^_MW[B+AO
M_SX=71T`"`L)0\3LM]G]^O;S6.A15%24]2;+L8,C`#BV=WR4_`@10W>':FII
M`H!!;8-C<<<0\5WVNZY=NAZ..7SBZ(G-6S;;6-N0>5./'CS:Z;?SS*DS04%!
MFKJ:O_OD4#\"R[(3QT\LRBO*S\[?L&G#XD6+R226_V.@@56##>LW(&+"V82V
M[=I6WN<"@)J:VIV[=YPZ.0&]/:0HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(H
MBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(HBJ(H
MBJ(HBJ+^#5B6%0CH^[LIBOHGXH)`X2?77[R?OXG/4%127+UV]?/GSQ$Q,S-S
M=\CNN*-QCQX\"@D-L;6Q)6GD%>1'C1EU(?Y"XL5$J'CYW]\B)R\W
MCP<`[F[NB'CK]JVA(X;&1,>0-TKNW+'3;;3;_7OW$;%;MVY`3QGUYV`89MZ"
M>8@HD\D0\^[,Z3.ARELGE564-V[>N&K%J@WK-T0=
MBK*H:_&%3?!XO*7>2Q%1(I$@8LKC%*AX-2LAIR3GL=!CTL1)4.7]NH:&ACO]
M=RY>LM@OP&_;]FWR\O(_ZIV739LV1<20T!#R45U;/>%"0M;;+/*280!04U=+
MN)"0G)P,?[\>)SNIJ:EYX>*%Z]>O?T,.'YLZ?:I(+&K7H1U\5'?,FCVKO+S<
MWM$>:+7R9R"1P,O3:U_8/D-#0P!8OF(YB00C1HP``'5U]:3+2:-&C`)ZRJB?
M@/N-JPFY'=IW<'=SYW*YB/@D]0D`R%!&OFUJUS0P.-#,U,QCL4?E*D*A,"`@
MX$;2C16K5C`,X]3%*>%L@K:V-LNR,IGLXTW(*\NW:=5F],C1\O+R4JGTX:.'
M`""52LFW]FWM=P7MTM71G3-O#E34I-HUM>,.QRU>LCC\4+B\O/Q2[Z7GSIQK
MTJP)E\N52"3??(P8AD'$_/S\RB5\'C\[,WO>@GD7XB\,&S#LYK6;`"`6B3,S
M,W6T=+YA$X@(`&*).#\_7U%!\=O/)P``D$/Z],E3'I>',JSZ%8?#D4JE3U.?
M\OE\LE'JS\&R;%1TU+-GSP"@\L21JR,[._O4F5-Y>7D``/2\43_:MT0"EF6'
M#QP>O"LX.#3XDPFN7+W2H7V'ER]?5JWB^7Q^C^X]@@.#`0`1$Z\D:FEI&=4V
M2DM/^S@'/I\_J,^@'=MV[-FWAU3$9'GE?^+/Q7=Q[O+@P0,2&Z12*M_^?0_L._"Y>/.-&`"`LK(R`!`*A3_AO%#_
M+:2E$K0[J*BHZ'-I`H(#"O(+`$`JD_[N_:7^;;XQ$LR>-]O$P&3BA(FA^T*W
M[=@F+A572_.^\5*%5"HM+2V=,'["D=@C+,,VLVF6E965EI[VR3I:*!0N6+1`
M6TU[XH2)07N"_`/\48S5VK"DD5ZY4"@4.M@[E):6RL0R/I\OE4HS,S,+BPI=
M75Q_>"00B40*"@KN;NY%A45[]^_]7#+#VH8S9LS(S\U7456QL[8+"0O9NG4K
M:96KUE`=ZS964TM33D&N4=U&"ST7GHT_2^[Z&6``0%U+?<.:#39V-I,F3TI*
M2GJ;^;8R(G*XG-Y]>G=TZ'@G^4[[=NV/'CNZ=W7N]EGD!@+J&>K\!_>0$NMV[=^<".)^N^05Y9?M&!1Y,'(LJ(R1$Q^F*Q74Z]:&@4%!42LVG7#,(S;
M.#=$#`L-:]2XT>4+EQM8-?C<)E34598L7G(X\K"X5(R(-V[OSQD\<`H*ZN'GJ7EYNGKZ\/`'7KU8V)C1D^
M9>5E'3IU`(!&C1H=B3LR9-@0\M42KR6E9:7V#O8`X.SDG)::EIJ:VKE3Y]FS
M9H^?/-ZNI=VA\$-DBWU[]T7$6;-G`<#$R1,OQ%\@RQT[.DZ>,AD`IDR;$G\Z
MGBSLT+F#^SAW^'`XA_J[R'0#;V]O,DXP;-@PJ#BD7`X7`"(B(Q"Q7;MV`+`_
M?#\B>BWUX@EX`!`8&(B($R9-`("(J`A$G#ES)@"T:]].AC(W-S>R"2=GIX3X
MA!;-6T"5,3:*^D;R\O*K5ZY&Q--G3L.'==;'D0``6):=/'4R(A86%MHUL?N:
M32@K*_MN]D7$J.@H^'"LK%HDX/%XRU4;`-35U=.?I?^H2&!I:8F(
M!P\<%"H);9K8+%^Z'!%/G3ZE6D.581GX,!(H*"@L]UY..GS)IKD\KO<*[\*"
M0C,S,^?.SME9V5!Q$=:K6V_(D"$`H*&N<23VR,V;-RWK6:Y8N0(^&ALD>V)N
M9NZQR$-=4QT`NO3H(I5([6SM`NW+FI3]XW*@&@>_?NB.C0S@$`/!9Y/'KT
MJ/(K5U=71"0CQC7U:EZ\=/'LV;-D?X1RPO4^ZY\_?>Z]U'O#^@UAN\,0,2XV
M#@#<)[@C8I=N70!`54U5OY9^Y<+.73H#@*JZJJZ>+L#[WC/JVWPN$C`,0PI`
M9&0D(HX8/@(`0D-#$